/* melki/menu · dispositivi e interfacce del prodotto
   Telefono del cliente (palette d'esempio della Latteria), laptop con lo Studio, cursore, avvisi. */

/* ---------- telefono ---------- */
.ph{--pw:280px;position:relative;width:var(--pw);aspect-ratio:9/19.4;flex:none;border-radius:calc(var(--pw) * .165);background:#161512;padding:calc(var(--pw) * .03);box-shadow:inset 0 0 0 1px rgba(255,255,255,.07),0 50px 90px -44px rgba(28,26,23,.55),0 16px 34px -22px rgba(28,26,23,.35)}
.ph::before{content:"";position:absolute;z-index:9;top:calc(var(--pw) * .058);left:50%;width:31%;height:calc(var(--pw) * .085);transform:translateX(-50%);border-radius:99px;background:#161512}
.ph-s{position:relative;height:100%;overflow:hidden;border-radius:calc(var(--pw) * .136);font-size:calc(var(--pw) * .046);line-height:1.3;isolation:isolate}
.on-nero .ph,.on-dark .ph{box-shadow:inset 0 0 0 1px rgba(255,255,255,.1),0 50px 90px -40px rgba(0,0,0,.7)}

/* ---------- menu del cliente (palette d'esempio: Latteria Garbatella) ---------- */
.g{--g-bg:#F4EEDC;--g-card:#FBF7EC;--g-ink:#2B3122;--g-mut:#6E705E;--g-acc:#576448;--g-acc2:#8DA071;--g-gold:#E9A42C;--g-line:rgba(43,49,34,.1);background:var(--g-bg);color:var(--g-ink)}
.g-v{position:absolute;inset:0;padding:calc(var(--pw) * .2) calc(var(--pw) * .055) 0;overflow:hidden}
.g-top{display:flex;flex-direction:column;align-items:center;gap:.35em;margin-bottom:.7em}
.g-top img{width:2.5em;height:2.5em;border-radius:.6em;background:#fff;padding:.15em}
.g-top p{font-family:var(--serif);font-size:1.28em;font-weight:500;letter-spacing:-.005em}
.g-tabs,.g-langs{display:flex;gap:.35em;flex-wrap:nowrap;overflow:hidden}
.g-langs{justify-content:center;margin-bottom:.4em}
.g-tabs span,.g-langs span{flex:none;font-size:.66em;font-weight:700;padding:.36em .72em;border-radius:99px;box-shadow:0 0 0 1px var(--g-line) inset;color:var(--g-mut);transition:background .5s,color .5s,box-shadow .5s}
.g-tabs .on,.g-langs .on{background:var(--g-acc);color:#fff;box-shadow:none}
.g-cat{display:flex;justify-content:space-between;align-items:center;font-size:.66em;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--g-acc);margin:1.15em 0 .5em}
.g-cat i{font-style:normal;letter-spacing:0;font-size:1.3em;transition:transform .5s var(--ease)}
.g-it{position:relative;background:var(--g-card);border-radius:.8em;padding:.66em .8em;margin-bottom:.45em;box-shadow:0 0 0 1px var(--g-line) inset;transition:opacity .7s var(--ease),box-shadow .7s,background .7s,transform .7s var(--ease)}
.g-it p{display:flex;justify-content:space-between;gap:.6em;font-weight:600;font-size:.94em}
.g-it p span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.g-it b{font-family:var(--serif);font-weight:500;white-space:nowrap}
.g-it small{display:block;font-size:.76em;color:var(--g-mut);margin-top:.2em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.g-tag{position:absolute;top:-.6em;right:.7em;font-style:normal;font-size:.6em;font-weight:700;padding:.22em .66em;border-radius:99px;opacity:0;transform:translateY(3px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.g-tag.so{background:var(--g-ink);color:#fff}
.g-tag.hi{background:var(--g-gold);color:#2b2008}
.g-it.is-so{opacity:.5}
.g-it.is-so p span{text-decoration:line-through;text-decoration-thickness:1px}
.g-it.is-so .g-tag.so,.g-it.is-hi:not(.is-so) .g-tag.hi{opacity:1;transform:none}
.g-it.is-hi{box-shadow:0 0 0 1.5px var(--g-gold) inset;background:#FFF8E6}
.g-bar{display:flex;align-items:center;justify-content:center;gap:.5em;font-size:.66em;font-weight:700;border-radius:99px;padding:.45em .8em;margin:-.3em 0 .8em;color:#6b5420;background:#F6E7C3}
.g-bar i{width:.55em;height:.55em;border-radius:50%;background:#C9922B}
/* benvenuto */
.g-wel{padding:0}
.g-wel-img{height:41%;position:relative}
.g-wel-img img{width:100%;height:100%;object-fit:cover}
.g-wel-img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,var(--g-bg))}
.g-wel-b{position:relative;margin-top:-1.8em;padding:0 1.15em;display:flex;flex-direction:column;align-items:flex-start;gap:.5em}
.g-wel-logo{width:3.4em;height:3.4em;border-radius:.8em;background:#fff;padding:.2em;box-shadow:0 6px 14px -8px rgba(0,0,0,.4)}
.g-wel-n{font-family:var(--serif);font-size:1.5em;font-weight:500;line-height:1.1;margin-top:.15em}
.g-wel-d{font-size:.84em;color:var(--g-mut)}
.g-open{display:inline-flex;align-items:center;gap:.45em;font-size:.72em;font-weight:700;background:rgba(94,155,83,.15);color:#3E6B36;padding:.35em .75em;border-radius:99px}
.g-open i{width:.55em;height:.55em;border-radius:50%;background:#5E9B53}
.g-ic{display:grid;grid-template-columns:repeat(4,1fr);gap:.4em;width:100%;margin-top:.3em}
.g-ic span{display:grid;justify-items:center;gap:.35em;font-size:.6em;font-weight:600;color:var(--g-mut)}
.g-ic span::before{content:"";width:3.3em;height:3.3em;border-radius:50%;background:var(--g-card);box-shadow:0 0 0 1px var(--g-line) inset}
.g-cta{width:100%;text-align:center;margin-top:.6em;background:var(--g-acc);color:#fff;font-weight:600;font-size:.9em;padding:.82em;border-radius:99px}
/* scheda del piatto */
.g-sheet{position:absolute;left:0;right:0;bottom:0;z-index:3;background:var(--g-card);border-radius:1.4em 1.4em 0 0;padding:.8em 1.2em 1.5em;box-shadow:0 -14px 30px -12px rgba(43,49,34,.35);transform:translateY(105%);transition:transform .8s var(--ease)}
.g-sheet.open{transform:none}
.g-sheet .grab{display:block;width:2.6em;height:.28em;border-radius:99px;background:var(--g-line);margin:0 auto .9em}
.g-sheet .k{font-size:.64em;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--g-gold)}
.g-sheet .n{font-family:var(--serif);font-size:1.4em;font-weight:500;line-height:1.15;margin:.2em 0 .45em}
.g-sheet .d{font-size:.84em;color:var(--g-mut)}
.g-sheet .a{font-size:.72em;margin-top:.7em;font-weight:600}
.g-sheet .p{font-family:var(--serif);font-size:1.3em;margin-top:.5em}
.g-dim{position:absolute;inset:0;z-index:2;background:rgba(43,49,34,.28);opacity:0;pointer-events:none;transition:opacity .6s}
.g-dim.on{opacity:1;pointer-events:auto}

/* ---------- laptop ---------- */
.lap{--lw:760px;position:relative;width:var(--lw);max-width:100%}
.lap-scr{position:relative;aspect-ratio:16/10.2;border-radius:calc(var(--lw) * .022) calc(var(--lw) * .022) calc(var(--lw) * .006) calc(var(--lw) * .006);background:#161512;padding:calc(var(--lw) * .014);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.lap-scr>.st{border-radius:calc(var(--lw) * .006)}
.lap-base{position:relative;height:calc(var(--lw) * .022);margin:0 -6.5%;border-radius:0 0 calc(var(--lw) * .02) calc(var(--lw) * .02);background:linear-gradient(#D9D4CB,#BDB6AA);box-shadow:0 40px 70px -40px rgba(28,26,23,.6)}
.lap-base::before{content:"";position:absolute;left:50%;top:0;width:15%;height:45%;transform:translateX(-50%);border-radius:0 0 8px 8px;background:#A9A296}

/* ---------- lo Studio ---------- */
.lap .st{align-items:stretch;padding:0;border:0;border-radius:0;white-space:normal;gap:0}
.st{--s-bg:#FFFFFF;--s-side:#F8F5EF;--s-line:#ECE6DC;--s-ink:#1C1A17;--s-mut:#857D71;--s-acc:#A0532F;--s-acc-t:rgba(160,83,47,.09);position:relative;height:100%;overflow:hidden;display:grid;grid-template-columns:17.5% minmax(0,1fr);background:var(--s-bg);color:var(--s-ink);font-family:var(--sans);font-size:calc(var(--lw) * .0158);line-height:1.35}
.st-side{background:var(--s-side);border-right:1px solid var(--s-line);padding:1.2em .8em;display:flex;flex-direction:column;gap:.2em}
.st-brand{display:flex;align-items:center;gap:.5em;white-space:nowrap;font-family:var(--prod);font-weight:500;font-size:1.02em;padding:0 .4em 1em}
.st-brand .sg{width:1.3em;height:1.3em}
.st-brand i{font-style:normal;color:var(--s-acc)}
.st-venue{display:flex;align-items:center;gap:.5em;padding:.55em .5em;margin-bottom:.8em;border-radius:.6em;background:#fff;box-shadow:0 0 0 1px var(--s-line) inset;font-size:.86em;font-weight:600}
.st-venue img{width:1.6em;height:1.6em;border-radius:.4em}
.st-nav{display:flex;align-items:center;gap:.6em;padding:.5em .55em;border-radius:.55em;font-size:.9em;color:var(--s-mut);transition:background .4s,color .4s}
.st-nav svg{width:1.05em;height:1.05em;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.st-nav.on{background:var(--s-acc-t);color:var(--s-acc);font-weight:600}
.st-main{position:relative;display:flex;flex-direction:column;min-width:0}
.st-top{display:flex;align-items:center;gap:.8em;padding:1em 1.4em;border-bottom:1px solid var(--s-line)}
.st-top h4{margin:0;font-size:1.25em;font-weight:600;letter-spacing:-.01em}
.st-pill{font-size:.74em;font-weight:600;padding:.3em .7em;border-radius:99px;background:rgba(74,107,69,.12);color:#4A6B45}
.st-btn{margin-left:auto;font-size:.82em;font-weight:600;padding:.5em 1em;border-radius:99px;background:var(--s-acc);color:#fff;transition:transform .2s,background .3s}
.st-btn.ghost{margin-left:0;background:transparent;color:var(--s-ink);box-shadow:0 0 0 1px var(--s-line) inset}
.st-body{position:relative;flex:1;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1.4em;padding:1.2em 1.4em;min-height:0}
.st-col{min-width:0;display:flex;flex-direction:column;gap:.6em}
.st-h{display:flex;justify-content:space-between;align-items:center;font-size:.78em;font-weight:600;color:var(--s-mut);text-transform:uppercase;letter-spacing:.08em;padding:0 .2em}
.st-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:1em;padding:.62em .8em;border-radius:.6em;box-shadow:0 0 0 1px var(--s-line) inset;font-size:.92em;background:#fff;transition:box-shadow .4s,background .4s,transform .6s var(--ease)}
.st-row span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}
.st-row em{font-style:normal;color:var(--s-mut);font-variant-numeric:tabular-nums}
.st-sw{position:relative;width:2.3em;height:1.35em;border-radius:99px;background:#DCD6CB;transition:background .4s}
.st-sw::after{content:"";position:absolute;top:.15em;left:.15em;width:1.05em;height:1.05em;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.2);transition:transform .4s var(--ease)}
.st-sw.on{background:var(--s-acc)}
.st-sw.on::after{transform:translateX(.95em)}
.st-row.hot{box-shadow:0 0 0 1.5px var(--s-acc) inset}
.st-prev{align-self:start;--pw:calc(var(--lw) * .2);width:var(--pw);aspect-ratio:9/19.4;border-radius:calc(var(--pw) * .15);padding:calc(var(--pw) * .028);background:#161512}
.st-prev .ph-s{border-radius:calc(var(--pw) * .125)}
.st-prev .g-v{padding-top:calc(var(--pw) * .14)}
.st-field{display:grid;gap:.3em;font-size:.86em}
.st-field label{font-size:.82em;color:var(--s-mut);font-weight:600}
.st-field div{padding:.6em .7em;border-radius:.55em;box-shadow:0 0 0 1px var(--s-line) inset;min-height:2.4em;background:#fff}
.st-field.focus div{box-shadow:0 0 0 1.5px var(--s-acc) inset}

/* ---------- cursore ---------- */
.ptr{position:absolute;z-index:20;left:0;top:0;width:18px;height:18px;pointer-events:none;transform:translate(var(--cx,60%),var(--cy,80%));transition:transform .9s cubic-bezier(.45,.05,.25,1),opacity .4s;opacity:0}
.ptr.on{opacity:1}
.ptr svg{width:100%;height:100%;filter:drop-shadow(0 2px 3px rgba(0,0,0,.3))}
.ptr::after{content:"";position:absolute;left:-9px;top:-9px;width:18px;height:18px;border-radius:50%;background:rgba(160,83,47,.35);transform:scale(0);opacity:0}
.ptr.click::after{animation:clk .5s ease-out}
@keyframes clk{0%{transform:scale(.2);opacity:1}100%{transform:scale(1.8);opacity:0}}

/* ---------- avviso dell'anello ---------- */
.toast{display:flex;gap:.75em;align-items:flex-start;background:rgba(251,248,242,.97);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:1.15em;padding:.85em 1em;box-shadow:0 24px 50px -24px rgba(28,26,23,.5),0 0 0 1px rgba(28,26,23,.08);font-size:14px;line-height:1.42;color:var(--ink)}
.toast-ic{width:30px;height:30px;flex:none;border-radius:8px;background:var(--nero);display:grid;place-items:center}
.toast-ic .sg{width:20px;height:20px;--sg-t:rgba(246,242,234,.25);--sg-b:rgba(157,183,218,.35)}
.toast-ic .sg .c{stroke:var(--r-menu-l)}
.toast.call .toast-ic .c{animation:breathe 1.5s ease-in-out .4s 2}
.toast-h{display:flex;justify-content:space-between;gap:10px;font-size:12.5px;font-weight:600;margin-bottom:2px}
.toast-h span:last-child{color:var(--ink-3);font-weight:500;font-variant-numeric:tabular-nums}
@keyframes breathe{0%,100%{opacity:1}50%{opacity:.3}}
.lap-scr>.st{position:absolute;inset:calc(var(--lw) * .014)}
.g-ic span:nth-child(1)::before{background:var(--g-card) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23576448' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8'/%3E%3Cpath d='M12 8v4.5l3 1.8'/%3E%3C/svg%3E") center/52% no-repeat}
.g-ic span:nth-child(2)::before{background:var(--g-card) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23576448' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-6-5.4-6-10a6 6 0 0112 0c0 4.6-6 10-6 10z'/%3E%3Ccircle cx='12' cy='11' r='2.2'/%3E%3C/svg%3E") center/52% no-repeat}
.g-ic span:nth-child(3)::before{background:var(--g-card) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23576448' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 9.5a12 12 0 0116 0M7 13a7.5 7.5 0 0110 0M10 16.5a3 3 0 014 0'/%3E%3Ccircle cx='12' cy='19.5' r='.6'/%3E%3C/svg%3E") center/52% no-repeat}
.g-ic span:nth-child(4)::before{background:var(--g-card) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23576448' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4.5' y='4.5' width='15' height='15' rx='4.5'/%3E%3Ccircle cx='12' cy='12' r='3.6'/%3E%3Ccircle cx='16.6' cy='7.4' r='.6'/%3E%3C/svg%3E") center/52% no-repeat}
