/* svuotailfrigo.it
   Layout: cucina vista di fronte. A sinistra il frigo aperto (strumento di scelta), a destra il piano di lavoro con ciò che hai scelto; sotto, le ricette raggruppate per quanto ti manca. */
:root{
  --wall:#E6F0ED; --ink:#15302E; --ink-2:#56706C; --card:#FFFFFF; --line:#D0E1DC;
  --enamel:#BDE2D6; --enamel-deep:#84C1B0; --enamel-shine:#E0F4ED;
  --cold:#F7FCFB; --cold-ink:#21413D; --cold-ink-2:#5E7A76; --glass:rgba(140,196,206,.45); --frost:#E2F0F8;
  --drawer:rgba(176,222,190,.38); --liner:#EEF6F4;
  --tomato:#DE4436; --on-tomato:#FFFFFF; --butter:#F5C84A; --on-butter:#3A2A05;
  --ok:#23885A; --warn:#C27A0A; --miss:#D2412F;
  --plate:#FFFFFF; --plate-rim:#E3ECE9;
  --tint-a:#FFF0BF; --tint-b:#DDF0DD; --tint-c:#FFE0D8; --tint-d:#DDEBFA; --tint-e:#EEE2F7;
  --wood:#E7C79C; --wood-deep:#C59660;
  --shadow:0 18px 40px -18px rgba(21,48,46,.35);
  --overlay:rgba(14,30,29,.55);
  --m1:#DE4436; --m2:#F2B52E; --m3:#2E9461; --m4:#3B7DC4; --m5:#8E5BB5; --m6:#F1832A;
  --f-display:"Fredoka","Baloo 2","Trebuchet MS",system-ui,sans-serif;
  --f-body:"Figtree","Segoe UI",system-ui,-apple-system,sans-serif;
  --f-mono:"DM Mono",ui-monospace,"SFMono-Regular",Menlo,monospace;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --wall:#0D1818; --ink:#E2EFEC; --ink-2:#96AFAA; --card:#152322; --line:#28403C;
  --enamel:#2D4F48; --enamel-deep:#1C3531; --enamel-shine:#41685F;
  --cold:#DCEAE6; --cold-ink:#1B3532; --cold-ink-2:#4D6964; --glass:rgba(110,165,176,.55); --frost:#C3DAE5;
  --drawer:rgba(120,180,140,.35); --liner:#CFDFDB;
  --tomato:#FF6A5A; --on-tomato:#2A0C08; --butter:#F2C443; --on-butter:#2E2104;
  --ok:#52C48E; --warn:#F0AA3C; --miss:#FF7A68;
  --plate:#F6F8F7; --plate-rim:#CBD8D4;
  --tint-a:#4A4120; --tint-b:#233F2C; --tint-c:#4A2A25; --tint-d:#22364C; --tint-e:#3A2C48;
  --wood:#5B4431; --wood-deep:#3F2F22;
  --shadow:0 18px 40px -18px rgba(0,0,0,.7);
  --overlay:rgba(0,0,0,.65);
  color-scheme:dark;
}}
:root[data-theme="dark"]{
  --wall:#0D1818; --ink:#E2EFEC; --ink-2:#96AFAA; --card:#152322; --line:#28403C;
  --enamel:#2D4F48; --enamel-deep:#1C3531; --enamel-shine:#41685F;
  --cold:#DCEAE6; --cold-ink:#1B3532; --cold-ink-2:#4D6964; --glass:rgba(110,165,176,.55); --frost:#C3DAE5;
  --drawer:rgba(120,180,140,.35); --liner:#CFDFDB;
  --tomato:#FF6A5A; --on-tomato:#2A0C08; --butter:#F2C443; --on-butter:#2E2104;
  --ok:#52C48E; --warn:#F0AA3C; --miss:#FF7A68;
  --plate:#F6F8F7; --plate-rim:#CBD8D4;
  --tint-a:#4A4120; --tint-b:#233F2C; --tint-c:#4A2A25; --tint-d:#22364C; --tint-e:#3A2C48;
  --wood:#5B4431; --wood-deep:#3F2F22;
  --shadow:0 18px 40px -18px rgba(0,0,0,.7);
  --overlay:rgba(0,0,0,.65);
  color-scheme:dark;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0}
