/* =========================================================
   WooCommerce screens — cart, checkout, my-account, notices
   (loaded because the theme dequeues WooCommerce's own CSS
   and restyles every default template part instead)
   ========================================================= */

/* Notices */
.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-noreviews {
  list-style:none; padding:16px 20px; border-radius:var(--radius-lg); background:#fff; box-shadow:var(--shadow-card);
  margin:0 0 24px; font-size:13.5px; border-left:4px solid var(--c-primary); display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap;
}
.woocommerce-error{ border-color:#c0392b; color:#c0392b; }
.woocommerce-message .button{ background:var(--c-dark); color:#fff; padding:9px 18px; border-radius:var(--radius); font-size:12px; text-transform:uppercase; letter-spacing:1px; }

/* Forms (login/register/checkout/address) */
.woocommerce-form-row label, .form-row label{ display:block; font-size:12.5px; font-weight:600; margin-bottom:8px; text-transform:uppercase; letter-spacing:.5px; }
.woocommerce-form-row input, .woocommerce-form-row select, .woocommerce-form-row textarea,
.woocommerce-checkout input[type="text"], .woocommerce-checkout input[type="email"], .woocommerce-checkout input[type="tel"],
.woocommerce-checkout input[type="password"], .woocommerce-checkout select, .woocommerce-checkout textarea,
.woocommerce-account input, .woocommerce-account select {
  width:100%; padding:13px 16px; border:1.5px solid var(--c-line); border-radius:var(--radius); font-size:13.5px; outline:none; margin-bottom:16px; background:#fff;
}
.woocommerce-form-row.form-row-first, .woocommerce-form-row.form-row-last{ display:inline-block; width:48%; }
.woocommerce-form-row.form-row-last{ float:right; }
.woocommerce-form-login, .woocommerce-form-register, .woocommerce-form-coupon{
  background:#fff; padding:32px; border-radius:var(--radius-lg); box-shadow:var(--shadow-card); max-width:520px; margin:0 auto 30px;
}
.woocommerce form .form-row .required{ color:var(--c-primary); }

/* Cart page */
.woocommerce-cart-form table, .shop_table{ width:100%; border-collapse:collapse; background:#fff; border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-card); }
.shop_table th{ text-align:left; padding:16px 20px; background:var(--c-bg-alt); font-size:12px; text-transform:uppercase; letter-spacing:1px; }
.shop_table td{ padding:16px 20px; border-top:1px solid var(--c-line); vertical-align:middle; }
.shop_table .product-thumbnail img{ width:70px; height:70px; object-fit:cover; border-radius:8px; }
.shop_table .product-remove a{ color:#c0392b; font-size:20px; }
.quantity .qty{ width:70px; padding:10px; border:1.5px solid var(--c-line); border-radius:var(--radius); text-align:center; }
.cart-collaterals{ display:grid; grid-template-columns:1fr 380px; gap:30px; margin-top:30px; align-items:start; }
.cart_totals{ background:#fff; padding:28px; border-radius:var(--radius-lg); box-shadow:var(--shadow-card); }
.cart_totals table{ width:100%; }
.cart_totals th, .cart_totals td{ padding:12px 0; border-top:1px solid var(--c-line); font-size:13.5px; }
.cart_totals .order-total .amount{ font-size:20px; font-weight:700; color:var(--c-dark); }
.wc-proceed-to-checkout .checkout-button{
  display:block; text-align:center; width:100%; padding:16px; background:var(--c-dark); color:#fff; border-radius:var(--radius);
  text-transform:uppercase; letter-spacing:1.5px; font-size:13px; font-weight:700; margin-top:16px;
}
.coupon{ display:flex; gap:10px; align-items:center; margin-bottom:16px; }
.coupon .input-text{ padding:12px 16px; border:1.5px solid var(--c-line); border-radius:var(--radius); }
.coupon button, button.button{ padding:12px 22px; background:var(--c-dark); color:#fff; border:none; border-radius:var(--radius); font-size:12px; text-transform:uppercase; letter-spacing:1px; font-weight:700; }

/* Checkout page */
.woocommerce-checkout-review-order-table{ background:#fff; border-radius:var(--radius-lg); overflow:hidden; }
#payment{ background:var(--c-bg-alt); border-radius:var(--radius-lg); padding:24px; margin-top:20px; }
#payment ul.payment_methods{ list-style:none; padding:0; }
#payment ul.payment_methods li{ padding:12px 0; border-bottom:1px solid var(--c-line); font-size:13.5px; }
#payment .payment_box{ background:#fff; padding:16px; border-radius:8px; margin-top:10px; font-size:13px; color:#7a6b6c; }
#place_order{ width:100%; padding:17px; font-size:13px; margin-top:16px; }

/* My Account */
.woocommerce-MyAccount-navigation ul{ list-style:none; padding:0; background:#fff; border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-card); }
.woocommerce-MyAccount-navigation li{ border-bottom:1px solid var(--c-line); }
.woocommerce-MyAccount-navigation li a{ display:block; padding:14px 20px; font-size:13.5px; font-weight:600; }
.woocommerce-MyAccount-navigation li.is-active a{ color:var(--c-primary); }
.woocommerce-MyAccount-content{ background:#fff; padding:30px; border-radius:var(--radius-lg); box-shadow:var(--shadow-card); }
.woocommerce-account .woocommerce{ display:grid; grid-template-columns:240px 1fr; gap:30px; align-items:start; }

/* Order received / order details */
.woocommerce-order-overview{ display:flex; gap:24px; list-style:none; padding:20px; background:var(--c-bg-alt); border-radius:var(--radius-lg); margin-bottom:24px; flex-wrap:wrap; }
.woocommerce-order-overview li{ font-size:13px; }
.woocommerce-order-overview strong{ display:block; font-size:15px; color:var(--c-dark); }

/* Star rating input on review form */
.stars a{ color:var(--c-accent); }

/* ---------------------------------------------------------------
   Single product page — styles for WooCommerce's REAL default markup
   (we intentionally do not override single-product templates, so this
   targets WooCommerce core's actual classes/structure directly).
   --------------------------------------------------------------- */
.single-product div.product{ display:grid; grid-template-columns:1fr 1fr; gap:56px; margin-bottom:60px; }
.single-product div.product .woocommerce-product-gallery{ position:relative; }
.woocommerce-product-gallery__wrapper{ border-radius:var(--radius-lg); overflow:hidden; }
.woocommerce-product-gallery__image{ border-radius:var(--radius-lg); overflow:hidden; background:var(--c-bg-alt); }
.woocommerce-product-gallery__image img{ width:100%; height:auto; object-fit:cover; }
.flex-control-thumbs{ display:flex; gap:10px; margin-top:12px; list-style:none; padding:0; flex-wrap:wrap; }
.flex-control-thumbs li{ width:76px; }
.flex-control-thumbs img{ border-radius:8px; cursor:pointer; opacity:.7; border:2px solid transparent; }
.flex-control-thumbs img.flex-active{ opacity:1; border-color:var(--c-primary); }

.single-product div.summary{ padding:0; }
.single-product div.summary .product_title{ font-size:32px; margin-bottom:12px; }
.single-product div.summary p.price{ font-size:26px; margin-bottom:18px; color:var(--c-dark); font-weight:700; }
.single-product div.summary p.price del{ color:#b4a4a2; font-weight:400; font-size:16px; }
.single-product div.summary p.price ins{ text-decoration:none; color:var(--c-primary); }
.single-product .woocommerce-product-rating{ margin-bottom:16px; display:flex; align-items:center; gap:8px; }
.single-product .woocommerce-product-details__short-description{ color:#6b5c5d; margin-bottom:24px; padding-bottom:24px; border-bottom:1px solid var(--c-line); }
.single-product table.variations{ width:100%; margin-bottom:20px; }
.single-product table.variations td{ padding:8px 0; }
.single-product table.variations label{ font-size:12px; text-transform:uppercase; letter-spacing:1px; font-weight:700; }
.single-product table.variations select{ padding:10px 14px; border:1.5px solid var(--c-line); border-radius:var(--radius); min-width:160px; }
.single-product .woocommerce-variation-price{ margin-bottom:14px; font-weight:700; }
.single-product form.cart{ display:flex; align-items:center; gap:14px; margin-bottom:26px; flex-wrap:wrap; }
.single-product form.cart .quantity{ display:flex; }
.single-product form.cart .qty{ width:60px; height:48px; text-align:center; border:1.5px solid var(--c-line); border-radius:var(--radius); font-size:14px; }
.single-product form.cart .single_add_to_cart_button{ flex:1; padding:16px 24px; background:var(--c-dark); color:#fff; border:none; border-radius:var(--radius); text-transform:uppercase; letter-spacing:1px; font-size:13px; font-weight:700; min-width:200px; }
.single-product form.cart .single_add_to_cart_button:hover{ opacity:.88; }
.single-product form.cart .btn-buy-now{
  flex:1; min-width:160px; padding:16px 24px; background:transparent; color:var(--c-dark); border:1.5px solid var(--c-dark);
  border-radius:var(--radius); text-transform:uppercase; letter-spacing:1px; font-size:13px; font-weight:700; cursor:pointer;
}
.single-product form.cart .btn-buy-now:hover{ background:var(--c-dark); color:#fff; }
.single-product form.cart .btn-buy-now:disabled{ opacity:.4; cursor:not-allowed; }
.single-product form.cart .btn-buy-now:disabled:hover{ background:transparent; color:var(--c-dark); }
.product_meta{ font-size:13px; color:#7a6b6c; }
.product_meta > span{ display:block; margin-bottom:6px; }
.product_meta a{ color:var(--c-primary); }

.woocommerce-tabs{ margin-top:20px; clear:both; }
.woocommerce-tabs ul.tabs{ display:flex; gap:36px; border-bottom:1px solid var(--c-line); margin:0 0 30px; padding:0; list-style:none; }
.woocommerce-tabs ul.tabs li{ padding:0; }
.woocommerce-tabs ul.tabs li a{ display:block; padding:14px 0; font-size:14px; font-weight:700; text-transform:uppercase; letter-spacing:1px; color:#a99; border-bottom:2px solid transparent; }
.woocommerce-tabs ul.tabs li.active a{ color:var(--c-dark); border-color:var(--c-primary); }
.woocommerce-tabs .panel{ color:#6b5c5d; font-size:14.5px; }
.woocommerce-tabs table.shop_attributes{ width:100%; border-collapse:collapse; }
.woocommerce-tabs table.shop_attributes th, .woocommerce-tabs table.shop_attributes td{ padding:10px 14px; border-bottom:1px solid var(--c-line); text-align:left; font-size:13.5px; }
#reviews .comment-form-rating select{ padding:8px; }
#reviews .comment-form input, #reviews .comment-form textarea{ width:100%; padding:12px 14px; border:1.5px solid var(--c-line); border-radius:var(--radius); margin-bottom:14px; }
#reviews #submit{ padding:12px 24px; background:var(--c-dark); color:#fff; border:none; border-radius:var(--radius); text-transform:uppercase; font-size:12px; letter-spacing:1px; }

.related.products, .upsells.products{ margin-top:70px; }
.related.products > h2, .upsells.products > h2{ font-family:var(--font-heading); font-size:30px; margin-bottom:30px; }

@media (max-width:860px){
  .single-product div.product{ grid-template-columns:1fr; gap:30px; }
}

/* ================= RESPONSIVE (cart/checkout/account) ================= */
@media (max-width:860px){
  .cart-collaterals{ grid-template-columns:1fr; }
  .woocommerce-account .woocommerce{ grid-template-columns:1fr; }
  .woocommerce-form-row.form-row-first, .woocommerce-form-row.form-row-last{ width:100%; float:none; }
}
