/* ===========================================================================
   WooCommerce — cart, checkout, account and order pages.

   The theme had no WooCommerce support at all, so these pages rendered with
   Woo's bare markup, no table layout and no container: the cart row collapsed
   into unreadable overlapping text. This gives them the same design language
   as the rest of the site.

   Scoped to the body classes WooCommerce adds, so nothing here touches the
   bespoke shop at /shop/, which has its own styling.
   ========================================================================= */

/* --- the page container ------------------------------------------------- */
/* The shared container lives in the theme stylesheet; cart and checkout just
   need more room than a page of prose. */
.woocommerce-cart .page-content:not(.page-content--flush),
.woocommerce-checkout .page-content:not(.page-content--flush),
.woocommerce-account .page-content:not(.page-content--flush),
.woocommerce-order-received .page-content:not(.page-content--flush){max-width:1120px}

.woocommerce-cart .entry,
.woocommerce-checkout .entry,
.woocommerce-account .entry{font-family:'Nunito',sans-serif;color:var(--ink);font-size:1rem;line-height:1.65}

/* --- notices ------------------------------------------------------------- */
.woocommerce-message,.woocommerce-info,.woocommerce-error,.woocommerce-noreviews{
  border:1px solid var(--rule);border-left:5px solid var(--green);border-radius:14px;
  background:var(--card);padding:15px 18px;margin:0 0 22px;list-style:none;
  font-family:'Nunito',sans-serif;font-size:.97rem;color:var(--ink);
  display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.woocommerce-info{border-left-color:var(--amber)}
.woocommerce-error{border-left-color:var(--berry);color:var(--berry)}
.woocommerce-message::before,.woocommerce-info::before,.woocommerce-error::before{display:none}
.woocommerce-message .button,.woocommerce-info .button{margin-left:auto}

/* --- buttons ------------------------------------------------------------- */
.woocommerce .button,.woocommerce button.button,.woocommerce input.button,
.woocommerce a.button,.woocommerce #respond input#submit,
.woocommerce .checkout-button,.woocommerce #place_order{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  background:var(--green-deep);color:#fff;border:0;border-radius:999px;
  padding:13px 26px;font-family:'Baloo 2',sans-serif;font-weight:700;font-size:1rem;
  line-height:1.1;cursor:pointer;text-decoration:none;transition:.15s;white-space:nowrap}
.woocommerce .button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,
.woocommerce a.button:hover,.woocommerce .checkout-button:hover,.woocommerce #place_order:hover{
  background:var(--green);color:#fff;transform:translateY(-1px)}
.woocommerce .button:disabled,.woocommerce button.button:disabled,
.woocommerce .button.disabled{background:var(--rule-strong);transform:none;cursor:not-allowed}
.woocommerce .button.alt,.woocommerce #place_order,.woocommerce .checkout-button{
  background:var(--amber)}
.woocommerce .button.alt:hover,.woocommerce #place_order:hover,
.woocommerce .checkout-button:hover{background:var(--brown)}
.woocommerce a.remove{display:inline-flex;align-items:center;justify-content:center;
  width:26px;height:26px;border-radius:50%;background:rgba(192,86,62,.12);
  color:var(--berry)!important;font-size:1.05rem;line-height:1;text-decoration:none;font-weight:700}
.woocommerce a.remove:hover{background:var(--berry);color:#fff!important}

/* --- form fields --------------------------------------------------------- */
.woocommerce form .form-row{display:flex;flex-direction:column;margin:0 0 15px;padding:0}
.woocommerce form .form-row label{font-family:'Nunito',sans-serif;font-size:.68rem;
  font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-muted);
  margin:0 0 6px;line-height:1.4}
.woocommerce form .form-row label .required{color:var(--berry);text-decoration:none;border:0}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce .select2-container .select2-selection--single,
.woocommerce-page form .form-row input.input-text,
.woocommerce-page form .form-row textarea{
  width:100%;border:2px solid var(--rule-strong);border-radius:10px;background:#fff;
  font-family:'Nunito',sans-serif;font-size:1rem;font-weight:600;color:var(--ink);
  padding:11px 12px;height:auto;line-height:1.4;box-shadow:none}
.woocommerce form .form-row textarea{min-height:110px;resize:vertical}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus{outline:none;border-color:var(--green);box-shadow:none}
.woocommerce .select2-container--default .select2-selection--single{height:auto;padding:9px 10px}
.woocommerce .select2-container--default .select2-selection--single .select2-selection__rendered{
  line-height:1.5;color:var(--ink);padding:0}