img{max-width:100%}
[hidden]{display:none!important}
.home .wrap{padding-bottom:0}
body{background:var(--wall);color:var(--ink);font-family:var(--f-body);font-size:15px;line-height:1.5;padding-inline:16px;padding-block:0 96px}
button{font:inherit;color:inherit;cursor:pointer}
:focus-visible{outline:3px solid var(--m4);outline-offset:2px;border-radius:8px}
.wrap{max-width:1180px;margin:0 auto}
h1,h2,h3{font-family:var(--f-display);text-wrap:balance;margin:0;line-height:1.15}

/* ---------- testata con lettere-calamita ---------- */
.top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;padding-block:22px 18px}
.brand{display:flex;flex-direction:column;gap:4px}
.magnets{display:flex;flex-wrap:wrap;align-items:flex-end;font-family:var(--f-display);font-weight:700;font-size:clamp(30px,5.4vw,46px);line-height:1;letter-spacing:.5px}
.magnets span{display:inline-block;text-shadow:0 2px 0 rgba(0,0,0,.18),0 4px 8px rgba(0,0,0,.12);transform:rotate(var(--r,0deg)) translateY(var(--y,0));transition:transform .25s}
.magnets:hover span{transform:rotate(calc(var(--r,0deg) * -1)) translateY(-2px)}
.magnets .dot{font-size:.55em;color:var(--ink-2);text-shadow:none;margin-left:2px}
.tag{margin:0;font-family:var(--f-display);font-weight:500;font-size:17px;color:var(--ink-2)}
.proto{font-family:var(--f-mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);border:1.5px dashed var(--line);padding:6px 10px;border-radius:999px}

/* ---------- cucina ---------- */
.kitchen{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.9fr);gap:28px;align-items:start}
@media (max-width:900px){.kitchen{grid-template-columns:minmax(0,1fr)}}

.fridge-area{display:flex;flex-direction:column;gap:18px;min-width:0}
.fridge{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.4fr);gap:0;align-items:stretch}
.shell{background:linear-gradient(100deg,var(--enamel-shine) 0%,var(--enamel) 18%,var(--enamel) 80%,var(--enamel-deep) 100%);border-radius:30px 30px 18px 18px;padding:22px 14px 14px;box-shadow:var(--shadow),inset 0 -6px 0 var(--enamel-deep);position:relative;min-width:0}
.shell::after{content:"";position:absolute;left:44px;right:44px;bottom:-12px;height:12px;background:
  radial-gradient(circle at 10px 0,var(--enamel-deep) 9px,transparent 10px) left/40px 12px no-repeat,
  radial-gradient(circle at 30px 0,var(--enamel-deep) 9px,transparent 10px) right/40px 12px no-repeat}
