/* ============================================================
   ATB Bazaar - WooCommerce skin: cart / checkout / my account.
   Maps WooCommerce 10.x classic shortcode markup (rendered via
   page.php) onto the static design in cart.html / checkout.html.
   Depends on tokens + base rules from site.css and form/button
   base rules from wc.css. No Woo core stylesheets are loaded.
   ============================================================ */

/* ---------- Shared: accessible hiding (Woo prints .screen-reader-text) ---------- */
.screen-reader-text{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;
}

/* ---------- Shared: page shell rhythm on the three shortcode pages ---------- */
.woocommerce-cart div.woocommerce,
.woocommerce-checkout div.woocommerce,
.woocommerce-account div.woocommerce{
  padding-block:clamp(24px,3vw,40px) clamp(56px,8vw,100px);
}

/* Woo checkboxes / radios pick up the accent used across the site */
.woocommerce input[type="checkbox"],
.woocommerce input[type="radio"]{accent-color:var(--teal)}

/* Optional / required markers in field labels */
.woocommerce form .form-row label .optional{color:var(--ink-2);font-weight:400}

/* ============================================================
   CART  (mirrors .cart-grid / .line / .summary in cart.html)
   ============================================================ */
.woocommerce-cart div.woocommerce{
  display:grid;
  grid-template-columns:minmax(0,1fr) 360px;
  gap:clamp(28px,4vw,56px);
  align-items:start;
}
.woocommerce-cart div.woocommerce > .woocommerce-notices-wrapper{grid-column:1 / -1;min-width:0}
.woocommerce-cart .woocommerce-cart-form{grid-column:1;min-width:0}
.woocommerce-cart .cart-collaterals{grid-column:2;position:sticky;top:96px;min-width:0}

/* ---------- Cart table: line items styled like the static .line rows ---------- */
.woocommerce table.shop_table{
  width:100%;border:0;border-collapse:collapse;border-spacing:0;
  font-size:15px;color:var(--ink);
}
.woocommerce-cart-form .shop_table thead{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;
}
.woocommerce-cart-form .shop_table td{
  padding:22px 12px;border-bottom:1px solid var(--line);
  vertical-align:middle;background:none;
}
.woocommerce-cart-form .shop_table tbody tr:first-child td{border-top:1px solid var(--line)}
.woocommerce-cart-form .shop_table td:first-child{padding-left:0}
.woocommerce-cart-form .shop_table td:last-child{padding-right:0;text-align:right}