.woocommerce .select2-container--default .select2-selection--single .select2-selection__arrow{top:8px}
.woocommerce form .form-row-first,.woocommerce form .form-row-last{width:100%;float:none}
.woocommerce form .form-row.woocommerce-validated input.input-text{border-color:var(--sage)}
.woocommerce form .form-row.woocommerce-invalid input.input-text{border-color:var(--berry)}
.woocommerce-input-wrapper{display:block}

/* checkbox rows read as one line, not a stacked label */
.woocommerce form .form-row.mm-checkbox,
.woocommerce form p.form-row label.checkbox,
.woocommerce form .form-row label.woocommerce-form__label-for-checkbox{
  flex-direction:row;align-items:flex-start;gap:9px;font-size:.95rem;font-weight:600;
  letter-spacing:0;text-transform:none;color:var(--ink-soft)}
.woocommerce form .form-row label.woocommerce-form__label-for-checkbox input{margin:3px 0 0}

/* --- tables: the cart and the order review ------------------------------- */
.woocommerce table.shop_table{width:100%;border-collapse:separate;border-spacing:0;
  border:1px solid var(--rule);border-radius:16px;overflow:hidden;background:var(--card);
  margin:0 0 26px;font-family:'Nunito',sans-serif}
.woocommerce table.shop_table th{background:var(--parchment-soft);color:var(--green-deep);
  font-family:'Nunito',sans-serif;font-size:.68rem;font-weight:800;letter-spacing:.1em;
  text-transform:uppercase;text-align:left;padding:13px 16px;border:0;
  border-bottom:1px solid var(--rule)}
.woocommerce table.shop_table td{padding:16px;border:0;border-bottom:1px solid var(--rule);
  vertical-align:middle;color:var(--ink);font-size:.97rem}
.woocommerce table.shop_table tr:last-child td{border-bottom:0}
.woocommerce table.shop_table td.product-name a{color:var(--green-deep);font-weight:700;
  text-decoration:none}
.woocommerce table.shop_table td.product-name a:hover{text-decoration:underline}
.woocommerce table.shop_table .product-thumbnail img{width:68px;height:68px;object-fit:cover;
  border-radius:10px;display:block}
.woocommerce table.shop_table td.product-price,
.woocommerce table.shop_table td.product-subtotal{font-weight:700;color:var(--green-deep);
  white-space:nowrap}
.woocommerce table.shop_table .variation,
.woocommerce table.shop_table dl.variation{margin:6px 0 0;font-size:.84rem;color:var(--ink-soft)}
.woocommerce table.shop_table dl.variation dt{font-weight:800;color:var(--ink-muted);
  font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;margin:6px 0 1px;float:none;clear:both}