.brandplate{position:absolute;top:6px;left:50%;transform:translateX(-50%);font-family:var(--f-mono);font-size:10px;letter-spacing:.2em;color:var(--enamel-deep);text-transform:uppercase}
.compart{position:relative;border-radius:16px;padding:26px 12px 12px;background:var(--cold);color:var(--cold-ink)}
.freezer{background:var(--frost);background-image:radial-gradient(rgba(255,255,255,.7) 1px,transparent 1.6px);background-size:14px 14px;margin-bottom:12px;box-shadow:inset 0 0 0 2px rgba(255,255,255,.5)}
.cold{display:flex;flex-direction:column;gap:0;overflow:hidden;padding-top:30px}
.cold::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 60% 40% at 50% 0%,rgba(255,252,220,.95),transparent 70%);pointer-events:none;opacity:0;animation:light .5s .5s ease-out forwards}
@keyframes light{0%{opacity:0}30%{opacity:.6}45%{opacity:.2}100%{opacity:1}}
.bulb{position:absolute;top:8px;left:50%;width:46px;height:8px;margin-left:-23px;border-radius:0 0 10px 10px;background:#FFF6C7;box-shadow:0 0 18px 6px rgba(255,240,160,.7)}
.zone{position:relative;z-index:1}
.zone-label{position:absolute;top:6px;left:12px;font-family:var(--f-mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--cold-ink-2)}
.cold .zone{padding:22px 4px 10px}
.cold .zone-label{top:4px;left:6px}
.shelf{border-bottom:7px solid var(--glass);box-shadow:0 1px 0 rgba(255,255,255,.9)}
.shelf + .shelf{margin-top:6px}
.drawer{margin-top:14px;background:var(--drawer);border-radius:12px;border:2px solid rgba(255,255,255,.65);padding-top:26px!important}
.drawer::before{content:"";position:absolute;top:9px;right:14px;width:56px;height:6px;border-radius:6px;background:rgba(255,255,255,.8)}
.drawer .zone-label{top:6px;left:12px}
.items{display:flex;flex-wrap:wrap;gap:4px 2px}

/* sportello */
.door{position:relative;margin-left:-6px;transform-origin:left center;animation:swing 1s cubic-bezier(.2,.9,.25,1.1) both;z-index:2;min-width:0;display:flex}
@keyframes swing{from{transform:perspective(1100px) rotateY(-70deg)}to{transform:none}}
.door-in{flex:1;display:flex;background:linear-gradient(90deg,var(--enamel-deep),var(--enamel) 14%,var(--enamel));border-radius:14px 26px 18px 14px;padding:12px 10px 12px 12px;box-shadow:var(--shadow)}
.liner{flex:1;background:var(--liner);border-radius:10px 18px 12px 10px;padding:30px 6px 10px;display:flex;flex-direction:column;gap:10px;position:relative;color:var(--cold-ink)}
.liner .zone-label{left:8px}
.bin{position:relative;flex:1;display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:10px}
.bin::after{content:"";position:absolute;left:-2px;right:-2px;bottom:0;height:22px;border-radius:0 0 8px 8px;background:rgba(170,215,224,.55);border-top:2px solid rgba(255,255,255,.9)}
.bin .items{justify-content:center;position:relative;z-index:1}

@media (max-width:620px){
  .fridge{grid-template-columns:minmax(0,1fr)}
  .door{margin:14px 0 0;transform:none;animation:none}
  .door-in{border-radius:18px}
  .door{display:block}
  .liner{flex-direction:row;flex-wrap:wrap;padding-top:28px}
  .bin{flex:1 1 30%}
}

/* ingrediente */
.ing{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;width:68px;padding:6px 2px 4px;border:0;background:transparent;border-radius:14px;color:var(--cold-ink);transition:transform .18s ease}
.ing img{width:46px;height:46px;transition:transform .25s cubic-bezier(.3,1.6,.5,1),filter .2s}
.ing .nm{font-size:12px;font-weight:600;line-height:1.15;text-align:center}
.ing:hover img{transform:translateY(-4px) rotate(-4deg)}
.ing::before{content:"";position:absolute;top:4px;left:50%;width:52px;height:52px;margin-left:-26px;border-radius:50%;background:var(--butter);opacity:0;transform:scale(.4);transition:all .25s cubic-bezier(.3,1.6,.5,1)}
.ing[aria-pressed="true"]::before{opacity:.55;transform:scale(1)}
.ing[aria-pressed="true"] img{transform:scale(1.06);filter:drop-shadow(0 4px 3px rgba(0,0,0,.18))}
.ing[aria-pressed="true"] .nm{font-weight:700}
.ing .tick{position:absolute;top:2px;right:6px;width:20px;height:20px;border-radius:50%;background:var(--tomato);color:var(--on-tomato);display:grid;place-items:center;transform:scale(0);transition:transform .25s cubic-bezier(.3,1.8,.5,1);box-shadow:0 0 0 2px var(--cold)}
.ing .tick svg{width:12px;height:12px}
.ing[aria-pressed="true"] .tick{transform:scale(1)}
.ing > *{position:relative}
@media (max-width:620px){.ing{width:auto;min-width:60px;padding-inline:4px}.ing .nm{font-size:11.5px}.ing img{width:40px;height:40px}.ing::before{width:46px;height:46px;margin-left:-23px}}

/* dispensa */
.pantry{background:linear-gradient(var(--wood) 0 0) top/100% 10px no-repeat,var(--card);border-radius:18px;padding:22px 12px 10px;position:relative;box-shadow:var(--shadow);color:var(--ink)}
.pantry .zone-label{color:var(--ink-2);top:16px;left:14px}
.pantry .items{padding-top:12px}
.pantry .ing{color:var(--ink)}
.pantry .ing .tick{box-shadow:0 0 0 2px var(--card)}

/* ---------- piano di lavoro ---------- */
.counter{display:flex;flex-direction:column;gap:16px;position:sticky;top:calc(env(safe-area-inset-top,0px) + 12px);min-width:0}
@media (max-width:900px){.counter{position:static}}
.board{background:var(--card);border-radius:22px;box-shadow:var(--shadow);overflow:visible;position:relative}
.board-top{height:14px;border-radius:22px 22px 0 0;background:repeating-linear-gradient(90deg,var(--wood) 0 38px,var(--wood-deep) 38px 40px)}
.board-body{padding:18px 18px 20px;display:flex;flex-direction:column;gap:14px}
.board h2{font-size:21px;font-weight:600}
.kicker{font-family:var(--f-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2)}
.search{position:relative}
.search input{width:100%;font:inherit;font-size:16px;padding:13px 14px 13px 44px;border-radius:14px;border:2px solid var(--line);background:var(--wall);color:var(--ink)}
.search input:focus{outline:none;border-color:var(--m4)}
.search .lens{position:absolute;left:14px;top:50%;width:20px;height:20px;margin-top:-10px;color:var(--ink-2)}
.suggest{position:absolute;z-index:20;left:0;right:0;top:calc(100% + 6px);background:var(--card);border:1.5px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:6px;margin:0;list-style:none}
.suggest li{display:flex;align-items:center;gap:10px;padding:7px 8px;border-radius:10px;cursor:pointer}
.suggest li[aria-selected="true"],.suggest li:hover{background:var(--wall)}
.suggest img{width:32px;height:32px;flex:none}
.suggest .s-main{display:flex;flex-direction:column;min-width:0}
.suggest .s-name{font-weight:600}
.suggest .s-sub{font-size:12.5px;color:var(--ink-2)}
.suggest .s-in{margin-left:auto;font-size:12px;color:var(--ok);font-weight:600}
.suggest .s-none{color:var(--ink-2);font-size:14px;cursor:default}
.chips{display:flex;flex-wrap:wrap;gap:8px;min-height:44px;align-content:flex-start}
.chip{display:inline-flex;align-items:center;gap:6px;padding:4px 6px 4px 4px;border-radius:999px;background:var(--wall);border:1.5px solid var(--line);font-weight:600;font-size:14px;animation:drop .35s cubic-bezier(.3,1.6,.5,1)}
@keyframes drop{from{transform:translateY(-10px) scale(.8);opacity:0}}
.chip img.ic{width:26px;height:26px}
.chip .x{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;border:0;background:transparent;color:var(--ink-2)}
.chip .x:hover{background:var(--line);color:var(--ink)}
.empty-board{color:var(--ink-2);font-size:14px;margin:0;align-self:center}
.basics{font-size:13px;color:var(--ink-2);display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.basics b{font-weight:600;color:var(--ink)}
.basics .pill{font-family:var(--f-mono);font-size:11.5px;padding:2px 8px;border-radius:999px;border:1px solid var(--line)}
.actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.btn{border:0;border-radius:14px;padding:12px 18px;font-weight:700;font-size:15px;display:inline-flex;align-items:center;gap:8px;transition:transform .15s}
.btn:active{transform:scale(.97)}
.btn-primary{background:var(--tomato);color:var(--on-tomato);box-shadow:0 4px 0 rgba(0,0,0,.18)}
.btn-ghost{background:transparent;color:var(--ink-2);padding:10px 8px;font-weight:600;text-decoration:underline;text-underline-offset:3px}
.num{font-family:var(--f-mono);font-variant-numeric:tabular-nums}

.dinner-card{border:0;text-align:left;width:100%;background:var(--butter);color:var(--on-butter);border-radius:22px;padding:18px 18px 18px 20px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;box-shadow:var(--shadow);position:relative;overflow:hidden}
.dinner-card .dc-title{display:block;font-family:var(--f-display);line-height:1.15;font-size:26px;font-weight:700}
.dinner-card .dc-sub{display:block;margin:4px 0 0;font-size:14px;opacity:.85}
.dinner-card .reels{display:flex;gap:5px;background:rgba(0,0,0,.14);padding:7px;border-radius:12px}
.dinner-card .reels span{width:34px;height:42px;border-radius:7px;background:var(--plate);display:grid;place-items:center}
.dinner-card .reels img{width:26px;height:26px}
.dinner-card:hover .reels span{animation:jiggle .4s ease-in-out}
.dinner-card:hover .reels span:nth-child(2){animation-delay:.08s}
.dinner-card:hover .reels span:nth-child(3){animation-delay:.16s}
@keyframes jiggle{50%{transform:translateY(-5px)}}

/* ---------- risultati ---------- */
.results{margin-top:46px}
.res-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:14px 24px;margin-bottom:18px}
.res-head h2{font-size:clamp(26px,3.6vw,36px);font-weight:600}
.res-head p{margin:4px 0 0;color:var(--ink-2)}
.filters{display:flex;flex-wrap:wrap;gap:8px}
.fchip{border:1.5px solid var(--line);background:var(--card);border-radius:999px;padding:7px 13px;font-size:14px;font-weight:600;color:var(--ink-2)}
.fchip[aria-pressed="true"]{background:var(--ink);color:var(--wall);border-color:var(--ink)}
.group{margin-top:26px}
.group-h{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.group-h h3{font-size:20px;font-weight:600}
.group-h .count{font-family:var(--f-mono);font-size:13px;color:var(--ink-2)}
.sig{width:12px;height:12px;border-radius:50%;flex:none;box-shadow:0 0 0 4px color-mix(in srgb,currentColor 18%,transparent)}
.g0 .sig{background:var(--ok);color:var(--ok)}
.g1 .sig{background:var(--warn);color:var(--warn)}
.g2 .sig{background:var(--miss);color:var(--miss)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px}
.card{text-decoration:none;border:0;padding:0;text-align:left;background:var(--card);border-radius:20px;overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column;transition:transform .2s;color:var(--ink)}
.card:hover{transform:translateY(-4px)}
.tint-a{background:var(--tint-a)}.tint-b{background:var(--tint-b)}.tint-c{background:var(--tint-c)}.tint-d{background:var(--tint-d)}.tint-e{background:var(--tint-e)}
.art{position:relative;aspect-ratio:16/9;max-width:100%;display:grid;place-items:center}
.badge{position:absolute;z-index:2;white-space:nowrap;top:12px;left:12px;font-family:var(--f-mono);font-size:11.5px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;padding:4px 9px;border-radius:999px;background:var(--card);color:var(--ink)}
.badge i{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;font-style:normal}
.plate{position:relative;width:46%;aspect-ratio:1;border-radius:50%;background:var(--plate);box-shadow:0 0 0 7px var(--plate-rim),0 14px 18px -10px rgba(0,0,0,.35)}
.plate img{position:absolute;width:52%;height:52%}
.plate.n1 img{left:24%;top:24%}
.plate.n2 img:nth-child(1){left:8%;top:24%}.plate.n2 img:nth-child(2){left:40%;top:24%}
.plate.n3 img:nth-child(1){left:8%;top:12%}.plate.n3 img:nth-child(2){left:40%;top:12%}.plate.n3 img:nth-child(3){left:24%;top:40%}
.c-body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:9px;flex:1}
.c-body .c-title{margin:0;font-family:var(--f-display);font-weight:600;font-size:18.5px;line-height:1.2}
.meta{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:13px;color:var(--ink-2);align-items:center}
.meta span{display:inline-flex;align-items:center;gap:5px}
.meta svg{width:15px;height:15px}
.pips{display:inline-flex;gap:3px}
.pips b{width:7px;height:7px;border-radius:50%;background:var(--line)}
.pips b.on{background:var(--ink-2)}
.have{display:flex;flex-direction:column;gap:6px;margin-top:auto}
.have-t{font-size:13.5px}
.have-t strong{font-family:var(--f-mono);font-weight:500}
.bar{display:flex;gap:3px}
.bar i{flex:1;height:8px;border-radius:4px;background:var(--line)}
.bar i.on{background:var(--ok)}
.miss{display:flex;flex-wrap:wrap;gap:6px}
.miss span{font-size:12.5px;font-weight:600;padding:2px 8px 2px 4px;border-radius:999px;border:1.5px dashed var(--miss);color:var(--miss);display:inline-flex;align-items:center;gap:4px}
.miss img{width:18px;height:18px}
.no-res{background:var(--card);border-radius:20px;padding:28px;display:flex;gap:20px;align-items:center;flex-wrap:wrap;box-shadow:var(--shadow)}
.no-res .plate{width:80px;flex:none}
.no-res p{margin:4px 0 0;color:var(--ink-2);max-width:52ch}

/* ---------- pagine per google ---------- */
.seo{margin-top:56px;display:flex;flex-direction:column;gap:18px}
.seo h2{font-size:26px;font-weight:600}
.seo-head p{color:var(--ink-2);margin:6px 0 0;max-width:60ch}
.serp{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}
.serp a{text-decoration:none;color:inherit;border:1.5px solid var(--line);background:var(--card);border-radius:16px;padding:14px 16px;display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto auto;column-gap:14px;row-gap:2px;align-items:center;min-width:0;transition:border-color .15s,transform .15s}
.serp .ics{grid-row:1 / 4;display:flex;align-items:center}
.serp .ics img{width:40px;height:40px}
.serp .ics img + img{margin-left:-12px}
.serp a:hover{border-color:var(--ink-2);transform:translateY(-2px)}
.serp .u{font-family:var(--f-mono);font-size:12px;color:var(--ok);overflow-wrap:anywhere}
.serp .t{font-weight:700;font-size:16px;color:var(--m4)}
.serp .d{font-size:13.5px;color:var(--ink-2)}
footer{margin-top:56px;padding-top:18px;border-top:1.5px solid var(--line);color:var(--ink-2);font-size:13px}

/* ---------- barra mobile ---------- */
.mbar{position:fixed;left:0;right:0;bottom:0;z-index:30;padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));background:var(--card);border-top:1.5px solid var(--line);display:none;gap:10px;align-items:center}
.mbar .mtxt{flex:1;font-size:14px;min-width:0}
.mbar .btn{padding:10px 14px}
@media (max-width:900px){.mbar{display:flex}}