/* Remove (x) */
.woocommerce-cart-form td.product-remove{width:40px}
.woocommerce a.remove{
  display:grid;place-items:center;width:30px;height:30px;border-radius:50%;
  font-size:19px;font-weight:500;line-height:1;text-decoration:none;
  color:var(--ink-2);transition:background .18s,color .18s;
}
.woocommerce a.remove:hover{background:var(--madder);color:#fff}

/* Thumbnail */
.woocommerce-cart-form td.product-thumbnail{width:112px}
.woocommerce-cart-form td.product-thumbnail img{
  width:96px;aspect-ratio:4/5;object-fit:cover;display:block;
  border-radius:3px;background:var(--surface);
}

/* Name + variation meta (like .line .info) */
.woocommerce-cart-form td.product-name{font-weight:600}
.woocommerce-cart-form td.product-name a{color:var(--ink);transition:color .18s}
.woocommerce-cart-form td.product-name a:hover{color:var(--teal)}
.woocommerce-cart-form td.product-name .backorder_notification{
  font-size:13px;font-weight:500;color:var(--brass);margin:4px 0 0;
}
.woocommerce dl.variation{
  display:flex;flex-wrap:wrap;gap:2px 12px;margin:5px 0 0;
  font-size:13.5px;font-weight:400;color:var(--ink-2);
}
.woocommerce dl.variation dt{font-weight:500;margin:0}
.woocommerce dl.variation dd{margin:0}
.woocommerce dl.variation dd p{display:inline;margin:0}

/* Price / subtotal in the display serif (like .line .lp) */
.woocommerce-cart-form td.product-price,
.woocommerce-cart-form td.product-subtotal{
  font-family:'Frank Ruhl Libre',Georgia,serif;font-weight:600;
  font-size:1.1rem;color:var(--ink);white-space:nowrap;
}

/* Quantity (site.js wraps input.qty in .atb-qty; base style in wc.css) */
.woocommerce-cart-form td.product-quantity{width:140px}
.woocommerce-cart-form td.product-quantity .quantity{display:inline-flex}

/* ---------- Actions row: coupon left, update right ---------- */
.woocommerce-cart-form td.actions{
  padding:20px 0 0;border-bottom:0;
}
.woocommerce-cart-form td.actions::after{content:"";display:block;clear:both}
.woocommerce-cart-form td.actions .coupon{float:left;display:inline-flex;gap:8px}
.woocommerce-cart-form td.actions .coupon .input-text{
  width:190px;border-radius:50px;padding:11px 16px;font-size:14px;
}
.woocommerce-cart-form td.actions .coupon .button{
  border-radius:50px;background:var(--ink);color:var(--bg);
  padding:11px 18px;font-size:14px;
}
.woocommerce-cart-form td.actions .coupon .button:hover{background:var(--teal-ink);transform:none}
.woocommerce-cart-form td.actions > .button{
  float:right;background:transparent;color:var(--ink);
  border-color:var(--ink);border-radius:50px;padding:11px 20px;font-size:14px;
}
.woocommerce-cart-form td.actions > .button:hover{background:var(--ink);color:var(--bg)}

/* ---------- Cart totals: the static .summary box ---------- */
.cart_totals{background:var(--surface);border-radius:var(--r);padding:28px}
.cart_totals > h2{font-size:1.4rem;margin:0 0 12px;color:var(--ink)}
.cart_totals .shop_table{font-size:15px}
.cart_totals .shop_table th,
.cart_totals .shop_table td{
  padding:9px 0;border:0;background:none;vertical-align:top;
}
.cart_totals .shop_table th{
  text-align:left;font-weight:500;color:var(--ink-2);width:38%;
}
.cart_totals .shop_table td{text-align:right;color:var(--ink)}
.cart_totals .shop_table tr.order-total th,
.cart_totals .shop_table tr.order-total td{
  border-top:1px solid var(--line);padding-top:16px;
  color:var(--ink);font-weight:600;
}
.cart_totals .shop_table tr.order-total .amount{
  font-family:'Frank Ruhl Libre',Georgia,serif;font-weight:600;
  font-size:1.6rem;color:var(--madder);
}
/* Shipping options inside the totals box */
.cart_totals ul#shipping_method{list-style:none;margin:0;padding:0;text-align:right}
.cart_totals ul#shipping_method li{margin:0 0 6px;display:flex;justify-content:flex-end;align-items:center;gap:8px}
.cart_totals ul#shipping_method label{font-size:14px;font-weight:500;color:var(--ink);margin:0;display:inline}
.woocommerce-shipping-destination{font-size:13px;color:var(--ink-2);margin:6px 0 0}
.shipping-calculator-button{
  font-size:13px;font-weight:600;color:var(--teal);
  text-decoration:underline;text-underline-offset:3px;
}
.shipping-calculator-button:hover{color:var(--madder)}
.shipping-calculator-form{margin-top:12px;text-align:left}
.shipping-calculator-form .form-row{margin-bottom:10px}
.shipping-calculator-form .button{width:100%;padding:11px 18px;font-size:14px;border-radius:50px}

/* Proceed to checkout: full-width pill like .btn-primary */
.wc-proceed-to-checkout{padding:0;margin-top:18px}
.wc-proceed-to-checkout a.checkout-button{
  display:flex;width:100%;border-radius:50px;padding:15px 28px;
  font-size:16px;margin:0;
  box-shadow:0 12px 30px -14px color-mix(in oklch,var(--madder) 90%,black);
}

/* Cross-sells do not fit the 360px rail; keep the page focused */
.cart-collaterals .cross-sells{display:none}

/* ---------- Empty cart (mirrors the static .cart-empty state) ---------- */
.woocommerce-cart .wc-empty-cart-message,
.woocommerce-cart p.return-to-shop{grid-column:1 / -1;text-align:center;margin:0}
.woocommerce-cart .wc-empty-cart-message .cart-empty,
.woocommerce-cart p.cart-empty{
  background:none;border:0;padding:clamp(48px,8vw,96px) 0 6px;margin:0;
  font-family:'Frank Ruhl Libre',Georgia,serif;font-weight:600;
  font-size:2rem;color:var(--ink);
}
.woocommerce-cart p.return-to-shop{padding-bottom:clamp(40px,7vw,80px)}
.woocommerce-cart p.return-to-shop .button{
  border-radius:50px;padding:15px 28px;font-size:15px;
  box-shadow:0 12px 30px -14px color-mix(in oklch,var(--madder) 90%,black);
}

/* ============================================================
   CHECKOUT  (mirrors .checkout / .co-sec / .co-summary)
   ============================================================ */
form.woocommerce-checkout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 400px;
  gap:0 clamp(28px,4vw,60px);
  align-items:start;
}
form.woocommerce-checkout > .woocommerce-NoticeGroup{grid-column:1 / -1;grid-row:1;min-width:0}
form.woocommerce-checkout #customer_details{grid-column:1;grid-row:2 / span 2;min-width:0}
form.woocommerce-checkout #order_review_heading{grid-column:2;grid-row:2}
form.woocommerce-checkout #order_review{grid-column:2;grid-row:3;min-width:0}

