/*
Theme Name: FreshGrove
Description: Modern fresh fruit eCommerce theme for WooCommerce
Version: 1.0
Author: FreshGrove Studio
Text Domain: freshgrove
*/
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --gd:#1B4332;--gm:#2D6A4F;--gf:#52B788;--gl:#D8F3DC;--gp:#F0F9F4;
  --am:#F4A228;--bg:#FAFAF8;--tx:#1A2318;--mu:#5C6E65;--bd:#E0EDE6;
  --fd:Georgia,"Book Antiqua",Palatino,serif;
  --fu:-apple-system,BlinkMacSystemFont,"Segoe UI","Helvetica Neue",sans-serif;
  --rsm:6px;--rmd:14px;--rlg:24px;--rfl:999px;
  --sc:0 1px 3px rgba(27,67,50,.05),0 4px 16px rgba(27,67,50,.08);
  --sh:0 4px 12px rgba(27,67,50,.1),0 20px 48px rgba(27,67,50,.15);
}
html{scroll-behavior:smooth}
body{font-family:var(--fu);background:var(--bg);color:var(--tx);line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto}
a{color:inherit}
.nav{position:sticky;top:0;z-index:100;background:var(--gd);box-shadow:0 1px 0 rgba(27,67,50,.2)}
.nav-inner{max-width:1280px;margin:0 auto;padding:0 2rem;display:flex;align-items:center;gap:1.5rem;height:66px}
.logo{font-family:var(--fd);font-style:italic;font-size:1.35rem;color:var(--bg);text-decoration:none;display:flex;align-items:center;gap:.35rem;flex-shrink:0}
.logo b{font-style:normal;color:var(--gf);font-weight:800}
.nav-links{display:flex;gap:.15rem;list-style:none;flex:1}
.nav-links a{color:rgba(250,250,248,.7);text-decoration:none;font-size:.875rem;font-weight:500;padding:.4rem .7rem;border-radius:var(--rsm);transition:color .2s,background .2s}
.nav-links a:hover{color:var(--bg);background:rgba(255,255,255,.1)}
.nav-right{display:flex;align-items:center;gap:.6rem;margin-left:auto}
.icon-btn{background:rgba(255,255,255,.1);border:none;color:rgba(250,250,248,.8);width:38px;height:38px;border-radius:var(--rfl);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.95rem;transition:background .2s,color .2s;position:relative;text-decoration:none}
.icon-btn:hover{background:rgba(255,255,255,.18);color:var(--bg)}
.cart-badge{position:absolute;top:-4px;right:-4px;background:var(--am);color:white;font-size:.6rem;font-weight:800;min-width:17px;height:17px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:2px solid var(--gd);font-family:var(--fu);padding:0 2px}
.hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:4px}
.hamburger span{display:block;width:22px;height:2px;background:var(--bg);border-radius:2px}
.hero{background:var(--gd);padding:5rem 2rem 5.5rem;overflow:hidden;position:relative}
.hero::after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:56px;background:var(--bg);clip-path:ellipse(54% 100% at 50% 100%)}
.hero-inner{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}
.hero-eyebrow{display:inline-flex;align-items:center;gap:.4rem;background:rgba(82,183,136,.15);color:var(--gf);padding:.3rem .875rem;border-radius:var(--rfl);font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin-bottom:1.5rem}
.hero-h1{font-family:var(--fd);font-size:clamp(2.2rem,4vw,4rem);line-height:1.08;letter-spacing:-.025em;color:var(--bg);margin-bottom:1.25rem}
.hero-h1 em{font-style:italic;color:var(--gf)}
.hero-sub{color:rgba(250,250,248,.62);font-size:1.1rem;line-height:1.7;max-width:400px;margin-bottom:2.5rem}
.ctas{display:flex;gap:.875rem;flex-wrap:wrap}
.btn-primary{background:var(--am);color:white;text-decoration:none;padding:.875rem 1.75rem;border-radius:var(--rfl);font-weight:700;font-size:1rem;transition:background .2s,transform .15s,box-shadow .2s;display:inline-flex;align-items:center;gap:.4rem;border:none;cursor:pointer;font-family:var(--fu)}
.btn-primary:hover{background:#e08e18;transform:translateY(-2px);box-shadow:0 6px 20px rgba(244,162,40,.35)}
.btn-ghost{background:transparent;color:rgba(250,250,248,.8);text-decoration:none;padding:.875rem 1.75rem;border-radius:var(--rfl);font-weight:600;font-size:1rem;border:1.5px solid rgba(255,255,255,.2);transition:all .2s;display:inline-flex;align-items:center;gap:.4rem;cursor:pointer;font-family:var(--fu)}
.btn-ghost:hover{border-color:rgba(255,255,255,.5);color:var(--bg);background:rgba(255,255,255,.07)}
.hero-stats{display:flex;gap:2rem;margin-top:2.5rem;padding-top:2rem;border-top:1px solid rgba(255,255,255,.1);flex-wrap:wrap}
.stat-n{font-family:var(--fd);font-size:1.75rem;color:var(--bg);line-height:1}
.stat-l{font-size:.7rem;color:rgba(250,250,248,.45);margin-top:.25rem;letter-spacing:.05em}
.hero-visual{position:relative;display:flex;align-items:center;justify-content:center;height:400px}
.blob{width:360px;height:360px;background:linear-gradient(135deg,rgba(82,183,136,.16),rgba(82,183,136,.04));border:1.5px solid rgba(82,183,136,.22);border-radius:60% 40% 30% 70%/60% 30% 70% 40%;animation:morph 9s ease-in-out infinite;display:flex;align-items:center;justify-content:center}
@keyframes morph{0%,100%{border-radius:60% 40% 30% 70%/60% 30% 70% 40%}25%{border-radius:30% 60% 70% 40%/50% 60% 30% 60%}50%{border-radius:50% 50% 30% 70%/30% 60% 40% 70%}75%{border-radius:40% 60% 60% 40%/70% 30% 70% 30%}}
.fruit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;padding:.75rem}
.ff{font-size:3rem;text-align:center;animation:ffloat 4s ease-in-out infinite;filter:drop-shadow(0 4px 8px rgba(0,0,0,.22));line-height:1}
.ff:nth-child(2){animation-delay:.6s}.ff:nth-child(3){animation-delay:1.2s}.ff:nth-child(4){animation-delay:1.8s}.ff:nth-child(5){animation-delay:2.4s}.ff:nth-child(6){animation-delay:.3s}.ff:nth-child(7){animation-delay:.9s}.ff:nth-child(8){animation-delay:1.5s}.ff:nth-child(9){animation-delay:2.1s}
@keyframes ffloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.trust-bar{background:var(--gl);padding:.8rem 2rem;border-bottom:1px solid var(--bd)}
.trust-inner{max-width:1280px;margin:0 auto;display:flex;justify-content:center;gap:2.5rem;flex-wrap:wrap}
.trust-item{display:flex;align-items:center;gap:.45rem;font-size:.8rem;font-weight:600;color:var(--gm)}
.ps{padding:4.5rem 2rem}
.ps-inner{max-width:1280px;margin:0 auto}
.ps-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:2.25rem;gap:1rem}
.eyebrow{font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gf);margin-bottom:.4rem}
.section-title{font-family:var(--fd);font-size:clamp(1.5rem,2.5vw,2.25rem);color:var(--tx);line-height:1.2}
.see-all{color:var(--mu);text-decoration:none;font-size:.825rem;font-weight:600;white-space:nowrap;border-bottom:1.5px solid var(--bd);padding-bottom:2px;transition:color .2s,border-color .2s;display:flex;align-items:center;gap:.3rem}
.see-all:hover{color:var(--gd);border-color:var(--gm)}
.cat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.cat-card{padding:1.625rem 1.375rem;border-radius:var(--rlg);text-decoration:none;display:flex;flex-direction:column;gap:.4rem;transition:transform .22s,box-shadow .22s;border:1.5px solid transparent}
.cat-card:hover{transform:translateY(-4px);box-shadow:var(--sh)}
.cat-tropical{background:linear-gradient(140deg,#FFF3D6,#FFDE8C);border-color:#ECC94B}
.cat-citrus{background:linear-gradient(140deg,#FFF0E8,#FFD1AC);border-color:#ED8936}
.cat-berries{background:linear-gradient(140deg,#F9EAFF,#E9D1FF);border-color:#B794F4}
.cat-organic{background:linear-gradient(140deg,#E8F8EF,#BEE3CC);border-color:#48BB78}
.cat-em{font-size:2.25rem;line-height:1;margin-bottom:.2rem}
.cat-name{font-weight:700;font-size:1.05rem;color:var(--tx)}
.cat-ct{font-size:.7rem;color:var(--mu);font-weight:500}
.prod-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.125rem}
.prod-card{background:white;border-radius:var(--rmd);overflow:hidden;box-shadow:var(--sc);transition:transform .25s,box-shadow .25s;position:relative;border:1.5px solid var(--bd)}
.prod-card:hover{transform:translateY(-4px);box-shadow:var(--sh)}
.prod-img{height:160px;display:flex;align-items:center;justify-content:center;font-size:3.75rem;position:relative;overflow:hidden}
.prod-img img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.prod-img .prod-emoji{position:relative;z-index:1}
.bg-tropical{background:linear-gradient(160deg,#FFF8E7,#FFE89A)}
.bg-citrus{background:linear-gradient(160deg,#FFF3EE,#FFD5B8)}
.bg-berry{background:linear-gradient(160deg,#F9EAFF,#E4D0FF)}
.bg-green{background:linear-gradient(160deg,#ECFDF5,#C6F0D4)}
.badge{position:absolute;top:.6rem;right:.6rem;padding:.18rem .5rem;border-radius:var(--rfl);font-size:.62rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;z-index:2}
.badge-fresh{background:var(--gd);color:white}
.badge-limited{background:var(--am);color:white}
.badge-out{background:#E5E7EB;color:#9CA3AF}
.org-mark{position:absolute;top:.6rem;left:.6rem;background:var(--gl);color:var(--gm);font-size:.6rem;font-weight:800;padding:.18rem .45rem;border-radius:var(--rsm);z-index:2}
.prod-body{padding:.9rem 1rem 1rem}
.prod-cat{font-size:.65rem;color:var(--mu);font-weight:600;letter-spacing:.05em;text-transform:uppercase;margin-bottom:.2rem}
.prod-name{font-weight:700;font-size:.95rem;color:var(--tx);line-height:1.3;text-decoration:none;display:block}
.prod-name:hover{color:var(--gm)}
.prod-unit{font-size:.7rem;color:var(--mu);margin-bottom:.8rem}
.prod-foot{display:flex;align-items:center;justify-content:space-between;gap:.5rem}
.prod-price{font-family:var(--fd);font-size:1.25rem;font-weight:bold;color:var(--am);font-variant-numeric:tabular-nums}
.prod-old{font-size:.7rem;color:var(--mu);text-decoration:line-through;display:block;margin-bottom:-.2rem}
.atc,.add_to_cart_button{background:var(--gd);color:white;border:none;width:34px;height:34px;border-radius:var(--rfl);font-size:1.2rem;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .2s,transform .15s;text-decoration:none;line-height:1}
.atc:hover,.add_to_cart_button:hover{background:var(--gm);transform:scale(1.1);color:white}
.added_to_cart{display:none}
.seasonal{background:var(--gd);padding:5rem 2rem;position:relative}
.seasonal::before{content:"";position:absolute;top:-30px;left:0;right:0;height:60px;background:var(--bg);clip-path:ellipse(54% 100% at 50% 0%)}
.seasonal .eyebrow{color:var(--gf)}
.seasonal .section-title{color:var(--bg)}
.seasonal .see-all{color:rgba(250,250,248,.55);border-color:rgba(255,255,255,.15)}
.seasonal .see-all:hover{color:var(--bg);border-color:rgba(255,255,255,.4)}
.seas-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:1rem}
.seas-card{border-radius:var(--rlg);padding:2rem;background:rgba(255,255,255,.06);border:1.5px solid rgba(255,255,255,.1);display:flex;flex-direction:column;gap:.75rem;transition:background .2s,transform .2s;text-decoration:none}
.seas-card:hover{background:rgba(255,255,255,.1);transform:translateY(-2px)}
.seas-card.feat{padding:2.25rem}
.seas-em{font-size:3.5rem;line-height:1}
.seas-card.feat .seas-em{font-size:4.5rem}
.seas-tag{display:inline-flex;align-items:center;background:rgba(82,183,136,.2);color:var(--gf);font-size:.65rem;font-weight:700;padding:.2rem .55rem;border-radius:var(--rfl);letter-spacing:.07em;text-transform:uppercase;width:fit-content}
.seas-name{font-weight:700;font-size:1.1rem;color:var(--bg)}
.seas-card.feat .seas-name{font-family:var(--fd);font-size:1.6rem}
.seas-desc{font-size:.825rem;color:rgba(250,250,248,.57);line-height:1.6}
.seas-price{font-family:var(--fd);font-size:1.4rem;color:var(--am);font-weight:bold;margin-top:auto;padding-top:.5rem;font-variant-numeric:tabular-nums}
.promo{background:var(--am);padding:2.25rem 2rem}
.promo-inner{max-width:1280px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap}
.promo-title{font-family:var(--fd);font-size:clamp(1.35rem,2.5vw,2rem);color:white;line-height:1.2}
.promo-sub{font-size:.925rem;color:rgba(255,255,255,.8);margin-top:.25rem}
.btn-white{background:white;color:var(--am);text-decoration:none;padding:.875rem 1.75rem;border-radius:var(--rfl);font-weight:700;font-size:.95rem;border:none;cursor:pointer;font-family:var(--fu);white-space:nowrap;transition:transform .15s,box-shadow .2s}
.btn-white:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,.12)}
.testimonials{background:var(--gp)}
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.125rem}
.testi-card{background:white;border-radius:var(--rmd);padding:1.625rem;box-shadow:var(--sc);border:1.5px solid var(--bd);display:flex;flex-direction:column;gap:.875rem}
.testi-stars{color:var(--am);font-size:.95rem;letter-spacing:2px}
.testi-text{font-family:var(--fd);font-size:.975rem;color:var(--tx);line-height:1.8;font-style:italic;flex:1}
.testi-author{display:flex;align-items:center;gap:.7rem}
.testi-av{width:40px;height:40px;border-radius:50%;background:var(--gl);display:flex;align-items:center;justify-content:center;font-size:1.15rem;flex-shrink:0}
.testi-name{font-weight:700;font-size:.85rem;color:var(--tx)}
.testi-meta{font-size:.7rem;color:var(--mu)}
.newsletter{padding:5rem 2rem;text-align:center}
.nl-inner{max-width:500px;margin:0 auto}
.nl-title{font-family:var(--fd);font-size:clamp(1.5rem,2.5vw,2.1rem);margin-bottom:.7rem;color:var(--tx)}
.nl-sub{color:var(--mu);font-size:.925rem;margin-bottom:2rem;line-height:1.7}
.nl-form{display:flex;gap:.6rem;max-width:400px;margin:0 auto}
.nl-input{flex:1;padding:.875rem 1.25rem;border-radius:var(--rfl);border:1.5px solid var(--bd);font-size:.95rem;font-family:var(--fu);background:white;color:var(--tx);outline:none;transition:border-color .2s,box-shadow .2s}
.nl-input:focus{border-color:var(--gf);box-shadow:0 0 0 3px rgba(82,183,136,.15)}
footer{background:var(--gd);color:rgba(250,250,248,.65);padding:4rem 2rem 2rem}
.ft-inner{max-width:1280px;margin:0 auto}
.ft-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.3fr;gap:3rem;padding-bottom:3rem;border-bottom:1px solid rgba(255,255,255,.09);margin-bottom:2rem}
.ft-logo{font-family:var(--fd);font-style:italic;font-size:1.35rem;color:var(--bg);margin-bottom:.7rem;display:flex;align-items:center;gap:.35rem}
.ft-logo b{font-style:normal;color:var(--gf)}
.ft-tagline{font-size:.825rem;line-height:1.7;margin-bottom:1.5rem}
.socials{display:flex;gap:.5rem}
.soc{width:34px;height:34px;border-radius:var(--rfl);background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;text-decoration:none;font-size:.72rem;font-weight:800;color:rgba(250,250,248,.65);transition:background .2s,color .2s}
.soc:hover{background:rgba(255,255,255,.15);color:var(--bg)}
.ft-col-title{font-size:.68rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--bg);margin-bottom:1.125rem}
.ft-links{list-style:none;display:flex;flex-direction:column;gap:.55rem}
.ft-links a{color:rgba(250,250,248,.57);text-decoration:none;font-size:.825rem;transition:color .2s}
.ft-links a:hover{color:var(--bg)}
.del-items{display:flex;flex-direction:column;gap:.8rem}
.del-item{display:flex;gap:.625rem;align-items:flex-start}
.del-icon{font-size:.9rem;flex-shrink:0;margin-top:.1rem}
.del-text{font-size:.8rem;line-height:1.5}
.del-text strong{color:var(--bg)}
.ft-bottom{display:flex;justify-content:space-between;align-items:center;font-size:.75rem;gap:1rem;flex-wrap:wrap}
.ft-bottom a{color:rgba(250,250,248,.35);text-decoration:none;transition:color .2s}
.ft-bottom a:hover{color:rgba(250,250,248,.65)}
.search-ov{position:fixed;inset:0;background:rgba(27,67,50,.95);z-index:300;display:flex;flex-direction:column;align-items:center;padding-top:10rem;gap:1.5rem;opacity:0;pointer-events:none;transition:opacity .25s}
.search-ov.open{opacity:1;pointer-events:all}
.search-wrap{width:min(580px,90vw);position:relative}
.search-inp{width:100%;padding:1.1rem 1.5rem 1.1rem 3.25rem;font-size:1.125rem;border-radius:var(--rfl);border:2px solid var(--gf);background:rgba(255,255,255,.1);color:white;font-family:var(--fu);outline:none}
.search-inp::placeholder{color:rgba(255,255,255,.38)}
.search-ico{position:absolute;left:1.25rem;top:50%;transform:translateY(-50%);font-size:1rem;color:var(--gf)}
.search-dismiss{background:rgba(255,255,255,.1);border:none;color:white;padding:.5rem 1.375rem;border-radius:var(--rfl);cursor:pointer;font-size:.825rem;font-family:var(--fu);transition:background .2s}
.search-tags{color:rgba(255,255,255,.45);font-size:.8rem;display:flex;gap:.5rem;flex-wrap:wrap;justify-content:center}
.search-tag{background:rgba(255,255,255,.08);padding:.3rem .8rem;border-radius:var(--rfl);cursor:pointer;transition:background .2s,color .2s}
.search-tag:hover{background:rgba(255,255,255,.15);color:white}
.mobile-menu{position:fixed;inset:0;background:var(--gd);z-index:150;transform:translateX(-100%);transition:transform .3s;padding:5rem 2rem 2rem;display:flex;flex-direction:column;gap:.5rem}
.mobile-menu.open{transform:translateX(0)}
.mm-link{color:rgba(250,250,248,.8);text-decoration:none;font-size:1.25rem;font-weight:600;padding:1rem;border-bottom:1px solid rgba(255,255,255,.08);display:block}
.mm-close{position:absolute;top:1.25rem;right:1.5rem;background:rgba(255,255,255,.1);border:none;color:white;width:38px;height:38px;border-radius:var(--rfl);cursor:pointer;font-size:1.25rem;display:flex;align-items:center;justify-content:center}
.woocommerce-page .site-main,.woocommerce .site-main{max-width:1280px;margin:0 auto;padding:4rem 2rem}
.woocommerce-products-header__title,.woocommerce .page-title,.entry-title{font-family:var(--fd);font-size:2rem;color:var(--tx);margin-bottom:2rem}
.woocommerce ul.products{display:grid;grid-template-columns:repeat(4,1fr);gap:1.125rem;list-style:none;margin:0;padding:0}
.woocommerce ul.products li.product{background:white;border-radius:var(--rmd);overflow:hidden;box-shadow:var(--sc);transition:transform .25s,box-shadow .25s;border:1.5px solid var(--bd);padding:0}
.woocommerce ul.products li.product:hover{transform:translateY(-4px);box-shadow:var(--sh)}
.woocommerce ul.products li.product a img{width:100%;height:180px;object-fit:cover;display:block}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-weight:700;font-size:.95rem;color:var(--tx);padding:.875rem 1rem .25rem;line-height:1.3}
.woocommerce ul.products li.product .price{display:block;padding:.25rem 1rem .875rem;font-family:var(--fd);font-size:1.2rem;color:var(--am);font-weight:bold}
.woocommerce ul.products li.product .button{display:block;margin:0 1rem 1rem;background:var(--gd);color:white;border:none;padding:.625rem 1rem;border-radius:var(--rfl);font-weight:700;font-size:.875rem;text-align:center;text-decoration:none;transition:background .2s;cursor:pointer;font-family:var(--fu)}
.woocommerce ul.products li.product .button:hover{background:var(--gm);color:white}
.woocommerce .woocommerce-ordering select{padding:.5rem .875rem;border:1.5px solid var(--bd);border-radius:var(--rsm);font-family:var(--fu);font-size:.875rem;background:white;color:var(--tx);outline:none}
.woocommerce-breadcrumb{font-size:.8rem;color:var(--mu);margin-bottom:1.5rem}
.woocommerce-breadcrumb a{color:var(--gm);text-decoration:none}
div.product{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start;margin-top:2rem}
div.product .woocommerce-product-gallery{border-radius:var(--rmd);overflow:hidden}
div.product .woocommerce-product-gallery img{width:100%;border-radius:var(--rmd)}
div.product .product_title{font-family:var(--fd);font-size:2rem;color:var(--tx);margin-bottom:.75rem}
div.product .price{font-family:var(--fd);font-size:1.75rem;color:var(--am);margin-bottom:1.5rem;display:block}
div.product .woocommerce-product-details__short-description{color:var(--mu);line-height:1.7;margin-bottom:1.5rem}
div.product .button{background:var(--gd);color:white;border:none;padding:.875rem 2rem;border-radius:var(--rfl);font-weight:700;font-size:1rem;cursor:pointer;font-family:var(--fu);transition:background .2s,transform .15s;display:inline-flex;align-items:center;gap:.5rem;text-decoration:none}
div.product .button:hover{background:var(--gm);color:white;transform:translateY(-1px)}
div.product .single_add_to_cart_button{background:var(--am)}
div.product .single_add_to_cart_button:hover{background:#e08e18;color:white}
.quantity input{width:70px;padding:.5rem;border:1.5px solid var(--bd);border-radius:var(--rsm);text-align:center;font-size:1rem;font-family:var(--fu)}
.woocommerce-cart .cart-collaterals{margin-top:2rem}
.woocommerce-cart table.cart{width:100%;border-collapse:collapse;margin-bottom:2rem}
.woocommerce-cart table.cart th{padding:.75rem 1rem;background:var(--gp);border-bottom:2px solid var(--bd);font-size:.8rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--mu)}
.woocommerce-cart table.cart td{padding:.875rem 1rem;border-bottom:1px solid var(--bd);vertical-align:middle}
.woocommerce-cart .cart_totals{background:var(--gp);border-radius:var(--rmd);padding:1.5rem;border:1.5px solid var(--bd)}
.woocommerce-cart .cart_totals h2{font-family:var(--fd);font-size:1.25rem;margin-bottom:1rem;color:var(--tx)}
.woocommerce-cart .cart_totals table{width:100%;border-collapse:collapse}
.woocommerce-cart .cart_totals table th,.woocommerce-cart .cart_totals table td{padding:.625rem 0;border-bottom:1px solid var(--bd)}
.wc-proceed-to-checkout .checkout-button{display:block;background:var(--gd);color:white;padding:1rem;border-radius:var(--rfl);font-weight:700;font-size:1rem;text-align:center;text-decoration:none;transition:background .2s;margin-top:1rem}
.wc-proceed-to-checkout .checkout-button:hover{background:var(--gm);color:white}
.woocommerce-checkout .woocommerce-billing-fields h3,.woocommerce-checkout .woocommerce-shipping-fields h3,.woocommerce-checkout #order_review_heading{font-family:var(--fd);font-size:1.25rem;color:var(--tx);margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--bd)}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select{width:100%;padding:.75rem 1rem;border:1.5px solid var(--bd);border-radius:var(--rsm);font-family:var(--fu);font-size:.95rem;background:white;color:var(--tx);transition:border-color .2s,box-shadow .2s;outline:none}
.woocommerce form .form-row input.input-text:focus,.woocommerce form .form-row textarea:focus{border-color:var(--gf);box-shadow:0 0 0 3px rgba(82,183,136,.15)}
.woocommerce form .form-row label{font-size:.85rem;font-weight:600;color:var(--tx);margin-bottom:.35rem;display:block}
#place_order{background:var(--am);color:white;border:none;padding:1.1rem 2rem;border-radius:var(--rfl);font-weight:700;font-size:1.05rem;cursor:pointer;font-family:var(--fu);width:100%;transition:background .2s;margin-top:1rem}
#place_order:hover{background:#e08e18}
.woocommerce-message,.woocommerce-info,.woocommerce-error{padding:1rem 1.25rem;border-radius:var(--rsm);margin-bottom:1.5rem;font-size:.9rem;list-style:none}
.woocommerce-message{background:var(--gl);border-left:4px solid var(--gf);color:var(--gm)}
.woocommerce-info{background:#EBF8FF;border-left:4px solid #3182CE;color:#2B6CB0}
.woocommerce-error{background:#FFF5F5;border-left:4px solid #FC8181;color:#C53030}
.woocommerce-message .button{background:var(--gd);color:white;text-decoration:none;padding:.5rem 1rem;border-radius:var(--rfl);font-weight:700;font-size:.8rem;float:right;transition:background .2s}
.toast-fg{position:fixed;bottom:2rem;left:50%;transform:translateX(-50%) translateY(100px);background:var(--gd);color:white;padding:.875rem 1.75rem;border-radius:var(--rfl);font-size:.875rem;font-weight:600;z-index:500;transition:transform .35s cubic-bezier(.4,0,.2,1),opacity .35s;opacity:0;pointer-events:none;white-space:nowrap;box-shadow:0 8px 24px rgba(0,0,0,.2)}
.toast-fg.show{transform:translateX(-50%) translateY(0);opacity:1}
@media(max-width:1024px){.cat-grid{grid-template-columns:repeat(2,1fr)}.prod-grid,.woocommerce ul.products{grid-template-columns:repeat(3,1fr)}.ft-grid{grid-template-columns:1fr 1fr}.seas-grid{grid-template-columns:1fr 1fr}div.product{grid-template-columns:1fr}}
@media(max-width:768px){.hero-inner{grid-template-columns:1fr}.hero-visual{display:none}.prod-grid,.woocommerce ul.products{grid-template-columns:repeat(2,1fr)}.testi-grid{grid-template-columns:1fr}.seas-grid{grid-template-columns:1fr}.ft-grid{grid-template-columns:1fr;gap:2rem}.nav-links{display:none}.hamburger{display:flex}.nl-form{flex-direction:column}.promo-inner{flex-direction:column;text-align:center}}
@media(max-width:480px){.prod-grid,.woocommerce ul.products{grid-template-columns:1fr}.cat-grid{grid-template-columns:repeat(2,1fr)}}
@media(prefers-reduced-motion:reduce){.blob,.ff{animation:none}*{transition-duration:.01ms!important}}
/* ── FreshGrove Checkout UI ─────────────────────────────────────────── */

/* Page wrapper */
.woocommerce-checkout-page .site-main,
.woocommerce-page.woocommerce-checkout .site-main {
  max-width: 1160px;
  margin: 0 auto;
  padding: 3rem 2rem 5rem;
}

/* Page heading */
.woocommerce-checkout h1.entry-title,
.woocommerce-checkout .page-title {
  font-family: var(--fd);
  font-size: 1.75rem;
  color: var(--tx);
  margin-bottom: 2rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--bd);
}

/* Coupon notice */
.woocommerce-checkout .woocommerce-info {
  background: var(--gp);
  border-left: 4px solid var(--gf);
  color: var(--gm);
  border-radius: var(--rsm);
  font-size: .875rem;
  margin-bottom: 2rem;
  padding: .875rem 1.25rem;
}
.woocommerce-checkout .woocommerce-info a {
  color: var(--gm);
  font-weight: 700;
  text-decoration: underline;
}

/* ── Two-column grid ────────────────────────────────────────────────── */
form.woocommerce-checkout {
  display: grid;
  grid-template-columns: 1fr 380px;
  grid-template-rows: auto;
  column-gap: 2.5rem;
  align-items: start;
}

#customer_details {
  grid-column: 1;
  grid-row: 1;
}

#order_review {
  grid-column: 2;
  grid-row: 1 / 3;
  position: sticky;
  top: 80px;
}

/* Billing section occupies full left column */
#customer_details .col-1 { width: 100%; float: none; }
#customer_details .col-2 { width: 100%; float: none; margin-top: 2rem; }

/* ── Section headings ───────────────────────────────────────────────── */
.woocommerce-checkout h3 {
  font-family: var(--fd);
  font-size: 1.125rem;
  color: var(--tx);
  margin-bottom: 1.5rem;
  padding-bottom: .75rem;
  border-bottom: 1px solid var(--bd);
}

/* ── Form fields ────────────────────────────────────────────────────── */
.woocommerce form .form-row {
  margin-bottom: 1.125rem;
}
.woocommerce form .form-row label {
  font-size: .8rem;
  font-weight: 700;
  color: var(--tx);
  margin-bottom: .375rem;
  display: block;
  letter-spacing: .02em;
}
.woocommerce form .form-row label abbr {
  color: var(--am);
  border: none;
  text-decoration: none;
}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
  width: 100%;
  padding: .75rem 1rem;
  border: 1.5px solid var(--bd);
  border-radius: var(--rsm);
  font-family: var(--fu);
  font-size: .9rem;
  background: white;
  color: var(--tx);
  transition: border-color .2s, box-shadow .2s;
  outline: none;
  height: auto;
  line-height: 1.5;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row select:focus {
  border-color: var(--gf);
  box-shadow: 0 0 0 3px rgba(82,183,136,.15);
}
.woocommerce form .form-row select {
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%235C6E65' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 1rem center;
  padding-right: 2.5rem;
  cursor: pointer;
}

/* Side-by-side first/last name */
.woocommerce-billing-fields .form-row-first,
.woocommerce-billing-fields .form-row-last {
  width: calc(50% - .5rem);
  display: inline-block;
  vertical-align: top;
}
.woocommerce-billing-fields .form-row-last { margin-left: .75rem; }

/* Ship to different address toggle */
.woocommerce-shipping-fields h3 label {
  display: flex;
  align-items: center;
  gap: .6rem;
  cursor: pointer;
  font-size: 1rem;
  font-weight: 700;
  font-family: var(--fd);
  border: none;
  padding: 0;
  margin: 0;
}
.woocommerce-shipping-fields h3 input[type="checkbox"] {
  width: 18px;
  height: 18px;
  accent-color: var(--gd);
  cursor: pointer;
}

/* Order notes */
#order_comments_field label { font-size: .8rem; font-weight: 700; color: var(--tx); }
#order_comments { height: 90px; resize: vertical; }

/* ── Order Summary card (right column) ─────────────────────────────── */
#order_review {
  background: white;
  border: 1.5px solid var(--bd);
  border-radius: var(--rlg);
  overflow: hidden;
  box-shadow: var(--sc);
}

#order_review_heading {
  font-family: var(--fd);
  font-size: 1rem;
  color: var(--tx);
  padding: 1.25rem 1.5rem;
  margin: 0;
  border-bottom: 1px solid var(--bd);
  background: var(--gp);
  border-radius: 0;
  letter-spacing: .01em;
}

/* Order table */
.woocommerce-checkout-review-order-table {
  width: 100%;
  border-collapse: collapse;
}
.woocommerce-checkout-review-order-table thead th {
  padding: .75rem 1.5rem;
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--mu);
  border-bottom: 1px solid var(--bd);
  background: var(--gp);
  text-align: left;
}
.woocommerce-checkout-review-order-table thead th:last-child { text-align: right; }

.woocommerce-checkout-review-order-table tbody tr td {
  padding: 1rem 1.5rem;
  border-bottom: 1px solid var(--bd);
  font-size: .875rem;
  vertical-align: middle;
}
.woocommerce-checkout-review-order-table tbody td.product-name {
  font-weight: 600;
  color: var(--tx);
}
.woocommerce-checkout-review-order-table tbody td.product-total {
  text-align: right;
  font-family: var(--fd);
  font-weight: 700;
  color: var(--tx);
  font-variant-numeric: tabular-nums;
}
.woocommerce-checkout-review-order-table tbody .product-quantity {
  background: var(--gl);
  color: var(--gm);
  border-radius: var(--rfl);
  font-size: .7rem;
  font-weight: 800;
  padding: .1rem .45rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-left: .375rem;
}
.woocommerce-checkout-review-order-table tfoot tr th {
  padding: .75rem 1.5rem;
  font-size: .8rem;
  font-weight: 600;
  color: var(--mu);
  border-bottom: 1px solid var(--bd);
}
.woocommerce-checkout-review-order-table tfoot tr td {
  padding: .75rem 1.5rem;
  text-align: right;
  font-size: .875rem;
  border-bottom: 1px solid var(--bd);
  font-variant-numeric: tabular-nums;
}
.woocommerce-checkout-review-order-table tfoot .order-total th {
  font-family: var(--fd);
  font-size: 1rem;
  color: var(--tx);
  font-weight: 700;
  border-bottom: none;
  padding-top: 1rem;
}
.woocommerce-checkout-review-order-table tfoot .order-total td {
  font-family: var(--fd);
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--tx);
  border-bottom: none;
  padding-top: 1rem;
}

/* ── Payment methods ────────────────────────────────────────────────── */
#payment {
  padding: 1.25rem 1.5rem 1.5rem;
  border-top: 1px solid var(--bd);
}
#payment > h3,
#payment .wc_payment_methods + p {
  display: none; /* hide "Select a payment method" heading if present */
}

ul.wc_payment_methods {
  list-style: none;
  margin: 0 0 1.25rem;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: .625rem;
}

/* Each payment method row */
ul.wc_payment_methods li.wc_payment_method {
  border: 1.5px solid var(--bd);
  border-radius: var(--rmd);
  overflow: hidden;
  transition: border-color .2s, box-shadow .2s;
  background: white;
}
ul.wc_payment_methods li.wc_payment_method:has(input:checked) {
  border-color: var(--gd);
  box-shadow: 0 0 0 3px rgba(27,67,50,.08);
}

/* Payment label row */
ul.wc_payment_methods li.wc_payment_method label {
  display: flex;
  align-items: center;
  gap: .75rem;
  padding: .875rem 1rem;
  cursor: pointer;
  font-weight: 600;
  font-size: .9rem;
  color: var(--tx);
  transition: background .15s;
  margin: 0;
  width: 100%;
}
ul.wc_payment_methods li.wc_payment_method label:hover { background: var(--gp); }

/* Hide default radio, use custom */
ul.wc_payment_methods li.wc_payment_method input[type="radio"] {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  accent-color: var(--gd);
  cursor: pointer;
  margin: 0;
}

/* Payment method icons inside label */
ul.wc_payment_methods li.wc_payment_method label img {
  height: 22px;
  width: auto;
  border-radius: 4px;
  display: inline-block;
  margin: 0;
}

/* Payment description box */
ul.wc_payment_methods li.wc_payment_method .payment_box {
  padding: 0 1rem 1rem;
  font-size: .825rem;
  color: var(--mu);
  line-height: 1.6;
  border-top: 1px dashed var(--bd);
  margin-top: 0;
  background: var(--gp);
}
ul.wc_payment_methods li.wc_payment_method .payment_box p { margin: .75rem 0 0; }

/* ABA PayWay iframe container */
ul.wc_payment_methods li.payment_method_aba_payway_aim .payment_box {
  padding: 1rem;
  background: var(--gp);
}
ul.wc_payment_methods li.payment_method_aba_payway_aim .payment_box iframe,
ul.wc_payment_methods li.payment_method_aba_payway_aim .payment_box #aba_payway_checkout_form {
  width: 100%;
}

/* Privacy notice */
.woocommerce-checkout .woocommerce-privacy-policy-text {
  font-size: .75rem;
  color: var(--mu);
  line-height: 1.6;
  margin-bottom: 1.25rem;
  padding: 0 1.5rem;
}
.woocommerce-checkout .woocommerce-privacy-policy-text a { color: var(--gm); }

/* ── Place Order button ──────────────────────────────────────────────── */
.place-order { padding: 0 1.5rem 1.5rem; }

#place_order {
  width: 100%;
  background: var(--am);
  color: white;
  border: none;
  padding: 1rem 1.5rem;
  border-radius: var(--rfl);
  font-size: 1rem;
  font-weight: 700;
  font-family: var(--fu);
  cursor: pointer;
  transition: background .2s, transform .15s, box-shadow .2s;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  letter-spacing: .01em;
}
#place_order:hover {
  background: #e08e18;
  transform: translateY(-1px);
  box-shadow: 0 6px 20px rgba(244,162,40,.35);
}
#place_order:active { transform: translateY(0); }