/* ---------- finestre ---------- */
.sheet{position:fixed;inset:0;z-index:50;background:var(--overlay);display:grid;place-items:center;padding:16px;animation:fade .2s}
@keyframes fade{from{opacity:0}}
.panel{background:var(--card);color:var(--ink);border-radius:26px;width:min(640px,100%);max-height:calc(100% - 8px);overflow:auto;box-shadow:0 30px 60px -20px rgba(0,0,0,.5);animation:pop .3s cubic-bezier(.3,1.4,.5,1);position:relative}
@keyframes pop{from{transform:translateY(20px) scale(.96);opacity:0}}
.close{position:absolute;top:12px;right:12px;z-index:3;width:38px;height:38px;border-radius:50%;border:0;background:var(--card);display:grid;place-items:center;box-shadow:0 2px 8px rgba(0,0,0,.15)}
.close svg{width:18px;height:18px}
.d-art{aspect-ratio:21/9;max-width:100%;display:grid;place-items:center}
.d-art .plate{width:28%}
.d-body{padding:20px 24px 26px;display:flex;flex-direction:column;gap:16px}
.d-body h3{font-size:28px;font-weight:600}
.cols{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:22px}
@media (max-width:560px){.cols{grid-template-columns:minmax(0,1fr)}}
.ilist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.ilist li{display:flex;align-items:center;gap:8px;font-weight:600;font-size:14.5px}
.ilist img{width:28px;height:28px;flex:none}
.ilist .st{margin-left:auto;font-size:12px;font-family:var(--f-mono)}
.ilist .ok{color:var(--ok)} .ilist .no{color:var(--miss)}
.steps{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:8px;font-size:14.5px}
.partner{border:2px dashed var(--line);border-radius:16px;padding:14px 16px;display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;justify-content:space-between}
.partner p{margin:0;font-size:14px}
.partner small{display:block;color:var(--ink-2);font-size:12px}
.partner .btn{background:var(--ok);color:var(--card)}
.label{font-family:var(--f-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);margin:0 0 8px}