/* ---------- Left column: billing / shipping / notes ---------- */
#customer_details{counter-reset:atb-co;display:flex;flex-direction:column;gap:clamp(24px,3vw,36px)}
#customer_details .col-1,
#customer_details .col-2{width:100%;float:none;margin:0;padding:0}

/* Numbered section headings, like the static .co-sec h3 */
#customer_details h3{
  display:flex;align-items:center;gap:11px;
  font-size:1.3rem;color:var(--ink);margin:0 0 16px;
}
#customer_details h3::before{
  counter-increment:atb-co;content:counter(atb-co);
  width:26px;height:26px;border-radius:50%;flex:none;
  background:var(--teal);color:var(--on-teal);
  font-family:'Hanken Grotesk',sans-serif;font-size:13px;font-weight:700;
  display:grid;place-items:center;
}
#customer_details .woocommerce-shipping-fields{margin-top:clamp(24px,3vw,36px)}
#customer_details .woocommerce-additional-fields{margin-top:clamp(24px,3vw,36px)}

/* Ship-to-different-address checkbox lives inside its h3 */
h3#ship-to-different-address label{
  display:inline-flex;align-items:center;gap:10px;
  font-family:'Hanken Grotesk',sans-serif;font-size:1rem;font-weight:600;
  color:var(--ink);cursor:pointer;margin:0;
}
h3#ship-to-different-address input{width:18px;height:18px;flex:none;margin:0}

/* Two-column field rows, like the static .field-row */
.woocommerce-billing-fields__field-wrapper,
.woocommerce-shipping-fields__field-wrapper,
.woocommerce-additional-fields__field-wrapper,
.woocommerce-address-fields__field-wrapper{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px;
}
.woocommerce form .form-row{grid-column:1 / -1}
.woocommerce form .form-row-first{grid-column:1}
.woocommerce form .form-row-last{grid-column:2}
.woocommerce form .form-row textarea.input-text{min-height:110px;resize:vertical}

/* Inline validation states */
.woocommerce form .form-row.woocommerce-invalid .input-text,
.woocommerce form .form-row.woocommerce-invalid select{border-color:var(--madder)}
.woocommerce form .form-row.woocommerce-invalid label{color:var(--madder)}
.woocommerce form .form-row.woocommerce-validated .input-text,
.woocommerce form .form-row.woocommerce-validated select{border-color:var(--teal)}

/* SelectWoo / select2 country and state fields match the inputs */
.woocommerce .select2-container .select2-selection--single{
  height:auto;border:1px solid var(--line);border-radius:var(--r);
  background:var(--bg);padding:12px 34px 12px 14px;
}
.woocommerce .select2-container--default .select2-selection--single .select2-selection__rendered{
  line-height:1.45;color:var(--ink);padding:0;font-size:.95rem;
}
.woocommerce .select2-container--default .select2-selection--single .select2-selection__arrow{
  height:100%;top:0;right:10px;
}
.woocommerce .select2-container--focus .select2-selection--single,
.woocommerce .select2-container--open .select2-selection--single{
  outline:2px solid var(--teal);outline-offset:1px;border-color:var(--teal);
}
.select2-dropdown{
  border:1px solid var(--line);border-radius:var(--r);
  background:var(--bg);color:var(--ink);font-size:.95rem;
}
.select2-container--default .select2-search--dropdown .select2-search__field{
  border:1px solid var(--line);border-radius:3px;padding:8px 10px;font:inherit;
}
.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted[data-selected]{
  background:var(--teal);color:var(--on-teal);
}