.woocommerce table.shop_table dl.variation dd{margin:0;padding:0}
.woocommerce table.shop_table dl.variation dd p{margin:0}
.woocommerce .quantity input.qty{width:74px;text-align:center;border:2px solid var(--rule-strong);
  border-radius:10px;padding:9px 6px;font-family:'Nunito',sans-serif;font-weight:700;
  font-size:1rem;color:var(--ink);background:#fff}

/* the coupon row sits on its own line rather than inside the last cell */
.woocommerce table.shop_table td.actions{background:var(--parchment-soft);padding:16px}
.woocommerce table.shop_table td.actions > *{vertical-align:middle}
.woocommerce table.shop_table td.actions .coupon{display:inline-flex;margin-right:12px}
.woocommerce .coupon{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:0}
.woocommerce .coupon label{display:none}
.woocommerce #coupon_code{width:auto;min-width:190px;border:2px solid var(--rule-strong);
  border-radius:10px;padding:11px 12px;font-family:'Nunito',sans-serif;font-size:1rem;background:#fff}
.woocommerce td.actions > .button[name="update_cart"]{margin-left:auto}

/* --- cart totals ---------------------------------------------------------- */
.woocommerce .cart-collaterals{display:flex;justify-content:flex-end}
.woocommerce .cart_totals{width:100%;max-width:430px}
.woocommerce .cart_totals h2{font-family:'Baloo 2',sans-serif;font-weight:700;font-size:1.3rem;
  color:var(--green-deep);margin:0 0 12px}
.woocommerce .cart_totals table.shop_table{margin-bottom:16px}
.woocommerce .cart_totals table.shop_table th{width:44%;vertical-align:top}
.woocommerce .cart_totals .order-total th,
.woocommerce .cart_totals .order-total td{background:var(--parchment-soft);font-size:1.05rem}
.woocommerce .cart_totals .order-total td{font-family:'Baloo 2',sans-serif;font-weight:800;
  color:var(--green-deep);font-size:1.3rem}
.woocommerce .wc-proceed-to-checkout{padding:0}
.woocommerce .wc-proceed-to-checkout .checkout-button{display:flex;width:100%;font-size:1.05rem;
  padding:15px 28px}
.woocommerce .woocommerce-shipping-destination{color:var(--ink-muted);font-size:.86rem}
.woocommerce .shipping-calculator-button{color:var(--green);font-weight:700}
.woocommerce ul#shipping_method{margin:0;padding:0;list-style:none}
.woocommerce ul#shipping_method li{margin:0 0 6px;padding:0;line-height:1.5}

/* --- checkout layout ------------------------------------------------------ */
.woocommerce-checkout .col2-set{display:grid;grid-template-columns:1fr 1fr;gap:28px;width:100%}
/* WooCommerce's own layout CSS floats .col-2 right; placing both explicitly
   means the billing column lands on the left whatever that stylesheet does. */
.woocommerce-checkout .col2-set .col-1,
.woocommerce-checkout .col2-set .col-2{width:100%;float:none!important;padding:0}
.woocommerce-checkout #customer_details > .col-1{grid-column:1;grid-row:1}
.woocommerce-checkout #customer_details > .col-2{grid-column:2;grid-row:1}
.woocommerce-checkout h3,
.woocommerce-checkout #order_review_heading{font-family:'Baloo 2',sans-serif;font-weight:700;
  font-size:1.25rem;color:var(--green-deep);margin:0 0 14px;letter-spacing:-.005em}
.woocommerce-checkout #customer_details{background:var(--card);border:1px solid var(--rule);
  border-radius:18px;padding:24px 26px;box-shadow:var(--shadow);margin:0 0 26px}
.woocommerce-checkout #order_review{background:var(--card);border:1px solid var(--rule);
  border-radius:18px;padding:24px 26px;box-shadow:var(--shadow)}
.woocommerce-checkout #order_review table.shop_table{border:0;border-radius:0;margin:0 0 18px}
.woocommerce-checkout #order_review table.shop_table tfoot th{background:transparent;
  font-size:.75rem;color:var(--ink-soft)}
.woocommerce-checkout #order_review table.shop_table tfoot .order-total th,
.woocommerce-checkout #order_review table.shop_table tfoot .order-total td{
  font-family:'Baloo 2',sans-serif;font-size:1.2rem;color:var(--green-deep);font-weight:800;
  letter-spacing:0;text-transform:none}
.woocommerce-checkout .woocommerce-additional-fields{margin-top:4px}
.woocommerce-checkout #ship-to-different-address{font-family:'Baloo 2',sans-serif;
  font-size:1.1rem;color:var(--green-deep);margin:0 0 12px}
.woocommerce-checkout #ship-to-different-address label{display:flex;align-items:center;gap:9px;
  font-weight:700;letter-spacing:0;text-transform:none;font-size:1rem;color:var(--green-deep)}

/* payment */
.woocommerce-checkout #payment{background:var(--parchment-soft);border-radius:14px;
  padding:18px;border:1px solid var(--rule)}
.woocommerce-checkout #payment ul.payment_methods{list-style:none;margin:0 0 14px;padding:0;
  border:0}
.woocommerce-checkout #payment ul.payment_methods li{margin:0 0 10px;padding:0;line-height:1.5}
.woocommerce-checkout #payment ul.payment_methods li label{font-weight:700;color:var(--ink);
  display:inline-flex;align-items:center;gap:8px}
.woocommerce-checkout #payment div.payment_box{background:var(--card);border-radius:12px;
  padding:14px 16px;margin:10px 0 0;color:var(--ink-soft);font-size:.92rem;border:1px solid var(--rule)}
.woocommerce-checkout #payment div.payment_box::before{display:none}
.woocommerce-checkout #payment .form-row.place-order{margin:14px 0 0;padding:0}
.woocommerce-checkout #payment #place_order{width:100%;font-size:1.05rem;padding:15px 28px}
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper{margin:0 0 12px;
  font-size:.9rem;color:var(--ink-soft)}