/* slot "che faccio a cena" */
.slot{padding:28px 24px 24px;display:flex;flex-direction:column;gap:18px;align-items:stretch;background:linear-gradient(var(--butter) 0 0) top/100% 120px no-repeat}
.slot h3{font-size:30px;font-weight:700;color:var(--on-butter);text-align:center}
.machine{background:var(--ink);border-radius:20px;padding:12px;box-shadow:0 10px 0 -2px rgba(0,0,0,.2)}
.window{position:relative;height:216px;overflow:hidden;border-radius:12px;background:var(--plate)}
.window::before,.window::after{content:"";position:absolute;left:0;right:0;height:72px;z-index:2;pointer-events:none}
.window::before{top:0;background:linear-gradient(var(--plate),transparent)}
.window::after{bottom:0;background:linear-gradient(transparent,var(--plate))}
.marker{position:absolute;left:6px;right:6px;top:72px;height:72px;border:3px solid var(--tomato);border-radius:12px;z-index:3;pointer-events:none}
.reel{list-style:none;margin:0;padding:0;will-change:transform}
.reel li{height:72px;display:flex;align-items:center;gap:14px;padding:0 20px;color:#1E3633;font-family:var(--f-display);font-weight:600;font-size:19px;white-space:nowrap;overflow:hidden}
.reel li .mini{width:48px;height:48px;flex:none;border-radius:50%;background:#FFFFFF;box-shadow:0 0 0 4px #E3ECE9;position:relative}
.reel li .mini img{position:absolute;width:60%;height:60%;left:20%;top:20%}
.slot-opts{display:flex;justify-content:center}
.toggle{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--ink-2)}
.toggle input{width:18px;height:18px;accent-color:var(--tomato)}
.verdict{min-height:46px;text-align:center}
.verdict .v-meta{color:var(--ink-2);font-size:14px}
.slot .actions{justify-content:center}
.btn-butter{background:var(--butter);color:var(--on-butter);box-shadow:0 4px 0 rgba(0,0,0,.18)}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-delay:0s!important;transition-duration:.01ms!important}
}

