/* Arika - cart and checkout.
   The cart shipped as bare WooCommerce table markup: a 32px thumbnail, a coupon
   row whose screen-reader label was painting on screen, and the totals floated
   under the table. Tokens: accent #5C6E3D, gold #C9A96E, ink #3A3028, soft ink
   #7A6E64, hairline #E0D5C5, ground #F9F4EC. Montserrat. Radii 5px / 10px. */

/* Hello Elementor never defines this, so every screen-reader-only label in
   WooCommerce was rendering as visible text. That is what put a stray
   "Coupon:" between the coupon field and its button. */
.screen-reader-text{
  position:absolute !important;
  width:1px;height:1px;
  padding:0;margin:-1px;
  overflow:hidden;
  clip:rect(0 0 0 0);
  clip-path:inset(50%);
  white-space:nowrap;border:0;
}

/* ---------- Cart: items left, totals in a sticky rail ---------- */
@media (min-width:1025px){
  .woocommerce-cart .woocommerce{
    display:grid;
    grid-template-columns:minmax(0,1fr) 360px;
    gap:32px;
    align-items:start;
  }
  .woocommerce-cart .woocommerce > .woocommerce-notices-wrapper,
  .woocommerce-cart .woocommerce > .arika-suggest{grid-column:1 / -1;}
  .woocommerce-cart .woocommerce-cart-form{grid-column:1;margin:0;}
  .woocommerce-cart .cart-collaterals{
    grid-column:2;
    width:auto !important;
    float:none !important;
    position:sticky;
    /* The navy nav bar goes position:fixed at 66px tall once the page scrolls,
       so a 24px offset parked the totals heading underneath it. Clear the bar,
       then keep the original 24px of breathing room. */
    top:calc(var(--arika-sticky-header, 66px) + 24px);
    /* The fixed bar sits at z-index 990; the rail needs its own stacking
       context below that so a tall totals panel cannot paint over the nav. */
    z-index:1;
    /* A long shipping list could outgrow the viewport, which freezes a sticky
       element mid-scroll. Let the rail scroll internally instead. */
    max-height:calc(100vh - var(--arika-sticky-header, 66px) - 48px);
    overflow-y:auto;
    overscroll-behavior:contain;
  }
}
.woocommerce-cart .cart-collaterals .cart_totals{
  width:100% !important;
  float:none !important;
}

/* ---------- The items table ---------- */
.woocommerce-cart table.cart{
  border:1px solid #E0D5C5;
  border-radius:10px;
  overflow:hidden;
  background-color:#FFFFFF;
  margin-bottom:0;
}
.woocommerce-cart table.cart thead th{
  background-color:#F9F4EC;
  font-family:Montserrat,sans-serif;
  font-weight:600;
  font-size:13px;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:#7A6E64;
  padding:14px 16px;
  border:0;
}
.woocommerce-cart table.cart tbody td{
  padding:18px 16px;
  vertical-align:middle;
  border-top:1px solid #E0D5C5;
  font-family:Montserrat,sans-serif;
}

