/* ── Reset ── */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'DM Sans',sans-serif;color:#2b2b2b;background:#fff;overflow-x:hidden}
a{text-decoration:none;color:inherit}ul{list-style:none}img{max-width:100%;display:block}
button{cursor:pointer;border:none;background:none;font-family:inherit}

:root{
  --green:#3a7d44;--gd:#2c5f34;--gl:#e8f5eb;
  --amber:#e07b39;--red:#d94f3d;
  --cream:#fdf6ee;--cream2:#f5ede0;
  --text:#2b2b2b;--muted:#6b7280;
  --border:#ededed;--r:10px;
  --shadow:0 4px 24px rgba(0,0,0,0.09);
  --ease:0.28s cubic-bezier(.4,0,.2,1);
}

/* ── Promo Topbar ── */
.promo-bar{background:var(--gd);color:#fff;font-size:13px;font-weight:500;text-align:center;padding:9px 24px;position:relative}
.promo-bar-slides{display:flex;flex-direction:column;overflow:hidden;height:20px}
.promo-slide{height:20px;display:flex;align-items:center;justify-content:center;gap:8px;transition:transform .5s ease}
.promo-bar .close-bar{position:absolute;right:16px;top:50%;transform:translateY(-50%);font-size:18px;cursor:pointer;opacity:.7}
.promo-bar .close-bar:hover{opacity:1}

/* ── Header ── */
.header{background:#fff;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:900;box-shadow:0 2px 12px rgba(0,0,0,0.05)}
.header .wrap{max-width:1280px;margin:0 auto;padding:13px 24px;display:flex;align-items:center;gap:16px}
.logo{font-family:'Playfair Display',serif;font-size:24px;font-weight:700;color:var(--gd);white-space:nowrap;flex-shrink:0}
.logo span{color:var(--amber)}
.search-wrap{flex:1;max-width:480px;display:flex;border:1.5px solid var(--border);border-radius:50px;overflow:hidden;transition:border-color var(--ease)}
.search-wrap:focus-within{border-color:var(--green)}
.s-cat{background:#f7f7f7;border:none;outline:none;padding:0 12px;font-size:12px;color:var(--muted);font-family:inherit;border-right:1px solid var(--border);cursor:pointer}
.s-inp{flex:1;border:none;outline:none;padding:10px 14px;font-size:13.5px;font-family:inherit}
.s-go{background:var(--green);color:#fff;border:none;padding:0 16px;font-size:14px;cursor:pointer;display:flex;align-items:center;transition:background var(--ease)}
.s-go:hover{background:var(--gd)}
.h-right{display:flex;align-items:center;gap:8px;margin-left:auto;flex-shrink:0}
.auth-l{font-size:12.5px;color:var(--muted);white-space:nowrap}
.auth-l a:hover{color:var(--green)}
.hbtn{position:relative;width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#f5f5f5;cursor:pointer;transition:background var(--ease);font-size:17px;border:none}
.hbtn:hover{background:var(--gl)}
.hbadge{position:absolute;top:1px;right:1px;background:var(--red);color:#fff;font-size:9px;font-weight:700;width:16px;height:16px;border-radius:50%;display:flex;align-items:center;justify-content:center}

/* ── Delivery Progress Bar ── */
.del-bar{background:#fff7f0;border-bottom:2px solid #ffe4cc;padding:10px 24px;text-align:center;font-size:13px}
.del-bar .wrap{max-width:1280px;margin:0 auto;display:flex;align-items:center;gap:16px;flex-wrap:wrap;justify-content:center}
.del-msg{font-weight:600;color:var(--gd);white-space:nowrap}
.del-track{flex:1;max-width:340px;height:8px;background:#e0e0e0;border-radius:50px;overflow:hidden}
.del-fill{height:100%;background:linear-gradient(90deg,var(--green),#6abf72);border-radius:50px;transition:width 1s ease}
.del-perk{font-size:12px;color:var(--amber);font-weight:600;white-space:nowrap}

/* ── Navbar ── */
.navbar{background:var(--green)}
.navbar .wrap{max-width:1280px;margin:0 auto;padding:0 24px;display:flex;align-items:stretch}
.cat-btn{background:var(--gd);color:#fff;padding:0 18px;font-size:13.5px;font-weight:600;display:flex;align-items:center;gap:9px;cursor:pointer;border:none;font-family:inherit;white-space:nowrap;transition:background var(--ease)}
.cat-btn:hover{background:#1d4020}
.nav-links{display:flex;align-items:stretch;flex:1}
.ni{position:relative}
.nl{display:flex;align-items:center;gap:4px;padding:13px 16px;color:rgba(255,255,255,.92);font-size:13.5px;font-weight:500;white-space:nowrap;transition:background var(--ease);height:100%}
.ni:hover>.nl{background:rgba(255,255,255,.12);color:#fff}
.ndrop{display:none;position:absolute;top:100%;left:0;background:#fff;border:1px solid var(--border);border-radius:0 0 8px 8px;min-width:180px;box-shadow:var(--shadow);z-index:999;padding:5px 0}
.ni:hover .ndrop{display:block}
.ndrop a{display:block;padding:9px 18px;font-size:13px;color:var(--text);transition:background var(--ease)}
.ndrop a:hover{background:var(--gl);color:var(--gd)}
.ndrop-wide{min-width:220px}
.ndrop-head{font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);padding:10px 18px 6px;}
.nav-tag{background:var(--red);color:#fff;font-size:9px;font-weight:700;padding:2px 6px;border-radius:3px;margin-left:4px}

/* ── Hero ── */
.hero{background:#fff;border-bottom:1px solid var(--border);position:relative;overflow:hidden}
.slide{display:none;min-height:480px;align-items:center;padding:56px 0;position:relative}
.slide.active{display:flex;animation:sIn .55s ease}
@keyframes sIn{from{opacity:0;transform:translateX(24px)}to{opacity:1;transform:none}}
.slide-bg{position:absolute;inset:0}
.slide .wrap{max-width:1280px;margin:0 auto;padding:0 60px;position:relative;z-index:2;width:100%;display:flex;align-items:center;justify-content:space-between;gap:40px}
.slide-text{flex:1;max-width:520px}
.slide-visual{flex-shrink:0;width:300px;height:300px;border-radius:50%;overflow:hidden;border:6px solid rgba(255,255,255,.75);box-shadow:0 16px 48px rgba(0,0,0,.12)}
.slide-visual img{width:100%;height:100%;object-fit:cover}
.s-tag{display:inline-block;background:var(--amber);color:#fff;font-size:10.5px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;padding:5px 12px;border-radius:3px;margin-bottom:12px}
.slide h1{font-family:'Playfair Display',serif;font-size:clamp(26px,4vw,50px);color:var(--gd);line-height:1.15;margin-bottom:10px}
.slide h2{font-size:17px;color:var(--muted);font-style:italic;margin-bottom:16px;font-family:'Playfair Display',serif}
.slide p{color:var(--muted);font-size:14.5px;margin-bottom:26px;line-height:1.7}
.slide-btns{display:flex;gap:12px;flex-wrap:wrap}
.btn-g{display:inline-flex;align-items:center;gap:8px;background:var(--green);color:#fff;padding:12px 26px;border-radius:50px;font-size:14px;font-weight:600;transition:background var(--ease),transform var(--ease);border:none;cursor:pointer}
.btn-g:hover{background:var(--gd);transform:translateY(-2px)}
.btn-o{display:inline-flex;align-items:center;gap:8px;border:2px solid var(--border);color:var(--text);padding:10px 24px;border-radius:50px;font-size:14px;font-weight:600;transition:all var(--ease);background:#fff}
.btn-o:hover{border-color:var(--green);color:var(--green)}
.s-dots{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);display:flex;gap:7px;z-index:10}
.dot{width:9px;height:9px;border-radius:50%;background:#ccc;cursor:pointer;transition:all var(--ease)}
.dot.active{background:var(--green);width:24px;border-radius:5px}
.s-arr{position:absolute;top:50%;transform:translateY(-50%);z-index:10;width:40px;height:40px;border-radius:50%;background:#fff;color:var(--gd);display:flex;align-items:center;justify-content:center;cursor:pointer;border:1px solid var(--border);box-shadow:0 2px 10px rgba(0,0,0,.08);font-size:20px;transition:all var(--ease)}
.s-arr:hover{background:var(--green);color:#fff;border-color:var(--green)}
.s-prev{left:14px}.s-next{right:14px}

/* ── Deal Banner Strip ── */
.deal-strip{background:linear-gradient(120deg,#1a2e1e,#3a7d44);padding:14px 24px;text-align:center;color:#fff;font-size:14px;font-weight:500;letter-spacing:.3px}
.deal-strip strong{color:#ffd166}
.deal-strip a{color:#a8e6b3;text-decoration:underline;margin-left:8px}

/* ── Section ── */
.section{padding:52px 0;border-bottom:1px solid var(--border);background:#fff}
.section .wrap{max-width:1280px;margin:0 auto;padding:0 24px}
.sec-head{text-align:center;margin-bottom:30px}
.sec-tag{font-size:10.5px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--green);display:block;margin-bottom:6px}
.sec-title{font-family:'Playfair Display',serif;font-size:clamp(22px,3vw,30px);color:var(--text)}
.sec-sub{font-size:14px;color:var(--muted);margin-top:6px}

/* ── Product Grid ── */
.pg{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.pc{background:#fff;border-radius:var(--r);border:1px solid var(--border);overflow:hidden;transition:transform var(--ease),box-shadow var(--ease);position:relative}
.pc:hover{transform:translateY(-5px);box-shadow:0 12px 32px rgba(0,0,0,.10)}
.pi{position:relative;aspect-ratio:1;overflow:hidden;background:#f8f8f6;cursor:pointer}
.pi .im{width:100%;height:100%;object-fit:cover;transition:opacity .4s,transform .5s}
.pi .ih{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .4s,transform .5s;transform:scale(1.05)}
.pc:hover .im{opacity:0;transform:scale(1.05)}
.pc:hover .ih{opacity:1;transform:scale(1)}
.pbadges{position:absolute;top:10px;left:10px;display:flex;flex-direction:column;gap:4px;z-index:2}
.b-sale{background:var(--red);color:#fff;font-size:10px;font-weight:700;padding:3px 8px;border-radius:3px}
.b-new{background:var(--green);color:#fff;font-size:10px;font-weight:700;padding:3px 8px;border-radius:3px}
.b-2for{background:var(--amber);color:#fff;font-size:10px;font-weight:700;padding:3px 8px;border-radius:3px}
.pactions{position:absolute;right:10px;top:10px;display:flex;flex-direction:column;gap:6px;opacity:0;transform:translateX(12px);transition:all var(--ease);z-index:2}
.pc:hover .pactions{opacity:1;transform:translateX(0)}
.ab{width:34px;height:34px;border-radius:50%;background:#fff;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:14px;cursor:pointer;box-shadow:0 2px 6px rgba(0,0,0,.07);transition:all var(--ease)}
.ab:hover{background:var(--green);color:#fff;border-color:var(--green)}
.pinfo{padding:14px}
.pcat{font-size:10.5px;color:var(--green);font-weight:700;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}
.pname{font-size:14px;font-weight:600;margin-bottom:8px;line-height:1.4;display:block;transition:color var(--ease);cursor:pointer}
.pname:hover{color:var(--green)}
/* Variant selector */
.variants{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:10px}
.vbtn{padding:4px 9px;border-radius:4px;font-size:11px;font-weight:600;border:1.5px solid var(--border);color:var(--muted);background:#fff;cursor:pointer;transition:all var(--ease);font-family:inherit}
.vbtn.active,.vbtn:hover{border-color:var(--green);color:var(--green);background:var(--gl)}
.pp{display:flex;align-items:center;gap:8px;margin-bottom:10px}
.pnew{font-size:17px;font-weight:700;color:var(--gd)}
.pold{font-size:12px;color:#999;text-decoration:line-through;background:#fff0f0;padding:2px 6px;border-radius:4px;font-weight:500}
.p-save{font-size:10px;font-weight:700;color:#fff;background:var(--red);padding:2px 6px;border-radius:3px;margin-left:2px}
.cartbtn{width:100%;padding:9px;border-radius:6px;background:var(--gl);color:var(--gd);font-size:12.5px;font-weight:700;cursor:pointer;border:none;font-family:inherit;transition:all var(--ease)}
.cartbtn:hover{background:var(--green);color:#fff}

/* ── Category Grid ── */
.cat-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:16px}
.cat-card{border-radius:var(--r);overflow:hidden;position:relative;cursor:pointer;border:1px solid var(--border);transition:transform var(--ease),box-shadow var(--ease)}
.cat-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.cat-img{height:140px;overflow:hidden}
.cat-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.cat-card:hover .cat-img img{transform:scale(1.07)}
.cat-label{padding:12px;text-align:center;background:#fff;font-size:13px;font-weight:600;color:var(--text)}

/* ── Butcher Range ── */
.butcher{background:var(--cream);border-top:1px solid #e8ddd0;border-bottom:1px solid #e8ddd0;padding:60px 0}
.butcher .wrap{max-width:1280px;margin:0 auto;padding:0 24px}
.butcher-head{text-align:center;margin-bottom:40px}
.butcher-script{font-family:'Dancing Script',cursive;font-size:36px;color:#8b6f4e;margin-bottom:6px}
.butcher-title{font-size:28px;font-weight:300;letter-spacing:8px;text-transform:uppercase;color:#3a2e22;margin-bottom:10px}
.butcher-sub{font-size:14px;color:#8b7355;margin-bottom:0}
.butcher-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.butcher-card{background:#f0ece6;border-radius:8px;overflow:hidden;cursor:pointer;transition:transform var(--ease),box-shadow var(--ease);border:1px solid #ddd3c5}
.butcher-card:hover{transform:translateY(-4px);box-shadow:0 12px 30px rgba(0,0,0,.12)}
.butcher-img{height:220px;overflow:hidden;background:#ede8e0;position:relative}

.butcher-card:hover .butcher-img img{transform:scale(1.05)!important;filter:sepia(0.1) contrast(0.92) brightness(1.12) saturate(0.9)!important}
.butcher-label{padding:18px 20px;text-align:center;background:#f0ece6;font-size:15px;font-weight:500;color:#3a2e22;letter-spacing:.5px}
.butcher-label a{color:#3a2e22;display:flex;align-items:center;justify-content:center;gap:6px;transition:color var(--ease)}
.butcher-card:hover .butcher-label a{color:#8b6f4e}

/* ── Country Grid ── */
.country-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.cc{border-radius:var(--r);overflow:hidden;border:1px solid var(--border);cursor:pointer;transition:transform var(--ease),box-shadow var(--ease);background:#fff}
.cc:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.cc-img{height:120px;overflow:hidden;position:relative}
.cc-img img{width:100%;height:100%;object-fit:cover}
.cc-flag{position:absolute;top:8px;left:8px;font-size:22px;background:#fff;border-radius:4px;padding:2px 4px}
.cc-name{padding:12px;text-align:center;font-size:13px;font-weight:600;color:var(--text)}

/* ── 2-for Deal ── */
.twofor-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.twofor-card{position:relative;border-radius:var(--r);border:2px solid var(--amber);overflow:hidden;background:#fff;transition:transform var(--ease),box-shadow var(--ease)}
.twofor-card:hover{transform:translateY(-4px);box-shadow:0 12px 30px rgba(0,0,0,.10)}
.twofor-badge{position:absolute;top:0;right:0;background:var(--amber);color:#fff;font-size:11px;font-weight:700;padding:6px 14px;border-radius:0 0 0 10px;z-index:3}
.twofor-img{height:200px;overflow:hidden}
.twofor-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.twofor-card:hover .twofor-img img{transform:scale(1.05)}
.twofor-info{padding:16px}
.twofor-name{font-size:15px;font-weight:700;margin-bottom:6px}
.twofor-price{font-size:14px;color:var(--muted);margin-bottom:12px}
.twofor-price strong{color:var(--amber);font-size:18px}

/* ── Fruit Box Variations ── */
.fruitbox-wrap{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.fruitbox-img{border-radius:var(--r);overflow:hidden;height:420px}
.fruitbox-img img{width:100%;height:100%;object-fit:cover}
.fruitbox-info .ptag{font-family:'Dancing Script',cursive;font-size:28px;color:var(--green);margin-bottom:4px}
.fruitbox-info h2{font-family:'Playfair Display',serif;font-size:28px;margin-bottom:12px}
.fruitbox-info p{color:var(--muted);font-size:14.5px;line-height:1.7;margin-bottom:20px}
.box-sizes{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px}
.bsize{padding:10px 18px;border-radius:8px;border:2px solid var(--border);font-size:13px;font-weight:700;cursor:pointer;transition:all var(--ease);text-align:center;font-family:inherit;background:#fff}
.bsize .sz-label{display:block;font-size:15px;color:var(--text);margin-bottom:2px}
.bsize .sz-price{display:block;font-size:12px;color:var(--muted)}
.bsize.active,.bsize:hover{border-color:var(--green);background:var(--gl)}
.bsize.active .sz-label,.bsize:hover .sz-label{color:var(--gd)}
.qty-row{display:flex;align-items:center;gap:16px;margin-bottom:20px}
.qty-ctrl{display:flex;align-items:center;border:1.5px solid var(--border);border-radius:8px;overflow:hidden}
.qty-ctrl button{width:38px;height:38px;font-size:18px;background:#f5f5f5;border:none;cursor:pointer;transition:background var(--ease);font-family:inherit}
.qty-ctrl button:hover{background:var(--gl);color:var(--gd)}
.qty-ctrl span{width:44px;text-align:center;font-size:15px;font-weight:600}

/* ── Brands ── */
.brands-row{display:flex;align-items:center;justify-content:center;gap:40px;flex-wrap:wrap}
.brand-item{text-align:center;cursor:pointer;transition:all var(--ease);filter:grayscale(1);opacity:.5}
.brand-item:hover{filter:none;opacity:1;transform:scale(1.05)}
.brand-item img{width:90px;height:50px;object-fit:contain;margin:0 auto 6px}
.brand-item span{font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--muted)}

/* ── Blog ── */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.blog-card{background:#fff;border-radius:var(--r);border:1px solid var(--border);overflow:hidden;transition:transform var(--ease),box-shadow var(--ease)}
.blog-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.blog-img{height:200px;overflow:hidden}
.blog-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.blog-card:hover .blog-img img{transform:scale(1.05)}
.blog-body{padding:20px}
.blog-meta{font-size:12px;color:var(--muted);margin-bottom:8px}
.blog-cat{color:var(--green);font-weight:700}
.blog-title{font-family:'Playfair Display',serif;font-size:16px;line-height:1.5;margin-bottom:10px;display:block;transition:color var(--ease)}
.blog-title:hover{color:var(--green)}
.blog-exc{font-size:13px;color:var(--muted);line-height:1.7;margin-bottom:14px}
.blog-more{font-size:13px;font-weight:700;color:var(--green);display:inline-flex;align-items:center;gap:4px;transition:gap var(--ease)}
.blog-more:hover{gap:8px}

/* ── Newsletter ── */
.newsletter{background:var(--gl);border-top:1px solid #c8e6cc;border-bottom:1px solid #c8e6cc;padding:52px 0;text-align:center}
.nl-inner{max-width:540px;margin:0 auto;padding:0 24px}
.nl-title{font-family:'Playfair Display',serif;font-size:26px;color:var(--gd);margin-bottom:8px}
.nl-sub{font-size:14px;color:var(--muted);margin-bottom:20px}
.nl-form{display:flex;border-radius:50px;overflow:hidden;border:2px solid var(--green);background:#fff}
.nl-inp{flex:1;border:none;outline:none;padding:12px 20px;font-size:14px;font-family:inherit}
.nl-go{background:var(--green);color:#fff;border:none;padding:0 26px;font-size:14px;font-weight:700;font-family:inherit;cursor:pointer;transition:background var(--ease);white-space:nowrap}
.nl-go:hover{background:var(--gd)}

/* ── Features ── */
.features{background:#fff;border-bottom:1px solid var(--border)}
.features .wrap{max-width:1280px;margin:0 auto;padding:0 24px;display:grid;grid-template-columns:repeat(4,1fr)}
.feat{display:flex;align-items:center;gap:14px;padding:22px 18px;border-right:1px solid var(--border)}
.feat:last-child{border-right:none}
.feat-icon{font-size:28px;flex-shrink:0}
.feat-title{font-size:13.5px;font-weight:700;margin-bottom:2px}
.feat-desc{font-size:12px;color:var(--muted);line-height:1.5}

/* ── Footer ── */
.footer{background:#1a2e1e;color:rgba(255,255,255,.75);padding:52px 0 0}
.footer .wrap{max-width:1280px;margin:0 auto;padding:0 24px}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.5fr;gap:40px;padding-bottom:40px}
.f-logo{font-family:'Playfair Display',serif;font-size:24px;font-weight:700;color:#fff;margin-bottom:12px}
.f-logo span{color:var(--amber)}
.f-about{font-size:13px;line-height:1.75;margin-bottom:16px}
.f-contact{font-size:13px;display:flex;flex-direction:column;gap:7px}
.f-contact a{color:rgba(255,255,255,.75);transition:color var(--ease)}
.f-contact a:hover{color:#fff}
.f-h{font-size:14px;font-weight:700;color:#fff;margin-bottom:14px}
.f-links{display:flex;flex-direction:column;gap:8px}
.f-links a{font-size:13px;color:rgba(255,255,255,.6);transition:color var(--ease),padding-left var(--ease)}
.f-links a:hover{color:#fff;padding-left:4px}
.f-social{display:flex;gap:10px;margin-top:16px}
.soc{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;font-size:14px;cursor:pointer;transition:background var(--ease)}
.soc:hover{background:var(--green)}
.fbot{border-top:1px solid rgba(255,255,255,.1);padding:18px 24px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;max-width:1280px;margin:0 auto}
.fcopy{font-size:12px;color:rgba(255,255,255,.4)}
.pay-row{display:flex;gap:8px}
.pay{background:rgba(255,255,255,.12);border-radius:4px;padding:4px 10px;font-size:11px;font-weight:700;color:rgba(255,255,255,.75)}

/* ════════════════════════════════
   QUICK-VIEW MODAL
════════════════════════════════ */
.overlay{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:2000;display:none;align-items:center;justify-content:center;padding:20px}
.overlay.open{display:flex;animation:fadeO .25s ease}
@keyframes fadeO{from{opacity:0}to{opacity:1}}
.qv-modal{background:#fff;border-radius:14px;max-width:860px;width:100%;max-height:90vh;overflow-y:auto;display:grid;grid-template-columns:1fr 1fr;box-shadow:0 24px 80px rgba(0,0,0,.25);position:relative;animation:slideUp .3s ease}
@keyframes slideUp{from{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}
.qv-close{position:absolute;top:14px;right:16px;font-size:22px;cursor:pointer;color:var(--muted);z-index:10;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#f5f5f5;border:none;transition:all var(--ease)}
.qv-close:hover{background:var(--red);color:#fff}
.qv-imgs{background:#f8f8f6;border-radius:14px 0 0 14px;overflow:hidden;position:relative}
.qv-img-main{width:100%;aspect-ratio:1;object-fit:cover}
.qv-thumbs{display:flex;gap:8px;padding:12px;background:#f0f0ec}
.qv-thumb{width:56px;height:56px;border-radius:6px;object-fit:cover;cursor:pointer;border:2px solid transparent;transition:border-color var(--ease);flex-shrink:0}
.qv-thumb.active{border-color:var(--green)}
.qv-info{padding:28px 28px 24px}
.qv-cat{font-size:11px;color:var(--green);font-weight:700;text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}
.qv-name{font-family:'Playfair Display',serif;font-size:22px;color:var(--text);margin-bottom:10px;line-height:1.3}
.qv-stars{color:#f5a623;font-size:13px;margin-bottom:12px;display:flex;align-items:center;gap:6px}
.qv-stars span{color:var(--muted);font-size:12px}
.qv-price{display:flex;align-items:center;gap:10px;margin-bottom:16px;flex-wrap:wrap}
.qv-pnew{font-size:30px;font-weight:700;color:var(--gd)}
.qv-pnow-label{font-size:11px;font-weight:700;color:var(--red);text-transform:uppercase;letter-spacing:1px;display:block;line-height:1}
.qv-was-wrap{display:flex;flex-direction:column;gap:2px}
.qv-pold{font-size:14px;color:#999;text-decoration:line-through;background:#fff0f0;padding:3px 8px;border-radius:5px;font-weight:500}
.qv-was-label{font-size:10px;color:#999;text-align:center}
.qv-desc{font-size:13.5px;color:var(--muted);line-height:1.7;margin-bottom:18px}
.qv-label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--text);margin-bottom:8px}
.qv-variants{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}
.qvbtn{padding:8px 14px;border-radius:6px;font-size:13px;font-weight:600;border:2px solid var(--border);color:var(--muted);background:#fff;cursor:pointer;transition:all var(--ease);font-family:inherit}
.qvbtn.active,.qvbtn:hover{border-color:var(--green);color:var(--gd);background:var(--gl)}
.qv-qty{display:flex;align-items:center;gap:14px;margin-bottom:20px}
.qv-qty-ctrl{display:flex;align-items:center;border:1.5px solid var(--border);border-radius:8px;overflow:hidden}
.qv-qty-ctrl button{width:36px;height:36px;font-size:18px;background:#f5f5f5;border:none;cursor:pointer;transition:background var(--ease);font-family:inherit}
.qv-qty-ctrl button:hover{background:var(--gl)}
.qv-qty-ctrl span{width:40px;text-align:center;font-size:15px;font-weight:600}
.qv-atc{flex:1;padding:12px 20px;background:var(--green);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:700;cursor:pointer;transition:background var(--ease);font-family:inherit}
.qv-atc:hover{background:var(--gd)}
.qv-actions{display:flex;gap:10px;margin-top:10px}
.qv-wish{flex:1;padding:10px;border:1.5px solid var(--border);border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all var(--ease);font-family:inherit;color:var(--muted)}
.qv-wish:hover{border-color:var(--red);color:var(--red)}
.qv-del{font-size:12.5px;color:var(--green);font-weight:600;margin-top:12px;display:flex;align-items:center;gap:6px}

/* ════════════════════════════════
   CART SIDEBAR
════════════════════════════════ */
.cart-sidebar{position:fixed;top:0;right:-420px;width:400px;height:100vh;background:#fff;z-index:3000;box-shadow:-4px 0 30px rgba(0,0,0,.12);transition:right .35s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column}
.cart-sidebar.open{right:0}
.cart-head{display:flex;align-items:center;justify-content:space-between;padding:20px 20px 16px;border-bottom:1px solid var(--border)}
.cart-head h3{font-family:'Playfair Display',serif;font-size:20px}
.cart-close{font-size:22px;cursor:pointer;color:var(--muted);width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#f5f5f5;border:none;transition:all var(--ease)}
.cart-close:hover{background:var(--red);color:#fff}
/* Delivery progress in cart */
.cart-del-prog{padding:14px 20px;background:#f0faf2;border-bottom:1px solid #c8e6cc}
.cdp-msg{font-size:12.5px;font-weight:600;color:var(--gd);margin-bottom:7px;display:flex;justify-content:space-between}
.cdp-bar{height:7px;background:#c8e6cc;border-radius:50px;overflow:hidden}
.cdp-fill{height:100%;background:linear-gradient(90deg,var(--green),#6abf72);border-radius:50px;transition:width .8s ease}
.cdp-perks{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap}
.cdp-perk{font-size:11px;padding:3px 10px;border-radius:50px;border:1px solid #c8e6cc;color:var(--gd);background:#fff;font-weight:600}
.cdp-perk.done{background:var(--green);color:#fff;border-color:var(--green)}
.cart-body{flex:1;overflow-y:auto;padding:16px 20px}
.cart-item{display:flex;gap:14px;padding:14px 0;border-bottom:1px solid var(--border);align-items:center}
.ci-img{width:72px;height:72px;border-radius:8px;object-fit:cover;flex-shrink:0;background:#f5f5f5}
.ci-info{flex:1;min-width:0}
.ci-name{font-size:13.5px;font-weight:600;margin-bottom:3px;line-height:1.4}
.ci-var{font-size:12px;color:var(--muted);margin-bottom:6px}
.ci-bottom{display:flex;align-items:center;justify-content:space-between}
.ci-qty{display:flex;align-items:center;gap:8px;font-size:13px}
.ci-qty button{width:26px;height:26px;border-radius:50%;background:#f5f5f5;border:none;cursor:pointer;font-size:14px;transition:background var(--ease);font-family:inherit}
.ci-qty button:hover{background:var(--gl)}
.ci-price{font-size:15px;font-weight:700;color:var(--gd)}
.ci-remove{font-size:16px;cursor:pointer;color:#ccc;transition:color var(--ease);border:none;background:none;line-height:1}
.ci-remove:hover{color:var(--red)}
.cart-empty{text-align:center;padding:40px 20px;color:var(--muted)}
.cart-empty div{font-size:48px;margin-bottom:12px}
.cart-foot{padding:16px 20px;border-top:1px solid var(--border)}
.cart-total{display:flex;justify-content:space-between;font-size:15px;font-weight:700;margin-bottom:14px}
.btn-checkout{width:100%;padding:14px;background:var(--green);color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:700;cursor:pointer;transition:background var(--ease);font-family:inherit;margin-bottom:8px}
.btn-checkout:hover{background:var(--gd)}
.btn-continue{width:100%;padding:11px;border:1.5px solid var(--border);border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;font-family:inherit;color:var(--muted);transition:all var(--ease);background:#fff}
.btn-continue:hover{border-color:var(--green);color:var(--green)}
.cart-mask{position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:2999;display:none}
.cart-mask.open{display:block}

/* ════════════════════════════════
   CHECKOUT PAGE
════════════════════════════════ */
#checkout-page{display:none;position:fixed;inset:0;background:#f5f5f0;z-index:4000;overflow-y:auto}
#checkout-page.open{display:block;animation:fadeO .3s ease}
.co-header{background:#fff;border-bottom:1px solid var(--border);padding:16px 24px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:10}
.co-header .logo{font-size:22px}
.co-close{background:none;border:none;font-size:14px;color:var(--green);cursor:pointer;font-family:inherit;font-weight:600;display:flex;align-items:center;gap:6px}
.co-wrap{max-width:1080px;margin:0 auto;padding:32px 24px;display:grid;grid-template-columns:1fr 380px;gap:32px;align-items:start}
.co-form{background:#fff;border-radius:var(--r);border:1px solid var(--border);padding:28px}
.co-form h3{font-family:'Playfair Display',serif;font-size:18px;margin-bottom:20px;padding-bottom:14px;border-bottom:1px solid var(--border)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}
.form-row.one{grid-template-columns:1fr}
.form-group{display:flex;flex-direction:column;gap:5px}
.form-group label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--muted)}
.form-group input,.form-group select{border:1.5px solid var(--border);border-radius:7px;padding:11px 14px;font-size:14px;font-family:inherit;outline:none;transition:border-color var(--ease)}
.form-group input:focus,.form-group select:focus{border-color:var(--green)}
.delivery-opts{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}
.dopt{display:flex;align-items:center;gap:14px;border:1.5px solid var(--border);border-radius:8px;padding:14px 16px;cursor:pointer;transition:border-color var(--ease)}
.dopt.selected{border-color:var(--green);background:var(--gl)}
.dopt input{accent-color:var(--green);width:16px;height:16px}
.dopt-info{flex:1}
.dopt-name{font-size:14px;font-weight:600}
.dopt-desc{font-size:12px;color:var(--muted)}
.dopt-price{font-size:14px;font-weight:700;color:var(--gd)}
.pay-methods{display:flex;gap:10px;margin-bottom:16px}
.pm{border:1.5px solid var(--border);border-radius:7px;padding:10px 16px;font-size:13px;font-weight:600;cursor:pointer;transition:all var(--ease);display:flex;align-items:center;gap:6px;font-family:inherit;background:#fff}
.pm.active{border-color:var(--green);background:var(--gl);color:var(--gd)}
.co-summary{background:#fff;border-radius:var(--r);border:1px solid var(--border);padding:24px;position:sticky;top:90px}
.co-summary h3{font-family:'Playfair Display',serif;font-size:18px;margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid var(--border)}
.co-item{display:flex;gap:12px;margin-bottom:14px;align-items:center}
.co-item img{width:58px;height:58px;border-radius:7px;object-fit:cover;flex-shrink:0;background:#f5f5f5}
.co-item-info{flex:1}
.co-item-name{font-size:13px;font-weight:600;margin-bottom:2px}
.co-item-var{font-size:12px;color:var(--muted)}
.co-item-price{font-size:14px;font-weight:700;color:var(--gd);white-space:nowrap}
.co-totals{border-top:1px solid var(--border);padding-top:14px;margin-top:6px}
.co-row{display:flex;justify-content:space-between;font-size:13.5px;margin-bottom:8px}
.co-row.total{font-size:16px;font-weight:700;color:var(--gd);border-top:1px solid var(--border);padding-top:12px;margin-top:6px}
.co-del-msg{background:#f0faf2;border:1px solid #c8e6cc;border-radius:7px;padding:10px 14px;font-size:12.5px;color:var(--gd);font-weight:600;text-align:center;margin:14px 0}
.btn-place{width:100%;padding:14px;background:var(--green);color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:700;cursor:pointer;transition:background var(--ease);font-family:inherit;margin-top:16px}
.btn-place:hover{background:var(--gd)}
.secure-badges{display:flex;justify-content:center;gap:10px;margin-top:12px;flex-wrap:wrap}
.sb{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:4px}

/* ══════════════════════════════════════════════
   RESPONSIVE — tablet + mobile (v12 overhaul)
══════════════════════════════════════════════ */

/* ── Hamburger / Mobile menu button ── */
.mob-menu-btn{display:none;align-items:center;justify-content:center;width:40px;height:40px;border-radius:8px;background:#f5f5f5;border:none;font-size:20px;cursor:pointer;flex-shrink:0;transition:background var(--ease)}
.mob-menu-btn:hover{background:var(--gl)}

/* ── Mobile nav drawer overlay ── */
.nav-drawer-mask{display:none;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:1998}
.nav-drawer-mask.open{display:block}
.nav-drawer{position:fixed;top:0;left:-290px;width:280px;height:100vh;background:#fff;z-index:1999;overflow-y:auto;transition:left .32s cubic-bezier(.4,0,.2,1);box-shadow:4px 0 24px rgba(0,0,0,.14);display:flex;flex-direction:column}
.nav-drawer.open{left:0}
.nav-drawer-head{background:var(--gd);color:#fff;padding:20px 18px 16px;display:flex;align-items:center;justify-content:space-between}
.nav-drawer-head .logo{color:#fff;font-size:20px}
.nav-drawer-head .logo span{color:#ffa94d}
.nav-drawer-close{background:none;border:none;color:rgba(255,255,255,.8);font-size:22px;cursor:pointer;line-height:1}
.nav-drawer-body{flex:1;padding:8px 0}
.nav-drawer-item{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;font-size:14px;font-weight:500;color:var(--text);border-bottom:1px solid var(--border);cursor:pointer;transition:background var(--ease)}
.nav-drawer-item:hover{background:var(--gl);color:var(--gd)}
.nav-drawer-item .nd-arrow{font-size:12px;color:var(--muted)}
.nav-drawer-sub{display:none;background:#f9f9f9}
.nav-drawer-sub.open{display:block}
.nav-drawer-sub a{display:block;padding:11px 20px 11px 36px;font-size:13px;color:var(--muted);border-bottom:1px solid var(--border);transition:all var(--ease)}
.nav-drawer-sub a:hover{color:var(--gd);padding-left:42px}
.nav-drawer-footer{padding:16px 20px;border-top:2px solid var(--border);display:flex;gap:10px}
.nav-drawer-footer .btn-g{flex:1;justify-content:center;font-size:13px;padding:10px 14px}

/* ── Bottom navigation bar (mobile only) ── */
.bottom-nav{display:none;position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1.5px solid var(--border);z-index:900;padding:6px 0 max(6px, env(safe-area-inset-bottom, 6px));grid-template-columns:repeat(5,1fr)}
.bn-item{display:flex;flex-direction:column;align-items:center;gap:2px;cursor:pointer;padding:2px 0;position:relative;transition:all var(--ease)}
.bn-icon{font-size:20px;line-height:1}
.bn-label{font-size:10px;color:var(--muted);font-weight:500}
.bn-item.active .bn-label{color:var(--green)}
.bn-badge{position:absolute;top:0;right:50%;transform:translateX(10px);background:var(--red);color:#fff;font-size:8px;font-weight:700;width:14px;height:14px;border-radius:50%;display:flex;align-items:center;justify-content:center}

/* ── Category pill strip (mobile) ── */
.cat-pills{display:none;gap:8px;overflow-x:auto;padding:10px 16px 10px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.cat-pills::-webkit-scrollbar{display:none}
.cat-pill{background:var(--gl);color:var(--gd);font-size:13px;font-weight:600;padding:8px 16px;border-radius:20px;border:1px solid #c8e6cc;white-space:nowrap;cursor:pointer;transition:all var(--ease);flex-shrink:0}
.cat-pill.active,.cat-pill:hover{background:var(--green);color:#fff;border-color:var(--green)}

/* ── Sticky mobile Add-to-Cart bar ── */
.mob-cart-bar{display:none;position:fixed;bottom:56px;left:0;right:0;z-index:850;padding:10px 16px;background:#fff;border-top:1px solid var(--border);box-shadow:0 -4px 16px rgba(0,0,0,.08)}
.mob-cart-bar-inner{display:flex;align-items:center;gap:10px}
.mob-cart-bar .btn-g{flex:1;justify-content:center;padding:13px;font-size:14px}
.mob-cart-subtotal{font-size:13px;font-weight:700;color:var(--gd);white-space:nowrap}

/* ════════════════
   1100px — tablet landscape
════════════════ */
@media(max-width:1100px){
  .pg{grid-template-columns:repeat(3,1fr)}
  .cat-grid{grid-template-columns:repeat(4,1fr)}
  .country-grid{grid-template-columns:repeat(3,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr}
  .co-wrap{grid-template-columns:1fr}
  .co-summary{position:static}
  .butcher-grid{grid-template-columns:repeat(3,1fr)}
  .butcher-img{height:180px}
}

/* ════════════════
   768px — tablet portrait
════════════════ */
@media(max-width:768px){
  /* body padding for bottom nav */
  body{padding-bottom:64px}

  /* header: wrap to 2 rows */
  .header .wrap{flex-wrap:wrap;gap:8px;padding:10px 14px}
  .search-wrap{order:3;flex-basis:100%;max-width:100%}
  .s-cat{display:none}
  .auth-l{display:none}
  .mob-menu-btn{display:flex}
  .logo{font-size:21px}

  /* delivery bar: compact */
  .del-bar .wrap{gap:8px;flex-wrap:nowrap;padding:0 14px;justify-content:flex-start}
  .del-msg{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:1}
  .del-perk{display:none}
  .del-track{max-width:80px;flex-shrink:0}

  /* hide desktop navbar, show drawer btn */
  .nav-links{display:none!important}
  .cat-btn{display:none}
  .navbar .wrap{padding:0 14px;min-height:36px}

  /* hero: stack, show image */
  .slide{min-height:auto;padding:28px 0 20px}
  .slide .wrap{flex-direction:column;padding:0 20px;gap:16px;text-align:center}
  .slide-text{max-width:100%}
  .slide-visual{
    display:block!important;
    width:150px;height:150px;
    margin:0 auto;border-width:4px
  }
  .slide-btns{justify-content:center}
  .slide h1{font-size:clamp(22px,6vw,32px)}

  /* products */
  .pg{grid-template-columns:repeat(2,1fr);gap:14px}

  /* butcher */
  .butcher-grid{grid-template-columns:repeat(2,1fr)}
  .butcher-img{height:160px}

  /* twofor */
  .twofor-grid{grid-template-columns:1fr 1fr}

  /* fruitbox */
  .fruitbox-wrap{grid-template-columns:1fr}

  /* blog */
  .blog-grid{grid-template-columns:1fr 1fr}

  /* features */
  .features .wrap{grid-template-columns:1fr 1fr}
  .feat{border-right:none;border-bottom:1px solid var(--border)}

  /* footer */
  .footer-grid{grid-template-columns:1fr}
  .footer-grid>*{padding-bottom:20px;border-bottom:1px solid rgba(255,255,255,.08)}

  /* modals */
  .qv-modal{grid-template-columns:1fr}
  .qv-imgs{border-radius:14px 14px 0 0}
  .cart-sidebar{width:100%;right:-100%;max-width:100%}
  .cart-sidebar.open{right:0}

  /* category grid */
  .cat-grid{grid-template-columns:repeat(3,1fr)}
  .cat-img{height:110px}

  /* country grid */
  .country-grid{grid-template-columns:repeat(3,1fr)}

  /* category pills: show on mobile */
  .cat-pills{display:flex}

  /* bottom nav: show */
  .bottom-nav{display:grid}

  /* cart buttons bigger tap targets */
  .cartbtn{padding:12px;font-size:13px;min-height:44px}
  .hbtn{width:44px;height:44px}
  .vbtn{padding:7px 11px;font-size:12px}

  /* pay methods wrap */
  .pay-methods{flex-wrap:wrap}
  .pm{flex:1;justify-content:center;min-width:calc(50% - 5px)}

  /* deal strip */
  .deal-strip{font-size:12px;padding:10px 14px}
  .deal-strip a{display:block;margin:4px 0 0}
}

/* ════════════════
   540px — small phones
════════════════ */
@media(max-width:540px){
  .pg{grid-template-columns:repeat(2,1fr);gap:10px}
  .butcher-grid{grid-template-columns:1fr 1fr}
  .twofor-grid{grid-template-columns:1fr}
  .blog-grid{grid-template-columns:1fr}
  .country-grid{grid-template-columns:repeat(2,1fr)}
  .cat-grid{grid-template-columns:repeat(2,1fr)}
  .cat-img{height:90px}
  .form-row{grid-template-columns:1fr}
  .h-right .auth-l{display:none}

  /* hero tighter */
  .slide .wrap{padding:0 14px}
  .slide-visual{width:120px;height:120px}

  /* butcher */
  .butcher-img{height:130px}
  .butcher-title{font-size:22px;letter-spacing:4px}

  /* footer */
  .fbot{flex-direction:column;text-align:center}
  .pay-row{justify-content:center}

  /* section padding */
  .section{padding:36px 0}
  .butcher{padding:40px 0}

  /* promo bar text clip */
  .promo-bar{font-size:12px;padding:8px 28px 8px 12px}

  /* search */
  .s-inp{font-size:13px}

  /* QV info padding */
  .qv-info{padding:18px 16px}
  .qv-pnew{font-size:24px}
}

/* ════════════════
   375px — iPhone SE / small Android
════════════════ */
@media(max-width:375px){
  .logo{font-size:18px}
  .hbtn{width:38px;height:38px;font-size:15px}
  .pg{gap:8px}
  .pinfo{padding:10px}
  .pname{font-size:13px}
  .pnew{font-size:15px}
  .cartbtn{font-size:12px}
  .slide-visual{width:100px;height:100px}
}
</style>
<style>
.product-card img,
.product img,
.card img{
width:100%;
aspect-ratio:1/1;
object-fit:cover;
border-radius:12px;
}

.hero img{
width:100%;
max-height:520px;
object-fit:cover;
}

.product-card{
transition:transform .2s ease, box-shadow .2s ease;
}

.product-card:hover{
transform:translateY(-4px);
box-shadow:0 10px 30px rgba(0,0,0,.08);
}
</style>
<style>
/* ═══════════════════════════════════
   PRODUCT DETAIL PAGE
═══════════════════════════════════ */
#pdp-page{display:none;position:fixed;inset:0;background:#fff;z-index:5000;overflow-y:auto}
#pdp-page.open{display:block;animation:fadeO .3s ease}
.pdp-header{background:#fff;border-bottom:1px solid var(--border);padding:14px 24px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:10}
.pdp-header .logo{font-family:'Playfair Display',serif;font-size:22px;font-weight:700;color:var(--gd)}
.pdp-header .logo span{color:var(--amber)}
.pdp-back{background:none;border:none;font-size:14px;color:var(--green);cursor:pointer;font-family:inherit;font-weight:600;display:flex;align-items:center;gap:6px}
.pdp-breadcrumb{background:#fafaf8;padding:10px 24px;font-size:12px;color:var(--muted);border-bottom:1px solid var(--border)}
.pdp-breadcrumb a{color:var(--green);text-decoration:none}
.pdp-breadcrumb a:hover{text-decoration:underline}
.pdp-wrap{max-width:1200px;margin:0 auto;padding:32px 24px;display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
/* Gallery */
.pdp-gallery{position:sticky;top:80px}
.pdp-main-img{border-radius:12px;overflow:hidden;aspect-ratio:1;background:#f8f8f6;margin-bottom:12px;position:relative}
.pdp-main-img img{width:100%;height:100%;object-fit:cover}
.pdp-badge-abs{position:absolute;top:14px;left:14px;display:flex;flex-direction:column;gap:6px}
.pdp-thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.pdp-thumb{aspect-ratio:1;border-radius:8px;overflow:hidden;cursor:pointer;border:2px solid transparent;transition:border-color var(--ease)}
.pdp-thumb.active{border-color:var(--green)}
.pdp-thumb img{width:100%;height:100%;object-fit:cover}
/* Product Info */
.pdp-info{}
.pdp-brand{font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--green);margin-bottom:6px}
.pdp-title{font-family:'Playfair Display',serif;font-size:clamp(24px,3vw,34px);color:var(--text);line-height:1.2;margin-bottom:10px}
.pdp-rating{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.pdp-stars{color:#f5a623;font-size:15px;letter-spacing:1px}
.pdp-rcount{font-size:13px;color:var(--muted)}
.pdp-rcount a{color:var(--green)}
.pdp-price-block{display:flex;align-items:flex-end;gap:14px;margin-bottom:20px;padding:16px 20px;background:#f8fff8;border-radius:10px;border:1px solid #d4ecd6}
.pdp-now{font-size:38px;font-weight:700;color:var(--gd);line-height:1}
.pdp-now-lbl{font-size:11px;font-weight:700;color:var(--red);text-transform:uppercase;letter-spacing:1px;display:block}
.pdp-was-col{display:flex;flex-direction:column;gap:3px}
.pdp-was{font-size:18px;color:#aaa;text-decoration:line-through;background:#fff0f0;padding:3px 10px;border-radius:5px;font-weight:500}
.pdp-was-lbl{font-size:10px;color:#aaa;text-align:center}
.pdp-save-badge{background:var(--red);color:#fff;font-size:12px;font-weight:700;padding:5px 12px;border-radius:20px;margin-left:auto;align-self:center}
.pdp-per-unit{font-size:12px;color:var(--muted);margin-bottom:16px}
.pdp-section-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--text);margin-bottom:10px}
.pdp-variants{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}
.pdp-vbtn{padding:9px 18px;border-radius:6px;font-size:13px;font-weight:600;border:2px solid var(--border);color:var(--muted);background:#fff;cursor:pointer;transition:all var(--ease);font-family:inherit}
.pdp-vbtn.active,.pdp-vbtn:hover{border-color:var(--green);color:var(--gd);background:var(--gl)}
.pdp-qty-row{display:flex;align-items:center;gap:14px;margin-bottom:20px}
.pdp-qty-ctrl{display:flex;align-items:center;border:2px solid var(--border);border-radius:8px;overflow:hidden;flex-shrink:0}
.pdp-qty-ctrl button{width:42px;height:42px;font-size:20px;background:#f5f5f5;border:none;cursor:pointer;transition:background var(--ease);font-family:inherit;font-weight:700}
.pdp-qty-ctrl button:hover{background:var(--gl);color:var(--gd)}
.pdp-qty-ctrl span{width:48px;text-align:center;font-size:16px;font-weight:700}
.pdp-atc{flex:1;padding:14px 20px;background:var(--green);color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:700;cursor:pointer;transition:background var(--ease);font-family:inherit}
.pdp-atc:hover{background:var(--gd)}
.pdp-wish-btn{width:48px;height:48px;border-radius:8px;border:2px solid var(--border);background:#fff;font-size:20px;cursor:pointer;transition:all var(--ease);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.pdp-wish-btn:hover{border-color:var(--red);color:var(--red)}
.pdp-del-info{display:flex;flex-direction:column;gap:8px;margin:18px 0;padding:14px 18px;background:#f8fff8;border-radius:8px;border:1px solid #d4ecd6}
.pdp-del-row{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--text)}
.pdp-del-row .di{font-size:18px;flex-shrink:0}
.pdp-del-row strong{color:var(--gd)}
/* ── PDP carbon neutral + info box + share ── */
.pdp-carbon{display:flex;align-items:center;gap:10px;font-size:13.5px;color:#444;font-weight:500;margin:20px 0 14px;padding-bottom:0}
.pdp-carbon svg{color:var(--green);flex-shrink:0}
.pdp-info-box{border:1.5px solid #d8d8d8;border-radius:8px;overflow:hidden;margin-bottom:16px}
.pdp-info-row{display:flex;align-items:center;gap:14px;padding:14px 16px;border-bottom:1px solid #e8e8e8;font-size:13.5px;color:#333;line-height:1.4}
.pdp-info-row svg{flex-shrink:0;color:#333}
.pdp-info-contact{cursor:pointer}
.pdp-contact-link{color:#222;text-decoration:underline;font-weight:500;font-size:13.5px}
.pdp-contact-link:hover{color:var(--green)}
.pdp-share-btn{display:inline-flex;align-items:center;gap:8px;background:none;border:none;font-size:14px;font-weight:600;color:#333;cursor:pointer;font-family:inherit;padding:6px 0;transition:color var(--ease)}
.pdp-share-btn:hover{color:var(--green)}
.pdp-share-btn svg{color:#333;transition:color var(--ease)}
.pdp-share-btn:hover svg{color:var(--green)}
/* Tabs */
.pdp-tabs{max-width:1200px;margin:0 auto 40px;padding:0 24px}
.tab-nav{display:flex;border-bottom:2px solid var(--border);margin-bottom:24px;gap:0}
.tab-btn{padding:12px 24px;font-size:14px;font-weight:600;color:var(--muted);cursor:pointer;border:none;background:none;font-family:inherit;border-bottom:3px solid transparent;margin-bottom:-2px;transition:color var(--ease)}
.tab-btn.active{color:var(--gd);border-bottom-color:var(--green)}
.tab-pane{display:none}
.tab-pane.active{display:block}
.pdp-desc{font-size:14.5px;color:#444;line-height:1.8}
.pdp-desc p{margin-bottom:14px}
.pdp-desc ul{padding-left:20px;margin-bottom:14px}
.pdp-desc ul li{margin-bottom:8px}
.pdp-specs-table{width:100%;border-collapse:collapse}
.pdp-specs-table tr:nth-child(even){background:#f8f8f6}
.pdp-specs-table td{padding:10px 16px;font-size:13.5px;border-bottom:1px solid var(--border)}
.pdp-specs-table td:first-child{font-weight:700;color:var(--text);width:35%}
.pdp-specs-table td:last-child{color:var(--muted)}
.review-summary{display:grid;grid-template-columns:auto 1fr;gap:32px;align-items:center;padding:24px;background:#fafaf8;border-radius:10px;margin-bottom:24px}
.review-big-score{text-align:center}
.review-big-num{font-size:52px;font-weight:700;color:var(--gd);line-height:1}
.review-big-stars{color:#f5a623;font-size:18px}
.review-big-count{font-size:12px;color:var(--muted);margin-top:4px}
.review-bars{flex:1}
.rbar-row{display:flex;align-items:center;gap:10px;margin-bottom:5px;font-size:12px;color:var(--muted)}
.rbar-row span:first-child{width:40px;text-align:right}
.rbar{flex:1;height:8px;background:#e0e0e0;border-radius:50px;overflow:hidden}
.rbar-fill{height:100%;background:#f5a623;border-radius:50px}
.rbar-pct{width:32px;color:var(--muted)}
.review-card{border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:14px}
.rc-top{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:8px}
.rc-name{font-size:13.5px;font-weight:700}
.rc-stars{color:#f5a623;font-size:12px}
.rc-date{font-size:11px;color:var(--muted)}
.rc-body{font-size:13.5px;color:#555;line-height:1.7}
.rc-verified{font-size:11px;color:var(--green);font-weight:600;margin-top:6px;display:flex;align-items:center;gap:4px}
/* Related Products */
.pdp-related{max-width:1200px;margin:0 auto 60px;padding:0 24px}
.pdp-related h3{font-family:'Playfair Display',serif;font-size:22px;margin-bottom:20px}
/* Nutrition panel */
.nutrition-panel{border:2px solid #000;border-radius:6px;max-width:340px;padding:16px;font-family:'DM Sans',sans-serif}
.np-title{font-size:28px;font-weight:900;letter-spacing:-1px;margin-bottom:2px}
.np-sub{font-size:11px;border-bottom:8px solid #000;padding-bottom:6px;margin-bottom:6px}
.np-serving{font-size:12px;margin-bottom:6px;border-bottom:3px solid #000;padding-bottom:6px}
.np-dv{font-size:22px;font-weight:900;letter-spacing:-1px;border-bottom:1px solid #000;padding-bottom:4px;margin-bottom:4px}
.np-row{display:flex;justify-content:space-between;font-size:12px;padding:2px 0;border-bottom:1px solid #ccc}
.np-row.bold{font-weight:700}
.np-row.indent{padding-left:16px;font-weight:400;font-size:11px}
.np-dv-note{font-size:10px;color:#444;margin-top:8px;line-height:1.5}

/* ═══════════════════════════════════
   SEARCH RESULTS PAGE
═══════════════════════════════════ */
#search-page{display:none;position:fixed;inset:0;background:#f5f5f0;z-index:5000;overflow-y:auto}
#search-page.open{display:block;animation:fadeO .3s ease}
.sp-header{background:#fff;border-bottom:1px solid var(--border);padding:14px 24px;display:flex;align-items:center;gap:20px;position:sticky;top:0;z-index:10}
.sp-search-bar{flex:1;max-width:560px;display:flex;border:2px solid var(--green);border-radius:50px;overflow:hidden}
.sp-search-bar input{flex:1;border:none;outline:none;padding:10px 18px;font-size:14px;font-family:inherit}
.sp-search-bar button{background:var(--green);color:#fff;border:none;padding:0 20px;font-size:15px;cursor:pointer;transition:background var(--ease)}
.sp-search-bar button:hover{background:var(--gd)}
.sp-back{background:none;border:none;font-size:14px;color:var(--green);cursor:pointer;font-family:inherit;font-weight:600;display:flex;align-items:center;gap:6px;flex-shrink:0}
.sp-body{max-width:1280px;margin:0 auto;padding:24px;display:grid;grid-template-columns:260px 1fr;gap:28px;align-items:start}
/* Filters sidebar */
.sp-filters{background:#fff;border-radius:10px;border:1px solid var(--border);padding:20px;position:sticky;top:80px}
.sp-filter-head{font-size:15px;font-weight:700;margin-bottom:16px;display:flex;justify-content:space-between;align-items:center}
.sp-filter-clear{font-size:12px;color:var(--green);cursor:pointer;font-weight:600}
.sp-filter-group{margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid var(--border)}
.sp-filter-group:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}
.sp-filter-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--text);margin-bottom:10px;display:flex;justify-content:space-between;cursor:pointer}
.sp-filter-title span{color:var(--muted);font-weight:400;text-transform:none;letter-spacing:0}
.sp-check-row{display:flex;align-items:center;justify-content:space-between;padding:5px 0;font-size:13px;color:var(--text);cursor:pointer}
.sp-check-row:hover{color:var(--green)}
.sp-check-row input{accent-color:var(--green);width:15px;height:15px;cursor:pointer}
.sp-count{font-size:11px;color:var(--muted)}
.sp-price-inputs{display:flex;align-items:center;gap:8px;margin-top:8px}
.sp-price-inputs input{flex:1;border:1.5px solid var(--border);border-radius:6px;padding:7px 10px;font-size:13px;font-family:inherit;outline:none;width:0}
.sp-price-inputs input:focus{border-color:var(--green)}
.sp-price-inputs span{color:var(--muted);font-size:13px;flex-shrink:0}
/* Results area */
.sp-results{}
.sp-results-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;flex-wrap:wrap;gap:12px}
.sp-results-count{font-size:14px;color:var(--muted)}
.sp-results-count strong{color:var(--text)}
.sp-sort{display:flex;align-items:center;gap:10px}
.sp-sort select{border:1.5px solid var(--border);border-radius:6px;padding:8px 12px;font-size:13px;font-family:inherit;outline:none;cursor:pointer}
.sp-sort select:focus{border-color:var(--green)}
.sp-active-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.sp-filter-tag{background:#fff;border:1.5px solid var(--border);border-radius:50px;padding:4px 12px;font-size:12px;font-weight:600;color:var(--text);display:flex;align-items:center;gap:6px;cursor:pointer;transition:all var(--ease)}
.sp-filter-tag:hover{border-color:var(--red);color:var(--red)}
.sp-filter-tag .ftx{font-size:13px}
.sp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.sp-pagination{display:flex;justify-content:center;align-items:center;gap:6px;margin-top:32px}
.sp-page{width:38px;height:38px;border-radius:8px;border:1.5px solid var(--border);background:#fff;font-size:14px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--ease);font-family:inherit}
.sp-page:hover,.sp-page.active{background:var(--green);color:#fff;border-color:var(--green)}
.sp-page-prev,.sp-page-next{width:auto;padding:0 16px;gap:6px;font-size:13px}

/* ═══════════════════════════════════
   CATEGORY PAGE
═══════════════════════════════════ */
#cat-page{display:none;position:fixed;inset:0;background:#f5f5f0;z-index:5000;overflow-y:auto}
#cat-page.open{display:block;animation:fadeO .3s ease}
.cp-header{background:#fff;border-bottom:1px solid var(--border);padding:14px 24px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:10}
.cp-back{background:none;border:none;font-size:14px;color:var(--green);cursor:pointer;font-family:inherit;font-weight:600;display:flex;align-items:center;gap:6px}
.cp-hero{background:linear-gradient(135deg,var(--gd),var(--green));padding:40px 24px;color:#fff;position:relative;overflow:hidden}
.cp-hero .wrap{max-width:1280px;margin:0 auto;position:relative;z-index:2}
.cp-hero-deco{position:absolute;right:-40px;top:-40px;width:300px;height:300px;background:rgba(255,255,255,.05);border-radius:50%}
.cp-hero-deco2{position:absolute;left:20%;bottom:-60px;width:200px;height:200px;background:rgba(255,255,255,.05);border-radius:50%}
.cp-hero-tag{font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;opacity:.7;margin-bottom:6px}
.cp-hero-title{font-family:'Playfair Display',serif;font-size:clamp(28px,4vw,42px);margin-bottom:8px}
.cp-hero-sub{font-size:14px;opacity:.8;max-width:480px;line-height:1.6}
.cp-hero-stats{display:flex;gap:24px;margin-top:20px}
.cp-hero-stat{text-align:center}
.cp-hero-stat .n{font-size:22px;font-weight:700}
.cp-hero-stat .l{font-size:11px;opacity:.7}
/* Sub cats */
.cp-subcats{background:#fff;border-bottom:1px solid var(--border);padding:16px 24px}
.cp-subcats .wrap{max-width:1280px;margin:0 auto;display:flex;gap:10px;flex-wrap:wrap}
.cp-subbtn{padding:8px 16px;border-radius:50px;border:1.5px solid var(--border);background:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:all var(--ease);font-family:inherit;color:var(--text)}
.cp-subbtn:hover,.cp-subbtn.active{background:var(--green);color:#fff;border-color:var(--green)}
/* Body */
.cp-body{max-width:1280px;margin:0 auto;padding:24px;display:grid;grid-template-columns:240px 1fr;gap:24px;align-items:start}
.cp-sidebar{background:#fff;border-radius:10px;border:1px solid var(--border);padding:20px;position:sticky;top:80px}
.cp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.cp-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;flex-wrap:wrap;gap:10px}
.cp-count{font-size:14px;color:var(--muted)}
.cp-view-toggle{display:flex;gap:4px}
.cp-view-btn{width:34px;height:34px;border-radius:6px;border:1.5px solid var(--border);background:#fff;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--ease)}
.cp-view-btn.active,.cp-view-btn:hover{background:var(--green);color:#fff;border-color:var(--green)}

/* ═══════════════════════════════════
   CART PAGE (Full)
═══════════════════════════════════ */
#cart-page{display:none;position:fixed;inset:0;background:#f8f6f2;z-index:5000;overflow-y:auto}
#cart-page.open{display:block;animation:fadeO .3s ease}
.cpage-header{background:#fff;border-bottom:1px solid var(--border);padding:14px 24px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:10}
.cpage-back{background:none;border:none;font-size:14px;color:var(--green);cursor:pointer;font-family:inherit;font-weight:600;display:flex;align-items:center;gap:6px}
.cpage-wrap{max-width:1200px;margin:0 auto;padding:32px 24px;display:grid;grid-template-columns:1fr 380px;gap:28px;align-items:start}
.cpage-main{background:#fff;border-radius:12px;border:1px solid var(--border);overflow:hidden}
.cpage-head{padding:20px 24px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}
.cpage-head h2{font-family:'Playfair Display',serif;font-size:20px}
.cpage-head .item-count{font-size:13px;color:var(--muted);font-weight:400}
/* Cart table */
.cart-table{width:100%;border-collapse:collapse}
.cart-table thead{background:#fafaf8}
.cart-table th{padding:10px 16px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--muted);text-align:left;border-bottom:1px solid var(--border)}
.cart-table th:last-child,.cart-table td:last-child{text-align:right}
.cart-table th.th-price,.cart-table td.td-price{text-align:center}
.cart-table td{padding:16px;vertical-align:middle;border-bottom:1px solid var(--border)}
.cpt-img{width:72px;height:72px;border-radius:8px;object-fit:cover;flex-shrink:0;background:#f5f5f5}
.cpt-prod{display:flex;align-items:center;gap:14px}
.cpt-name{font-size:14px;font-weight:600;color:var(--text);margin-bottom:4px;line-height:1.3}
.cpt-variant{font-size:12px;color:var(--muted)}
.cpt-price-box{display:flex;flex-direction:column;align-items:center;gap:2px}
.cpt-now{font-size:15px;font-weight:700;color:var(--gd)}
.cpt-was{font-size:11px;color:#aaa;text-decoration:line-through;background:#fff0f0;padding:1px 6px;border-radius:4px}
.cpt-qty{display:flex;align-items:center;border:1.5px solid var(--border);border-radius:8px;overflow:hidden;width:fit-content;margin:0 auto}
.cpt-qty button{width:32px;height:32px;font-size:16px;background:#f8f8f8;border:none;cursor:pointer;transition:background var(--ease);font-family:inherit;font-weight:700}
.cpt-qty button:hover{background:var(--gl);color:var(--gd)}
.cpt-qty span{width:38px;text-align:center;font-size:14px;font-weight:700}
.cpt-total{font-size:15px;font-weight:700;color:var(--gd)}
.cpt-remove{width:28px;height:28px;border-radius:50%;background:#f5f5f5;border:none;cursor:pointer;font-size:14px;color:#ccc;transition:all var(--ease);display:flex;align-items:center;justify-content:center;margin-left:auto}
.cpt-remove:hover{background:#ffe0e0;color:var(--red)}

/* Cart options */
.cart-options{padding:20px 24px;border-top:1px solid var(--border)}
.cart-opt-section{margin-bottom:20px}
.cart-opt-title{font-size:13px;font-weight:700;margin-bottom:12px;color:var(--text)}
.cart-radio-group{display:flex;flex-direction:column;gap:8px}
.cart-radio{display:flex;align-items:flex-start;gap:10px;cursor:pointer;font-size:13px;color:var(--text);padding:10px 14px;border:1.5px solid var(--border);border-radius:8px;transition:all var(--ease)}
.cart-radio:hover{border-color:var(--green);background:var(--gl)}
.cart-radio input[type=radio]{accent-color:var(--green);width:16px;height:16px;flex-shrink:0;margin-top:1px}
.cart-radio-info .rname{font-weight:600;display:block;margin-bottom:2px}
.cart-radio-info .rdesc{font-size:12px;color:var(--muted)}
.cart-radio-price{margin-left:auto;font-weight:700;color:var(--gd);flex-shrink:0;padding-top:1px}

/* ── Delivery Tile (side-by-side) ── */
.delivery-tile-group{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.delivery-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:16px 12px;border:2px solid var(--border);border-radius:10px;cursor:pointer;text-align:center;transition:all var(--ease);background:#fff;position:relative}
.delivery-tile:hover{border-color:var(--green);background:var(--gl)}
.delivery-tile.active{border-color:var(--green);background:var(--gl);box-shadow:0 0 0 3px rgba(58,125,68,.1)}
.delivery-tile.active::after{content:'✓';position:absolute;top:8px;right:10px;font-size:11px;font-weight:700;color:var(--green);background:#fff;border-radius:50%;width:18px;height:18px;display:flex;align-items:center;justify-content:center;border:1.5px solid var(--green)}
.dtile-icon{font-size:26px;line-height:1;margin-bottom:2px}
.dtile-name{font-size:14px;font-weight:700;color:var(--text)}
.dtile-desc{font-size:11px;color:var(--muted);line-height:1.4}
.dtile-price{font-size:15px;font-weight:700;color:var(--gd);margin-top:4px}
.dtile-price.free{color:var(--green)}
.cart-warn{background:#fff8e6;border:1px solid #ffe4aa;border-radius:8px;padding:10px 14px;font-size:13px;color:#8b6200;font-weight:600;display:flex;align-items:center;gap:8px;margin-bottom:14px}
.cart-order-notes textarea{width:100%;border:1.5px solid var(--border);border-radius:8px;padding:10px 14px;font-size:13px;font-family:inherit;outline:none;resize:vertical;min-height:72px;transition:border-color var(--ease)}
.cart-order-notes textarea:focus{border-color:var(--green)}
/* Cart sidebar */
.cpage-sidebar{}
.cart-summary-box{background:#fff;border-radius:12px;border:1px solid var(--border);padding:24px;margin-bottom:16px}
.cart-summary-box h3{font-family:'Playfair Display',serif;font-size:18px;margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid var(--border)}
.csb-row{display:flex;justify-content:space-between;align-items:center;font-size:14px;margin-bottom:10px;color:var(--text)}
.csb-row.muted{color:var(--muted)}
.csb-row.saving{color:var(--red);font-weight:600}
.csb-row.total{font-size:18px;font-weight:700;color:var(--gd);border-top:2px solid var(--border);padding-top:14px;margin-top:6px}
.csb-del-banner{background:#f0fff4;border:1px solid #c8e6cc;border-radius:8px;padding:10px 14px;font-size:13px;color:var(--gd);font-weight:600;margin:14px 0;display:flex;align-items:center;gap:8px}
.csb-promo{display:flex;gap:8px;margin-bottom:14px}
.csb-promo input{flex:1;border:1.5px solid var(--border);border-radius:8px;padding:10px 14px;font-size:13px;font-family:inherit;outline:none;transition:border-color var(--ease)}
.csb-promo input:focus{border-color:var(--green)}
.csb-promo button{padding:10px 16px;background:var(--gd);color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:700;cursor:pointer;font-family:inherit;white-space:nowrap}
.btn-cpage-checkout{width:100%;padding:16px;background:var(--green);color:#fff;border:none;border-radius:10px;font-size:16px;font-weight:700;cursor:pointer;transition:background var(--ease);font-family:inherit;margin-bottom:10px;display:flex;align-items:center;justify-content:center;gap:10px}
.btn-cpage-checkout:hover{background:var(--gd)}
.btn-cpage-cont{width:100%;padding:13px;border:2px solid var(--border);border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;font-family:inherit;color:var(--text);transition:all var(--ease);background:#fff}
.btn-cpage-cont:hover{border-color:var(--green);color:var(--green)}
.trust-badges{display:flex;justify-content:center;gap:14px;margin-top:14px;flex-wrap:wrap}
.tb{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--muted)}
.tb span{font-size:16px}
/* Free delivery progress on cart page */
.cdel-progress-full{background:#f0fff4;border:1px solid #c8e6cc;border-radius:10px;padding:16px;margin-bottom:16px}
.cdel-msg{font-size:13px;font-weight:700;color:var(--gd);margin-bottom:8px;display:flex;align-items:center;gap:6px}
.cdel-bar{height:10px;background:#c8e6cc;border-radius:50px;overflow:hidden;margin-bottom:6px}
.cdel-fill{height:100%;background:linear-gradient(90deg,var(--green),#6abf72);border-radius:50px;transition:width 1s ease}
.cdel-milestones{display:flex;justify-content:space-between;font-size:11px;color:var(--muted)}
/* Upsell */
.cart-upsell{background:#fff;border-radius:12px;border:1px solid var(--border);padding:20px;margin-bottom:16px}
.cart-upsell h4{font-family:'Playfair Display',serif;font-size:16px;margin-bottom:14px;color:var(--text)}
.upsell-item{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--border)}
.upsell-item:last-child{border-bottom:none;padding-bottom:0}
.upsell-img{width:56px;height:56px;border-radius:8px;object-fit:cover;flex-shrink:0;background:#f5f5f5}
.upsell-info{flex:1;min-width:0}
.upsell-name{font-size:13px;font-weight:600;margin-bottom:4px;line-height:1.3}
.upsell-price{font-size:13px;font-weight:700;color:var(--gd)}
.upsell-add{width:32px;height:32px;border-radius:50%;background:var(--gl);border:1.5px solid var(--green);color:var(--gd);font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--ease);flex-shrink:0}
.upsell-add:hover{background:var(--green);color:#fff}

/* ── Responsive for new pages ── */
@media(max-width:900px){
  .pdp-wrap{grid-template-columns:1fr}
  .pdp-gallery{position:static}
  .sp-body{grid-template-columns:1fr}
  .sp-filters{display:none}
  .cp-body{grid-template-columns:1fr}
  .cp-sidebar{display:none}
  .cpage-wrap{grid-template-columns:1fr}
}
@media(max-width:600px){
  .sp-grid,.cp-grid{grid-template-columns:repeat(2,1fr)}
  .cart-table thead{display:none}
  .cpt-prod{flex-direction:column;align-items:flex-start}
}
</style>
<style>
/* ── Shared overlay page base ── */
.zf-page{display:none;position:fixed;inset:0;z-index:6000;overflow-y:auto;background:#f5f5f0}
.zf-page.open{display:block;animation:fadeO .25s ease}
.zf-page-header{background:#fff;border-bottom:1px solid var(--border);padding:14px 24px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:10}
.zf-page-logo{font-family:'Playfair Display',serif;font-size:20px;font-weight:700;color:var(--gd);text-decoration:none}
.zf-page-logo span{color:var(--amber)}
.zf-back-btn{background:none;border:none;font-size:14px;color:var(--green);cursor:pointer;font-family:inherit;font-weight:600;display:flex;align-items:center;gap:5px}

/* ════ LOGIN / SIGNUP ════ */
.auth-wrap{min-height:calc(100vh - 60px);display:flex;align-items:center;justify-content:center;padding:40px 24px;background:linear-gradient(135deg,#f0faf2 0%,#fdf6ee 100%)}
.auth-card{background:#fff;border-radius:16px;box-shadow:0 8px 48px rgba(0,0,0,.10);width:100%;max-width:460px;overflow:hidden}
.auth-card-top{background:linear-gradient(135deg,var(--gd),var(--green));padding:32px 36px 28px;text-align:center;position:relative}
.auth-card-top::after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:20px;background:#fff;border-radius:50% 50% 0 0 / 100% 100% 0 0}
.auth-logo-badge{width:64px;height:64px;border-radius:50%;background:rgba(255,255,255,.15);border:3px solid rgba(255,255,255,.4);display:flex;align-items:center;justify-content:center;font-size:28px;margin:0 auto 14px}
.auth-title{font-family:'Playfair Display',serif;font-size:24px;color:#fff;margin-bottom:4px}
.auth-sub{font-size:13px;color:rgba(255,255,255,.8)}
.auth-body{padding:32px 36px 36px}
.auth-social{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:22px}
.auth-social-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;border:1.5px solid var(--border);border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;background:#fff;transition:all var(--ease);font-family:inherit;color:var(--text)}
.auth-social-btn:hover{border-color:var(--green);background:var(--gl)}
.auth-social-btn .si{font-size:18px}
.auth-divider{display:flex;align-items:center;gap:12px;margin-bottom:22px}
.auth-divider::before,.auth-divider::after{content:'';flex:1;height:1px;background:var(--border)}
.auth-divider span{font-size:12px;color:var(--muted);white-space:nowrap}
.auth-field{margin-bottom:16px}
.auth-field label{display:block;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--muted);margin-bottom:6px}
.auth-field input{width:100%;border:1.5px solid var(--border);border-radius:8px;padding:11px 14px;font-size:14px;font-family:inherit;outline:none;transition:border-color var(--ease);background:#fff}
.auth-field input:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(58,125,68,.08)}
.auth-field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}
.auth-pw-wrap{position:relative}
.auth-pw-wrap input{padding-right:44px}
.auth-pw-toggle{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;font-size:16px;color:var(--muted);line-height:1}
.auth-opts{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;font-size:13px}
.auth-opts label{display:flex;align-items:center;gap:6px;cursor:pointer;color:var(--text)}
.auth-opts input[type=checkbox]{accent-color:var(--green);width:15px;height:15px}
.auth-opts a{color:var(--green);font-weight:600}
.auth-opts a:hover{text-decoration:underline}
.auth-submit{width:100%;padding:13px;background:var(--green);color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:700;cursor:pointer;transition:background var(--ease);font-family:inherit;margin-bottom:16px}
.auth-submit:hover{background:var(--gd)}
.auth-switch{text-align:center;font-size:13px;color:var(--muted)}
.auth-switch a{color:var(--green);font-weight:700;cursor:pointer}
.auth-switch a:hover{text-decoration:underline}
.auth-terms{font-size:11.5px;color:var(--muted);text-align:center;line-height:1.7;margin-top:8px}
.auth-terms a{color:var(--green)}
.pw-strength{height:4px;border-radius:50px;margin-top:6px;transition:all .3s;background:#e0e0e0}
.pw-strength.weak{background:linear-gradient(90deg,var(--red) 30%,#e0e0e0 30%)}
.pw-strength.fair{background:linear-gradient(90deg,var(--amber) 60%,#e0e0e0 60%)}
.pw-strength.strong{background:linear-gradient(90deg,var(--green) 100%,#e0e0e0 0%)}

/* ════ MY ACCOUNT ════ */
.account-wrap{max-width:1200px;margin:0 auto;padding:32px 24px;display:grid;grid-template-columns:260px 1fr;gap:28px;align-items:start}
/* Sidebar */
.acct-sidebar{background:#fff;border-radius:12px;border:1px solid var(--border);overflow:hidden;position:sticky;top:80px}
.acct-profile-card{background:linear-gradient(135deg,var(--gd),var(--green));padding:24px;text-align:center}
.acct-avatar{width:72px;height:72px;border-radius:50%;background:rgba(255,255,255,.2);border:3px solid rgba(255,255,255,.5);display:flex;align-items:center;justify-content:center;font-size:28px;margin:0 auto 12px;font-weight:700;color:#fff;font-family:'Playfair Display',serif}
.acct-name{font-size:15px;font-weight:700;color:#fff;margin-bottom:2px}
.acct-email-sm{font-size:12px;color:rgba(255,255,255,.75)}
.acct-member-badge{display:inline-flex;align-items:center;gap:5px;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.3);border-radius:20px;padding:3px 10px;font-size:11px;color:#fff;margin-top:8px}
.acct-nav{padding:8px 0}
.acct-nav-item{display:flex;align-items:center;gap:12px;padding:12px 20px;font-size:13.5px;font-weight:500;color:var(--text);cursor:pointer;transition:all var(--ease);border-left:3px solid transparent}
.acct-nav-item:hover{background:#fafaf8;color:var(--green)}
.acct-nav-item.active{background:var(--gl);color:var(--gd);font-weight:700;border-left-color:var(--green)}
.acct-nav-item .ni{font-size:18px;flex-shrink:0}
.acct-nav-item .nbadge{margin-left:auto;background:var(--red);color:#fff;font-size:10px;font-weight:700;width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center}
.acct-nav-divider{height:1px;background:var(--border);margin:6px 16px}
/* Main content panel */
.acct-panel{display:none}
.acct-panel.active{display:block;animation:fadeO .2s ease}
.acct-panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;flex-wrap:wrap;gap:12px}
.acct-panel-title{font-family:'Playfair Display',serif;font-size:22px;color:var(--text)}
.acct-edit-btn{display:flex;align-items:center;gap:6px;padding:8px 18px;border:1.5px solid var(--green);border-radius:8px;color:var(--green);font-size:13px;font-weight:700;cursor:pointer;background:#fff;font-family:inherit;transition:all var(--ease)}
.acct-edit-btn:hover{background:var(--green);color:#fff}
.acct-save-btn{padding:8px 18px;border-radius:8px;background:var(--green);color:#fff;border:none;font-size:13px;font-weight:700;cursor:pointer;font-family:inherit;transition:background var(--ease)}
.acct-save-btn:hover{background:var(--gd)}
/* Stats row */
.acct-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:24px}
.acct-stat{background:#fff;border-radius:10px;border:1px solid var(--border);padding:18px 20px;text-align:center}
.acct-stat .n{font-size:28px;font-weight:700;color:var(--gd);font-family:'Playfair Display',serif}
.acct-stat .l{font-size:12px;color:var(--muted);margin-top:2px}
/* Orders */
.order-card{background:#fff;border-radius:10px;border:1px solid var(--border);margin-bottom:14px;overflow:hidden;transition:box-shadow var(--ease)}
.order-card:hover{box-shadow:0 4px 20px rgba(0,0,0,.08)}
.order-card-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border);flex-wrap:wrap;gap:10px}
.order-id{font-size:14px;font-weight:700;color:var(--gd)}
.order-date{font-size:12px;color:var(--muted)}
.order-status{display:inline-flex;align-items:center;gap:5px;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:700}
.os-delivered{background:#e8f5e9;color:#2e7d32}
.os-processing{background:#fff8e1;color:#f57f17}
.os-shipped{background:#e3f2fd;color:#1565c0}
.os-cancelled{background:#ffebee;color:#c62828}
.order-card-body{padding:16px 20px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.order-imgs{display:flex;gap:-8px}
.order-img-stack{display:flex}
.order-img-stack img{width:48px;height:48px;border-radius:8px;object-fit:cover;border:2px solid #fff;margin-left:-8px;background:#f5f5f5}
.order-img-stack img:first-child{margin-left:0}
.order-info{flex:1;min-width:0}
.order-items-summary{font-size:13px;color:var(--text);font-weight:600;margin-bottom:3px}
.order-total-line{font-size:13px;color:var(--muted)}
.order-total-line strong{color:var(--gd)}
.order-actions{display:flex;gap:8px;margin-left:auto}
.order-btn{padding:7px 16px;border-radius:6px;font-size:12.5px;font-weight:700;cursor:pointer;font-family:inherit;transition:all var(--ease)}
.order-btn-outline{border:1.5px solid var(--border);background:#fff;color:var(--text)}
.order-btn-outline:hover{border-color:var(--green);color:var(--green)}
.order-btn-solid{border:none;background:var(--green);color:#fff}
.order-btn-solid:hover{background:var(--gd)}
/* Address cards */
.address-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}
.address-card{background:#fff;border-radius:10px;border:2px solid var(--border);padding:20px;position:relative;transition:border-color var(--ease)}
.address-card.default-addr{border-color:var(--green)}
.addr-default-badge{position:absolute;top:12px;right:12px;background:var(--green);color:#fff;font-size:10px;font-weight:700;padding:2px 8px;border-radius:20px}
.addr-type{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--muted);margin-bottom:8px;display:flex;align-items:center;gap:6px}
.addr-name{font-size:15px;font-weight:700;color:var(--text);margin-bottom:6px}
.addr-lines{font-size:13.5px;color:var(--muted);line-height:1.7}
.addr-actions{display:flex;gap:8px;margin-top:14px;padding-top:14px;border-top:1px solid var(--border)}
.addr-action-btn{font-size:12px;font-weight:700;cursor:pointer;background:none;border:none;font-family:inherit;transition:color var(--ease);padding:0}
.addr-action-btn.edit{color:var(--green)}
.addr-action-btn.edit:hover{text-decoration:underline}
.addr-action-btn.del{color:var(--muted)}
.addr-action-btn.del:hover{color:var(--red)}
.addr-add-card{border:2px dashed var(--border);border-radius:10px;padding:20px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;cursor:pointer;transition:all var(--ease);background:#fafaf8;min-height:160px}
.addr-add-card:hover{border-color:var(--green);background:var(--gl)}
.addr-add-icon{width:44px;height:44px;border-radius:50%;background:var(--gl);display:flex;align-items:center;justify-content:center;font-size:22px;color:var(--green)}
.addr-add-text{font-size:13px;font-weight:700;color:var(--green)}
/* Profile form */
.profile-form{background:#fff;border-radius:12px;border:1px solid var(--border);padding:28px}
.pf-section{margin-bottom:28px;padding-bottom:28px;border-bottom:1px solid var(--border)}
.pf-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}
.pf-section-title{font-size:14px;font-weight:700;color:var(--text);margin-bottom:18px;display:flex;align-items:center;gap:8px}
.pf-section-title .pfi{font-size:18px}
.pf-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
.pf-row.one{grid-template-columns:1fr}
.pf-field{display:flex;flex-direction:column;gap:5px}
.pf-field label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--muted)}
.pf-field input,.pf-field select,.pf-field textarea{border:1.5px solid var(--border);border-radius:8px;padding:10px 14px;font-size:14px;font-family:inherit;outline:none;transition:border-color var(--ease);background:#fff}
.pf-field input:focus,.pf-field select:focus,.pf-field textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(58,125,68,.07)}
.pf-field input:disabled,.pf-field select:disabled{background:#f8f8f8;color:var(--muted);cursor:not-allowed}
.pf-avatar-row{display:flex;align-items:center;gap:20px;margin-bottom:20px}
.pf-avatar{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,var(--green),var(--gd));display:flex;align-items:center;justify-content:center;font-size:32px;color:#fff;font-family:'Playfair Display',serif;font-weight:700;flex-shrink:0}
.pf-avatar-actions{display:flex;flex-direction:column;gap:8px}
.pf-avatar-upload{padding:8px 16px;border:1.5px solid var(--green);border-radius:6px;color:var(--green);font-size:13px;font-weight:600;cursor:pointer;background:#fff;font-family:inherit;transition:all var(--ease)}
.pf-avatar-upload:hover{background:var(--green);color:#fff}
.pf-avatar-hint{font-size:11px;color:var(--muted)}

/* ════ ORDER CONFIRMATION ════ */
.conf-page{display:none;position:fixed;inset:0;z-index:6000;overflow-y:auto;background:#f5f5f0}
.conf-page.open{display:block;animation:fadeO .3s ease}
.conf-header{background:#fff;border-bottom:1px solid var(--border);padding:14px 24px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:10}
.conf-wrap{max-width:760px;margin:0 auto;padding:40px 24px}
.conf-hero{text-align:center;margin-bottom:40px}
.conf-check-anim{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,var(--green),#6abf72);display:flex;align-items:center;justify-content:center;font-size:36px;margin:0 auto 20px;box-shadow:0 8px 32px rgba(58,125,68,.3);animation:confPop .5s cubic-bezier(.175,.885,.32,1.275)}
@keyframes confPop{from{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}
.conf-title{font-family:'Playfair Display',serif;font-size:32px;color:var(--gd);margin-bottom:8px}
.conf-sub{font-size:15px;color:var(--muted);margin-bottom:18px}
.conf-email-notice{display:inline-flex;align-items:center;gap:8px;background:var(--gl);border:1px solid #c8e6cc;border-radius:8px;padding:8px 16px;font-size:13px;color:var(--gd);font-weight:600}
.conf-order-id-banner{background:#fff;border-radius:12px;border:2px solid var(--green);padding:20px 24px;margin-bottom:24px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}
.conf-oid-label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--muted)}
.conf-oid-val{font-family:'Playfair Display',serif;font-size:24px;font-weight:700;color:var(--gd)}
.conf-oid-date{font-size:12px;color:var(--muted);margin-top:3px}
.conf-oid-copy{padding:8px 16px;border:1.5px solid var(--border);border-radius:6px;font-size:12px;font-weight:700;cursor:pointer;background:#fff;color:var(--text);font-family:inherit;transition:all var(--ease);display:flex;align-items:center;gap:5px}
.conf-oid-copy:hover{border-color:var(--green);color:var(--green)}
.conf-section{background:#fff;border-radius:12px;border:1px solid var(--border);margin-bottom:18px;overflow:hidden}
.conf-section-head{padding:16px 20px;border-bottom:1px solid var(--border);font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--muted);display:flex;align-items:center;gap:8px}
.conf-section-head .csh-icon{font-size:16px}
/* Order items */
.conf-item{display:flex;align-items:center;gap:14px;padding:14px 20px;border-bottom:1px solid var(--border)}
.conf-item:last-child{border-bottom:none}
.conf-item-img{width:64px;height:64px;border-radius:8px;object-fit:cover;flex-shrink:0;background:#f5f5f5}
.conf-item-info{flex:1}
.conf-item-name{font-size:14px;font-weight:600;color:var(--text);margin-bottom:3px}
.conf-item-var{font-size:12px;color:var(--muted)}
.conf-item-qty{font-size:12px;color:var(--muted);margin-top:2px}
.conf-item-price{font-size:15px;font-weight:700;color:var(--gd);flex-shrink:0}
/* Totals */
.conf-totals{padding:16px 20px}
.conf-total-row{display:flex;justify-content:space-between;font-size:14px;margin-bottom:8px;color:var(--text)}
.conf-total-row.muted{color:var(--muted)}
.conf-total-row.saving{color:var(--red);font-weight:600}
.conf-total-row.grand{font-size:18px;font-weight:700;color:var(--gd);border-top:2px solid var(--border);padding-top:12px;margin-top:4px}
/* Info grid */
.conf-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:0}
.conf-info-block{padding:18px 20px}
.conf-info-block:first-child{border-right:1px solid var(--border)}
.conf-info-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--muted);margin-bottom:8px}
.conf-info-text{font-size:13.5px;color:var(--text);line-height:1.7}
.conf-info-text strong{display:block;font-weight:700;margin-bottom:2px}
/* Tracking */
.conf-tracking{padding:20px}
.conf-track-steps{display:flex;align-items:flex-start;gap:0;position:relative}
.conf-track-steps::before{content:'';position:absolute;top:20px;left:20px;right:20px;height:2px;background:var(--border);z-index:0}
.conf-track-step{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;position:relative;z-index:1}
.cts-dot{width:40px;height:40px;border-radius:50%;border:2px solid var(--border);background:#fff;display:flex;align-items:center;justify-content:center;font-size:16px;transition:all .3s}
.conf-track-step.done .cts-dot{background:var(--green);border-color:var(--green);color:#fff}
.conf-track-step.active .cts-dot{background:#fff;border-color:var(--green);box-shadow:0 0 0 4px rgba(58,125,68,.15)}
.cts-label{font-size:12px;font-weight:600;color:var(--text)}
.cts-date{font-size:11px;color:var(--muted)}
.conf-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:28px}
.conf-action-btn{padding:14px;border-radius:10px;font-size:14px;font-weight:700;cursor:pointer;font-family:inherit;text-align:center;transition:all var(--ease)}
.conf-action-primary{background:var(--green);color:#fff;border:none}
.conf-action-primary:hover{background:var(--gd)}
.conf-action-secondary{background:#fff;color:var(--text);border:2px solid var(--border)}
.conf-action-secondary:hover{border-color:var(--green);color:var(--green)}

/* ── Responsive ── */
@media(max-width:900px){
  .account-wrap{grid-template-columns:1fr}
  .acct-sidebar{position:static}
  .address-grid{grid-template-columns:1fr}
  .pf-row{grid-template-columns:1fr}
  .conf-info-grid{grid-template-columns:1fr}
  .conf-info-block:first-child{border-right:none;border-bottom:1px solid var(--border)}
  .conf-actions{grid-template-columns:1fr}
  .acct-stats{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:540px){
  .auth-body{padding:24px 20px 28px}
  .auth-card-top{padding:24px 20px 22px}
  .auth-field-row{grid-template-columns:1fr}
  .auth-social{grid-template-columns:1fr}
  .conf-track-steps{flex-direction:column;gap:12px}
  .conf-track-steps::before{display:none}
  .acct-stats{grid-template-columns:1fr 1fr}
}
/* ── Reset ── */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'DM Sans',sans-serif;color:#2b2b2b;background:#fff;overflow-x:hidden}
a{text-decoration:none;color:inherit}ul{list-style:none}img{max-width:100%;display:block}
button{cursor:pointer;border:none;background:none;font-family:inherit}

:root{
  --green:#3a7d44;--gd:#2c5f34;--gl:#e8f5eb;
  --amber:#e07b39;--red:#d94f3d;
  --cream:#fdf6ee;--cream2:#f5ede0;
  --text:#2b2b2b;--muted:#6b7280;
  --border:#ededed;--r:10px;
  --shadow:0 4px 24px rgba(0,0,0,0.09);
  --ease:0.28s cubic-bezier(.4,0,.2,1);
}

/* ── Promo Topbar ── */
.promo-bar{background:var(--gd);color:#fff;font-size:13px;font-weight:500;text-align:center;padding:9px 24px;position:relative}
.promo-bar .close-bar{position:absolute;right:16px;top:50%;transform:translateY(-50%);font-size:18px;cursor:pointer;opacity:.7}
.promo-bar .close-bar:hover{opacity:1}

/* ── Delivery Bar ── */
.del-bar{background:#fff7f0;border-bottom:2px solid #ffe4cc;padding:10px 24px;text-align:center;font-size:13px}
.del-bar .wrap{max-width:1280px;margin:0 auto;display:flex;align-items:center;gap:16px;flex-wrap:wrap;justify-content:center}
.del-msg{font-weight:600;color:var(--gd);white-space:nowrap}
.del-track{flex:1;max-width:340px;height:8px;background:#e0e0e0;border-radius:50px;overflow:hidden}
.del-fill{height:100%;background:linear-gradient(90deg,var(--green),#6abf72);border-radius:50px}
.del-perk{font-size:12px;color:var(--amber);font-weight:600;white-space:nowrap}

/* ── Header ── */
.header{background:#fff;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:900;box-shadow:0 2px 12px rgba(0,0,0,0.05)}
.header .wrap{max-width:1280px;margin:0 auto;padding:13px 24px;display:flex;align-items:center;gap:16px}
.logo{font-family:'Playfair Display',serif;font-size:24px;font-weight:700;color:var(--gd);white-space:nowrap;flex-shrink:0}
.logo span{color:var(--amber)}
.search-wrap{flex:1;max-width:480px;display:flex;border:1.5px solid var(--border);border-radius:50px;overflow:hidden;transition:border-color var(--ease)}
.search-wrap:focus-within{border-color:var(--green)}
.s-cat{background:#f7f7f7;border:none;outline:none;padding:0 12px;font-size:12px;color:var(--muted);font-family:inherit;border-right:1px solid var(--border);cursor:pointer}
.s-inp{flex:1;border:none;outline:none;padding:10px 14px;font-size:13.5px;font-family:inherit}
.s-go{background:var(--green);color:#fff;border:none;padding:0 16px;font-size:14px;cursor:pointer;display:flex;align-items:center;transition:background var(--ease)}
.s-go:hover{background:var(--gd)}
.h-right{display:flex;align-items:center;gap:8px;margin-left:auto;flex-shrink:0}
.auth-l{font-size:12.5px;color:var(--muted);white-space:nowrap}
.hbtn{position:relative;width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#f5f5f5;cursor:pointer;transition:background var(--ease);font-size:17px;border:none}
.hbtn:hover{background:var(--gl)}
.hbadge{position:absolute;top:1px;right:1px;background:var(--red);color:#fff;font-size:9px;font-weight:700;width:16px;height:16px;border-radius:50%;display:flex;align-items:center;justify-content:center}

/* ── Navbar ── */
.navbar{background:var(--green)}
.navbar .wrap{max-width:1280px;margin:0 auto;padding:0 24px;display:flex;align-items:stretch}
.cat-btn{background:var(--gd);color:#fff;padding:0 18px;font-size:13.5px;font-weight:600;display:flex;align-items:center;gap:9px;cursor:pointer;border:none;font-family:inherit;white-space:nowrap}
.nav-links{display:flex;align-items:stretch;flex:1}
.ni{position:relative}
.nl{display:flex;align-items:center;gap:4px;padding:13px 16px;color:rgba(255,255,255,.92);font-size:13.5px;font-weight:500;white-space:nowrap;height:100%}
.ni:hover>.nl{background:rgba(255,255,255,.12)}
.ndrop{display:none;position:absolute;top:100%;left:0;background:#fff;border:1px solid var(--border);border-radius:0 0 8px 8px;min-width:180px;box-shadow:var(--shadow);z-index:999;padding:5px 0}
.ni:hover .ndrop{display:block}
.ndrop a{display:block;padding:9px 18px;font-size:13px;color:var(--text);transition:background var(--ease)}
.ndrop a:hover{background:var(--gl);color:var(--gd)}

/* ── Breadcrumb ── */
.breadcrumb{background:#f9f9f9;border-bottom:1px solid var(--border);padding:10px 0}
.breadcrumb .wrap{max-width:1280px;margin:0 auto;padding:0 24px;display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--muted)}
.breadcrumb a{color:var(--muted);transition:color var(--ease)}
.breadcrumb a:hover{color:var(--green)}
.breadcrumb .sep{color:#ccc}
.breadcrumb .cur{color:var(--text);font-weight:500}

/* ══════════════════════════════
   PDP LAYOUT
══════════════════════════════ */
.pdp{padding:40px 0 60px;background:#fff}
.pdp .wrap{max-width:1280px;margin:0 auto;padding:0 24px}
.pdp-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}

/* ── Gallery ── */
.gallery{position:sticky;top:90px}
.gallery-main{position:relative;border-radius:14px;overflow:hidden;background:#f8f8f6;aspect-ratio:1;margin-bottom:12px;border:1px solid var(--border)}
.gallery-main img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.gallery-main:hover img{transform:scale(1.03)}
.gal-badges{position:absolute;top:14px;left:14px;display:flex;flex-direction:column;gap:6px;z-index:2}
.gb-sale{background:var(--red);color:#fff;font-size:11px;font-weight:700;padding:4px 10px;border-radius:4px}
.gb-badge{background:var(--green);color:#fff;font-size:11px;font-weight:700;padding:4px 10px;border-radius:4px}
.gal-zoom{position:absolute;bottom:14px;right:14px;width:36px;height:36px;background:rgba(255,255,255,.9);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;cursor:pointer;border:1px solid var(--border);transition:all var(--ease)}
.gal-zoom:hover{background:var(--green);color:#fff}
.gallery-thumbs{display:flex;gap:10px}
.gal-thumb{flex:1;aspect-ratio:1;border-radius:8px;overflow:hidden;cursor:pointer;border:2px solid transparent;transition:border-color var(--ease);background:#f0f0ec}
.gal-thumb.active{border-color:var(--green)}
.gal-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.gal-thumb:hover img{transform:scale(1.08)}
.carbon-note{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--muted);margin-top:14px;padding:10px 14px;background:#f0faf2;border-radius:8px;border:1px solid #c8e6cc}
.carbon-icon{font-size:20px;flex-shrink:0}

/* ── Product Info ── */
.pdp-info{}
.pdp-meta{display:flex;align-items:center;gap:10px;margin-bottom:8px;flex-wrap:wrap}
.pdp-cat{font-size:11px;color:var(--green);font-weight:700;text-transform:uppercase;letter-spacing:.5px}
.pdp-badge{font-size:10px;font-weight:700;padding:3px 9px;border-radius:3px;background:var(--gl);color:var(--gd)}
.pdp-badge.sale{background:#fff0f0;color:var(--red)}
.pdp-name{font-family:'Playfair Display',serif;font-size:clamp(24px,3vw,34px);color:var(--text);line-height:1.2;margin-bottom:10px}
.pdp-stars{display:flex;align-items:center;gap:8px;margin-bottom:16px}
.stars{color:#f5a623;font-size:14px;letter-spacing:1px}
.review-count{font-size:13px;color:var(--muted)}
.review-link{color:var(--green);font-size:13px;text-decoration:underline;cursor:pointer}

/* Price */
.pdp-price-block{display:flex;align-items:baseline;gap:12px;margin-bottom:6px;flex-wrap:wrap}
.pdp-price-now{font-size:36px;font-weight:700;color:var(--gd)}
.pdp-price-old{font-size:16px;color:#999;text-decoration:line-through;background:#fff0f0;padding:3px 8px;border-radius:5px}
.pdp-save{font-size:12px;font-weight:700;color:#fff;background:var(--red);padding:4px 10px;border-radius:4px}
.pdp-per{font-size:12.5px;color:var(--muted);margin-bottom:18px}

/* Variant */
.pdp-section-label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1.2px;color:var(--text);margin-bottom:10px}
.pdp-variants{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}
.pv-btn{padding:9px 16px;border-radius:8px;border:2px solid var(--border);font-size:13px;font-weight:600;cursor:pointer;transition:all var(--ease);font-family:inherit;background:#fff;color:var(--text);text-align:center}
.pv-btn .pv-weight{display:block;font-size:15px;color:var(--text)}
.pv-btn .pv-price{display:block;font-size:11.5px;color:var(--muted);margin-top:2px}
.pv-btn.active,.pv-btn:hover{border-color:var(--green);background:var(--gl)}
.pv-btn.active .pv-weight,.pv-btn:hover .pv-weight{color:var(--gd)}
.pv-btn.active .pv-price,.pv-btn:hover .pv-price{color:var(--green)}

/* Qty + ATC */
.pdp-buy-row{display:flex;gap:12px;align-items:center;margin-bottom:14px}
.qty-ctrl{display:flex;align-items:center;border:1.5px solid var(--border);border-radius:8px;overflow:hidden;flex-shrink:0}
.qty-ctrl button{width:40px;height:48px;font-size:20px;background:#f5f5f5;border:none;cursor:pointer;transition:background var(--ease);font-family:inherit;color:var(--text)}
.qty-ctrl button:hover{background:var(--gl);color:var(--gd)}
.qty-ctrl span{width:48px;text-align:center;font-size:16px;font-weight:600}
.atc-btn{flex:1;padding:14px 24px;background:var(--green);color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:700;cursor:pointer;transition:all var(--ease);font-family:inherit;display:flex;align-items:center;justify-content:center;gap:8px}
.atc-btn:hover{background:var(--gd);transform:translateY(-1px);box-shadow:0 6px 20px rgba(58,125,68,.3)}
.atc-btn:active{transform:translateY(0)}
.wish-btn{width:48px;height:48px;border-radius:8px;border:1.5px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:20px;cursor:pointer;transition:all var(--ease);background:#fff;flex-shrink:0}
.wish-btn:hover{border-color:var(--red);color:var(--red);background:#fff0f0}
.wish-btn.active{border-color:var(--red);color:var(--red);background:#fff0f0}

/* Subscribe & Save */
.sub-save-box{border:2px solid var(--amber);border-radius:10px;padding:14px 16px;margin-bottom:22px;display:flex;align-items:center;gap:12px;cursor:pointer;transition:background var(--ease)}
.sub-save-box:hover{background:#fff8f0}
.sub-save-check{width:20px;height:20px;border-radius:50%;border:2px solid var(--amber);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:11px;color:#fff;background:var(--amber)}
.sub-save-text .line1{font-size:13.5px;font-weight:700;color:var(--text)}
.sub-save-text .line2{font-size:12px;color:var(--muted)}
.sub-save-pill{margin-left:auto;background:var(--amber);color:#fff;font-size:11px;font-weight:700;padding:4px 10px;border-radius:20px;white-space:nowrap;flex-shrink:0}

/* Trust box */
.trust-box{border:1px solid var(--border);border-radius:10px;overflow:hidden;margin-bottom:20px}
.trust-item{display:flex;align-items:center;gap:14px;padding:14px 16px;border-bottom:1px solid var(--border);font-size:13.5px;transition:background var(--ease);cursor:default}
.trust-item:last-child{border-bottom:none}
.trust-item:hover{background:#fafafa}
.trust-item.link-item{cursor:pointer}
.trust-item.link-item:hover{background:var(--gl)}
.trust-item.link-item .trust-label{color:var(--green);text-decoration:underline;font-weight:500}
.trust-icon{font-size:22px;width:32px;text-align:center;flex-shrink:0}

/* Share */
.share-row{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--muted);margin-bottom:28px}
.share-icon{font-size:18px}
.share-btns{display:flex;gap:6px}
.share-btn{width:32px;height:32px;border-radius:50%;background:#f5f5f5;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:13px;cursor:pointer;transition:all var(--ease)}
.share-btn:hover{background:var(--green);color:#fff;border-color:var(--green)}

/* Delivery estimate */
.del-estimate{background:#f0faf2;border:1px solid #c8e6cc;border-radius:8px;padding:12px 16px;font-size:13px;color:var(--gd);font-weight:600;margin-bottom:22px;display:flex;align-items:center;gap:8px}

/* ── Tabs ── */
.pdp-tabs{border-top:2px solid var(--border);margin-top:48px;padding-top:36px}
.pdp-tabs .wrap{max-width:1280px;margin:0 auto;padding:0 24px}
.tabs-nav{display:flex;border-bottom:2px solid var(--border);gap:0;margin-bottom:32px;overflow-x:auto}
.tab-btn{padding:12px 22px;font-size:14px;font-weight:600;color:var(--muted);border:none;background:none;cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-2px;transition:all var(--ease);white-space:nowrap;font-family:inherit}
.tab-btn.active{color:var(--gd);border-bottom-color:var(--green)}
.tab-btn:hover{color:var(--text)}
.tab-panel{display:none;animation:fadeIn .3s ease}
.tab-panel.active{display:block}
@keyframes fadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}

/* Description tab */
.desc-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}
.desc-body{font-size:14.5px;color:var(--muted);line-height:1.8}
.desc-body p{margin-bottom:14px}
.desc-body strong{color:var(--text)}
.desc-highlights{display:flex;flex-direction:column;gap:10px}
.desc-hl{display:flex;align-items:start;gap:10px;padding:12px 14px;background:#f9f9f7;border-radius:8px;border:1px solid var(--border)}
.desc-hl-icon{font-size:18px;flex-shrink:0;margin-top:1px}
.desc-hl-text{font-size:13px;color:var(--text);line-height:1.5}
.desc-hl-text strong{display:block;margin-bottom:2px;font-size:13.5px}

/* Nutrition tab */
.nutrition-wrap{max-width:480px}
.nutrition-title{font-family:'Playfair Display',serif;font-size:18px;margin-bottom:4px}
.nutrition-sub{font-size:12.5px;color:var(--muted);margin-bottom:16px}
.nutrition-table{width:100%;border-collapse:collapse;font-size:13.5px}
.nutrition-table th{text-align:left;padding:10px 14px;background:#f5f5f5;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--muted)}
.nutrition-table td{padding:10px 14px;border-bottom:1px solid var(--border)}
.nutrition-table tr:last-child td{border-bottom:none}
.nutrition-table tr:nth-child(even) td{background:#fafafa}
.nutrition-table .bold td{font-weight:700;color:var(--text)}

/* Reviews tab */
.review-summary{display:flex;align-items:center;gap:32px;padding:24px;background:#f9f9f7;border-radius:10px;border:1px solid var(--border);margin-bottom:24px}
.review-avg{text-align:center;flex-shrink:0}
.review-avg .num{font-family:'Playfair Display',serif;font-size:52px;color:var(--gd);line-height:1}
.review-avg .stars-lg{color:#f5a623;font-size:20px;letter-spacing:2px}
.review-avg .count{font-size:12px;color:var(--muted);margin-top:4px}
.review-bars{flex:1}
.rbar-row{display:flex;align-items:center;gap:10px;margin-bottom:6px;font-size:13px}
.rbar-label{width:28px;text-align:right;font-weight:600;color:var(--muted)}
.rbar-track{flex:1;height:8px;background:#e0e0e0;border-radius:50px;overflow:hidden}
.rbar-fill{height:100%;background:#f5a623;border-radius:50px}
.rbar-pct{width:36px;font-size:12px;color:var(--muted)}
.reviews-list{display:flex;flex-direction:column;gap:20px}
.review-card{padding:20px;border:1px solid var(--border);border-radius:10px;background:#fff}
.rv-head{display:flex;align-items:center;gap:12px;margin-bottom:8px}
.rv-avatar{width:38px;height:38px;border-radius:50%;background:var(--gl);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:var(--gd);flex-shrink:0}
.rv-name{font-size:14px;font-weight:700}
.rv-date{font-size:12px;color:var(--muted)}
.rv-stars{color:#f5a623;font-size:13px;margin-bottom:6px}
.rv-verified{font-size:11px;color:var(--green);font-weight:600;display:flex;align-items:center;gap:3px}
.rv-body{font-size:13.5px;color:var(--muted);line-height:1.7;margin-bottom:10px}
.rv-helpful{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:6px}
.rv-helpful button{font-size:12px;color:var(--muted);border:1px solid var(--border);border-radius:4px;padding:2px 8px;cursor:pointer;transition:all var(--ease);font-family:inherit;background:#fff}
.rv-helpful button:hover{border-color:var(--green);color:var(--green)}

/* ── You May Also Like ── */
.also-like{padding:52px 0;border-top:1px solid var(--border);background:#fafafa}
.also-like .wrap{max-width:1280px;margin:0 auto;padding:0 24px}
.sec-head{text-align:center;margin-bottom:30px}
.sec-tag{font-size:10.5px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--green);display:block;margin-bottom:6px}
.sec-title{font-family:'Playfair Display',serif;font-size:clamp(22px,3vw,30px);color:var(--text)}
.pg{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.pc{background:#fff;border-radius:var(--r);border:1px solid var(--border);overflow:hidden;transition:transform var(--ease),box-shadow var(--ease);position:relative}
.pc:hover{transform:translateY(-5px);box-shadow:0 12px 32px rgba(0,0,0,.10)}
.pi{position:relative;aspect-ratio:1;overflow:hidden;background:#f8f8f6;cursor:pointer}
.pi .im{width:100%;height:100%;object-fit:cover;transition:opacity .4s,transform .5s}
.pbadges{position:absolute;top:10px;left:10px;display:flex;flex-direction:column;gap:4px;z-index:2}
.b-sale{background:var(--red);color:#fff;font-size:10px;font-weight:700;padding:3px 8px;border-radius:3px}
.b-new{background:var(--green);color:#fff;font-size:10px;font-weight:700;padding:3px 8px;border-radius:3px}
.pactions{position:absolute;right:10px;top:10px;display:flex;flex-direction:column;gap:6px;opacity:0;transform:translateX(12px);transition:all var(--ease);z-index:2}
.pc:hover .pactions{opacity:1;transform:translateX(0)}
.ab{width:34px;height:34px;border-radius:50%;background:#fff;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:14px;cursor:pointer;box-shadow:0 2px 6px rgba(0,0,0,.07);transition:all var(--ease)}
.ab:hover{background:var(--green);color:#fff;border-color:var(--green)}
.pinfo{padding:14px}
.pcat{font-size:10.5px;color:var(--green);font-weight:700;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}
.pname{font-size:14px;font-weight:600;margin-bottom:8px;line-height:1.4;display:block;transition:color var(--ease);cursor:pointer}
.pname:hover{color:var(--green)}
.variants{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:10px}
.vbtn{padding:4px 9px;border-radius:4px;font-size:11px;font-weight:600;border:1.5px solid var(--border);color:var(--muted);background:#fff;cursor:pointer;transition:all var(--ease);font-family:inherit}
.vbtn.active,.vbtn:hover{border-color:var(--green);color:var(--green);background:var(--gl)}
.pp{display:flex;align-items:center;gap:8px;margin-bottom:10px}
.pnew{font-size:17px;font-weight:700;color:var(--gd)}
.pold{font-size:12px;color:#999;text-decoration:line-through;background:#fff0f0;padding:2px 6px;border-radius:4px;font-weight:500}
.cartbtn{width:100%;padding:9px;border-radius:6px;background:var(--gl);color:var(--gd);font-size:12.5px;font-weight:700;cursor:pointer;border:none;font-family:inherit;transition:all var(--ease)}
.cartbtn:hover{background:var(--green);color:#fff}

/* ── Footer ── */
.features{background:#fff;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.features .wrap{max-width:1280px;margin:0 auto;padding:0 24px;display:grid;grid-template-columns:repeat(4,1fr)}
.feat{display:flex;align-items:center;gap:14px;padding:22px 18px;border-right:1px solid var(--border)}
.feat:last-child{border-right:none}
.feat-icon{font-size:28px;flex-shrink:0}
.feat-title{font-size:13.5px;font-weight:700;margin-bottom:2px}
.feat-desc{font-size:12px;color:var(--muted);line-height:1.5}
.footer{background:#1a2e1e;color:rgba(255,255,255,.75);padding:52px 0 0}
.footer .wrap{max-width:1280px;margin:0 auto;padding:0 24px}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.5fr;gap:40px;padding-bottom:40px}
.f-logo{font-family:'Playfair Display',serif;font-size:24px;font-weight:700;color:#fff;margin-bottom:12px}
.f-logo span{color:var(--amber)}
.f-about{font-size:13px;line-height:1.75;margin-bottom:16px}
.f-h{font-size:14px;font-weight:700;color:#fff;margin-bottom:14px}
.f-links{display:flex;flex-direction:column;gap:8px}
.f-links a{font-size:13px;color:rgba(255,255,255,.6);transition:color var(--ease)}
.f-links a:hover{color:#fff}
.f-social{display:flex;gap:10px;margin-top:16px}
.soc{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;font-size:14px;cursor:pointer;transition:background var(--ease)}
.soc:hover{background:var(--green)}
.fbot{border-top:1px solid rgba(255,255,255,.1);padding:18px 24px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;max-width:1280px;margin:0 auto}
.fcopy{font-size:12px;color:rgba(255,255,255,.4)}
.pay-row{display:flex;gap:8px}
.pay{background:rgba(255,255,255,.12);border-radius:4px;padding:4px 10px;font-size:11px;font-weight:700;color:rgba(255,255,255,.75)}

/* ── Toast ── */
.toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%) translateY(100px);background:#1a2e1e;color:#fff;padding:14px 24px;border-radius:50px;font-size:14px;font-weight:600;z-index:9999;transition:transform .4s cubic-bezier(.34,1.56,.64,1);display:flex;align-items:center;gap:10px;box-shadow:0 8px 30px rgba(0,0,0,.25)}
.toast.show{transform:translateX(-50%) translateY(0)}

/* ── Sticky Buy Bar (mobile) ── */
.sticky-buy{display:none;position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--border);padding:12px 20px;z-index:800;box-shadow:0 -4px 20px rgba(0,0,0,.08)}
.sticky-buy-inner{display:flex;align-items:center;gap:12px;max-width:1280px;margin:0 auto}
.sticky-buy-info{flex:1}
.sticky-buy-name{font-size:14px;font-weight:700;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sticky-buy-price{font-size:18px;font-weight:700;color:var(--gd)}
.sticky-atc{padding:12px 24px;background:var(--green);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:700;cursor:pointer;font-family:inherit;white-space:nowrap}
.sticky-atc:hover{background:var(--gd)}

/* ── Responsive ── */
@media(max-width:1100px){.pdp-grid{gap:36px}.pg{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.pdp-grid{grid-template-columns:1fr}.gallery{position:static}.desc-grid{grid-template-columns:1fr}.sticky-buy{display:block}}
@media(max-width:768px){.pg{grid-template-columns:repeat(2,1fr)}.features .wrap{grid-template-columns:1fr 1fr}.feat{border-right:none;border-bottom:1px solid var(--border)}.footer-grid{grid-template-columns:1fr}.nav-links{display:none}.s-cat{display:none}}
@media(max-width:540px){.pg{grid-template-columns:repeat(2,1fr);gap:12px}.review-summary{flex-direction:column;gap:20px}}