/* ---------- aggiunte del sito vero ---------- */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
a{color:var(--m4)}
.brand{text-decoration:none;color:inherit}
.topnav{display:flex;gap:6px;flex-wrap:wrap;margin-inline:-12px}
.topnav a{font-weight:600;font-size:14px;color:var(--ink-2);text-decoration:none;padding:8px 12px;border-radius:999px}
.topnav a:hover{background:var(--card);color:var(--ink)}
.magnets .m1{color:var(--m1)}.magnets .m2{color:var(--m2)}.magnets .m3{color:var(--m3)}.magnets .m4{color:var(--m4)}.magnets .m5{color:var(--m5)}.magnets .m6{color:var(--m6)}
.piede{margin-top:56px;padding-block:18px 8px;border-top:1.5px solid var(--line);color:var(--ink-2);font-size:13px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 24px}
.piede p{margin:0}
.c-desc{margin:0;font-size:13.5px;color:var(--ink-2)}
.btn{text-decoration:none}
.btn-soon{background:var(--line);color:var(--ink-2);cursor:default}
.loading{opacity:.55;transition:opacity .2s}
.err-box{background:var(--card);border-radius:20px;padding:20px 24px;box-shadow:var(--shadow);color:var(--miss)}

/* pagina ricetta */
.recipe{max-width:860px;margin:0 auto}
.crumb{margin:0 0 14px}
.crumb a{font-weight:600;text-decoration:none}
.recipe-card{background:var(--card);border-radius:26px;overflow:hidden;box-shadow:var(--shadow)}
.recipe-card h1{font-size:clamp(28px,4.4vw,40px);font-weight:600;margin-top:2px}
.recipe-card header{display:flex;flex-direction:column;gap:8px}
.lead{margin:0;font-size:16.5px;color:var(--ink-2);max-width:62ch}
.ilist .i-name small{font-weight:500;color:var(--ink-2);font-size:13px;margin-left:4px}
.basics-line{font-size:13.5px;color:var(--ink-2);margin:12px 0 0}
.veg{color:var(--ok);font-weight:600}
.d-body h2.label{font-weight:500;font-family:var(--f-mono)}
.steps li::marker{font-family:var(--f-mono);color:var(--ink-2)}

