/* ─────────────────────────────────────────────────────────
   CozyPaw — shared stylesheet
   Used by every page in the site.
   ───────────────────────────────────────────────────────── */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

:root{
  --cream:#faf6ef;--parch:#f0e8d6;--forest:#2c5545;--f2:#3a6e58;--f3:#4e8a6e;
  --sage:#7aaa8a;--moss:#b8d4c0;--misty:#dff0e4;
  --terra:#c96a42;--amber:#c98a3a;--honey:#f0d080;
  --text:#1a1208;--muted:#6a5a45;--sub:#9a8a70;
  --card:rgba(255,252,245,.96);--border:rgba(44,85,69,.13);--shadow:rgba(26,18,8,.10);
}

html{scroll-behavior:smooth}
body{background:var(--cream);color:var(--text);font-family:'DM Sans',sans-serif;font-size:18px;line-height:1.7;overflow-x:hidden}
::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:var(--cream)}::-webkit-scrollbar-thumb{background:var(--sage);border-radius:3px}

a{color:var(--forest)}
img{max-width:100%}

/* ─── ANIMATIONS ─── */
@keyframes blobA{0%,100%{border-radius:62% 38% 70% 30%/50% 60% 40% 50%;transform:translate(0,0)}40%{border-radius:40% 60% 32% 68%/58% 42% 58% 42%;transform:translate(28px,-18px)}70%{border-radius:68% 32% 52% 48%/42% 68% 32% 58%;transform:translate(-18px,28px)}}
@keyframes blobB{0%,100%{border-radius:42% 58% 52% 48%/58% 32% 68% 42%;transform:translate(0,0)}40%{border-radius:58% 42% 30% 70%/42% 58% 42% 58%;transform:translate(-38px,18px)}70%{border-radius:32% 68% 58% 42%/52% 42% 58% 48%;transform:translate(18px,-28px)}}
@keyframes float{0%,100%{transform:translateY(0) rotate(-.8deg)}50%{transform:translateY(-14px) rotate(.8deg)}}
@keyframes fadeUp{from{opacity:0;transform:translateY(32px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes gradShift{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}
@keyframes rockLeaf{0%,100%{transform:rotate(-9deg)}50%{transform:rotate(9deg)}}
@keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(44,85,69,.4)}70%{box-shadow:0 0 0 14px rgba(44,85,69,0)}}
@keyframes popIn{from{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}

/* ─── REVEAL ON SCROLL ─── */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1)}
.reveal.in{opacity:1;transform:translateY(0)}
.reveal-l{opacity:0;transform:translateX(-28px);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1)}
.reveal-l.in{opacity:1;transform:translateX(0)}
.reveal-r{opacity:0;transform:translateX(28px);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1)}
.reveal-r.in{opacity:1;transform:translateX(0)}
.d1{transition-delay:.12s}.d2{transition-delay:.24s}.d3{transition-delay:.36s}.d4{transition-delay:.48s}.d5{transition-delay:.6s}