/* Terms checkbox */
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper {
  padding: 0 1.5rem .75rem;
  font-size: .78rem;
  color: var(--mu);
}

/* ── Coupon form ─────────────────────────────────────────────────────── */
.checkout_coupon.woocommerce-form-coupon {
  background: var(--gp);
  border: 1.5px solid var(--bd);
  border-radius: var(--rmd);
  padding: 1.25rem 1.5rem;
  margin-bottom: 2rem;
  display: flex;
  gap: .75rem;
  align-items: flex-end;
  flex-wrap: wrap;
}
.checkout_coupon .form-row { margin: 0; flex: 1; min-width: 180px; }
.checkout_coupon .button {
  background: var(--gd);
  color: white;
  border: none;
  padding: .75rem 1.5rem;
  border-radius: var(--rfl);
  font-weight: 700;
  font-size: .875rem;
  cursor: pointer;
  font-family: var(--fu);
  transition: background .2s;
  white-space: nowrap;
}
.checkout_coupon .button:hover { background: var(--gm); }

/* ── Checkout responsive ─────────────────────────────────────────────── */
@media (max-width: 900px) {
  form.woocommerce-checkout {
    grid-template-columns: 1fr;
  }
  #customer_details { grid-column: 1; grid-row: 1; }
  #order_review { grid-column: 1; grid-row: 2; position: static; }
  .woocommerce-billing-fields .form-row-first,
  .woocommerce-billing-fields .form-row-last {
    width: 100%;
    display: block;
    margin-left: 0;
  }
}