/* pagine "ricette con" */
.landing-head{display:flex;flex-wrap:wrap;gap:20px 28px;align-items:center;margin-bottom:28px}
.landing-head h1{font-size:clamp(30px,5vw,48px);font-weight:600;margin:2px 0 8px}
.landing-head > div:last-child{flex:1 1 320px;min-width:0;display:flex;flex-direction:column;gap:6px}
.landing-head p{margin:0}
.landing-head .lead{margin-bottom:10px}
.landing-ings{display:flex;align-items:center;padding:16px 20px;background:var(--card);border-radius:24px;box-shadow:var(--shadow)}
.landing-ings img{width:72px;height:72px}
.landing-ings img + img{margin-left:-14px}

/* pagina vuota / 404 */
.vuoto-pagina{display:flex;flex-wrap:wrap;gap:24px;align-items:center;background:var(--card);border-radius:24px;padding:32px;box-shadow:var(--shadow);max-width:760px;margin:24px auto}
.vuoto-pagina .plate{width:110px;flex:none}
.vuoto-pagina h1{font-size:28px}
.vuoto-pagina p{color:var(--ink-2)}
.btn[aria-disabled="true"]{opacity:.55;pointer-events:none}
.partner .btn-soon{background:var(--line);color:var(--ink-2)}
@media (pointer:coarse){.chip .x{width:32px;height:32px;margin:-5px -4px -5px 0}}
