/* ============================================================
   PREPOROD — WooCommerce overrides
   ============================================================ */

/* Katalog toolbar */
.catalog-toolbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 32px; }
.chips { display: flex; flex-wrap: wrap; gap: 8px; }
.chip {
  display: inline-flex; align-items: center; padding: 9px 16px; border-radius: var(--radius-pill);
  background: var(--color-surface); border: 1px solid var(--color-border); color: var(--color-text);
  font-size: 13px; letter-spacing: 0.03em; transition: background var(--transition), color var(--transition), border-color var(--transition);
}
.chip:hover { border-color: var(--color-primary); color: var(--color-primary-dark); }
.chip.is-active { background: var(--color-primary); border-color: var(--color-primary); color: #fff; }
.woocommerce-ordering select { width: auto; padding: 9px 40px 9px 16px; font-size: 13px; border-radius: var(--radius-pill); }

/* Product page */
.section--product { padding-top: 32px; }
.product-layout { display: grid; grid-template-columns: 1fr; gap: 32px; }
@media (min-width: 1024px) { .product-layout { grid-template-columns: 1fr 1fr; gap: 64px; align-items: start; } }
.product-media__frame {
  aspect-ratio: 1 / 1; max-width: 600px; background: var(--color-surface); border: 1px solid var(--color-border);
  border-radius: var(--radius-card); overflow: hidden; position: relative; cursor: zoom-in;
}
.product-media__frame img, .product-media__frame .placeholder { width: 100%; height: 100%; object-fit: contain; padding: 10%; transition: transform 400ms ease-out; transform-origin: var(--zx, 50%) var(--zy, 50%); }
.product-media__frame:hover img { transform: scale(1.6); }
.product-info__cat { font-size: 12px; font-weight: 500; letter-spacing: 0.16em; text-transform: uppercase; color: var(--tone, var(--color-primary)); display: inline-block; margin-bottom: 10px; }
.product-info__title { font-size: clamp(32px, 4vw, 40px); margin-bottom: 6px; }
.product-info__amount { font-size: 18px; color: var(--color-text-secondary); margin-bottom: 20px; }
.product-info__price { font-size: 28px; font-weight: 500; margin-bottom: 14px; display: flex; align-items: baseline; gap: 10px; }
.product-info__price small { font-size: 14px; font-weight: 400; color: var(--color-text-secondary); }
.product-info__short { margin: 20px 0 24px; color: var(--color-text-secondary); font-size: 15px; line-height: 1.7; }
.product-info__cta .cart { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; }
.product-info__cta .quantity { display: inline-flex; }
.product-info__cta .quantity input { width: 80px; text-align: center; }
.product-info__cta .single_add_to_cart_button {
  display: inline-flex; align-items: center; justify-content: center; padding: 16px 32px; border-radius: var(--radius-pill);
  background: var(--color-primary); color: #fff; border: 0; font-size: 14px; font-weight: 500; letter-spacing: 0.04em; transition: background var(--transition), box-shadow var(--transition);
}
.product-info__cta .single_add_to_cart_button:hover { background: var(--color-primary-dark); box-shadow: 0 6px 16px rgba(29, 158, 117, 0.25); }
.product-info__bonus { display: flex; align-items: center; gap: 8px; margin-top: 16px; padding: 12px 16px; border-radius: 8px; background: rgba(201, 133, 0, 0.08); color: var(--color-accent); font-size: 14px; }
.product-info__meta { list-style: none; margin: 28px 0 0; padding: 20px 0 0; border-top: 1px solid var(--color-border); display: flex; flex-direction: column; gap: 10px; font-size: 14px; color: var(--color-text-secondary); }
.product-info__meta li { display: flex; align-items: center; gap: 10px; }
.product-info__meta .icon { color: var(--color-primary); }

/* Notify */
.notify { margin-top: 8px; padding: 24px; background: var(--color-primary-light); border-radius: var(--radius-card); }
.notify__title { font-family: var(--font-serif); font-size: 24px; margin: 0 0 4px; }
.notify__desc { font-size: 14px; color: var(--color-text-secondary); margin-bottom: 16px; }
.notify__form { display: flex; flex-wrap: wrap; gap: 10px; }
.notify__form input[type="email"] { flex: 1; min-width: 180px; }
.notify__form .form-msg { width: 100%; margin: 0; }

/* Cart */
.cart-layout { display: grid; grid-template-columns: 1fr; gap: 32px; padding-bottom: 48px; }
@media (min-width: 1024px) { .cart-layout { grid-template-columns: 1.7fr 1fr; gap: 48px; align-items: start; } }
.shop_table { width: 100%; border-collapse: collapse; font-size: 15px; }
.shop_table th { text-align: left; font-weight: 500; font-size: 12px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--color-text-secondary); padding: 12px 8px; border-bottom: 1px solid var(--color-border); }
.shop_table td { padding: 16px 8px; border-bottom: 1px solid var(--color-border); vertical-align: middle; }
.shop_table .cart-thumb, .shop_table .placeholder { width: 72px; height: 72px; object-fit: contain; border-radius: 8px; background: var(--color-surface); border: 1px solid var(--color-border); }
.shop_table .remove { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 50%; color: var(--color-text-secondary); font-size: 20px; }
.shop_table .remove:hover { background: rgba(179, 38, 30, 0.08); color: #B3261E; }
.shop_table .quantity input { width: 70px; text-align: center; padding: 10px; }
.shop_table td.actions { padding-top: 24px; display: flex; flex-wrap: wrap; gap: 12px; justify-content: flex-end; border-bottom: 0; }
.shop_table .coupon { display: flex; gap: 8px; margin-right: auto; }
.shop_table .coupon input { width: 160px; padding: 10px 14px; }
.cart-collaterals .cart_totals { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-card); padding: 28px; }
.cart_totals h2 { font-size: 26px; margin-bottom: 16px; }
.cart_totals table { width: 100%; }
.cart_totals th { text-align: left; font-weight: 400; color: var(--color-text-secondary); padding: 10px 0; }
.cart_totals td { text-align: right; padding: 10px 0; }
.cart_totals .order-total td { font-size: 20px; font-weight: 500; }
.wc-proceed-to-checkout { margin-top: 20px; }
.wc-proceed-to-checkout .checkout-button { display: flex; justify-content: center; padding: 16px; border-radius: var(--radius-pill); background: var(--color-primary); color: #fff; font-weight: 500; font-size: 14px; letter-spacing: 0.04em; }
.wc-proceed-to-checkout .checkout-button:hover { background: var(--color-primary-dark); color: #fff; }
.cart-note { display: flex; align-items: center; gap: 8px; margin-top: 16px; font-size: 13px; color: var(--color-text-secondary); }
.cart-empty, .return-to-shop { text-align: center; }
.return-to-shop .button { display: inline-flex; padding: 14px 28px; border-radius: var(--radius-pill); background: var(--color-primary); color: #fff; }

@media (max-width: 767px) {
  .shop_table thead { display: none; }
  .shop_table tr { display: grid; grid-template-columns: 72px 1fr auto; gap: 8px 16px; padding: 16px 0; border-bottom: 1px solid var(--color-border); }
  .shop_table td { border: 0; padding: 0; }
  .shop_table .product-thumbnail { grid-row: 1 / 4; }
  .shop_table .product-remove { grid-column: 3; grid-row: 1; text-align: right; }
  .shop_table .product-name { grid-column: 2; grid-row: 1; }
  .shop_table .product-price { grid-column: 2; grid-row: 2; color: var(--color-text-secondary); }
  .shop_table .product-quantity { grid-column: 2; grid-row: 3; }
  .shop_table .product-subtotal { grid-column: 3; grid-row: 3; font-weight: 500; text-align: right; }
  .shop_table tr:last-child { display: block; }
}

/* Checkout */
.woocommerce-checkout .container { max-width: 1000px; }
.woocommerce-checkout .col2-set { display: grid; grid-template-columns: 1fr; gap: 32px; }
.woocommerce-checkout form.checkout { display: grid; grid-template-columns: 1fr; gap: 40px; padding: 32px 0 64px; }
@media (min-width: 1024px) { .woocommerce-checkout form.checkout { grid-template-columns: 1.3fr 1fr; align-items: start; } }
.woocommerce-checkout .form-row { margin-bottom: 16px; }
.woocommerce-checkout .form-row label { display: block; font-size: 13px; font-weight: 500; letter-spacing: 0.04em; color: var(--color-text-secondary); margin-bottom: 6px; }
.woocommerce-checkout .form-row .required { color: var(--color-accent); text-decoration: none; }
.woocommerce-checkout h3 { font-size: 28px; margin-bottom: 20px; }
#order_review_heading { font-size: 28px; }
#order_review { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-card); padding: 28px; position: sticky; top: 100px; }
#order_review table { width: 100%; font-size: 15px; }
#order_review th, #order_review td { padding: 10px 0; border-bottom: 1px solid var(--color-border); text-align: left; }
#order_review tfoot th { font-weight: 400; color: var(--color-text-secondary); }
#order_review tfoot td { text-align: right; }
#order_review .order-total td { font-size: 20px; font-weight: 500; }
#payment { background: transparent; margin-top: 20px; }
#payment ul.payment_methods { list-style: none; margin: 0; padding: 0; }
#payment .payment_box { background: var(--color-primary-light); border-radius: 8px; padding: 12px 16px; font-size: 14px; color: var(--color-text-secondary); margin-top: 8px; }
#payment .payment_box p { margin: 0; }
#place_order { width: 100%; margin-top: 20px; padding: 16px; border-radius: var(--radius-pill); background: var(--color-primary); color: #fff; border: 0; font-weight: 500; font-size: 14px; letter-spacing: 0.04em; transition: background var(--transition); }
#place_order:hover { background: var(--color-primary-dark); }
.woocommerce-privacy-policy-text { font-size: 13px; color: var(--color-text-secondary); }
.woocommerce-checkout .woocommerce-form-coupon-toggle, .woocommerce-checkout .woocommerce-form-login-toggle { display: none; }

/* Notices */
.woocommerce-message, .woocommerce-info, .woocommerce-error {
  list-style: none; margin: 0 0 24px; padding: 14px 18px; border-radius: 8px; font-size: 14px;
  background: var(--color-primary-light); color: var(--color-primary-dark); border-left: 3px solid var(--color-primary);
}
.woocommerce-error { background: rgba(179, 38, 30, 0.06); color: #8C1D18; border-left-color: #B3261E; }
.woocommerce-message .button { float: right; font-weight: 500; }

/* Thank you */
.woocommerce-order { padding: 32px 0 64px; }
.woocommerce-thankyou-order-received { font-family: var(--font-serif); font-size: 32px; letter-spacing: 0.03em; }
.woocommerce-order-overview { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: 24px; margin: 24px 0; font-size: 14px; color: var(--color-text-secondary); }
.woocommerce-order-overview strong { display: block; color: var(--color-text); font-size: 16px; }