/* ── Thank you / Order confirmation page ────────────────────────────── */
.woocommerce-order-received .woocommerce-thankyou-order-received {
  font-family: var(--fd);
  font-size: 1.75rem;
  color: var(--gd);
  margin-bottom: 1rem;
}
.woocommerce-order-details,
.woocommerce-customer-details {
  margin-top: 2rem;
}
.woocommerce-order-details h2,
.woocommerce-customer-details h2 {
  font-family: var(--fd);
  font-size: 1.125rem;
  color: var(--tx);
  margin-bottom: 1rem;
  padding-bottom: .5rem;
  border-bottom: 1px solid var(--bd);
}
table.woocommerce-table--order-details {
  width: 100%;
  border-collapse: collapse;
}
table.woocommerce-table--order-details thead th {
  padding: .625rem 1rem;
  background: var(--gp);
  border-bottom: 1px solid var(--bd);
  font-size: .75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--mu);
}
table.woocommerce-table--order-details tbody td {
  padding: .875rem 1rem;
  border-bottom: 1px solid var(--bd);
  font-size: .9rem;
}
table.woocommerce-table--order-details tfoot th,
table.woocommerce-table--order-details tfoot td {
  padding: .75rem 1rem;
  font-size: .9rem;
  border-bottom: 1px solid var(--bd);
}
table.woocommerce-table--order-details tfoot .order-total th,
table.woocommerce-table--order-details tfoot .order-total td {
  font-family: var(--fd);
  font-weight: 700;
  font-size: 1.1rem;
  color: var(--tx);
}
/* ── FreshGrove Cart UI ──────────────────────────────────────────────── */

