/* Thornw Pantry */
:root{
  --accent:#b5531d; --accent-dark:#8f3f14; --tint:#f8ead9; --tint-2:#f1dcc2;
  --paper:#fdf8f1; --ink:#2a1b10; --ink-2:#55402f; --muted:#86705e; --rule:#eedfcd;
  --display:"Bricolage Grotesque",system-ui,sans-serif; --body:"Public Sans",system-ui,sans-serif;
}
h1,h2,h3{font-weight:800;letter-spacing:-.03em}
h1 em,h2 em{font-style:normal;color:var(--accent)}
.logo .wm span{font-family:var(--display);font-style:normal;font-weight:800;letter-spacing:.06em;text-transform:uppercase;font-size:11px}
.btn{border-radius:10px}
.tile{background:#f8ead9}
.tile:nth-child(2){background:#eef0e2}.tile:nth-child(3){background:#fbe7d6}.tile:nth-child(4){background:#e9e4dc}
.band{background:#2a1b10}
.band .kicker{color:#f3b98c}
.band .btn{color:#2a1b10}
.how i{font-family:var(--display);font-style:normal;font-weight:800}

/* hero: two wooden shelves of real products */
.shelves{position:relative;background:linear-gradient(180deg,#fbf1e4,#f5e2cb);border-radius:24px;padding:28px 24px 18px;overflow:hidden}
.shelves .row{display:flex;align-items:flex-end;justify-content:space-around;gap:6px;height:180px;position:relative;margin-bottom:46px}
.shelves .row::after{content:"";position:absolute;left:-24px;right:-24px;bottom:-14px;height:14px;background:linear-gradient(180deg,#c98a55,#a9693a);box-shadow:0 10px 18px -6px rgba(90,50,20,.45);border-radius:3px}
.shelves .row a{display:block;height:100%;flex:1;transition:transform .3s}
.shelves .row a:hover{transform:translateY(-8px)}
.shelves .row img{height:100%;width:100%;object-fit:contain;object-position:bottom;mix-blend-mode:multiply}
.shelves .sign{position:absolute;right:18px;top:16px;background:#2a1b10;color:#fbe7d6;font:800 12px/1 var(--display);letter-spacing:.08em;text-transform:uppercase;padding:9px 12px;border-radius:6px;transform:rotate(3deg)}

/* snack box builder */
.sb{display:grid;gap:28px;padding:10px 0 90px}
@media(min-width:960px){.sb{grid-template-columns:1fr 420px;gap:44px}}
.sb-sizes{display:flex;gap:10px;flex-wrap:wrap;margin:6px 0 22px}
.sb-sizes label{flex:1;min-width:120px;border:1.5px solid var(--rule);border-radius:14px;padding:14px;cursor:pointer;text-align:center}
.sb-sizes label:has(input:checked){border-color:var(--accent);background:var(--tint)}
.sb-sizes b{display:block;font:800 22px var(--display)}
.sb-sizes small{color:var(--muted)}
.sb-tabs{display:flex;gap:8px;margin-bottom:14px}
.sb-items{display:grid;gap:12px;grid-template-columns:repeat(2,1fr)}
@media(min-width:700px){.sb-items{grid-template-columns:repeat(3,1fr)}}
.sb-item{border:1px solid var(--rule);border-radius:14px;padding:12px;display:flex;flex-direction:column;background:#fff}
.sb-item img{height:110px;object-fit:contain;mix-blend-mode:multiply;margin-bottom:8px}
.sb-item b{font-size:13.5px;line-height:1.3;flex:1}
.sb-item small{color:var(--muted);font-size:12px}
.sb-item .row2{display:flex;justify-content:space-between;align-items:center;margin-top:8px}
.sb-item button{border:0;background:var(--accent);color:#fff;border-radius:8px;padding:7px 12px;font-weight:600;font-size:13px}
.sb-item button:disabled{opacity:.4;cursor:not-allowed}
.box{position:sticky;top:110px;align-self:start;background:#fff;border-radius:22px;box-shadow:0 0 0 1px var(--rule),0 24px 50px -24px rgba(42,27,16,.35);overflow:hidden}
.box-lid{background:#c98a55;background-image:repeating-linear-gradient(90deg,rgba(255,255,255,.07) 0 2px,transparent 2px 14px);color:#fff;padding:18px 20px;display:flex;justify-content:space-between;align-items:center}
.box-lid h3{font-size:22px}
.box-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:16px}
.slot{aspect-ratio:1;border-radius:12px;border:2px dashed var(--tint-2);display:grid;place-items:center;position:relative;background:var(--paper)}
.slot.full{border-style:solid;border-color:var(--rule);background:#fff}
.slot img{width:80%;height:80%;object-fit:contain;mix-blend-mode:multiply}
.slot button{position:absolute;top:-6px;right:-6px;width:22px;height:22px;border-radius:50%;border:0;background:var(--ink);color:#fff;font-size:13px;line-height:1}
.box-foot{padding:0 18px 18px}
.box-foot .row{display:flex;justify-content:space-between;padding:6px 0;font-size:15px}
.box-foot .btn{width:100%;margin-top:10px}