/* ---------- Right column: order summary box (static .co-summary) ---------- */
#order_review_heading{
  background:var(--surface);border-radius:var(--r) var(--r) 0 0;
  padding:24px 26px 10px;margin:0;
  font-size:1.3rem;color:var(--ink);
  position:sticky;top:96px;z-index:2;
}
#order_review{
  background:var(--surface);border-radius:0 0 var(--r) var(--r);
  padding:4px 26px 26px;
  position:sticky;top:calc(96px + 50px);z-index:1;
}
.woocommerce-checkout-review-order-table{width:100%}
.woocommerce-checkout-review-order-table thead{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;
}
.woocommerce-checkout-review-order-table td,
.woocommerce-checkout-review-order-table th{
  padding:11px 0;border:0;background:none;vertical-align:top;text-align:left;
}
.woocommerce-checkout-review-order-table tbody td{border-bottom:1px solid var(--line)}
.woocommerce-checkout-review-order-table td.product-name{
  font-size:14px;font-weight:600;color:var(--ink);line-height:1.35;padding-right:12px;
}
.woocommerce-checkout-review-order-table td.product-name .product-quantity{
  font-weight:500;color:var(--ink-2);white-space:nowrap;
}
.woocommerce-checkout-review-order-table td.product-total,
.woocommerce-checkout-review-order-table tfoot td{
  text-align:right;font-family:'Frank Ruhl Libre',Georgia,serif;
  font-weight:600;color:var(--ink);white-space:nowrap;
}
.woocommerce-checkout-review-order-table tfoot th{
  font-family:'Hanken Grotesk',sans-serif;font-size:14.5px;font-weight:500;color:var(--ink-2);
}
.woocommerce-checkout-review-order-table tfoot td{font-size:15px}
.woocommerce-checkout-review-order-table tr.order-total th,
.woocommerce-checkout-review-order-table tr.order-total td{
  border-top:1px solid var(--line);padding-top:15px;
}
.woocommerce-checkout-review-order-table tr.order-total th{color:var(--ink);font-weight:600}
.woocommerce-checkout-review-order-table tr.order-total .amount{
  font-size:1.5rem;color:var(--madder);
}
/* Shipping choices inside the summary */
#order_review ul#shipping_method{list-style:none;margin:0;padding:0}
#order_review ul#shipping_method li{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin:0 0 6px}
#order_review ul#shipping_method label{
  font-family:'Hanken Grotesk',sans-serif;font-size:13.5px;font-weight:500;
  color:var(--ink);margin:0;display:inline;
}

/* ---------- Payment box (static section 4 + option cards) ---------- */
#payment{background:transparent;border-radius:0;margin-top:16px}
#payment ul.wc_payment_methods{
  list-style:none;margin:0;padding:0;
  display:flex;flex-direction:column;gap:11px;
}
#payment li.wc_payment_method{
  display:flex;flex-wrap:wrap;align-items:center;gap:12px;
  padding:15px 17px;margin:0;background:var(--bg);
  border:1.5px solid var(--line);border-radius:10px;
  transition:border-color .18s,background .18s;
}
#payment li.wc_payment_method:hover{border-color:var(--ink-2)}
#payment li.wc_payment_method:has(input:checked){
  border-color:var(--teal);
  background:color-mix(in oklch,var(--teal) 7%,var(--bg));
}
#payment li.wc_payment_method input[type="radio"]{width:18px;height:18px;flex:none;margin:0}
#payment li.wc_payment_method > label{
  flex:1;display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  margin:0;font-size:15px;font-weight:600;color:var(--ink);cursor:pointer;
}
#payment li.wc_payment_method > label img{max-height:24px;width:auto}
#payment div.payment_box{
  flex-basis:100%;width:100%;margin:10px 0 0;padding:12px 14px;
  background:var(--surface-2);border-radius:8px;
  font-size:13.5px;color:var(--ink-2);
}
#payment div.payment_box p{margin:0 0 8px}
#payment div.payment_box p:last-child{margin-bottom:0}
#payment div.payment_box .form-row{margin-bottom:12px}