/* Page wrapper */
.woocommerce-cart .site-main {
  max-width: 1100px;
  margin: 0 auto;
  padding: 3rem 2rem 5rem;
}

/* ── Cart table ─────────────────────────────────────────────────────── */
.woocommerce-cart-form table.shop_table {
  width: 100%;
  border-collapse: collapse;
  background: white;
  border: 1.5px solid var(--bd);
  border-radius: var(--rlg);
  overflow: hidden;
  box-shadow: var(--sc);
  margin-bottom: 2rem;
}

/* Header row */
.woocommerce-cart-form table.shop_table thead tr th {
  padding: .875rem 1.25rem;
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--mu);
  background: var(--gp);
  border-bottom: 1px solid var(--bd);
  text-align: left;
}
.woocommerce-cart-form table.shop_table thead th.product-remove { width: 40px; }
.woocommerce-cart-form table.shop_table thead th.product-thumbnail { width: 80px; }
.woocommerce-cart-form table.shop_table thead th.product-subtotal,
.woocommerce-cart-form table.shop_table thead th.product-price { text-align: right; }

/* Body rows */
.woocommerce-cart-form table.shop_table tbody tr.cart_item {
  border-bottom: 1px solid var(--bd);
  transition: background .15s;
}
.woocommerce-cart-form table.shop_table tbody tr.cart_item:last-child { border-bottom: none; }
.woocommerce-cart-form table.shop_table tbody tr.cart_item:hover { background: var(--gp); }

