/*
Theme Name: ChocBoy Joy
Version: 0.2.0
Text Domain: chocboy-joy
*/
@font-face{font-family:Poppins;src:url('assets/Poppins-Regular.woff2') format('woff2');font-display:swap}@font-face{font-family:Poppins;src:url('assets/Poppins-Medium.woff2') format('woff2');font-display:swap;font-weight:500}@font-face{font-family:Poppins;src:url('assets/Poppins-SemiBold.woff2') format('woff2');font-display:swap;font-weight:600}@font-face{font-family:Poppins;src:url('assets/Poppins-Bold.woff2') format('woff2');font-display:swap;font-weight:700}@font-face{font-family:Poppins;src:url('assets/Poppins-Black.woff2') format('woff2');font-display:swap;font-weight:900}
:root{--cocoa:#7b382b;--dark:#39170f;--gold:#faaf40;--rose:#bf6b60;--cream:#fffaf1;--line:#e7d9cc;--soft:#f6eee3;--pink:#f3dad2;--mint:#dce8dc}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--cream);color:var(--dark);font-family:Poppins,Arial,sans-serif;font-size:14px;line-height:1.7}body:has(dialog[open]){overflow:hidden}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--rose);outline-offset:4px}img{max-width:100%;display:block}button{color:inherit}h1,h2,h3,p{margin-top:0}h1,h2{letter-spacing:-.055em;line-height:1.06}h1{font-size:clamp(48px,5.9vw,88px);font-weight:900}h2{font-size:clamp(32px,3.4vw,50px);font-weight:900}h3{line-height:1.35;letter-spacing:-.025em}p{max-width:65ch}small{font-size:12px}.wrap{width:min(1280px,90%);margin:auto}.eyebrow{display:block;font-size:11px;font-weight:600;letter-spacing:.19em;text-transform:uppercase;margin-bottom:20px}.announcement{height:35px;background:var(--gold);display:flex;align-items:center;justify-content:center;gap:24px;font-size:10px;font-weight:500;letter-spacing:.03em}.announcement a{text-decoration:underline;text-underline-offset:3px}.header{height:109px;background:white;display:flex;align-items:center;justify-content:space-between;padding:0 5%;position:sticky;top:0;z-index:20;border-bottom:1px solid #f1e9df}.brand{width:145px;height:103px;flex-shrink:0;display:flex;align-items:center}.brand img{width:145px;height:auto;object-fit:contain}.header nav{display:flex;gap:28px;font-weight:500;font-size:12px}.header nav a{padding:12px 0;position:relative}.header nav a:after{content:'';height:2px;width:0;position:absolute;bottom:7px;left:0;background:var(--gold);transition:width .2s}.header nav a:hover:after,.header nav a.active:after{width:100%}.nav-actions{display:flex;gap:15px}.bag{display:flex;align-items:center;gap:9px;border:0;background:none;font-size:12px}.bag span{border-radius:50%;background:var(--gold);min-width:22px;height:22px;display:grid;place-items:center;font-size:10px}.menu{display:none;border:0;background:none;font-size:25px}.skip{position:fixed;left:20px;top:-100px;z-index:50;background:white;padding:15px}.skip:focus{top:10px}.button{display:inline-flex;align-items:center;justify-content:center;gap:35px;border-radius:40px;padding:17px 28px;border:1px solid var(--dark);background:var(--dark);color:white;font-weight:500;font-size:12px;transition:transform .2s,background .2s}.button:hover{background:var(--cocoa);transform:translateY(-2px)}.button.gold{background:var(--gold);border-color:var(--gold);color:var(--dark)}.button.light{background:var(--cream);color:var(--dark);border-color:var(--cream)}.button.outline{background:transparent;color:var(--dark);border-color:var(--line)}.text-link{text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:7px;font-weight:500;font-size:12px}.actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap}.hero{display:grid;grid-template-columns:48% 52%;min-height:610px;overflow:hidden}.hero-copy{padding:72px 7% 60px 10.4%;align-self:center;position:relative;z-index:2}.hero-copy .eyebrow{color:var(--cocoa);margin-bottom:18px}.hero h1{margin-bottom:24px}.hero h1 .joy{color:var(--cocoa);position:relative;white-space:nowrap}.hero-copy p{font-size:14px;max-width:380px;margin-bottom:30px;color:#785d53}.hero-art{position:relative;min-height:610px;background:#ad733d;border-radius:46% 0 0 0 / 24% 0 0 0;overflow:hidden}.hero-art>img{height:100%;width:100%;object-fit:cover;position:absolute;inset:0;object-position:center 46%}.hero-tag{position:absolute;right:26px;bottom:28px;background:var(--cream);padding:15px 22px;border-radius:8px;font-size:11px;box-shadow:0 3px 25px #39170f12}.hero-tag b{display:block;font-size:15px}.ticker{padding:18px 0;display:flex;justify-content:space-evenly;gap:20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:11px;font-weight:500;overflow:hidden;white-space:nowrap}.ticker i{color:var(--rose);font-style:normal}.section{padding:85px 0}.section-head{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:35px}.section-head h2{margin:0}.section-head p{margin-bottom:0;color:#785d53}.center{text-align:center}.center p{margin-inline:auto}.category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.category{position:relative;border-radius:18px;overflow:hidden;isolation:isolate;min-height:320px;background:white;display:flex;flex-direction:column;transition:transform .25s}.category:hover{transform:translateY(-6px)}.category img{height:225px;width:100%;object-fit:cover;transition:transform .6s}.category:hover img{transform:scale(1.04)}.category .cat-title{padding:20px;display:flex;justify-content:space-between;gap:8px;align-items:center;flex:1}.category h3{margin:0;font-size:18px}.category:nth-child(1){background:#ffe2a2}.category:nth-child(2){background:var(--pink)}.category:nth-child(3){background:var(--mint)}.category:nth-child(4){background:#eedbca}.products{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.product-card .photo{aspect-ratio:1;background:white;overflow:hidden;border-radius:14px;position:relative;display:block}.product-card img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.product-card:hover img{transform:scale(1.035)}.product-card .badge{position:absolute;top:13px;left:13px;z-index:1;background:var(--cream);border-radius:20px;padding:5px 11px;font-size:9px;font-weight:500}.product-card .details{padding-top:17px}.product-card .type{font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--cocoa);margin-bottom:7px}.product-card h3{font-size:16px;margin-bottom:6px}.product-card .description{font-size:11px;color:#785d53;margin-bottom:12px}.product-card .price-row{display:flex;align-items:center;justify-content:space-between;font-size:13px}.quick-add{height:33px;width:33px;border-radius:50%;border:1px solid var(--line);background:transparent;font-size:23px;line-height:1}.quick-add:hover{background:var(--gold);border-color:var(--gold)}.soft{background:var(--soft)}.split{display:grid;grid-template-columns:1fr 1fr;min-height:560px}.split .split-image{min-height:540px;position:relative;overflow:hidden}.split-image img{height:100%;width:100%;object-fit:cover;position:absolute;inset:0}.split-copy{padding:70px 12%;align-self:center}.split-copy p{color:#785d53;margin:25px 0 30px}.gift-feature{background:var(--pink)}.gift-feature .split-image{border-radius:0 80px 0 0}.note{font-size:11px;color:#785d53}.gold-section{background:var(--gold)}.moment-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.moment-card{display:flex;flex-direction:column;min-width:0}.moment-card .moment-image{display:block;flex:none;height:290px;border-radius:14px;overflow:hidden;margin-bottom:19px}.moment-card img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.moment-card:hover img{transform:scale(1.04)}.moment-card h3{font-size:21px;margin-bottom:9px}.moment-card p{font-size:12px;color:#785d53}.moment-card button{border:0;background:none;padding:0;align-self:flex-start;margin-top:auto}.quick-link{font-size:11px;font-weight:500;text-decoration:underline;text-underline-offset:4px}.party{position:relative;isolation:isolate}.story-strip{padding:60px 0;display:grid;grid-template-columns:1fr 1.5fr;gap:100px;align-items:center}.story-strip h2{font-size:40px;margin-bottom:0}.story-strip p{font-size:13px}.store-banner{background:var(--dark);color:var(--cream);padding:65px 0}.store-banner .wrap{display:flex;align-items:center;justify-content:space-between;gap:35px}.store-banner h2{margin-bottom:15px}.store-banner p{color:#e2c7b9;margin-bottom:0}.party{background:var(--gold);border-radius:20px;padding:38px;display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:45px}.party h3{font-size:25px;margin:0 0 5px}.party p{font-size:12px;margin:0}footer{background:#f3e8d9;padding-top:60px}.footer-top{display:grid;grid-template-columns:1.25fr 1fr 1fr 1fr;gap:55px;padding-bottom:50px}.footer-logo{display:block;background:transparent;width:145px;margin-bottom:20px}.footer-logo img{width:145px;height:auto}.footer-top h3{font-size:13px;margin:20px 0}.footer-top p{font-size:12px;color:#785d53}.footer-top a:not(.footer-logo){display:block;font-size:11px;margin-bottom:12px}.footer-top a:hover{text-decoration:underline}.footer-top small{display:block;margin-top:20px}.footer-bottom{border-top:1px solid #dccabd;display:flex;justify-content:space-between;padding:22px 0;font-size:9px;gap:20px}.preview-label{opacity:.7}.page-intro{padding:60px 0 40px}.page-intro h1{font-size:clamp(42px,5vw,66px);margin-bottom:20px}.page-intro p{color:#785d53;margin:0;max-width:650px}.breadcrumb{display:flex;gap:8px;font-size:10px;color:#785d53;margin-bottom:30px}.filter-bar{display:flex;justify-content:space-between;gap:25px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:24px;margin-bottom:35px;flex-wrap:wrap}.filters{display:flex;gap:8px;flex-wrap:wrap}.chip{border-radius:30px;padding:9px 18px;background:transparent;border:1px solid var(--line);font-size:11px}.chip.active,.chip:hover{background:var(--dark);color:white;border-color:var(--dark)}.search-sort{display:flex;gap:10px}.search-sort input{width:170px}.field,input,select,textarea{background:#fffdf8;border:1px solid var(--line);border-radius:8px;padding:12px 13px;color:var(--dark);max-width:100%}.search-sort input,.search-sort select{font-size:11px;padding:10px}.result-count{font-size:11px;color:#785d53;margin-bottom:20px}.shop-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 28px}.product-page{padding:30px 0 65px}.product-detail{display:grid;grid-template-columns:1.05fr 1fr;gap:70px}.gallery-main{width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:16px;background:white}.thumbs{display:flex;gap:10px;margin-top:14px}.thumbs button{padding:0;border:2px solid transparent;border-radius:8px;overflow:hidden;background:white;width:70px;height:70px}.thumbs button.selected{border-color:var(--cocoa)}.thumbs img{width:100%;height:100%;object-fit:cover}.product-info{padding:25px 0}.product-info h1{font-size:48px;margin-bottom:15px}.product-info .lead{color:#785d53}.product-price{font-size:22px;font-weight:600;margin-bottom:25px}.options{display:flex;gap:12px;margin:10px 0 22px}.option{border:1px solid var(--line);border-radius:9px;background:white;padding:12px 20px}.option.active{border-color:var(--dark);box-shadow:inset 0 0 0 1px var(--dark)}.buy-row{display:flex;gap:12px;margin-top:25px}.quantity{display:flex;border:1px solid var(--line);border-radius:30px;align-items:center;overflow:hidden;flex-shrink:0}.quantity button{width:34px;border:0;background:transparent;height:44px;font-size:20px}.quantity span{width:25px;text-align:center;font-size:12px}.buy-row .button{flex:1}.info-line{font-size:11px;border-top:1px solid var(--line);padding:16px 0;margin-top:25px;color:#785d53}details{border-bottom:1px solid var(--line);padding:17px 0;font-size:12px}summary{font-weight:500;cursor:pointer}details p{padding-top:14px;color:#785d53}.gifts-hero .hero-art img{object-position:center 50%}.gifts-hero .hero-art{border-radius:0 0 0 100px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:60px;margin-top:35px}.step-number{height:43px;width:43px;display:grid;place-items:center;background:var(--gold);border-radius:50%;font-weight:600;margin-bottom:20px}.steps h3{font-size:20px}.steps p{font-size:12px;color:#785d53}.gift-builder{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start}.gift-builder>img{width:100%;max-height:700px;object-fit:cover;border-radius:18px}.gift-builder h2{font-size:42px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid label{display:flex;flex-direction:column;gap:8px;font-size:11px;font-weight:500}.form-grid .wide{grid-column:1/-1}.form-grid input,.form-grid select,.form-grid textarea{width:100%;font-weight:400}.message-preview{padding:20px;background:#fff;border:1px solid var(--line);border-radius:10px;margin:22px 0}.message-preview>small{color:#785d53}.message-preview .words{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.message-preview .words span{background:var(--dark);color:var(--cream);padding:10px;border-radius:5px;min-width:56px;text-align:center;font-size:12px}.builder-price{display:flex;justify-content:space-between;margin:20px 0;font-size:16px;font-weight:600}.story-hero{padding:60px 0}.story-hero h1{max-width:850px;font-size:clamp(45px,6vw,85px)}.story-hero .intro-copy{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin:35px 0}.story-hero .intro-copy p{color:#785d53}.story-photos{display:grid;grid-template-columns:1.3fr 1fr;grid-template-rows:minmax(0,1fr);gap:20px;height:430px;min-height:0;overflow:hidden}.story-photos img{display:block;min-width:0;min-height:0;height:100%;max-height:100%;width:100%;object-fit:cover;border-radius:16px}.timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin-top:40px}.timeline .year{font-size:45px;font-weight:900;color:var(--cocoa);border-bottom:1px solid var(--line);margin-bottom:20px}.timeline p{font-size:12px;color:#785d53}.values{display:grid;grid-template-columns:repeat(4,1fr);gap:25px}.values article{border-top:2px solid var(--cocoa);padding-top:20px}.values h3{font-size:20px}.values p{font-size:12px}.store-controls{display:flex;gap:12px;margin:30px 0}.store-list{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.store-card{border:1px solid var(--line);border-radius:13px;padding:25px;background:#fffdf8}.store-card .city{font-size:10px;letter-spacing:.13em;color:var(--cocoa);margin-bottom:10px}.store-card h3{font-size:18px;margin-bottom:18px}.store-card a{font-size:11px}.contact-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:80px}.contact-grid form{background:var(--soft);padding:35px;border-radius:20px}.contact-grid h2{font-size:36px}.contact-grid p{color:#785d53}.empty{grid-column:1/-1;text-align:center;padding:50px 20px}.empty h3{font-size:24px}dialog{color:var(--dark);background:var(--cream);border:0;padding:0}dialog::backdrop{background:#39170f70;backdrop-filter:blur(3px)}#cart{height:100dvh;max-height:100dvh;width:490px;max-width:100%;margin:0 0 0 auto;padding:30px;position:fixed;inset:0}.drawer-head{display:flex;justify-content:space-between;align-items:start;border-bottom:1px solid var(--line);padding-bottom:20px}.drawer-head .eyebrow{font-size:9px;margin:8px 0 15px}.drawer-head h2{font-size:29px;margin:0}.icon-button{border:0;background:transparent;font-size:30px;padding:0 8px}.cart-item{display:grid;grid-template-columns:75px 1fr;gap:16px;padding:24px 0;border-bottom:1px solid var(--line)}.cart-item img{height:85px;width:75px;object-fit:cover;border-radius:8px}.cart-item h3{font-size:13px;margin-bottom:5px}.cart-item p{font-size:11px;margin-bottom:10px}.cart-item .item-actions{display:flex;justify-content:space-between;align-items:center}.cart-item .quantity button{height:30px;width:28px}.remove{border:0;background:transparent;font-size:10px;text-decoration:underline}.cart-total{display:flex;justify-content:space-between;font-size:20px;font-weight:600;padding:25px 0}.demo-notice{background:var(--soft);border-radius:8px;padding:15px;font-size:11px;color:#785d53}.cart-bottom{display:grid;gap:15px;margin-top:25px}#toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);background:var(--dark);color:white;padding:13px 25px;border-radius:30px;font-size:12px;opacity:0;pointer-events:none;z-index:100;transition:all .25s;max-width:90%;text-align:center}#toast.show{opacity:1;transform:translate(-50%,0)}#recipe-dialog{width:650px;max-width:92%;max-height:90dvh;border-radius:20px;padding:40px}.close-recipe{position:absolute;right:15px;top:10px}#recipe-dialog h2{font-size:36px}#recipe-dialog li{margin:14px 0}#recipe-dialog p,#recipe-dialog li{font-size:13px}.status-message{font-size:12px;margin-top:15px;color:var(--cocoa)}.checkout-summary{padding:20px;border-radius:12px;background:var(--soft)}.checkout-summary h3{font-size:16px}.checkout-summary p{font-size:12px}.checkout-summary .row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line)}
.hero h1 .joy{margin-left:.08em}
@media(min-width:1600px){.hero-copy{padding-left:max(10%,calc((100vw - 1280px)/2))}.hero{min-height:680px}.hero-art{min-height:680px}}
@media(max-width:1100px){.header nav{gap:16px;font-size:10px}.hero-copy{padding-left:8%;padding-right:5%}.hero,.hero-art{min-height:540px}.hero h1{font-size:66px}.hero-copy p{font-size:12px}.category-grid{gap:12px}.category{min-height:280px}.category img{height:190px}.category h3{font-size:15px}.products{gap:18px}.split-copy{padding:50px 10%}.product-detail{gap:40px}.product-info h1{font-size:40px}.footer-top{gap:30px}.gift-builder{gap:40px}}
@media(max-width:800px){.header{height:90px}.brand{width:125px;height:88px}.brand img{width:125px}.menu{display:block}.header nav{display:none;position:absolute;left:0;right:0;top:90px;background:white;padding:20px 7%;box-shadow:0 15px 20px #39170f12}.header nav.open{display:flex;flex-direction:column;gap:4px}.header nav a{font-size:14px}.hero h1{font-size:54px}.hero,.hero-art{min-height:460px}.hero-copy{padding:40px 7% 40px 10%}.hero-copy .actions{gap:16px}.hero-copy .eyebrow{font-size:9px}.hero-copy .button{padding:14px 22px}.hero-tag{right:15px;bottom:15px;padding:10px 15px;font-size:9px}.hero-tag b{font-size:12px}.section{padding:60px 0}.category-grid,.products{grid-template-columns:repeat(2,minmax(0,1fr))}.category img{height:230px}.category{min-height:310px}.category h3{font-size:18px}.moment-card .moment-image{height:220px}.moment-grid{gap:16px}.moment-card h3{font-size:17px}.footer-top{grid-template-columns:1fr 1fr}.split .split-image{min-height:460px}.split-copy{padding:45px 10%}.split-copy h2{font-size:35px}.story-strip{gap:40px}.story-strip h2{font-size:32px}.product-detail{gap:30px}.product-info{padding-top:0}.product-info h1{font-size:35px}.product-info .lead{font-size:12px}.buy-row{flex-wrap:wrap}.buy-row .button{gap:15px}.gift-builder{gap:30px}.gift-builder h2{font-size:32px}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.store-list{grid-template-columns:1fr 1fr}.contact-grid{gap:35px}.contact-grid form{padding:25px}.values,.timeline{grid-template-columns:1fr 1fr}.story-photos{height:320px}.announcement{font-size:9px}}
@media(max-width:580px){.announcement{height:30px;font-size:8px;gap:10px}.announcement a{display:none}.header{height:83px}.header nav{top:83px}.brand,.brand img{width:116px}.hero{display:flex;flex-direction:column}.hero-copy{padding:43px 6% 36px}.hero h1{font-size:59px;max-width:400px}.hero-copy .eyebrow{font-size:9px;margin-bottom:18px}.hero-copy p{font-size:13px;max-width:340px}.hero-art{min-height:400px;border-radius:60px 0 0 0}.hero-art>img{object-position:center 47%}.hero-tag{right:20px;bottom:20px}.ticker{justify-content:flex-start;padding:15px 6%;gap:25px;font-size:9px}.section{padding:50px 0}.wrap{width:88%}.section-head{align-items:start;gap:18px;margin-bottom:25px}.section-head h2{font-size:32px}.section-head .text-link{font-size:10px;white-space:nowrap}.category-grid{gap:12px}.category{min-height:230px;border-radius:12px}.category img{height:165px}.category .cat-title{padding:15px 12px}.category h3{font-size:13px}.products{gap:25px 14px}.product-card h3{font-size:13px}.product-card .description{font-size:10px}.product-card .type{font-size:8px}.product-card .price-row{font-size:11px}.product-card .badge{font-size:8px;padding:4px 8px;left:8px;top:8px}.split{display:flex;flex-direction:column}.split .split-image{min-height:420px}.split-copy{padding:45px 6%}.split-copy h2{font-size:40px}.gift-feature .split-image{border-radius:0 50px 0 0}.moment-grid{grid-template-columns:1fr;gap:35px}.moment-card .moment-image{height:300px}.moment-card h3{font-size:23px}.story-strip{grid-template-columns:1fr;gap:20px;padding:45px 0}.store-banner{padding:45px 0}.store-banner .wrap{flex-direction:column;align-items:start}.party{padding:25px;flex-direction:column;align-items:start}.party h3{font-size:23px}.footer-top{gap:30px 20px}.footer-top h3{font-size:12px}.footer-top a:not(.footer-logo){font-size:10px}.footer-bottom{flex-wrap:wrap;font-size:8px}.preview-label{width:100%}.page-intro{padding-top:40px}.page-intro h1{font-size:45px}.page-intro p{font-size:12px}.search-sort{width:100%}.search-sort input{flex:1;min-width:0}.search-sort select{max-width:140px}.chip{padding:8px 12px;font-size:10px}.product-detail{grid-template-columns:1fr;gap:30px}.product-info h1{font-size:42px}.product-info .lead{font-size:13px}.product-info{padding-top:10px}.buy-row{flex-wrap:nowrap}.gifts-hero .hero-art{min-height:440px;border-radius:50px 0 0 0}.steps{grid-template-columns:1fr;gap:25px}.steps article{display:grid;grid-template-columns:50px 1fr;column-gap:15px}.step-number{grid-row:1/3}.steps h3{margin-bottom:8px}.gift-builder{grid-template-columns:1fr}.gift-builder>img{max-height:460px}.gift-builder h2{font-size:38px}.form-grid{grid-template-columns:1fr 1fr}.form-grid .wide{grid-column:1/-1}.story-hero h1{font-size:49px}.story-hero .intro-copy{grid-template-columns:1fr;gap:0;font-size:12px}.story-photos{height:270px;gap:12px;grid-template-columns:1fr 1fr}.timeline{gap:25px}.timeline .year{font-size:36px}.values{gap:25px}.store-list{grid-template-columns:1fr}.store-controls{flex-wrap:wrap}.store-controls input{flex:1;min-width:0}.contact-grid{grid-template-columns:1fr;gap:30px}.contact-grid form{padding:24px}.contact-grid form .form-grid{grid-template-columns:1fr}.store-banner h2{font-size:36px}#cart{padding:24px}.drawer-head h2{font-size:26px}#recipe-dialog{padding:35px 25px}#recipe-dialog h2{font-size:30px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Narrow-screen stability and comfortable touch targets. */
.form-grid>label,.product-info,.split-copy,.story-photos>img{min-width:0}
.product-card .photo img,.gallery-main,.moment-image img{background:#f6eee3}
.quick-link{min-height:44px;display:inline-flex;align-items:center}
@media(max-width:580px){
 .hero h1{font-size:clamp(42px,14.3vw,59px)}
 .page-intro h1{font-size:clamp(36px,11.5vw,45px)}
 .section-head{flex-wrap:wrap}
 .hero-copy .actions{gap:20px}
 .bag,.menu,.quick-add,.quantity button{min-width:44px;min-height:44px}
 .quantity span{min-width:24px}
 .chip{min-height:44px}
 input,select,textarea{font-size:16px;min-height:44px;min-width:0}
 .search-sort input,.search-sort select{font-size:16px}
 .form-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 .gift-builder .form-grid{grid-template-columns:1fr}
 .gift-builder .form-grid .wide{grid-column:1}
 .buy-row{flex-wrap:wrap}
 .buy-row .button{min-width:150px}
 .hero-tag{max-width:calc(100% - 40px)}
 .header nav.open{max-height:calc(100dvh - 83px);overflow-y:auto}
}
@media(max-width:360px){.footer-top{grid-template-columns:1fr}.search-sort{flex-wrap:wrap}.search-sort input,.search-sort select{width:100%;max-width:none}.section-head .text-link{white-space:normal}}

/* Stack the hero before tablet/sidebar widths can clip the headline. */
@media(max-width:800px){
 .hero{grid-template-columns:minmax(0,1fr);min-height:0}
 .hero-copy{padding:44px 6%;min-width:0}
 .hero-art{min-height:clamp(340px,70vw,460px);border-radius:55px 0 0 0}
 .gifts-hero .hero-art{border-radius:55px 0 0 0;min-height:clamp(340px,70vw,460px)}
}

.block-calculation{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:20px;background:var(--soft);border-radius:12px;margin:20px 0}
.block-calculation small,.block-calculation b{display:block}.block-calculation b{font-size:22px;margin-top:4px}.block-products{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:32px}.block-options{flex-wrap:wrap}.block-options .option{min-width:80px;text-align:center}
@media(max-width:580px){.block-products{grid-template-columns:1fr 1fr}.block-calculation{padding:16px;gap:10px}.block-calculation b{font-size:20px}.block-options .option{padding:12px 16px}}

.mix-builder{border:1px solid #7b382b44;border-radius:16px;padding:20px;margin:22px 0}.mix-builder legend{font-weight:700;padding:0 8px}.mix-inputs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.mix-inputs label{display:grid;gap:8px}.mix-inputs input{width:100%;min-width:0;min-height:48px;padding:10px;border:1px solid #7b382b66;border-radius:8px;background:#fff9df;font:inherit;color:#39170f}.bag-options{flex-wrap:wrap}.mix-builder p{font-size:14px}.button:disabled{opacity:.5;cursor:not-allowed}

.fulfilment-note{padding:14px 16px;border-left:3px solid #faaf40;background:#faaf4015;font-size:14px;line-height:1.7;margin:18px 0}

/* Individual chocolate choices for every gift bar. */
.gift-bar-builder{margin:25px 0}.gift-bulk-label{display:block;margin-bottom:20px}.gift-bar-rows{display:grid;gap:14px}.gift-bar-row{min-inline-size:0;margin:0;border:1px solid var(--line);border-radius:12px;padding:16px}.gift-bar-row legend{font-weight:600;padding:0 7px}.gift-bar-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:14px}.gift-bar-fields label{display:block;min-width:0;font-size:12px}.gift-bar-fields input,.gift-bar-fields select,.gift-bulk-label select,#native-gift-form>#gift-size{display:block;width:100%;min-width:0;border:1px solid var(--line);border-radius:8px;padding:12px;background:white;margin-top:6px}.gift-character-count{display:block;font-size:10px;margin-top:4px;color:var(--cocoa)}.gift-bars-preview{display:grid;gap:10px}.gift-bar-preview{padding:12px 16px;background:var(--cream);border-radius:8px}.gift-bar-preview small{display:block;font-size:10px;color:var(--cocoa)}.gift-bar-preview span{font-weight:600;overflow-wrap:anywhere}.gift-bar-row[hidden]{display:none}.gift-bars-status{margin:14px 0}
@media(max-width:580px){.gift-bar-fields{grid-template-columns:minmax(0,1fr)}.gift-bar-row{padding:14px}.gift-bar-builder .message-preview{padding:14px}}