/* Terms + place order */
#payment .form-row.place-order{margin:18px 0 0;padding:0}
.woocommerce-terms-and-conditions-wrapper{
  font-size:13px;color:var(--ink-2);margin:0 0 14px;
}
.woocommerce-terms-and-conditions-wrapper a{
  color:var(--teal);font-weight:600;text-decoration:underline;text-underline-offset:2px;
}
button#place_order{
  width:100%;border-radius:50px;padding:17px 28px;font-size:16px;
  box-shadow:0 12px 30px -14px color-mix(in oklch,var(--madder) 90%,black);
}

/* ---------- Returning customer login + coupon form on checkout ---------- */
.woocommerce-form-coupon-toggle{margin-bottom:20px}
.woocommerce-checkout div.woocommerce > form.woocommerce-form-login,
form.checkout_coupon{
  border:1px solid var(--line);border-radius:var(--r);
  background:var(--bg);padding:22px;margin:0 0 26px;
}
form.checkout_coupon p:first-of-type{font-size:14px;color:var(--ink-2);margin:0 0 12px}
form.checkout_coupon .form-row-first{float:left;width:calc(60% - 7px);margin-bottom:0}
form.checkout_coupon .form-row-last{float:right;width:calc(40% - 7px);margin-bottom:0}
form.checkout_coupon .form-row-last .button{width:100%;border-radius:50px;padding:12px 18px;font-size:14px}
form.checkout_coupon::after,
.woocommerce-checkout div.woocommerce > form.woocommerce-form-login::after{
  content:"";display:block;clear:both;
}

/* ============================================================
   ORDER RECEIVED / THANK YOU (end of the checkout flow)
   ============================================================ */
.woocommerce-order p.woocommerce-thankyou-order-received,
.woocommerce-order .woocommerce-notice--success{
  font-family:'Frank Ruhl Libre',Georgia,serif;font-weight:600;
  font-size:clamp(1.6rem,3vw,2.2rem);color:var(--ink);margin:0 0 24px;
}
ul.woocommerce-order-overview{
  list-style:none;display:flex;flex-wrap:wrap;gap:14px;margin:0 0 30px;padding:0;
}
ul.woocommerce-order-overview li{
  border:1px solid var(--line);border-radius:var(--r);background:var(--bg);
  padding:14px 18px;margin:0;font-size:12.5px;color:var(--ink-2);
  letter-spacing:.02em;text-transform:uppercase;
}
ul.woocommerce-order-overview li strong{
  display:block;font-family:'Frank Ruhl Libre',Georgia,serif;
  font-size:1.05rem;font-weight:600;color:var(--ink);
  margin-top:4px;letter-spacing:0;text-transform:none;
}
.woocommerce-order-details,
.woocommerce-customer-details{margin-top:30px}
.woocommerce-order-details__title,
.woocommerce-customer-details h2{font-size:1.4rem;margin:0 0 14px;color:var(--ink)}
table.woocommerce-table--order-details th,
table.woocommerce-table--order-details td{
  padding:12px 0;border:0;border-bottom:1px solid var(--line);
  background:none;text-align:left;font-size:14.5px;
}
table.woocommerce-table--order-details td:last-child,
table.woocommerce-table--order-details th:last-child{text-align:right}
table.woocommerce-table--order-details tfoot th{font-weight:500;color:var(--ink-2)}
table.woocommerce-table--order-details tfoot tr:last-child .amount{
  font-family:'Frank Ruhl Libre',Georgia,serif;font-size:1.2rem;
  font-weight:600;color:var(--madder);
}
.woocommerce-customer-details address{
  font-style:normal;border:1px solid var(--line);border-radius:var(--r);
  padding:20px 22px;color:var(--ink-2);font-size:14.5px;line-height:1.6;
}

/* ============================================================
   MY ACCOUNT  (left rail nav + content, address cards, orders)
   ============================================================ */
.woocommerce-account.logged-in div.woocommerce{
  display:grid;
  grid-template-columns:240px minmax(0,1fr);
  gap:clamp(28px,4vw,56px);
  align-items:start;
}
.woocommerce-account.logged-in div.woocommerce > .woocommerce-notices-wrapper{grid-column:1 / -1;min-width:0}