.woocommerce-cart-form table.shop_table tbody td {
  padding: 1rem 1.25rem;
  vertical-align: middle;
  font-size: .9rem;
}

/* Remove button */
td.product-remove { width: 40px; padding: 1rem .75rem; }
td.product-remove a.remove {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #FEE2E2;
  color: #DC2626;
  font-size: 1.1rem;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  transition: background .15s, transform .15s;
}
td.product-remove a.remove:hover { background: #FCA5A5; transform: scale(1.1); }

/* Thumbnail — this is the key fix: cap the image size */
td.product-thumbnail { width: 80px; padding: .75rem 1rem; }
td.product-thumbnail a { display: block; }
td.product-thumbnail img {
  width: 72px !important;
  height: 72px !important;
  object-fit: cover;
  border-radius: var(--rmd);
  border: 1px solid var(--bd);
  display: block;
}

/* Product name */
td.product-name { font-weight: 600; color: var(--tx); }
td.product-name a { color: var(--tx); text-decoration: none; }
td.product-name a:hover { color: var(--gm); }

/* Price & subtotal */
td.product-price { text-align: right; color: var(--mu); font-size: .875rem; }
td.product-subtotal {
  text-align: right;
  font-family: var(--fd);
  font-weight: 700;
  color: var(--tx);
  font-variant-numeric: tabular-nums;
}

/* Quantity input */
td.product-quantity .qty {
  width: 72px;
  padding: .5rem .75rem;
  border: 1.5px solid var(--bd);
  border-radius: var(--rmd);
  font-family: var(--fu);
  font-size: .9rem;
  text-align: center;
  background: white;
  color: var(--tx);
  outline: none;
  transition: border-color .2s, box-shadow .2s;
  -moz-appearance: textfield;
}
td.product-quantity .qty::-webkit-outer-spin-button,
td.product-quantity .qty::-webkit-inner-spin-button { -webkit-appearance: none; }
td.product-quantity .qty:focus {
  border-color: var(--gf);
  box-shadow: 0 0 0 3px rgba(82,183,136,.15);
}

/* ── Cart actions (coupon + update) ─────────────────────────────────── */
.woocommerce-cart-form .actions {
  display: flex;
  align-items: flex-end;
  gap: 1rem;
  flex-wrap: wrap;
  padding: 1.25rem 0 0;
}

.woocommerce-cart-form .coupon {
  display: flex;
  gap: .625rem;
  align-items: center;
  flex: 1;
  min-width: 260px;
}
.woocommerce-cart-form .coupon input#coupon_code {
  flex: 1;
  padding: .7rem 1rem;
  border: 1.5px solid var(--bd);
  border-radius: var(--rsm);
  font-family: var(--fu);
  font-size: .875rem;
  background: white;
  color: var(--tx);
  outline: none;
  transition: border-color .2s, box-shadow .2s;
}
.woocommerce-cart-form .coupon input#coupon_code:focus {
  border-color: var(--gf);
  box-shadow: 0 0 0 3px rgba(82,183,136,.15);
}
.woocommerce-cart-form .coupon input#coupon_code::placeholder { color: #9CA3AF; }