/* A 32px thumbnail told the shopper nothing about what they were buying. */
.woocommerce-cart table.cart td.product-thumbnail{width:112px;}
.woocommerce-cart table.cart td.product-thumbnail img{
  width:88px !important;
  height:88px;
  max-width:none;
  object-fit:contain;
  background-color:#FFFFFF;
  border:1px solid #E0D5C5;
  border-radius:8px;
  padding:6px;
  display:block;
}
.woocommerce-cart table.cart td.product-name a{
  color:#3A3028;
  font-weight:600;
  font-size:16px;
  line-height:1.35;
  text-decoration:none;
}
.woocommerce-cart table.cart td.product-name a:hover{color:#5C6E3D;}
.woocommerce-cart table.cart td.product-price,
.woocommerce-cart table.cart td.product-subtotal{
  color:#3A3028;
  font-weight:600;
  white-space:nowrap;
}
.woocommerce-cart table.cart td.product-remove{width:44px;}
.woocommerce-cart table.cart td.product-remove a.remove{
  display:inline-flex;align-items:center;justify-content:center;
  width:28px;height:28px;
  font-size:20px;line-height:1;
  color:#7A6E64 !important;
  background-color:transparent !important;
  border:1px solid #E0D5C5;
  border-radius:50%;
}
.woocommerce-cart table.cart td.product-remove a.remove:hover{
  color:#FFFFFF !important;
  background-color:#B3453A !important;
  border-color:#B3453A;
}
.woocommerce-cart table.cart .quantity input.qty{
  width:70px;height:44px;
  text-align:center;
  font-family:Montserrat,sans-serif;
  font-size:15px;
  color:#3A3028;
  border:1px solid #E0D5C5;
  border-radius:5px;
  background-color:#FFFFFF;
}

/* ---------- Coupon and update row ---------- */
.woocommerce-cart table.cart td.actions{
  background-color:#F9F4EC;
  border-top:1px solid #E0D5C5;
  padding:16px;
}
.woocommerce-cart table.cart td.actions .coupon{
  display:flex;
  gap:10px;
  align-items:center;
  float:none !important;
  padding:0 !important;
}
.woocommerce-cart table.cart td.actions .coupon::before,
.woocommerce-cart table.cart td.actions .coupon::after{display:none !important;}
/* The coupon field's label carries no class on some Woo templates, so the
   generic screen-reader rule misses it and "Coupon:" prints beside the input.
   The placeholder already names the field. */
.woocommerce-cart table.cart td.actions .coupon > label{
  position:absolute !important;
  width:1px;height:1px;overflow:hidden;
  clip:rect(0 0 0 0);clip-path:inset(50%);
  white-space:nowrap;
}
.woocommerce-cart table.cart td.actions .coupon .input-text{
  width:auto !important;
  flex:0 1 240px;
  min-width:0;
  height:46px;
  margin:0 !important;
  padding:0 14px;
  font-family:Montserrat,sans-serif;
  font-size:15px;
  color:#3A3028;
  border:1px solid #E0D5C5;
  border-radius:5px;
  background-color:#FFFFFF;
}
.woocommerce-cart table.cart td.actions .coupon button{flex:0 0 auto;}
.woocommerce-cart table.cart td.actions > button[name="update_cart"],
.woocommerce-cart table.cart td.actions > .button{
  float:right;
  background-color:transparent !important;
  color:#5C6E3D !important;
  border:1px solid #5C6E3D;
}
.woocommerce-cart table.cart td.actions > button[name="update_cart"]:hover:not(:disabled){
  background-color:#5C6E3D !important;
  color:#FFFFFF !important;
}
.woocommerce-cart table.cart td.actions > button[name="update_cart"]:disabled{
  opacity:.45;
  cursor:not-allowed;
}

/* ---------- Totals panel ---------- */
.woocommerce-cart .cart_totals h2{
  font-family:Montserrat,sans-serif;
  font-weight:600;
  font-size:20px;
  color:#3A3028;
  margin:0 0 16px;
}
.woocommerce-cart .cart_totals table.shop_table{
  border:0 !important;
  background:transparent;
  margin:0 0 18px;
}
.woocommerce-cart .cart_totals table.shop_table th,
.woocommerce-cart .cart_totals table.shop_table td{
  background:transparent !important;
  border:0;
  border-bottom:1px solid #E0D5C5;
  padding:12px 0;
  font-size:15px;
  text-transform:none;
  letter-spacing:0;
}
.woocommerce-cart .cart_totals table.shop_table th{
  color:#7A6E64;
  font-weight:500;
  width:40%;
}
.woocommerce-cart .cart_totals table.shop_table td{color:#3A3028;text-align:right;}
.woocommerce-cart .cart_totals tr.order-total th,
.woocommerce-cart .cart_totals tr.order-total td{
  border-bottom:0;
  font-weight:700;
  font-size:18px;
  color:#3A3028;
}
.woocommerce-cart .cart_totals .shipping ul#shipping_method li{
  margin:0 0 8px;
  font-size:14px;
  color:#3A3028;
}
.woocommerce-cart .wc-proceed-to-checkout{padding:0;}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{
  display:block;
  width:100%;
  text-align:center;
  font-size:16px;
  padding:15px 20px;
  margin:0;
}

@media (max-width:1024px){
  .woocommerce-cart .cart-collaterals{width:100% !important;float:none !important;}
  .woocommerce-cart .cart-collaterals .cart_totals{width:100% !important;}
}
@media (max-width:767px){
  /* Woo stacks the table into labelled rows below 768px and hides the photo
     outright, which left an empty block at the top of every line. The image is
     the most useful thing on a phone, so it comes back, centred. */
  /* Woo's small-screen sheet right-aligns every cell with !important. */
  .woocommerce-cart table.cart tr td.product-thumbnail{
    display:block !important;
    width:auto !important;
    text-align:center !important;
    padding:18px 16px 6px;
  }
  .woocommerce-cart table.cart tr td.product-thumbnail::before{content:"" !important;display:none !important;}
  .woocommerce-cart table.cart tr td.product-thumbnail img{
    display:inline-block !important;
    margin:0 auto;
    width:132px !important;
    height:132px;
  }
  .woocommerce-cart table.cart tr td.product-thumbnail a{display:inline-block;}

  /* The remove cross belongs beside the row, not on a line of its own. */
  .woocommerce-cart table.cart tr td.product-remove{
    display:block !important;
    width:auto !important;
    text-align:right;
    border-bottom:0;
    padding:10px 16px 0;
  }
  .woocommerce-cart table.cart tr td.product-remove::before{content:"" !important;display:none !important;}

  /* This label carries no class, so the generic screen-reader rule misses it
     and "Coupon:" printed above the field. The placeholder already says it. */
  .woocommerce-cart table.cart td.actions .coupon > label{
    position:absolute !important;
    width:1px;height:1px;overflow:hidden;
    clip:rect(0 0 0 0);clip-path:inset(50%);
    white-space:nowrap;
  }
  .woocommerce-cart table.cart td.actions::before{content:"" !important;display:none !important;}
  .woocommerce-cart table.cart td.actions .coupon{flex-wrap:wrap;}
  .woocommerce-cart table.cart td.actions .coupon .input-text{flex:1 1 100%;}
  .woocommerce-cart table.cart td.actions .coupon button{width:100%;}
  .woocommerce-cart table.cart td.actions > button[name="update_cart"]{float:none;width:100%;margin-top:10px;}
}

/* ---------- CartFlows checkout ---------- */
/* The imported funnel template painted the page a pale mauve that belongs to
   no part of this palette. Bone puts the white checkout card on the same
   ground the rest of the site uses. */
body.woocommerce-checkout,
body.cartflows-canvas{background-color:#F9F4EC !important;}

.cartflows-container .wcf-embed-checkout-form,
.cartflows-container form.checkout{font-family:Montserrat,sans-serif;}

.woocommerce-checkout .wcf-order-wrap,
.woocommerce-checkout .cartflows_table{font-family:Montserrat,sans-serif;}
.woocommerce-checkout .cartflows_table td,
.woocommerce-checkout .cartflows_table th{color:#3A3028;font-size:14px;}
.woocommerce-checkout .cartflows_table img{
  width:56px !important;
  height:56px;
  object-fit:contain;
  background-color:#FFFFFF;
  border:1px solid #E0D5C5;
  border-radius:6px;
  padding:4px;
}
.woocommerce-checkout .cartflows_table tr.order-total td,
.woocommerce-checkout .cartflows_table tr.order-total th{
  font-weight:700;
  font-size:17px;
  color:#3A3028;
}

/* Section headings on the form. */
.woocommerce-checkout .wcf-custom-heading,
.woocommerce-checkout h3#order_review_heading,
.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout .woocommerce-additional-fields h3{
  font-family:Montserrat,sans-serif;
  font-weight:600;
  font-size:19px;
  color:#3A3028;
}

/* Shipping choice reads as a pair of selectable rows, not loose radios. */
.woocommerce-checkout #shipping_method li,
.woocommerce-checkout .wcf-shipping-methods li{
  border:1px solid #E0D5C5;
  border-radius:5px;
  padding:12px 14px;
  margin-bottom:10px;
  background-color:#FFFFFF;
}

/* ---------- You may also like ---------- */
.arika-suggest{margin-top:56px;}
.arika-suggest-title{
  font-family:Montserrat,sans-serif;
  font-weight:600;
  font-size:24px;
  color:#3A3028;
  margin:0 0 8px;
}
.arika-suggest-title::after{
  content:"";
  display:block;
  width:44px;height:3px;
  background-color:#C9A96E;
  margin-top:12px;
  margin-bottom:20px;
}
.arika-suggest-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:20px;
}
.arika-suggest-card{
  display:flex;
  flex-direction:column;
  background-color:#FFFFFF;
  border:1px solid #E0D5C5;
  border-radius:10px;
  padding:16px;
  transition:border-color .18s ease;
}
.arika-suggest-card:hover{border-color:#5C6E3D;}
.arika-suggest-media{display:block;margin-bottom:14px;}
.arika-suggest-media img{
  width:100% !important;
  height:180px;
  object-fit:contain;
  background-color:#FFFFFF;
  display:block;
}
.arika-suggest-name{
  font-family:Montserrat,sans-serif;
  font-weight:500;
  font-size:15px;
  line-height:1.3;
  margin:0 0 10px;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  min-height:2.6em;
  max-height:2.6em;
}
.arika-suggest-name a{color:#3A3028;text-decoration:none;}
.arika-suggest-name a:hover{color:#5C6E3D;}
.arika-suggest-price{
  font-family:Montserrat,sans-serif;
  font-weight:700;
  font-size:17px;
  color:#3A3028;
  margin-bottom:14px;
}
.arika-suggest-price del{color:#7A6E64;font-weight:500;font-size:15px;margin-right:6px;}
.arika-suggest-add{
  margin-top:auto;
  display:block;
  text-align:center;
  background-color:#5C6E3D;
  color:#FFFFFF !important;
  font-family:Montserrat,sans-serif;
  font-weight:700;
  font-size:14px;
  padding:12px 14px;
  border-radius:5px;
  text-decoration:none !important;
  transition:background-color .18s ease;
}
.arika-suggest a{text-decoration:none !important;}
.arika-suggest-add:hover{background-color:#8B9D6A;color:#FFFFFF !important;}

@media (max-width:1024px){
  .arika-suggest-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .arika-suggest-media img{height:200px;}
}
@media (max-width:767px){
  .arika-suggest{margin-top:36px;}
  .arika-suggest-title{font-size:20px;}
  .arika-suggest-grid{gap:14px;}
  .arika-suggest-card{padding:12px;}
  .arika-suggest-media img{height:150px;}
  .arika-suggest-name{font-size:14px;}
}


/* ==========================================================================
   Cart banner.
   The page opened on a bare theme heading straight into the table. Cart has
   also moved out of the top-level menu and now sits under My Account, so the
   page has to announce itself. Cream band, serif title, sage rule.
   ========================================================================== */

/* The theme's own page title would repeat the banner heading. */
.woocommerce-cart .page-header,
.woocommerce-cart .entry-header{display:none;}

.arika-cart-banner{
  grid-column:1 / -1;
  background-color:#F9F4EC;
  border:1px solid #E0D5C5;
  border-radius:10px;
  padding:34px 36px;
  margin:0 0 32px;
}
.arika-cart-banner__title{
  font-family:'Cormorant Garamond',Georgia,serif;
  font-weight:600;
  font-size:44px;
  line-height:1.05;
  color:#3A3028;
  margin:0;
}
.arika-cart-banner__title::after{
  content:"";
  display:block;
  width:56px;height:2px;
  background-color:#8B9D6A;
  margin-top:16px;
}
.arika-cart-banner__lede{
  font-family:Montserrat,sans-serif;
  font-size:14px;
  line-height:1.6;
  color:#7A6E64;
  margin:16px 0 0;
  max-width:60ch;
}
@media (max-width:767px){
  .arika-cart-banner{padding:24px 20px;margin-bottom:22px;}
  .arika-cart-banner__title{font-size:34px;}
}


/* ==========================================================================
   Cart totals overlapping the items table.
   The two-column grid gave the form a 1fr column, but table.cart is
   table-layout:auto, so at narrower desktop widths the table rendered wider
   than its column and spilled across the totals panel - 666px of table in a
   408px column at a 1100px viewport. Two changes: the side-by-side layout now
   waits until there is genuinely room for it, and the table is pinned to its
   column so it can never overflow again.
   ========================================================================== */

@media (min-width:1025px) and (max-width:1199px){
  /* Not enough width for a 360px rail beside a six-column table: stack it. */
  .woocommerce-cart .woocommerce{display:block;}
  .woocommerce-cart .cart-collaterals{
    position:static;
    width:100% !important;
    max-height:none;
    overflow:visible;
    margin-top:32px;
  }
}

@media (min-width:1025px){
  /* Grid items default to min-width:auto, which lets a wide table push past
     its track. */
  .woocommerce-cart .woocommerce-cart-form{min-width:0;overflow-x:auto;}
  .woocommerce-cart table.cart{
    table-layout:fixed;
    width:100%;
  }
  .woocommerce-cart table.cart th.product-remove,
  .woocommerce-cart table.cart td.product-remove{width:44px;}
  .woocommerce-cart table.cart th.product-thumbnail,
  .woocommerce-cart table.cart td.product-thumbnail{width:104px;}
  .woocommerce-cart table.cart th.product-price,
  .woocommerce-cart table.cart td.product-price{width:14%;}
  .woocommerce-cart table.cart th.product-quantity,
  .woocommerce-cart table.cart td.product-quantity{width:14%;}
  .woocommerce-cart table.cart th.product-subtotal,
  .woocommerce-cart table.cart td.product-subtotal{width:20%;}
  /* Fixed layout will not shrink a long product name on its own. */
  .woocommerce-cart table.cart td.product-name{overflow-wrap:anywhere;}
}


/* ==========================================================================
   Totals panel: no longer sticky.
   The sticky rail kept overlapping something - the fixed nav on scroll, the
   items table at narrow widths, then the suggestions grid. Each fix held in
   testing and came back in real use, because a sticky element's travel depends
   on grid row geometry that shifts with cart length, viewport and which
   stylesheet the browser has cached. A static panel cannot overlap anything,
   so the convenience of a pinned total is traded for a layout that is correct
   every time. This block is last in the file and wins over the rules above.
   ========================================================================== */

.woocommerce-cart .cart-collaterals{
  position:static !important;
  top:auto !important;
  max-height:none !important;
  overflow:visible !important;
  z-index:auto !important;
}

/* Belt and braces: the suggestions paint above the totals whatever happens. */
.woocommerce-cart .arika-suggest{
  position:relative;
  z-index:2;
}


/* Suggestions on the checkout: same cards, centred in the content column. */
.arika-suggest--checkout{
  max-width:1140px;
  margin:56px auto 0;
  padding:0 20px;
}
@media (max-width:767px){
  .arika-suggest--checkout{margin-top:36px;}
}


/* CartFlows ships an orange accent (#F16334) on Place Order and Apply coupon,
   which belongs to no part of this palette. Deep sage carries a white label at
   5.6:1; the lighter sage is the hover. */
.woocommerce-checkout #place_order,
.wcf-embed-checkout-form #place_order,
.wcf-embed-checkout-form button[name="apply_coupon"],
.woocommerce-checkout button[name="apply_coupon"],
.wcf-embed-checkout-form .checkout_coupon button,
.cartflows-container .wcf-embed-checkout-form .button{
  background-color:#5C6E3D !important;
  background-image:none !important;
  border-color:#5C6E3D !important;
  color:#FFFFFF !important;
  border-radius:4px !important;
  font-family:Montserrat,sans-serif !important;
  font-weight:600 !important;
}
.woocommerce-checkout #place_order:hover,
.wcf-embed-checkout-form #place_order:hover,
.wcf-embed-checkout-form button[name="apply_coupon"]:hover,
.woocommerce-checkout button[name="apply_coupon"]:hover,
.cartflows-container .wcf-embed-checkout-form .button:hover{
  background-color:#8B9D6A !important;
  border-color:#8B9D6A !important;
  color:#FFFFFF !important;
}
/* The step indicator's active dot picks up the same orange. */
.wcf-embed-checkout-form .wcf-progress-bar .active,
.woocommerce-checkout .wcf-checkout-step.active{color:#5C6E3D !important;}

/* CartFlows paints every link on the checkout its orange accent, which bleeds
   into the suggestion cards. Pin them back to the brand. */
.arika-suggest a,
.arika-suggest .arika-suggest-name a,
.arika-suggest .arika-suggest-media{
  color:#3A3028 !important;
  border-color:#E0D5C5 !important;
  text-decoration:none !important;
}
.arika-suggest .arika-suggest-name a:hover{color:#5C6E3D !important;}
.arika-suggest .arika-suggest-media img{border-color:#E0D5C5 !important;}
.arika-suggest .arika-suggest-add{
  background-color:#5C6E3D !important;
  color:#FFFFFF !important;
  border-color:#5C6E3D !important;
}
.arika-suggest .arika-suggest-add:hover{
  background-color:#8B9D6A !important;
  color:#FFFFFF !important;
}

/* ==========================================================================
   Checkout layout.

   Two different checkouts render here. Every store now uses the CartFlows
   funnel; the plain WooCommerce checkout is still reachable. They share the
   same form element AND the same #customer_details id, so the CartFlows rules
   carry an extra class to win outright rather than relying on source order.

   Children differ:
     plain     -> #customer_details, #order_review_heading, #order_review
     CartFlows -> #customer_details, .wcf-customer-shipping, .wcf-order-wrap
   ========================================================================== */
.woocommerce-checkout .woocommerce{max-width:1140px;margin:0 auto;}

.woocommerce-checkout form.checkout{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);
  column-gap:34px;row-gap:18px;
  align-items:start;
}
.woocommerce-checkout form.checkout > *{min-width:0;}

/* Plain WooCommerce checkout */
.woocommerce-checkout form.checkout > #customer_details{grid-column:1;grid-row:1 / span 2;width:100%;}
.woocommerce-checkout form.checkout > #order_review_heading{grid-column:2;grid-row:1;width:100%;margin:0;}
.woocommerce-checkout form.checkout > #order_review{grid-column:2;grid-row:2;width:100%;}

/* CartFlows funnel checkout */
.wcf-embed-checkout-form form.checkout.woocommerce-checkout > #customer_details{
  grid-column:1;grid-row:1;width:100%;max-width:none;float:none;
}
.wcf-embed-checkout-form form.checkout.woocommerce-checkout > .wcf-customer-shipping{
  grid-column:1;grid-row:2;width:100%;max-width:none;float:none;
}
.wcf-embed-checkout-form form.checkout.woocommerce-checkout > .wcf-order-wrap{
  grid-column:2;grid-row:1 / span 2;width:100%;max-width:none;float:none;
}

@media (max-width:900px){
  .woocommerce-checkout form.checkout{grid-template-columns:1fr;row-gap:20px;}
  .woocommerce-checkout form.checkout > #customer_details,
  .woocommerce-checkout form.checkout > #order_review_heading,
  .woocommerce-checkout form.checkout > #order_review,
  .wcf-embed-checkout-form form.checkout.woocommerce-checkout > #customer_details,
  .wcf-embed-checkout-form form.checkout.woocommerce-checkout > .wcf-customer-shipping,
  .wcf-embed-checkout-form form.checkout.woocommerce-checkout > .wcf-order-wrap{
    grid-column:1;grid-row:auto;
  }
}

/* Panels */
.woocommerce-checkout #customer_details,
.woocommerce-checkout .wcf-order-wrap,
.woocommerce-checkout #order_review{
  background:#FFFFFF;border:1px solid #E0D5C5;border-radius:10px;padding:24px;
}
.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2{width:100%;float:none;padding:0;}
.woocommerce-checkout #customer_details .col-2{margin-top:18px;}
.woocommerce-checkout #order_review_heading{
  font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;font-size:26px;color:#3A3028;
}
.woocommerce-checkout #customer_details h3,
.woocommerce-checkout .wcf-order-wrap h3,
.woocommerce-checkout #order_review h3{
  font-family:'Cormorant Garamond',Georgia,serif !important;
  font-weight:600 !important;font-size:22px !important;color:#3A3028 !important;
  margin:0 0 16px !important;
}

/* Fields */
.woocommerce-checkout .form-row{margin:0 0 16px;padding:0;}
.woocommerce-checkout .form-row label{
  font-family:Montserrat,sans-serif;font-size:12px;font-weight:600;
  letter-spacing:.04em;text-transform:uppercase;color:#7A6E64;
  margin-bottom:6px;display:block;
}
.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .select2-container .select2-selection--single{
  width:100%;min-height:46px;height:auto;padding:11px 14px;
  font-family:Montserrat,sans-serif;font-size:15px;color:#3A3028;
  background:#FFFFFF;border:1px solid #E0D5C5 !important;border-radius:4px;box-shadow:none;
}
.woocommerce-checkout .form-row textarea{min-height:90px;}
.woocommerce-checkout .form-row input.input-text:focus,
.woocommerce-checkout .form-row textarea:focus,
.woocommerce-checkout .form-row select:focus{
  outline:none;border-color:#8B9D6A !important;box-shadow:0 0 0 3px rgba(139,157,106,.25);
}
.woocommerce-checkout .required{color:#B3453A;text-decoration:none;}

/* Order table -----------------------------------------------------------
   One colour throughout. An earlier version filled every th with cream, which
   left the SUBTOTAL/SHIPPING labels shaded and their values white - a
   checkerboard down the middle of the summary. Hierarchy now comes from type
   and hairlines, not from alternating fills.
   ----------------------------------------------------------------------- */
.woocommerce-checkout table.shop_table,
.woocommerce-checkout .wcf-order-wrap table.shop_table{
  width:100%;margin:0;
  background:#FFFFFF;
  border:1px solid #E0D5C5;border-radius:8px;
  border-collapse:separate;border-spacing:0;overflow:hidden;
}

/* Every cell shares one ground. */
.woocommerce-checkout table.shop_table th,
.woocommerce-checkout table.shop_table td,
.woocommerce-checkout table.shop_table tfoot th,
.woocommerce-checkout table.shop_table tfoot td,
.woocommerce-checkout table.shop_table thead th{
  background:#FFFFFF;
  border:0;
  padding:14px 16px;
  font-family:Montserrat,sans-serif;
  vertical-align:middle;
}

/* Column headings: quiet, and separated by a line rather than a block. */
.woocommerce-checkout table.shop_table thead th{
  font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;
  color:#A8998A;padding-bottom:10px;
  border-bottom:1px solid #EDE4D8;
}

/* Product rows */
.woocommerce-checkout table.shop_table tbody td{
  color:#3A3028;font-size:14px;
  border-top:1px solid #EDE4D8;
}
.woocommerce-checkout table.shop_table tbody tr:first-child td{border-top:0;}

/* Subtotal / shipping: label muted, value solid, same ground. */
.woocommerce-checkout table.shop_table tfoot th{
  font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;
  color:#A8998A;
  border-top:1px solid #EDE4D8;
}
.woocommerce-checkout table.shop_table tfoot td{
  color:#3A3028;font-size:14px;
  border-top:1px solid #EDE4D8;
}

/* Total: carried by weight and a firmer rule, not a fill. */
.woocommerce-checkout table.shop_table tfoot tr.order-total th,
.woocommerce-checkout table.shop_table tfoot tr.order-total td{
  border-top:1px solid #E0D5C5;
  padding-top:16px;padding-bottom:16px;
  color:#3A3028;
}
.woocommerce-checkout table.shop_table tfoot tr.order-total th{
  font-size:13px;font-weight:700;letter-spacing:.06em;color:#3A3028;
}
.woocommerce-checkout table.shop_table tfoot tr.order-total td{
  font-size:19px;font-weight:700;
}
.woocommerce-checkout table.shop_table tfoot tr.order-total .includes_tax,
.woocommerce-checkout table.shop_table tfoot tr.order-total small{
  display:block;font-size:11px;font-weight:500;color:#A8998A;margin-top:4px;
}

/* Product thumbnail sits on the same ground as the row. */
.woocommerce-checkout table.shop_table td img{
  background:#FFFFFF;border:1px solid #EDE4D8;border-radius:4px;
}

/* Payment */
.woocommerce-checkout #payment{
  background:#F9F4EC !important;border:1px solid #E0D5C5;border-radius:8px;margin-top:18px;
}
.woocommerce-checkout #payment ul.wc_payment_methods{
  padding:16px 18px !important;margin:0 !important;border-bottom:1px solid #E0D5C5 !important;
}
.woocommerce-checkout #payment ul.wc_payment_methods li{
  list-style:none;margin:0 0 8px;font-family:Montserrat,sans-serif;color:#3A3028;
}
.woocommerce-checkout #payment ul.wc_payment_methods li img{max-height:34px;width:auto;}
.woocommerce-checkout #payment div.payment_box{
  background:#FFFFFF !important;border:1px solid #E0D5C5;border-radius:6px;
  font-family:Montserrat,sans-serif;font-size:14px;color:#7A6E64;
}
.woocommerce-checkout #payment div.payment_box::before{display:none !important;}
.woocommerce-checkout #payment .place-order{padding:16px 18px;margin:0;}
.woocommerce-checkout #place_order{
  width:100%;background-color:#5C6E3D !important;color:#FFFFFF !important;
  border:0;border-radius:4px;font-family:Montserrat,sans-serif;
  font-weight:600;font-size:16px;padding:15px 20px;transition:background-color .3s ease;
}
.woocommerce-checkout #place_order:hover{background-color:#8B9D6A !important;}

/* Coupon + notices */
.woocommerce-checkout .woocommerce-form-coupon-toggle{max-width:1140px;margin:0 auto 18px;}
.woocommerce-checkout .woocommerce-info,
.woocommerce-checkout .woocommerce-message{
  background:#F9F4EC;border-top:2px solid #8B9D6A;color:#3A3028;
  font-family:Montserrat,sans-serif;border-radius:6px;
}
.woocommerce-checkout .woocommerce-info::before,
.woocommerce-checkout .woocommerce-message::before{color:#5C6E3D;}
.woocommerce-checkout .woocommerce-form-coupon{
  background:#FFFFFF;border:1px solid #E0D5C5;border-radius:8px;padding:20px;
}

/* --- Cart/checkout notice bar -------------------------------------------
   WooCommerce floats the 'View cart' button right, but the theme makes this
   notice a flex container, where float is ignored - so the button landed on
   the wrong side with the message stranded at the far edge. Ordered
   explicitly instead of relying on the float.
   ----------------------------------------------------------------------- */
.woocommerce-notices-wrapper{max-width:1140px;margin:0 auto 18px;padding:0;}
.woocommerce-notices-wrapper:empty{margin:0;}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error{
  display:flex !important;align-items:center;gap:14px;flex-wrap:wrap;
  /* The theme sets row-reverse on this notice, which put the button to the
     left of the message and defeated any ordering. Force normal direction
     before placing anything. */
  flex-direction:row !important;justify-content:flex-start !important;
  padding:14px 20px 14px 48px !important;margin:0 0 14px !important;
  background:#F9F4EC;border-top:2px solid #8B9D6A;border-radius:6px;
  color:#3A3028;font-family:Montserrat,sans-serif;font-size:14px;line-height:1.5;
}
.woocommerce-error{border-top-color:#B3453A;}
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before{
  left:18px;top:50%;transform:translateY(-50%);margin:0;color:#5C6E3D;
}
.woocommerce-error::before{color:#B3453A;}

.woocommerce-message .button,
.woocommerce-info .button{
  float:none !important;order:2;margin:0 0 0 auto !important;
  background-color:#5C6E3D !important;color:#FFFFFF !important;
  border:0;border-radius:4px;padding:10px 18px;
  font-family:Montserrat,sans-serif;font-weight:600;font-size:13px;
  letter-spacing:.03em;transition:background-color .3s ease;
}
.woocommerce-message .button:hover,
.woocommerce-info .button:hover{background-color:#8B9D6A !important;}

@media (max-width:600px){
  .woocommerce-message,
  .woocommerce-info,
  .woocommerce-error{padding-left:20px !important;}
  .woocommerce-message::before,
  .woocommerce-info::before,
  .woocommerce-error::before{display:none;}
  .woocommerce-message .button,
  .woocommerce-info .button{margin:4px 0 0 !important;width:100%;text-align:center;}
}

/* --- Order summary column sizing ---------------------------------------
   The value column was too narrow, so amounts broke mid-number and the
   shipping line ran to three rows. Give the values room and keep each price
   on one line; the '(incl. VAT)' note drops beneath it instead.
   ----------------------------------------------------------------------- */
.woocommerce-checkout table.shop_table th:first-child,
.woocommerce-checkout table.shop_table td:first-child{width:52%;}
.woocommerce-checkout table.shop_table th:last-child,
.woocommerce-checkout table.shop_table td:last-child{width:48%;text-align:right;}

/* Never break a price across lines. */
.woocommerce-checkout table.shop_table .woocommerce-Price-amount,
.woocommerce-checkout table.shop_table bdi{white-space:nowrap;}

/* Tax notes sit under the amount, quietly. */
.woocommerce-checkout table.shop_table .includes_tax,
.woocommerce-checkout table.shop_table small,
.woocommerce-checkout table.shop_table .tax_label{
  display:block;margin-top:3px;
  font-size:11px;font-weight:500;color:#A8998A;white-space:normal;
}

/* Product cell: name and quantity on one line, wrapping cleanly. */
.woocommerce-checkout table.shop_table td.product-name{
  text-align:left;line-height:1.45;
}
.woocommerce-checkout table.shop_table td.product-name .product-quantity{
  color:#A8998A;white-space:nowrap;
}

/* Shipping choices read as a list, not a paragraph. */
.woocommerce-checkout table.shop_table td[data-title='Shipping'],
.woocommerce-checkout table.shop_table .shipping td{line-height:1.5;}
.woocommerce-checkout table.shop_table ul#shipping_method{margin:0;padding:0;list-style:none;}
.woocommerce-checkout table.shop_table ul#shipping_method li{margin:0 0 6px;}
.woocommerce-checkout table.shop_table ul#shipping_method li:last-child{margin-bottom:0;}