/* Left vertical nav, active state borrowed from the shop filters */
.woocommerce-MyAccount-navigation ul{
  list-style:none;margin:0;padding:0;
  display:flex;flex-direction:column;gap:3px;
  position:sticky;top:96px;
}
.woocommerce-MyAccount-navigation li{margin:0}
.woocommerce-MyAccount-navigation a{
  display:block;padding:10px 14px;border-radius:6px;
  font-size:15px;font-weight:500;color:var(--ink-2);
  transition:background .18s,color .18s;
}
.woocommerce-MyAccount-navigation a:hover{background:var(--surface);color:var(--ink)}
.woocommerce-MyAccount-navigation li.is-active a{background:var(--teal);color:var(--on-teal)}
.woocommerce-MyAccount-navigation .woocommerce-MyAccount-navigation-link--customer-logout a{color:var(--madder)}
.woocommerce-MyAccount-navigation .woocommerce-MyAccount-navigation-link--customer-logout a:hover{
  background:color-mix(in oklch,var(--madder) 9%,transparent);color:var(--madder-dp);
}

/* Content column */
.woocommerce-MyAccount-content{min-width:0}
.woocommerce-MyAccount-content > p{color:var(--ink-2);margin:0 0 16px}
.woocommerce-MyAccount-content h2,
.woocommerce-MyAccount-content h3{color:var(--ink);margin:26px 0 14px}
.woocommerce-MyAccount-content h2:first-child,
.woocommerce-MyAccount-content h3:first-child{margin-top:0}
.woocommerce-MyAccount-content mark{background:none;color:var(--ink);font-weight:600}
.woocommerce-MyAccount-content fieldset{border:0;padding:0;margin:26px 0 0}
.woocommerce-MyAccount-content legend{
  font-family:'Frank Ruhl Libre',Georgia,serif;font-size:1.2rem;
  font-weight:600;color:var(--ink);margin-bottom:12px;padding:0;
}
.woocommerce-MyAccount-content .woocommerce-Button{
  border-radius:50px;padding:14px 26px;margin-top:6px;
}

/* Orders / downloads tables */
.woocommerce-MyAccount-content table.shop_table{font-size:14.5px}
.woocommerce-MyAccount-content table.shop_table thead th{
  text-align:left;font-size:11.5px;font-weight:700;letter-spacing:.08em;
  text-transform:uppercase;color:var(--ink-2);
  padding:10px 12px;border:0;border-bottom:1px solid var(--line);background:none;
}
.woocommerce-MyAccount-content table.shop_table td{
  padding:14px 12px;border:0;border-bottom:1px solid var(--line);
  background:none;vertical-align:middle;
}
.woocommerce-MyAccount-content table.shop_table td:first-child,
.woocommerce-MyAccount-content table.shop_table th:first-child{padding-left:0}
.woocommerce-MyAccount-content table.shop_table td:last-child,
.woocommerce-MyAccount-content table.shop_table th:last-child{padding-right:0;text-align:right}
.woocommerce-MyAccount-content table.shop_table .woocommerce-orders-table__cell-order-number a{
  font-weight:600;color:var(--teal);
}
.woocommerce-MyAccount-content table.shop_table .woocommerce-orders-table__cell-order-number a:hover{color:var(--madder)}
.woocommerce-MyAccount-content table.shop_table .button{
  padding:8px 16px;font-size:.85rem;border-radius:50px;margin:2px 0 2px 6px;
}

/* Address cards (static .c-card look) */
.woocommerce-Addresses{display:grid;grid-template-columns:1fr 1fr;gap:14px;width:100%}
.woocommerce-Addresses .col-1,
.woocommerce-Addresses .col-2{width:100%;float:none;margin:0;padding:0}
.woocommerce-Address{
  border:1px solid var(--line);border-radius:var(--r);
  background:var(--bg);padding:22px;height:100%;
}
.woocommerce-Address-title{
  display:flex;align-items:baseline;justify-content:space-between;
  gap:12px;margin-bottom:8px;
}
.woocommerce-Address-title h3{font-size:1.15rem;margin:0}
.woocommerce-Address-title .edit{
  font-size:13.5px;font-weight:600;color:var(--teal);white-space:nowrap;
}
.woocommerce-Address-title .edit:hover{color:var(--madder)}
.woocommerce-Address address{
  font-style:normal;color:var(--ink-2);font-size:14.5px;line-height:1.65;
}

/* ============================================================
   LOGIN / REGISTER  (two cards side by side)
   ============================================================ */