.woocommerce-cart-form .coupon button[name="apply_coupon"] {
  padding: .7rem 1.25rem;
  background: var(--gd);
  color: white;
  border: none;
  border-radius: var(--rfl);
  font-family: var(--fu);
  font-weight: 700;
  font-size: .8rem;
  cursor: pointer;
  white-space: nowrap;
  transition: background .2s;
  letter-spacing: .02em;
}
.woocommerce-cart-form .coupon button[name="apply_coupon"]:hover { background: var(--gm); }

.woocommerce-cart-form button[name="update_cart"] {
  padding: .7rem 1.5rem;
  background: white;
  color: var(--tx);
  border: 1.5px solid var(--bd);
  border-radius: var(--rfl);
  font-family: var(--fu);
  font-weight: 700;
  font-size: .8rem;
  cursor: pointer;
  white-space: nowrap;
  transition: border-color .2s, background .2s;
  letter-spacing: .02em;
  margin-left: auto;
}
.woocommerce-cart-form button[name="update_cart"]:hover {
  border-color: var(--gf);
  background: var(--gp);
}
.woocommerce-cart-form button[name="update_cart"]:disabled {
  opacity: .4;
  cursor: not-allowed;
}

/* ── Cart collaterals (totals section) ──────────────────────────────── */
.cart-collaterals {
  max-width: 460px;
  margin-left: auto;
  margin-top: 2rem;
}

