:root{--pink:#e85d9e;--pink-d:#c43f80;--blush:#fbe4ee;--cream:#fdf8f3;--gold:#c99a5b;--choc:#3b2620;--ink:#4a3732}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:Nunito,system-ui,sans-serif;color:var(--ink);background:var(--cream);line-height:1.6}
img{max-width:100%;display:block}
h1,h2,h3{font-family:"Playfair Display",Georgia,serif;color:var(--choc);line-height:1.2;margin:.2em 0 .4em}
h2{font-size:clamp(1.7rem,4vw,2.4rem);text-align:center}
.sub{text-align:center;margin:-.2em 0 1.8em;color:#8a6e66}.sub.left{text-align:left;margin-bottom:1em}
.wrap{max-width:1120px;margin:auto;padding:64px 20px}
.tint{background:linear-gradient(180deg,var(--blush),#fff3f8)}
.ph{background:#fff1a8;color:#6b5400;padding:0 .35em;border-radius:4px;font-weight:700;font-size:.92em}
.preview-bar{background:var(--choc);color:#f6e7dc;text-align:center;font-size:.8rem;padding:4px}
.nav{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:12px;padding:10px 20px;background:rgba(253,248,243,.95);backdrop-filter:blur(6px);border-bottom:1px solid #f1dfe6}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;margin-right:auto}
.brand img{width:46px;height:46px;border-radius:50%;object-fit:cover;border:2px solid var(--blush)}
.brand span{font-family:"Great Vibes",cursive;font-size:1.9rem;color:var(--pink)}
nav{display:none;gap:20px}nav a{color:var(--ink);text-decoration:none;font-weight:600}nav a:hover{color:var(--pink)}
nav.open{display:flex;flex-direction:column;position:absolute;top:100%;left:0;right:0;background:var(--cream);padding:16px 20px;border-bottom:1px solid #f1dfe6}
.burger,.basket-btn{border:0;background:none;font-size:1.4rem;cursor:pointer;color:var(--choc)}
.basket-btn{background:var(--pink);color:#fff;border-radius:99px;padding:6px 14px;font-size:1rem;font-weight:700}
@media(min-width:860px){nav{display:flex}.burger{display:none}}
.hero{display:grid;background:var(--choc)}
.hero-img{position:relative;height:56vh;min-height:320px}.hero-img img{width:100%;height:100%;object-fit:cover}
.hero-text{padding:36px 22px 48px;color:#f8ece4;background:var(--choc)}
.hero-text h1{color:#fff;font-size:clamp(2.1rem,6vw,3.6rem)}
.script{font-family:"Great Vibes",cursive;color:#f7a8cb;font-size:2.2rem;margin:0}
@media(min-width:860px){.hero{grid-template-columns:1.1fr 1fr;min-height:80vh}.hero-img{height:auto;order:2}.hero-text{display:flex;flex-direction:column;justify-content:center;padding:60px}}
.cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}
.btn{display:inline-block;background:var(--pink);color:#fff;border:0;border-radius:99px;padding:12px 24px;font:700 1rem Nunito,sans-serif;text-decoration:none;cursor:pointer;transition:.2s;box-shadow:0 6px 16px rgba(232,93,158,.25)}
.btn:hover{background:var(--pink-d);transform:translateY(-1px)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}
.btn.ghost{background:transparent;border:2px solid #f7a8cb;box-shadow:none}
.ex{position:absolute;right:8px;bottom:8px;background:rgba(0,0,0,.55);color:#fff;font-size:.68rem;padding:2px 8px;border-radius:99px;letter-spacing:.03em}
.ci{position:relative;overflow:hidden;border-radius:18px}.ci img{width:100%;height:100%;object-fit:cover}
.cards{display:grid;gap:22px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.card{background:#fff;border-radius:22px;padding:14px 14px 20px;box-shadow:0 10px 30px rgba(59,38,32,.07)}
.card .ci{aspect-ratio:4/3;margin-bottom:12px}.card p{margin:.2em 0 .8em}
.price{font-weight:700;color:var(--pink-d);font-size:1.1rem}
.prow{display:flex;justify-content:space-between;align-items:center;gap:8px}
.strip-title{text-align:center;margin-top:48px;font-family:"Great Vibes",cursive;color:var(--pink);font-size:2.2rem}
.strip{display:flex;gap:12px;overflow-x:auto;justify-content:center;flex-wrap:wrap}
.strip img{width:96px;height:96px;object-fit:cover;border-radius:14px;border:3px solid #fff;box-shadow:0 4px 12px rgba(0,0,0,.1)}
.builder{display:grid;gap:20px;background:#fff;border-radius:24px;padding:22px;box-shadow:0 10px 30px rgba(59,38,32,.07)}
@media(min-width:860px){.builder{grid-template-columns:1fr 2fr 1.2fr}}
.sizes{display:flex;flex-direction:column;gap:10px}
.size{border:2px solid #f1dfe6;background:var(--cream);border-radius:14px;padding:12px;text-align:left;cursor:pointer;font:600 1rem Nunito}
.size.on{border-color:var(--pink);background:var(--blush)}
.flavours{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.fl{display:flex;justify-content:space-between;align-items:center;border:1px solid #f1dfe6;border-radius:12px;padding:8px 10px;font-size:.92rem}
.fl button{width:28px;height:28px;border-radius:50%;border:0;background:var(--blush);color:var(--pink-d);font-weight:700;cursor:pointer}
.fl b{min-width:18px;text-align:center}
.bar{height:8px;background:var(--blush);border-radius:9px;overflow:hidden;margin-bottom:10px}.bar i{display:block;height:100%;width:0;background:var(--pink);transition:.3s}
.muted{color:#9b827a}.small{font-size:.85rem}.tiny{font-size:.72rem;opacity:.7}
.split{display:grid;gap:32px;align-items:center}.split h2{text-align:left}
@media(min-width:860px){.split{grid-template-columns:1fr 1.2fr}.split.rev{grid-template-columns:1.2fr 1fr}}
.ci.tall{aspect-ratio:4/5}
.notice{background:#fff;border-left:4px solid var(--gold);padding:10px 14px;border-radius:8px}
.form{display:grid;gap:12px;grid-template-columns:1fr 1fr}.form .full{grid-column:1/-1}
.form label{display:flex;flex-direction:column;font-weight:600;font-size:.9rem;gap:4px}
@media(max-width:560px){.form label{grid-column:1/-1}}
input,select,textarea{font:inherit;padding:10px 12px;border:1px solid #ecd3dd;border-radius:12px;background:#fff}
input:focus,select:focus,textarea:focus{outline:2px solid var(--pink);border-color:transparent}
.form-msg{background:#e9f7ee;color:#25613a;padding:10px;border-radius:10px}
.info{display:grid;gap:24px}@media(min-width:860px){.info{grid-template-columns:1fr 1fr}}
.info>div{background:#fff;border-radius:22px;padding:26px;box-shadow:0 10px 30px rgba(59,38,32,.07)}.info h2{text-align:left}
.allergy{border:2px dashed var(--gold)}
.contact{text-align:center}.clogo{width:120px;margin:auto;border-radius:50%}
footer{background:var(--choc);color:#e9d8cf;text-align:center;padding:30px 20px}footer p{margin:.3em}
.drawer{position:fixed;top:0;right:0;height:100%;width:min(420px,100%);background:#fff;z-index:50;transform:translateX(100%);transition:.3s;display:flex;flex-direction:column;box-shadow:-10px 0 30px rgba(0,0,0,.15)}
.drawer.open{transform:none}.dhead{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #f1dfe6}
.dhead button{border:0;background:none;font-size:1.3rem;cursor:pointer}
#dbody{padding:16px 20px;overflow:auto;flex:1}
.li{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px dashed #f1dfe6}.li small{display:block;color:#9b827a}
.li button{border:0;background:none;color:var(--pink-d);cursor:pointer}
.overlay{position:fixed;inset:0;background:rgba(59,38,32,.4);z-index:40;display:none}.overlay.on{display:block}
.payline{background:var(--blush);border-radius:12px;padding:14px;margin:14px 0;font-weight:600;text-align:center}
.toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%) translateY(100px);background:var(--choc);color:#fff;padding:10px 20px;border-radius:99px;transition:.3s;z-index:60}.toast.on{transform:translateX(-50%)}