.woocommerce-account #customer_login{
  display:grid;grid-template-columns:1fr 1fr;
  gap:clamp(18px,3vw,28px);align-items:start;width:100%;
}
.woocommerce-account #customer_login .col-1,
.woocommerce-account #customer_login .col-2{width:100%;float:none;margin:0;padding:0}
.woocommerce-account #customer_login h2{
  font-size:1.5rem;margin:0 0 16px;color:var(--ink);
}
.woocommerce-account form.woocommerce-form-login,
.woocommerce-account form.woocommerce-form-register,
.woocommerce-account form.woocommerce-ResetPassword{
  background:var(--surface);border:0;border-radius:var(--r);
  padding:clamp(22px,3vw,32px);margin:0;
}
.woocommerce-account:not(.logged-in) div.woocommerce > h2{
  font-size:1.5rem;margin:0 0 16px;color:var(--ink);
}
.woocommerce-account:not(.logged-in) div.woocommerce > form.woocommerce-form-login{max-width:480px}
.woocommerce-account form.woocommerce-ResetPassword{max-width:480px}
.woocommerce form .woocommerce-form-login__rememberme{
  display:flex;align-items:center;gap:9px;
  font-size:14px;font-weight:500;color:var(--ink);
  cursor:pointer;margin-bottom:14px;
}
.woocommerce form .woocommerce-form-login__rememberme input{width:16px;height:16px;flex:none;margin:0}
.woocommerce-form-login .woocommerce-form-login__submit,
.woocommerce-form-register .woocommerce-form-register__submit,
.woocommerce-ResetPassword .woocommerce-Button{
  width:100%;border-radius:50px;padding:15px 28px;font-size:15px;
}
.woocommerce-LostPassword,
.lost_password{font-size:13.5px;margin:14px 0 0}
.woocommerce-LostPassword a,
.lost_password a{
  color:var(--teal);font-weight:600;
  text-decoration:underline;text-underline-offset:3px;
}
.woocommerce-LostPassword a:hover,
.lost_password a:hover{color:var(--madder)}
.woocommerce-privacy-policy-text{font-size:13px;color:var(--ink-2);margin:0 0 14px}
.woocommerce-privacy-policy-text a{color:var(--teal);font-weight:600}
/* Password visibility toggle inside password fields */
.woocommerce .password-input{position:relative;display:block;width:100%}
.woocommerce .show-password-input{
  position:absolute;top:50%;right:12px;transform:translateY(-50%);
  width:24px;height:24px;border:0;background:none;cursor:pointer;padding:0;
}
.woocommerce .show-password-input::after{content:"";display:block;width:100%;height:100%;
  background:var(--ink-2);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'%3E%3Cpath d='M2 12s3.5-7 10-7 10 7 10 7-3.5 7-10 7-10-7-10-7Z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'%3E%3Cpath d='M2 12s3.5-7 10-7 10 7 10 7-3.5 7-10 7-10-7-10-7Z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E") center/contain no-repeat;
}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media(max-width:1080px){
  form.woocommerce-checkout{grid-template-columns:minmax(0,1fr) 360px}
  .woocommerce-cart div.woocommerce{grid-template-columns:minmax(0,1fr) 320px}
}

@media(max-width:860px){
  /* Cart: single column, summary below the lines */
  .woocommerce-cart div.woocommerce{grid-template-columns:1fr}
  .woocommerce-cart .woocommerce-cart-form,
  .woocommerce-cart .cart-collaterals{grid-column:1}
  .woocommerce-cart .cart-collaterals{position:static}

  /* Checkout: single column, summary first (matches static order:-1) */
  form.woocommerce-checkout{grid-template-columns:1fr}
  form.woocommerce-checkout > .woocommerce-NoticeGroup,
  form.woocommerce-checkout #customer_details,
  form.woocommerce-checkout #order_review_heading,
  form.woocommerce-checkout #order_review{grid-column:1;grid-row:auto}
  form.woocommerce-checkout > .woocommerce-NoticeGroup{order:-3}
  form.woocommerce-checkout #order_review_heading{order:-2;position:static}
  form.woocommerce-checkout #order_review{order:-1;position:static;margin-bottom:clamp(24px,4vw,36px)}

  /* Account: nav becomes a pill row above the content */
  .woocommerce-account.logged-in div.woocommerce{grid-template-columns:1fr}
  .woocommerce-MyAccount-navigation ul{
    position:static;flex-direction:row;flex-wrap:wrap;gap:8px;
  }
  .woocommerce-MyAccount-navigation a{
    padding:8px 16px;border:1px solid var(--line);border-radius:50px;font-size:14px;
  }
  .woocommerce-MyAccount-navigation a:hover{border-color:var(--ink-2)}
  .woocommerce-Addresses{grid-template-columns:1fr}
  .woocommerce-account #customer_login{grid-template-columns:1fr}
}