.cart_totals {
  background: white;
  border: 1.5px solid var(--bd);
  border-radius: var(--rlg);
  overflow: hidden;
  box-shadow: var(--sc);
}

.cart_totals h2 {
  font-family: var(--fd);
  font-size: 1rem;
  color: var(--tx);
  padding: 1.25rem 1.5rem;
  margin: 0;
  border-bottom: 1px solid var(--bd);
  background: var(--gp);
  letter-spacing: .01em;
}

.cart_totals table.shop_table {
  width: 100%;
  border-collapse: collapse;
}
.cart_totals table.shop_table tr th {
  padding: .875rem 1.5rem;
  font-size: .8rem;
  font-weight: 600;
  color: var(--mu);
  border-bottom: 1px solid var(--bd);
  text-align: left;
  vertical-align: top;
}
.cart_totals table.shop_table tr td {
  padding: .875rem 1.5rem;
  font-size: .9rem;
  text-align: right;
  border-bottom: 1px solid var(--bd);
  vertical-align: top;
}
.cart_totals table.shop_table tr.order-total th {
  font-family: var(--fd);
  font-size: 1rem;
  color: var(--tx);
  font-weight: 700;
  border-bottom: none;
  padding-top: 1.125rem;
  padding-bottom: 1.125rem;
}
.cart_totals table.shop_table tr.order-total td {
  font-family: var(--fd);
  font-size: 1.375rem;
  font-weight: 700;
  color: var(--tx);
  border-bottom: none;
  padding-top: 1.125rem;
  padding-bottom: 1.125rem;
  font-variant-numeric: tabular-nums;
}