/* ─── NAV ─── */
nav.site-nav{position:fixed;top:0;left:0;right:0;z-index:999;padding:0 clamp(1rem,4vw,2.5rem);height:74px;display:flex;align-items:center;justify-content:space-between;background:rgba(250,246,239,.88);backdrop-filter:blur(22px);border-bottom:1px solid var(--border);transition:all .3s;gap:1rem}
.logo{font-family:'Cormorant Garamond',serif;font-size:1.65rem;font-weight:700;color:var(--forest);display:flex;align-items:center;gap:.4rem;flex-shrink:0;text-decoration:none}
.logo-paw{animation:rockLeaf 4.5s ease-in-out infinite;display:inline-block}
.nav-phone{display:flex;align-items:center;gap:.5rem;color:var(--forest);font-size:.92rem;font-weight:600;text-decoration:none;background:var(--misty);padding:.45rem 1rem;border-radius:100px;transition:all .2s;flex-shrink:0;border:1px solid rgba(44,85,69,.18)}
.nav-phone:hover{background:var(--forest);color:#fff}
.nav-links{display:flex;gap:1.6rem;list-style:none}
.nav-links a{color:var(--muted);text-decoration:none;font-size:.9rem;font-weight:500;transition:color .2s}
.nav-links a:hover{color:var(--forest)}
.nav-cta{background:var(--forest);color:#fff;border:none;padding:.65rem 1.3rem;border-radius:100px;font-family:'DM Sans',sans-serif;font-weight:700;font-size:.92rem;cursor:pointer;transition:all .25s;flex-shrink:0;white-space:nowrap;text-decoration:none;display:inline-flex;align-items:center;gap:.4rem}
.nav-cta:hover{background:var(--f2);transform:translateY(-1px);box-shadow:0 4px 20px rgba(44,85,69,.35)}
.nav-cart-count{background:var(--terra);color:#fff;border-radius:100px;font-size:.72rem;padding:.1rem .45rem;min-width:1.3rem;text-align:center;display:inline-block;font-weight:700}

/* push body content below fixed nav */
main{padding-top:74px}

/* ─── BUTTONS ─── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background:var(--forest);color:#fff;border:none;padding:1rem 2rem;border-radius:100px;font-family:'DM Sans',sans-serif;font-weight:700;font-size:1.02rem;cursor:pointer;transition:all .25s;box-shadow:0 6px 24px rgba(44,85,69,.28);text-decoration:none}
.btn:hover{background:var(--f2);transform:translateY(-2px);box-shadow:0 10px 36px rgba(44,85,69,.38)}
.btn-outline{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background:transparent;color:var(--forest);border:2px solid rgba(44,85,69,.32);padding:1rem 2rem;border-radius:100px;font-family:'DM Sans',sans-serif;font-weight:600;font-size:1.02rem;cursor:pointer;transition:all .25s;text-decoration:none}
.btn-outline:hover{background:rgba(44,85,69,.07);border-color:var(--forest);transform:translateY(-2px)}
.btn-amber{background:linear-gradient(135deg,var(--amber),var(--terra));color:#fff;border:none;padding:1rem 2rem;border-radius:100px;font-family:'DM Sans',sans-serif;font-weight:700;font-size:1.02rem;cursor:pointer;transition:all .25s;box-shadow:0 6px 24px rgba(201,138,58,.32);text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:.5rem}
.btn-amber:hover{transform:translateY(-2px);box-shadow:0 10px 36px rgba(201,138,58,.42)}

/* ─── SECTION SCAFFOLD ─── */
section{padding:clamp(3rem,7vw,6.5rem) clamp(1rem,6vw,4.5rem)}
.inner{max-width:1200px;margin:0 auto}
.sec-label{display:inline-block;font-size:.82rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--sage);margin-bottom:.8rem}
.sec-title{font-family:'Cormorant Garamond',serif;font-size:clamp(1.9rem,4vw,3rem);font-weight:700;line-height:1.18;letter-spacing:-.022em;margin-bottom:1rem}
.sec-sub{color:var(--muted);font-size:1.02rem;max-width:540px;line-height:1.78}
.center{text-align:center}.center .sec-sub{margin:0 auto 3rem}

/* ─── HERO ─── */
.hero{min-height:90vh;display:flex;align-items:center;position:relative;overflow:hidden;padding:90px clamp(1rem,6vw,4.5rem) 4rem}
.blobs{position:absolute;inset:0;pointer-events:none}
.blob{position:absolute;border-radius:50%;filter:blur(60px);opacity:.35}
.b1{width:560px;height:560px;background:radial-gradient(circle,#a8d4b8,#c8e8d0);top:-110px;right:-90px;animation:blobA 18s ease-in-out infinite}
.b2{width:440px;height:440px;background:radial-gradient(circle,#d4a572,#c96a42 70%);bottom:-110px;left:-90px;opacity:.22;animation:blobB 22s ease-in-out infinite}
.b3{width:320px;height:320px;background:radial-gradient(circle,#c98a3a,#e8c270);top:40%;left:42%;opacity:.17;animation:blobA 14s ease-in-out infinite reverse}
.hero-inner{max-width:1200px;margin:0 auto;width:100%;display:grid;grid-template-columns:1.1fr .9fr;gap:4rem;align-items:center;position:relative;z-index:2}
.hero-badge{display:inline-flex;align-items:center;gap:.5rem;background:rgba(44,85,69,.1);border:1px solid rgba(44,85,69,.22);color:var(--forest);padding:.4rem 1rem;border-radius:100px;font-size:.82rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;margin-bottom:1.4rem;animation:fadeIn .6s ease both}
h1{font-family:'Cormorant Garamond',serif;font-size:clamp(2.6rem,5vw,4.4rem);font-weight:700;line-height:1.08;letter-spacing:-.025em;margin-bottom:1.2rem;animation:fadeUp .8s .12s cubic-bezier(.16,1,.3,1) both}
.h1-em{font-style:italic;background:linear-gradient(120deg,var(--forest),var(--sage),var(--amber));background-size:200%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:gradShift 6s ease infinite}
.hero-sub{color:var(--muted);font-size:1.08rem;max-width:480px;margin-bottom:1.8rem;line-height:1.78;animation:fadeUp .8s .26s cubic-bezier(.16,1,.3,1) both}
.hero-anchor{font-family:'Cormorant Garamond',serif;font-size:1.18rem;font-style:italic;color:var(--forest);max-width:520px;border-left:3px solid var(--sage);padding-left:1rem;margin-bottom:1.8rem;line-height:1.55}
.hero-btns{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:1.8rem}
.hero-trust{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}
.trust-badges{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:1.2rem}
.tbadge{display:inline-flex;align-items:center;gap:.4rem;background:var(--misty);color:var(--forest);padding:.4rem .9rem;border-radius:100px;font-size:.85rem;font-weight:600;border:1px solid rgba(44,85,69,.15)}

.hero-photo{position:relative;animation:fadeUp .9s .5s cubic-bezier(.16,1,.3,1) both}
.hero-photo-main{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:32px;box-shadow:0 32px 80px rgba(26,18,8,.18);display:block}

/* ─── STATS ─── */
.stats-strip{background:var(--forest);padding:2.8rem clamp(1rem,6vw,4.5rem)}
.stats-inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:2rem}
.stat{text-align:center}
.stat-num{font-family:'Cormorant Garamond',serif;font-size:2.6rem;font-weight:700;color:#fff;line-height:1}
.stat-lbl{color:rgba(255,255,255,.7);font-size:.92rem;margin-top:.4rem}

/* ─── PRODUCTS GRID ─── */
.products-head{display:flex;align-items:flex-start;justify-content:space-between;gap:2rem;margin-bottom:3rem;flex-wrap:wrap}
.prod-filter{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:.5rem}
.pf-btn{background:var(--card);border:2px solid var(--border);color:var(--muted);padding:.6rem 1.2rem;border-radius:100px;font-family:'DM Sans',sans-serif;font-weight:600;font-size:.93rem;cursor:pointer;transition:all .25s}
.pf-btn.active{background:var(--forest);color:#fff;border-color:var(--forest)}
.pf-btn:hover:not(.active){border-color:var(--sage);color:var(--forest);background:var(--misty)}
.prod-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.6rem}
.prod-card{background:var(--card);border:1px solid var(--border);border-radius:24px;overflow:hidden;transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s;text-decoration:none;color:inherit;display:flex;flex-direction:column}
.prod-card:hover{transform:translateY(-7px);box-shadow:0 22px 55px var(--shadow)}
.prod-card.hidden{display:none}
.prod-img-wrap{position:relative;overflow:hidden;background:#fff;padding:1rem;aspect-ratio:1/1;display:flex;align-items:center;justify-content:center}
.prod-img{width:100%;height:100%;object-fit:contain;display:block;transition:transform .5s ease}
.prod-card:hover .prod-img{transform:scale(1.06)}
.prod-img-badge{position:absolute;top:12px;left:12px;background:var(--terra);color:#fff;font-size:.75rem;font-weight:700;padding:.3rem .7rem;border-radius:100px}
.prod-img-badge.new{background:var(--forest)}
.prod-img-badge.sub{background:var(--amber)}
.prod-body{padding:1.3rem 1.4rem 1.5rem;flex:1;display:flex;flex-direction:column}
.prod-name{font-family:'Cormorant Garamond',serif;font-size:1.2rem;font-weight:700;margin-bottom:.3rem}
.prod-desc{color:var(--muted);font-size:.88rem;line-height:1.65;margin-bottom:1rem;flex:1}
.prod-foot{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:auto}
.prod-price{font-family:'Cormorant Garamond',serif;font-size:1.4rem;font-weight:700;color:var(--forest)}
.prod-price small{font-family:'DM Sans',sans-serif;font-size:.8rem;font-weight:400;color:var(--sub)}
.prod-stars{color:var(--amber);font-size:.82rem;margin-bottom:.3rem}
.prod-cat-tag{display:inline-block;background:var(--misty);color:var(--forest);font-size:.7rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:.25rem .65rem;border-radius:100px;margin-bottom:.6rem;width:fit-content}

/* ─── PDP ─── */
.pdp{padding:3rem clamp(1rem,6vw,4.5rem)}
.pdp-grid{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start}
.pdp-img-main{width:100%;background:#fff;border-radius:32px;border:1px solid var(--border);padding:2.5rem;display:flex;align-items:center;justify-content:center;aspect-ratio:1/1}
.pdp-img-main img{max-width:100%;max-height:100%;object-fit:contain}
.pdp-cat{display:inline-block;background:var(--misty);color:var(--forest);font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:.3rem .8rem;border-radius:100px;margin-bottom:1rem}
.pdp-name{font-family:'Cormorant Garamond',serif;font-size:clamp(2rem,3.5vw,2.6rem);font-weight:700;line-height:1.18;margin-bottom:.6rem}
.pdp-stars{color:var(--amber);margin-bottom:1rem;font-size:.95rem}
.pdp-stars span{color:var(--muted);font-size:.85rem;margin-left:.4rem}
.pdp-desc{color:var(--muted);font-size:1rem;line-height:1.8;margin-bottom:1.8rem}
.pdp-price-row{display:flex;align-items:baseline;gap:1rem;margin-bottom:1.5rem}
.pdp-price{font-family:'Cormorant Garamond',serif;font-size:2.4rem;font-weight:700;color:var(--forest)}
.pdp-price-sub{font-size:1.05rem;color:var(--muted);font-weight:500}
.pdp-purchase-opts{background:var(--card);border:1px solid var(--border);border-radius:18px;padding:1.4rem;margin-bottom:1.5rem}
.pdp-opt{display:flex;align-items:center;gap:.85rem;padding:.85rem 1rem;border-radius:12px;cursor:pointer;border:2px solid transparent;transition:all .2s}
.pdp-opt:hover{background:var(--misty)}
.pdp-opt.selected{background:var(--misty);border-color:var(--sage)}
.pdp-opt input{accent-color:var(--forest);transform:scale(1.2)}
.pdp-opt-label{flex:1}
.pdp-opt-name{font-weight:700;font-size:.98rem;margin-bottom:.15rem}
.pdp-opt-detail{color:var(--muted);font-size:.85rem}
.pdp-opt-price{font-family:'Cormorant Garamond',serif;font-size:1.25rem;font-weight:700;color:var(--forest)}
.pdp-opt-save{background:var(--amber);color:#fff;font-size:.72rem;font-weight:700;padding:.18rem .5rem;border-radius:100px;margin-left:.5rem}
.pdp-qty{display:flex;align-items:center;gap:.8rem;margin-bottom:1.5rem}
.pdp-qty-label{font-weight:600;color:var(--muted);font-size:.92rem}
.pdp-qty-ctrl{display:inline-flex;align-items:center;border:2px solid var(--border);border-radius:100px;overflow:hidden}
.pdp-qty-btn{background:transparent;border:none;padding:.4rem .9rem;font-size:1.1rem;cursor:pointer;color:var(--forest);font-weight:700}
.pdp-qty-btn:hover{background:var(--misty)}
.pdp-qty-input{border:none;width:48px;text-align:center;font-size:1rem;font-weight:700;background:transparent;-moz-appearance:textfield}
.pdp-qty-input::-webkit-outer-spin-button,.pdp-qty-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.pdp-buy-btns{display:flex;gap:.75rem;margin-bottom:1.5rem;flex-wrap:wrap}
.pdp-buy-btns .btn,.pdp-buy-btns .btn-outline{flex:1;min-width:200px}
.pdp-trust-row{display:flex;flex-wrap:wrap;gap:.7rem;margin-bottom:1.5rem}
.pdp-ship-note{background:var(--parch);border-radius:12px;padding:.85rem 1.1rem;font-size:.9rem;color:var(--muted)}
.pdp-ship-note strong{color:var(--forest)}
.pdp-tabs{margin-top:2rem;border-top:1px solid var(--border);padding-top:1.5rem}
.pdp-tab-h{font-family:'Cormorant Garamond',serif;font-size:1.3rem;font-weight:700;margin:1.5rem 0 .6rem}
.pdp-tab-body{color:var(--muted);line-height:1.8;font-size:.97rem}
.pdp-tab-body ul{padding-left:1.4rem;margin:.5rem 0}
.pdp-tab-body li{margin-bottom:.3rem}

/* ─── CART ─── */
.cart-page{padding:6rem clamp(1rem,6vw,4.5rem) 4rem;max-width:1100px;margin:0 auto}
.cart-grid{display:grid;grid-template-columns:1.6fr .9fr;gap:2.5rem;align-items:start;margin-top:2rem}
.cart-items{display:flex;flex-direction:column;gap:1rem}
.cart-item{background:var(--card);border:1px solid var(--border);border-radius:18px;padding:1.2rem;display:grid;grid-template-columns:90px 1fr auto;gap:1.2rem;align-items:center}
.cart-item-img{width:90px;height:90px;background:#fff;border-radius:12px;border:1px solid var(--border);padding:.4rem;display:flex;align-items:center;justify-content:center}
.cart-item-img img{max-width:100%;max-height:100%;object-fit:contain}
.cart-item-name{font-family:'Cormorant Garamond',serif;font-size:1.18rem;font-weight:700;margin-bottom:.2rem}
.cart-item-meta{color:var(--muted);font-size:.85rem;margin-bottom:.5rem}
.cart-item-qty{display:inline-flex;align-items:center;border:1.5px solid var(--border);border-radius:100px;overflow:hidden}
.cart-item-qty button{background:transparent;border:none;padding:.25rem .7rem;font-size:1rem;cursor:pointer;color:var(--forest);font-weight:700}
.cart-item-qty span{padding:0 .6rem;font-weight:700;min-width:1.8rem;text-align:center}
.cart-item-right{text-align:right}
.cart-item-price{font-family:'Cormorant Garamond',serif;font-size:1.3rem;font-weight:700;color:var(--forest);margin-bottom:.3rem}
.cart-item-remove{background:none;border:none;color:var(--muted);font-size:.85rem;cursor:pointer;text-decoration:underline}
.cart-item-remove:hover{color:var(--terra)}
.cart-summary{background:var(--card);border:1px solid var(--border);border-radius:18px;padding:1.5rem;position:sticky;top:90px}
.cart-summary h3{font-family:'Cormorant Garamond',serif;font-size:1.3rem;font-weight:700;margin-bottom:1rem}
.cart-line{display:flex;justify-content:space-between;padding:.55rem 0;color:var(--muted);font-size:.95rem}
.cart-line.total{padding-top:1rem;margin-top:.5rem;border-top:1px solid var(--border);color:var(--text);font-weight:700;font-size:1.15rem}
.cart-empty{text-align:center;padding:4rem 1rem;color:var(--muted)}
.cart-empty h2{font-family:'Cormorant Garamond',serif;font-size:1.8rem;color:var(--text);margin-bottom:.6rem}

/* ─── FOOTER ─── */
footer.site-footer{background:#0f1e17;padding:3.5rem clamp(1rem,6vw,4.5rem);border-top:1px solid rgba(255,255,255,.06);color:rgba(255,255,255,.7)}
.footer-top{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:3rem;margin-bottom:3rem;max-width:1200px;margin-left:auto;margin-right:auto}
.footer-brand{max-width:280px}
.footer-logo{font-family:'Cormorant Garamond',serif;font-size:1.5rem;font-weight:700;color:#b8d4c0;display:flex;align-items:center;gap:.4rem;margin-bottom:.8rem}
.footer-tagline{color:rgba(255,255,255,.42);font-size:.9rem;line-height:1.6;margin-bottom:1.2rem}
.footer-newsletter{margin-bottom:1.2rem}
.footer-newsletter label{display:block;color:rgba(255,255,255,.7);font-size:.82rem;margin-bottom:.5rem}
.footer-newsletter form{display:flex;gap:.4rem}
.footer-newsletter input{flex:1;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);color:#fff;padding:.6rem .9rem;border-radius:100px;font-family:'DM Sans',sans-serif;font-size:.88rem;outline:none}
.footer-newsletter input::placeholder{color:rgba(255,255,255,.4)}
.footer-newsletter input:focus{border-color:var(--sage)}
.footer-newsletter button{background:var(--sage);color:#0f1e17;border:none;padding:.6rem 1rem;border-radius:100px;font-weight:700;font-size:.85rem;cursor:pointer}
.footer-social{display:flex;gap:.75rem}
.soc-btn{width:38px;height:38px;background:rgba(255,255,255,.08);border-radius:50%;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.5);text-decoration:none;font-size:.9rem;transition:all .2s}
.soc-btn:hover{background:var(--sage);color:#0f1e17}
.footer-col h4{font-family:'Cormorant Garamond',serif;font-size:1.05rem;font-weight:700;color:#b8d4c0;margin-bottom:1rem}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:.6rem}
.footer-col a{color:rgba(255,255,255,.42);text-decoration:none;font-size:.9rem;transition:color .2s}
.footer-col a:hover{color:#b8d4c0}
.footer-bot{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;padding-top:2rem;border-top:1px solid rgba(255,255,255,.06);max-width:1200px;margin:0 auto}
.footer-copy{color:rgba(255,255,255,.3);font-size:.85rem}
.footer-disclaimer{color:rgba(255,255,255,.3);font-size:.75rem;max-width:1200px;margin:1.5rem auto 0;line-height:1.6}

/* ─── TOAST ─── */
.toast{position:fixed;top:90px;right:20px;z-index:9999;background:var(--forest);color:#fff;padding:.9rem 1.4rem;border-radius:14px;font-size:.92rem;font-weight:500;box-shadow:0 8px 32px rgba(26,18,8,.22);transform:translateX(120%);transition:transform .4s cubic-bezier(.16,1,.3,1);max-width:280px}
.toast.show{transform:translateX(0)}

/* ─── COOKIE BANNER ─── */
.cookie-banner{position:fixed;bottom:1rem;left:1rem;right:1rem;max-width:580px;z-index:9998;background:var(--forest);color:#fff;border-radius:18px;padding:1.2rem 1.5rem;box-shadow:0 18px 60px rgba(0,0,0,.3);display:none;align-items:center;gap:1rem;flex-wrap:wrap;justify-content:space-between}
.cookie-banner.show{display:flex}
.cookie-banner p{font-size:.88rem;line-height:1.55;flex:1;min-width:220px}
.cookie-banner p a{color:var(--moss);text-decoration:underline}
.cookie-banner button{background:#fff;color:var(--forest);border:none;padding:.55rem 1.2rem;border-radius:100px;font-weight:700;cursor:pointer;font-size:.88rem}

/* ─── PAGE INTRO (sub-pages) ─── */
.page-intro{padding:7rem clamp(1rem,6vw,4.5rem) 3rem;max-width:900px;margin:0 auto}
.page-intro h1{font-size:clamp(2.2rem,4.5vw,3.5rem);margin-bottom:.8rem}
.page-intro .sub{color:var(--muted);font-size:1.1rem;line-height:1.7;max-width:680px}

.prose{max-width:780px;margin:0 auto;padding:0 clamp(1rem,6vw,4.5rem) 4rem;color:var(--text);font-size:1rem;line-height:1.85}
.prose h2{font-family:'Cormorant Garamond',serif;font-size:1.7rem;font-weight:700;margin:2rem 0 .8rem;color:var(--forest)}
.prose h3{font-family:'Cormorant Garamond',serif;font-size:1.3rem;font-weight:700;margin:1.4rem 0 .5rem}
.prose p{margin-bottom:1rem;color:var(--muted)}
.prose ul,.prose ol{padding-left:1.5rem;margin-bottom:1rem;color:var(--muted)}
.prose ul li,.prose ol li{margin-bottom:.4rem}
.prose strong{color:var(--text)}
.prose .meta{color:var(--sub);font-size:.88rem;margin-bottom:1.5rem}

/* ─── RESPONSIVE ─── */
@media(max-width:980px){
  .hero-inner,.stats-inner,.pdp-grid,.cart-grid{grid-template-columns:1fr}
  .hero-photo{display:none}
  .nav-links{display:none}
  nav.site-nav{padding:0 1rem}
  .cart-summary{position:static}
}
@media(max-width:560px){
  .cart-item{grid-template-columns:64px 1fr;gap:.8rem}
  .cart-item-right{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center}
  .cart-item-img{width:64px;height:64px}
}