@media(max-width:760px){
  /* Cart table collapses to line cards: thumb left, details right,
     data-title labels via ::before (Woo responsive pattern) */
  .woocommerce-cart-form .shop_table,
  .woocommerce-cart-form .shop_table tbody{display:block;width:100%}
  .woocommerce-cart-form .shop_table tr.cart_item{
    display:grid;grid-template-columns:72px minmax(0,1fr);
    gap:4px 16px;align-items:start;position:relative;
    padding:18px 0;border-bottom:1px solid var(--line);
  }
  .woocommerce-cart-form .shop_table tbody tr:first-child{border-top:1px solid var(--line)}
  .woocommerce-cart-form .shop_table tbody tr:first-child td{border-top:0}
  .woocommerce-cart-form .shop_table tr.cart_item td{
    display:block;border:0;padding:0;text-align:left;
  }
  .woocommerce-cart-form td.product-thumbnail{grid-column:1;grid-row:1 / span 4;width:72px}
  .woocommerce-cart-form td.product-thumbnail img{width:72px}
  .woocommerce-cart-form td.product-remove{
    position:absolute;top:18px;right:0;width:auto;
  }
  .woocommerce-cart-form td.product-name{grid-column:2;padding-right:40px}
  .woocommerce-cart-form td.product-price{grid-column:2;font-size:1rem}
  .woocommerce-cart-form td.product-quantity{grid-column:2;width:auto;margin-top:8px}
  .woocommerce-cart-form td.product-subtotal{grid-column:2;margin-top:6px;font-size:1rem}
  .woocommerce-cart-form td.product-price::before,
  .woocommerce-cart-form td.product-subtotal::before{
    content:attr(data-title) ": ";
    font-family:'Hanken Grotesk',sans-serif;font-size:12.5px;
    font-weight:500;color:var(--ink-2);
  }

  /* Actions row stacks */
  .woocommerce-cart-form td.actions .coupon{
    float:none;display:flex;width:100%;margin-bottom:12px;
  }
  .woocommerce-cart-form td.actions .coupon .input-text{width:auto;flex:1}
  .woocommerce-cart-form td.actions > .button{float:none;width:100%}

  /* Account tables collapse to stacked cards */
  .woocommerce-MyAccount-content table.shop_table_responsive thead{display:none}
  .woocommerce-MyAccount-content table.shop_table_responsive,
  .woocommerce-MyAccount-content table.shop_table_responsive tbody{display:block;width:100%}
  .woocommerce-MyAccount-content table.shop_table_responsive tr{
    display:block;border:1px solid var(--line);border-radius:var(--r);
    padding:14px 16px;margin-bottom:14px;background:var(--bg);
  }
  .woocommerce-MyAccount-content table.shop_table_responsive td{
    display:flex;justify-content:space-between;align-items:baseline;gap:12px;
    border:0;padding:6px 0;text-align:right;
  }
  .woocommerce-MyAccount-content table.shop_table_responsive td::before{
    content:attr(data-title);
    font-size:12px;font-weight:600;letter-spacing:.05em;
    text-transform:uppercase;color:var(--ink-2);text-align:left;flex:none;
  }
  .woocommerce-MyAccount-content table.shop_table_responsive td.woocommerce-orders-table__cell-order-actions{
    justify-content:flex-end;
  }
  .woocommerce-MyAccount-content table.shop_table_responsive td.woocommerce-orders-table__cell-order-actions::before{display:none}
}

@media(max-width:520px){
  .cart_totals{padding:22px}
  #order_review{padding-inline:20px}
  #order_review_heading{padding-inline:20px}
  form.checkout_coupon .form-row-first,
  form.checkout_coupon .form-row-last{float:none;width:100%}
  form.checkout_coupon .form-row-first{margin-bottom:10px}
  ul.woocommerce-order-overview{flex-direction:column}
}