/* Shipping methods */
.cart_totals .shipping td ul#shipping_method {
  list-style: none;
  margin: 0;
  padding: 0;
}
.cart_totals .shipping td ul#shipping_method li {
  display: flex;
  align-items: center;
  gap: .5rem;
  font-size: .875rem;
  color: var(--gm);
  font-weight: 600;
}
.cart_totals .shipping td ul#shipping_method input { accent-color: var(--gd); }

/* Free shipping badge */
.cart_totals .shipping td .free-shipping-badge,
.cart_totals .shipping td bdi {
  color: var(--gm);
  font-weight: 600;
}

/* "Calculate shipping" toggle */
.cart_totals .shipping td a.shipping-calculator-button {
  font-size: .78rem;
  color: var(--gm);
  text-decoration: underline;
  cursor: pointer;
  display: inline-block;
  margin-top: .375rem;
}

/* ── Proceed to checkout button ─────────────────────────────────────── */
.wc-proceed-to-checkout { padding: 1.25rem 1.5rem 1.5rem; }

a.checkout-button {
  display: block;
  width: 100%;
  background: var(--am) !important;
  color: white !important;
  text-align: center;
  padding: 1rem 1.5rem;
  border-radius: var(--rfl);
  font-size: 1rem;
  font-weight: 700;
  font-family: var(--fu);
  text-decoration: none;
  letter-spacing: .01em;
  transition: background .2s, transform .15s, box-shadow .2s;
}
a.checkout-button:hover {
  background: #e08e18 !important;
  transform: translateY(-1px);
  box-shadow: 0 6px 20px rgba(244,162,40,.35);
  color: white !important;
}
a.checkout-button:active { transform: translateY(0); }

/* ── WooCommerce notices ─────────────────────────────────────────────── */
.woocommerce-cart .woocommerce-message,
.woocommerce-cart .woocommerce-error,
.woocommerce-cart .woocommerce-info {
  border-radius: var(--rsm);
  padding: .875rem 1.25rem;
  font-size: .875rem;
  margin-bottom: 1.5rem;
  display: flex;
  align-items: center;
  gap: .75rem;
}
.woocommerce-cart .woocommerce-message {
  background: var(--gp);
  border-left: 4px solid var(--gf);
  color: var(--gm);
}
.woocommerce-cart .woocommerce-error {
  background: #FEF2F2;
  border-left: 4px solid #FCA5A5;
  color: #DC2626;
}
.woocommerce-cart .woocommerce-info {
  background: #EFF6FF;
  border-left: 4px solid #93C5FD;
  color: #1D4ED8;
}
.woocommerce-cart .woocommerce-message a { color: var(--gd); font-weight: 700; }

/* ── Empty cart ─────────────────────────────────────────────────────── */
.woocommerce-cart .cart-empty {
  text-align: center;
  padding: 4rem 2rem;
  font-size: 1.1rem;
  color: var(--mu);
}
.woocommerce-cart .return-to-shop {
  text-align: center;
  margin-top: 1.5rem;
}
.woocommerce-cart .return-to-shop a {
  display: inline-block;
  background: var(--gd);
  color: white;
  padding: .875rem 2rem;
  border-radius: var(--rfl);
  font-weight: 700;
  text-decoration: none;
  transition: background .2s;
}
.woocommerce-cart .return-to-shop a:hover { background: var(--gm); }

/* ── Cart responsive ─────────────────────────────────────────────────── */
@media (max-width: 768px) {
  .woocommerce-cart-form table.shop_table thead { display: none; }
  .woocommerce-cart-form table.shop_table tbody tr.cart_item {
    display: grid;
    grid-template-columns: 40px 80px 1fr auto;
    grid-template-rows: auto auto;
    padding: 1rem;
    gap: .5rem;
    align-items: center;
    border-bottom: 1px solid var(--bd);
  }
  .woocommerce-cart-form table.shop_table tbody td {
    padding: 0;
    border: none;
  }
  td.product-name { grid-column: 3; grid-row: 1; }
  td.product-price { grid-column: 3; grid-row: 2; text-align: left; font-size: .8rem; color: var(--mu); }
  td.product-quantity { grid-column: 4; grid-row: 1; }
  td.product-subtotal { grid-column: 4; grid-row: 2; text-align: right; font-size: .9rem; }
  td.product-subtotal::before { content: attr(data-title) ": "; font-size: .7rem; color: var(--mu); font-weight: 600; }

  .woocommerce-cart-form .actions {
    flex-direction: column;
    align-items: stretch;
  }
  .woocommerce-cart-form button[name="update_cart"] { margin-left: 0; }
  .cart-collaterals { max-width: 100%; margin-left: 0; }
}