/* --- my account ----------------------------------------------------------- */
.woocommerce-account .woocommerce{display:grid;grid-template-columns:230px minmax(0,1fr);
  gap:28px;align-items:start}
.woocommerce-account .woocommerce-MyAccount-navigation{background:var(--card);
  border:1px solid var(--rule);border-radius:18px;padding:12px;box-shadow:var(--shadow)}
.woocommerce-account .woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0}
.woocommerce-account .woocommerce-MyAccount-navigation li{margin:0}
.woocommerce-account .woocommerce-MyAccount-navigation li a{display:block;padding:10px 12px;
  border-radius:10px;color:var(--ink);font-family:'Nunito',sans-serif;font-weight:700;
  font-size:.95rem;text-decoration:none}
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover{background:var(--parchment-soft)}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{background:var(--green-deep);
  color:#fff}
.woocommerce-account .woocommerce-MyAccount-content{min-width:0}
.woocommerce-account form.login,.woocommerce-account form.register,
.woocommerce-account .woocommerce-form{background:var(--card);border:1px solid var(--rule);
  border-radius:18px;padding:24px 26px;box-shadow:var(--shadow)}

/* --- order received / thank you ------------------------------------------- */
.woocommerce .woocommerce-order{background:var(--card);border:1px solid var(--rule);
  border-radius:18px;padding:26px 28px;box-shadow:var(--shadow)}
.woocommerce ul.woocommerce-order-overview{list-style:none;display:flex;flex-wrap:wrap;gap:22px;
  margin:0 0 24px;padding:18px;background:var(--parchment-soft);border-radius:14px;border:0}
.woocommerce ul.woocommerce-order-overview li{border:0;margin:0;padding:0;
  font-family:'Nunito',sans-serif;font-size:.68rem;font-weight:800;letter-spacing:.1em;
  text-transform:uppercase;color:var(--ink-muted)}
.woocommerce ul.woocommerce-order-overview li strong{display:block;margin-top:5px;
  font-family:'Baloo 2',sans-serif;font-size:1.1rem;font-weight:700;color:var(--green-deep);
  letter-spacing:0;text-transform:none}
.woocommerce .woocommerce-column__title,.woocommerce h2{font-family:'Baloo 2',sans-serif;
  font-weight:700;color:var(--green-deep);font-size:1.25rem;margin:0 0 12px}
.woocommerce .woocommerce-customer-details address{border:1px solid var(--rule);
  border-radius:14px;padding:16px;font-style:normal;color:var(--ink-soft);line-height:1.7}

/* --- empty cart ------------------------------------------------------------ */
.woocommerce .cart-empty{font-family:'Baloo 2',sans-serif;font-size:1.35rem;
  color:var(--green-deep);margin:0 0 6px}
.woocommerce .return-to-shop{margin:18px 0 0}

/* --- narrow ---------------------------------------------------------------- */
@media(max-width:900px){
  .woocommerce-checkout .col2-set{grid-template-columns:1fr}
  .woocommerce-checkout #customer_details > .col-1,
  .woocommerce-checkout #customer_details > .col-2{grid-column:1;grid-row:auto}
  .woocommerce-account .woocommerce{grid-template-columns:1fr}
  .woocommerce .cart-collaterals{justify-content:stretch}
  .woocommerce .cart_totals{max-width:none}
}
@media(max-width:640px){
  .page-content:not(.page-content--flush){padding:0 16px 56px}
  .woocommerce table.shop_table thead{display:none}
  .woocommerce table.shop_table tr{display:block;border-bottom:1px solid var(--rule)}
  .woocommerce table.shop_table tr:last-child{border-bottom:0}
  .woocommerce table.shop_table td{display:flex;justify-content:space-between;gap:14px;
    border-bottom:0;padding:9px 16px}
  .woocommerce table.shop_table td::before{content:attr(data-title);font-size:.68rem;
    font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-muted)}
  .woocommerce table.shop_table td.product-remove::before,
  .woocommerce table.shop_table td.product-thumbnail::before{display:none}
  .woocommerce table.shop_table td.actions{display:block}
  .woocommerce .cart_totals table.shop_table td::before{display:none}
  .woocommerce td.actions > .button[name="update_cart"]{margin-left:0;width:100%}
  .woocommerce .coupon{width:100%}
  .woocommerce #coupon_code{flex:1}
}
