/* Sito di RACE (2026-10): stile del sito. Nato dal prototipo approvato a ottobre 2026; le foto sono file in foto/
   (licenza Unsplash, vedi foto/CREDITI.txt). Sezioni in ordine: base, apertura, menu, stile, gestionale, numeri. */

/* ======================== base e sezioni in basso ======================== */
:root{
  --ink:#1D1D1F; --muted:#6E6E73; --soft:#86868B; --line:rgba(0,0,0,.08); --tint:#F5F5F7; --bg:#FFFFFF;
  --race:#0000F6; --race-2:#0000C4; --race-soft:#EEF0FF; --race-ink:#0000C4;
  --c-sala:#34C759; --c-cucina:#FF9500; --c-cassa:#007AFF; --c-pren:#AF52DE; --c-mag:#30B0C7; --c-num:#FF2D55;
  --display:"Inter Tight",-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",Roboto,sans-serif;
  --text:Inter,-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,sans-serif;
  --spring:cubic-bezier(.34,1.56,.64,1); --ease:cubic-bezier(.22,.8,.2,1); --wrap:1080px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:400 17px/1.47 var(--text);letter-spacing:-.022em;-webkit-font-smoothing:antialiased;overflow-x:clip}
a{color:inherit}
h1,h2,h3{font-family:var(--display);font-weight:600;letter-spacing:-.035em;margin:0}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 22px}
.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;background:var(--race);color:#fff;font:500 17px/1 var(--text);letter-spacing:-.01em;
  padding:13px 24px;text-decoration:none;cursor:pointer;transition:background .2s,transform .2s var(--ease)}
.btn:hover{background:var(--race-2)}
.btn:active{transform:scale(.97)}
.btn-line{background:transparent;color:var(--race);box-shadow:inset 0 0 0 1px var(--race)}
.btn-line:hover{background:var(--race);color:#fff}
.btn-sm{font-size:12px;padding:6px 12px}
.btns{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
.rv{opacity:0;transform:translateY(26px);transition:opacity 1s var(--ease),transform 1s var(--ease)}
.rv.in{opacity:1;transform:none}
.eyebrow{font:600 17px var(--display);letter-spacing:-.01em;color:var(--race);margin:0 0 10px}


/* ---------- barra in alto, come apple.com ---------- */
.gnav{position:sticky;top:0;z-index:80;background:rgba(251,251,253,.8);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid var(--line)}
.gnav .wrap{display:flex;align-items:center;height:48px;gap:30px;font-size:12px;letter-spacing:-.01em}
.gnav .logo{display:flex;align-items:center;gap:7px;text-decoration:none;font:700 15px var(--display);letter-spacing:.01em}
.gnav .logo img{width:20px;height:20px}
.gnav nav{display:flex;gap:30px;margin:0 auto}
.gnav nav a{text-decoration:none;color:rgba(0,0,0,.8)}
.gnav nav a:hover{color:var(--race)}

/* ---------- apertura ---------- */
.hero{padding:64px 0 0;text-align:center}
.hero h1{font-size:clamp(48px,7.4vw,88px);line-height:1.04}
.hero .tag{font:500 clamp(22px,2.6vw,30px)/1.2 var(--display);letter-spacing:-.02em;margin:10px 0 0}
.hero .small{font-size:clamp(15px,1.5vw,19px);color:var(--muted);margin:14px auto 26px;max-width:620px;line-height:1.4}


.sec{padding:130px 0 0}
.center{text-align:center}
.h2{font-size:clamp(40px,5.6vw,64px);line-height:1.05}
.lead{font-size:clamp(19px,2vw,24px);line-height:1.38;color:var(--muted);margin:16px auto 0;max-width:680px;letter-spacing:-.02em}
/* ================= QR ================= */
.qrs{position:relative;height:400px;margin-top:60px;display:flex;justify-content:center;overflow-x:clip}
.qrs .q{position:absolute;top:30px;width:250px;transition:transform 1s var(--spring)}
.qrs .q span{display:block;width:100%;aspect-ratio:1080/1152;background-size:contain;background-repeat:no-repeat;border-radius:5%;box-shadow:0 22px 34px -14px rgba(0,0,0,.24),0 2px 6px rgba(0,0,0,.06)}
.qrs.open .q{transform:translateX(var(--x)) rotate(var(--a)) translateY(var(--y))}

/* ================= EFFICIENZA ================= */
.three{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:56px}
.eff{border-radius:30px;background:#f5f5f7;padding:34px 30px 30px;min-height:420px;display:flex;flex-direction:column;overflow:hidden}
.eff h3{font-size:30px;line-height:1.08}
.eff p{margin:10px 0 0;color:var(--muted);font-size:16px}
.eff .w{margin-top:auto;background:#fff;border-radius:18px;padding:16px;box-shadow:0 1px 2px rgba(0,0,0,.04)}
.wrow{display:grid;grid-template-columns:96px 1fr;gap:10px;align-items:center;font-size:12px;font-weight:600;margin:6px 0}
.wrow .meter{height:8px;border-radius:8px;background:#f2f2f7;overflow:hidden}
.wrow .meter i{display:block;height:100%;border-radius:8px;background:var(--c-mag);width:var(--w);transition:width 1.6s var(--ease),background .5s}
.eff.go .wrow.dec .meter i{width:16%;background:var(--c-cucina)}
.walert{margin-top:10px;display:inline-block;font-size:11px;font-weight:600;color:#fff;background:var(--c-cucina);padding:4px 10px;border-radius:999px;transform:scale(0);transition:transform .5s var(--spring) 1.4s}
.eff.go .walert{transform:scale(1)}
.wt{display:flex;align-items:center;gap:12px}
.ring{width:66px;height:66px;flex:none}
.ring circle{fill:none;stroke-width:7}
.ring .bg{stroke:#f2f2f7}.ring .fg{stroke:var(--c-cucina);stroke-linecap:round;stroke-dasharray:176;stroke-dashoffset:176;transition:stroke-dashoffset 1.6s var(--ease)}
.eff.go .ring .fg{stroke-dashoffset:12}
.wt b{display:block;font:700 22px var(--display)}
.wt small{font-size:12px;color:var(--muted)}
.wbars{display:flex;align-items:flex-end;gap:8px;height:96px}
.wbars i{flex:1;border-radius:8px 8px 3px 3px;background:color-mix(in srgb,var(--c-num) 22%,#fff);height:8%;transition:height 1.2s var(--spring)}
.wbars i:last-child{background:var(--c-num)}
.eff.go .wbars i{height:var(--h)}

/* ================= FONDO ================= */
.ask{border-radius:30px;background:#f5f5f7;padding:60px;display:grid;grid-template-columns:1.4fr 1fr;gap:40px;align-items:center}
.ask h2{font-size:clamp(32px,3.8vw,46px);line-height:1.05;margin-bottom:12px}
.ask p{margin:0;color:var(--muted);font-size:18px}
.ask .meta{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.ask .meta span{font-size:14px;color:var(--soft)}
.prices{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:50px}
.plan{border-radius:30px;background:#f5f5f7;padding:40px;text-align:center}
.plan h3{font-size:28px}
.plan .big{font:600 64px var(--display);letter-spacing:-.04em;margin:16px 0 4px;line-height:1}
.plan .big small{font:500 17px var(--text);color:var(--muted);letter-spacing:-.01em}
.plan p{color:var(--muted);margin:6px 0 24px}
.note{text-align:center;color:var(--muted);font-size:14px;margin-top:20px}
.faq{max-width:820px;margin:44px auto 0}
.faq details{border-top:1px solid var(--line);padding:22px 0}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;font:600 20px var(--display);letter-spacing:-.02em;display:flex;justify-content:space-between;gap:20px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-weight:300;font-size:28px;line-height:.8;color:var(--race);transition:transform .3s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{margin:12px 0 0;color:var(--muted)}
.trial{display:grid;grid-template-columns:1fr 1.1fr;gap:56px;align-items:start}
.trial form{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.trial form .full{grid-column:1/-1}
.trial label{display:flex;flex-direction:column;gap:7px;font-size:13px;color:var(--muted)}
.trial input,.trial select,.trial textarea{font:400 16px var(--text);color:var(--ink);background:#fff;border:0;box-shadow:inset 0 0 0 1px #d2d2d7;border-radius:12px;padding:14px 16px;outline:none;-webkit-appearance:none;appearance:none}
.trial input:focus,.trial select:focus,.trial textarea:focus{box-shadow:inset 0 0 0 2px var(--race)}
.trial .consent{flex-direction:row;align-items:flex-start;gap:10px;font-size:13px}
.trial .consent input{width:18px;height:18px;padding:0;margin-top:1px;-webkit-appearance:auto;appearance:auto;box-shadow:none;accent-color:var(--race)}
.ft{background:#f5f5f7;margin-top:130px;font-size:12px;color:var(--muted)}
.ft .wrap{padding-top:40px;padding-bottom:110px}
.ft-cols{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;padding-bottom:24px;border-bottom:1px solid #d2d2d7}
.ft h4{margin:0 0 10px;font:600 12px var(--text);color:var(--ink)}
.ft a{display:block;text-decoration:none;padding:3px 0}
.ft a:hover{text-decoration:underline}
.ft-bot{padding-top:16px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}


@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}}
@media (max-width:860px){
  .gnav nav{display:none}.gnav .btn{margin-left:auto}
  .wrap{padding-left:16px;padding-right:16px}
  .sec{padding-top:90px}
  .three,.ask,.prices,.trial,.trial form{grid-template-columns:1fr}
  .qrs{height:300px}.qrs .q{width:170px}
  .qrs.open .q{transform:translateX(calc(var(--x) * .38)) rotate(var(--a)) translateY(var(--y))}
  .eff{min-height:0}
  .ask{padding:30px 24px}
  .ft-cols{grid-template-columns:1fr 1fr}
}

/* ======================== apertura ======================== */
/* ===================================================================
   APERTURA · simulatore del menu (iPhone in proporzioni reali)
   Lo schermo è disegnato in punti iOS (393 x 852) e poi scalato.
   =================================================================== */
.hero2{padding:70px 0 0;text-align:center}
.hero2 h1{font-size:clamp(46px,7vw,84px);line-height:1.04}
.hero2 .tag{font:500 clamp(21px,2.4vw,28px)/1.2 var(--display);letter-spacing:-.02em;margin:10px 0 0}
.hero2 .small{font-size:clamp(15px,1.4vw,18px);color:var(--muted);margin:12px auto 24px;max-width:560px;line-height:1.4}

.show{position:relative;margin:54px auto 0;width:100%;max-width:1180px}
.showbox{position:relative;margin:0 auto}
.dev{position:absolute;left:50%;top:0;width:425px;height:884px;transform-origin:50% 0;z-index:2}

/* scocca */
.iph{position:absolute;inset:0;border-radius:72px;padding:3px;
  background:linear-gradient(145deg,#d8d8dc 0%,#8e8e93 8%,#3a3a3c 22%,#2c2c2e 50%,#48484a 78%,#8e8e93 92%,#c7c7cc 100%);
  box-shadow:0 2px 3px rgba(0,0,0,.25),0 30px 60px -20px rgba(0,0,0,.35),0 90px 120px -60px rgba(0,0,0,.45)}
.iph .bz{position:absolute;inset:3px;border-radius:69px;background:#050505;padding:13px}
.iph .btn-s{position:absolute;width:4px;border-radius:2px;background:linear-gradient(90deg,#2c2c2e,#8e8e93,#3a3a3c)}
.iph .b1{left:-3px;top:150px;height:34px}.iph .b2{left:-3px;top:215px;height:62px}.iph .b3{left:-3px;top:290px;height:62px}.iph .b4{right:-3px;top:250px;height:100px}
.scr{position:relative;width:393px;height:852px;border-radius:56px;overflow:hidden;clip-path:inset(0 round 56px);isolation:isolate;background:#fff;font-family:var(--text);letter-spacing:-.015em;text-align:left;color:#000}
.scr::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:60;border-radius:56px;
  background:linear-gradient(118deg,rgba(255,255,255,.10) 0%,rgba(255,255,255,0) 24%,rgba(255,255,255,0) 100%)}
.island{position:absolute;z-index:50;top:11px;left:50%;transform:translateX(-50%);width:126px;height:37px;border-radius:20px;background:#000}
.sbar{position:absolute;z-index:45;top:0;left:0;right:0;height:54px;display:flex;align-items:center;justify-content:space-between;padding:4px 30px 0 46px;
  font:600 17px var(--text);color:#fff;transition:color .4s}
.sbar svg{height:12px;fill:currentColor}
.sbar .ic{display:flex;gap:6px;align-items:center}
.scr.light .sbar{color:#000}
.nbar{position:absolute;z-index:44;top:0;left:0;right:0;height:98px;border-radius:56px 56px 0 0;background:rgba(255,255,255,.86);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);
  border-bottom:.5px solid rgba(0,0,0,.12);opacity:0;transition:opacity .35s;display:flex;align-items:flex-end;justify-content:center;padding-bottom:12px;font:600 17px var(--text)}
.scr.light .nbar{opacity:1}
.scr.instant,.scr.instant *{transition:none!important}
.home{position:absolute;z-index:55;bottom:8px;left:50%;transform:translateX(-50%);width:139px;height:5px;border-radius:3px;background:#000}

/* contenuto che scorre */
.feed{position:absolute;left:0;right:0;top:0;transition:transform 1s cubic-bezier(.3,.1,.2,1)}
.cover{position:relative;height:340px;background-size:cover;background-position:center 30%}
.cover::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.35) 0,rgba(0,0,0,0) 30%,rgba(0,0,0,0) 45%,rgba(0,0,0,.62) 100%)}
.cover .ct{position:absolute;z-index:2;left:20px;right:20px;bottom:44px;color:#fff}
.cover .ct small{display:inline-flex;align-items:center;gap:6px;font:600 13px var(--text);padding:5px 10px;border-radius:999px;background:rgba(255,255,255,.22);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);margin-bottom:10px}
.cover .ct small i{width:7px;height:7px;border-radius:50%;background:#34C759}
.cover .ct b{display:block;font:700 34px/1.05 var(--display);letter-spacing:-.03em}
.cover .ct span{display:block;font-size:15px;opacity:.85;margin-top:4px}
.sheet0{position:relative;margin-top:-26px;background:#fff;border-radius:28px 28px 0 0;padding:22px 20px 140px}
.hi{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.hi b{font:700 22px var(--display);letter-spacing:-.025em}
.cons{display:inline-flex;align-items:center;gap:6px;font:600 13px var(--text);padding:8px 12px;border-radius:999px;color:#fff;background:linear-gradient(120deg,#5B6CFF,#0000F6 55%,#0000C4)}
.cons svg{width:14px;height:14px}
.cats{display:flex;gap:8px;margin:0 -20px 22px;padding:0 20px;overflow:hidden}
.cats span{flex:none;height:36px;padding:0 15px;border-radius:18px;background:#f2f2f7;font:500 15px/36px var(--text);color:#1c1c1e}
.cats span.on{background:#000;color:#fff}
.sec-t{font:700 20px var(--display);letter-spacing:-.025em;margin:0 0 12px}
.feat{position:relative;margin-bottom:28px}
.feat .ph{height:250px;border-radius:22px;background-size:cover;background-position:center 64%}
.feat .row{display:flex;align-items:flex-start;justify-content:space-between;margin-top:12px;gap:12px}
.feat b{display:block;font:600 17px var(--text)}
.feat small{display:block;font-size:14px;color:#8e8e93;margin-top:2px}
.feat em{font-style:normal;font:600 17px var(--text)}
.plus{position:absolute;right:12px;top:194px;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.88);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  display:grid;place-items:center;box-shadow:0 6px 16px -6px rgba(0,0,0,.4);transition:transform .45s var(--spring),background .3s}
.plus svg{width:18px;height:18px;transition:opacity .2s}
.plus .n{position:absolute;font:700 17px var(--text);color:#fff;opacity:0;transition:opacity .2s}
.plus.on{background:#34C759;transform:scale(1.08)}
.plus.on svg{opacity:0}.plus.on .n{opacity:1}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.card2{position:relative}
.card2 .ph{height:196px;border-radius:20px;background-size:cover;background-position:center}
.card2 b{display:block;font:600 15px var(--text);margin-top:9px}
.card2 em{font-style:normal;font-size:14px;color:#8e8e93}
.card2 .plus{top:142px;right:10px;width:40px;height:40px}

/* barra dell'ordine */
.obar{position:absolute;z-index:30;left:16px;right:16px;bottom:30px;height:58px;border-radius:29px;background:#000;color:#fff;display:flex;align-items:center;gap:12px;padding:0 8px 0 22px;
  font:600 16px var(--text);transform:translateY(110px);transition:transform .6s var(--spring);box-shadow:0 14px 30px -12px rgba(0,0,0,.5)}
.obar.on{transform:none}
.obar .q{margin-left:auto;display:flex;align-items:center;gap:8px}
.obar .q i{font-style:normal;min-width:28px;height:28px;border-radius:14px;background:var(--race);font:700 14px/28px var(--text);text-align:center;transition:transform .4s var(--spring)}
.obar .q i.pop{transform:scale(1.3)}
.obar .q span{padding:0 14px;height:42px;border-radius:21px;background:rgba(255,255,255,.14);font:600 15px/42px var(--text)}

/* fogli che salgono dal basso */
.dim{position:absolute;inset:0;z-index:35;background:rgba(0,0,0,.32);opacity:0;transition:opacity .4s;pointer-events:none}
.dim.on{opacity:1}
.sh{position:absolute;z-index:40;left:0;right:0;bottom:0;height:560px;background:#fff;border-radius:34px 34px 0 0;padding:14px 22px 40px;transform:translateY(105%);transition:transform .6s cubic-bezier(.25,1,.3,1);overflow:hidden}
.sh.on{transform:none}
.grab{width:38px;height:5px;border-radius:3px;background:#d1d1d6;margin:0 auto 18px}
.pane{position:absolute;left:22px;right:22px;top:37px;bottom:40px;opacity:0;transform:translateX(30px);transition:opacity .35s,transform .5s var(--spring);display:flex;flex-direction:column}
.pane.on{opacity:1;transform:none}
.pane h4{margin:0 0 4px;font:700 26px var(--display);letter-spacing:-.03em}
.pane .s2{font-size:15px;color:#8e8e93;margin:0 0 18px}
.li{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #f2f2f7}
.li i{width:52px;height:52px;border-radius:12px;background-size:cover;background-position:center;flex:none}
.li div{flex:1}.li b{display:block;font:600 16px var(--text)}.li small{font-size:13px;color:#8e8e93}
.li em{font-style:normal;font:600 16px var(--text)}
.tot{display:flex;justify-content:space-between;font:700 18px var(--text);margin:16px 0 0}
.req{text-align:left;margin-top:14px;padding:12px 14px;border-radius:14px;background:#f2f2f7;font-size:14px;color:#8e8e93}
.ctaph{margin-top:auto;height:56px;border-radius:28px;background:var(--race);color:#fff;display:grid;place-items:center;font:600 17px var(--text)}
.ctaph.dark{background:#000}
.track{display:flex;flex-direction:column;gap:18px;margin-top:8px}
.tr{display:flex;align-items:center;gap:14px;font:500 17px var(--text);color:#c7c7cc;transition:color .4s}
.tr i{position:relative;width:30px;height:30px;border-radius:50%;border:2.5px solid #e5e5ea;transition:background .4s,border-color .4s,transform .5s var(--spring);display:grid;place-items:center}
.tr i svg{width:15px;height:15px;opacity:0;transition:opacity .3s}
.tr.on{color:#000}.tr.on i{background:#34C759;border-color:#34C759;transform:scale(1.06)}.tr.on i svg{opacity:1}
.tr small{display:block;font-size:13px;color:#8e8e93;font-weight:400}
.face{margin:26px auto 0;width:112px;height:112px;border-radius:50%;background:#FFF4D6;display:grid;place-items:center;transform:scale(0) rotate(-20deg);transition:transform .8s var(--spring)}
.face.on{transform:none}
.face svg{width:66px;height:66px}
.seg{position:relative;display:grid;grid-template-columns:repeat(3,1fr);height:40px;border-radius:12px;background:#eeeef0;padding:3px;margin:4px 0 20px}
.seg span{position:relative;z-index:2;font:600 14px/34px var(--text);text-align:center;color:#1c1c1e}
.seg .k{position:absolute;z-index:1;top:3px;left:3px;bottom:3px;width:calc((100% - 6px)/3);border-radius:10px;background:#fff;box-shadow:0 3px 8px rgba(0,0,0,.12);transition:transform .55s var(--spring)}
.seg.r .k{transform:translateX(100%)}
.amt{text-align:center}
.amt small{display:block;font-size:14px;color:#8e8e93}
.amt b{font:700 56px/1.1 var(--display);letter-spacing:-.04em}
.who{display:flex;justify-content:center;gap:10px;margin:14px 0 0}
.who i{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font:600 15px var(--text);font-style:normal;color:#fff;background:#d1d1d6;transition:background .4s,transform .5s var(--spring)}
.who.on i{transform:scale(1.06)}
.who.on i:nth-child(1){background:#FF9500}.who.on i:nth-child(2){background:#007AFF}.who.on i:nth-child(3){background:#AF52DE}
.done{margin:30px auto 0;width:110px;height:110px;border-radius:50%;background:#34C759;display:grid;place-items:center;transform:scale(0);transition:transform .7s var(--spring)}
.done.on{transform:scale(1)}
.done svg{width:54px;height:54px}
.stars{display:flex;justify-content:center;gap:10px;margin:22px 0 0}
.stars i{width:38px;height:38px;transition:transform .45s var(--spring)}
.stars i svg{width:100%;height:100%;fill:#e5e5ea;transition:fill .25s}
.stars i.on{transform:scale(1.18)}.stars i.on svg{fill:#FFCC00}

/* effetti */
.touch{position:absolute;z-index:58;width:54px;height:54px;margin:-27px 0 0 -27px;border-radius:50%;background:rgba(120,120,128,.32);border:2px solid rgba(255,255,255,.75);opacity:0;pointer-events:none}
.flyimg{position:absolute;z-index:57;width:60px;height:60px;border-radius:14px;background-size:cover;background-position:center;opacity:0;pointer-events:none;box-shadow:0 10px 20px -8px rgba(0,0,0,.5)}
.conf{position:absolute;z-index:59;pointer-events:none}
.conf i{position:absolute;width:9px;height:15px;border-radius:3px;opacity:0}

/* notifiche, come su iPhone */
.notes{position:absolute;inset:0;pointer-events:none;z-index:5}
.nt{position:absolute;width:350px;padding:13px 15px;border-radius:24px;background:rgba(246,246,248,.82);backdrop-filter:saturate(180%) blur(24px);-webkit-backdrop-filter:saturate(180%) blur(24px);
  box-shadow:0 1px 1px rgba(0,0,0,.04),0 18px 40px -18px rgba(0,0,0,.32);display:flex;gap:12px;text-align:left;font-family:var(--text);letter-spacing:-.015em;
  opacity:0;transform:translateY(16px) scale(.96);transition:opacity .45s,transform .7s var(--spring),top .6s var(--spring)}
.nt.on{opacity:1;transform:none}
.nt.gone{opacity:0;transform:translateY(-8px) scale(.98)}
.nt .ai{position:relative;width:40px;height:40px;border-radius:10px;flex:none;background:#fff;display:grid;place-items:center;box-shadow:0 0 0 .5px rgba(0,0,0,.1)}
.nt .ai img{width:30px;height:30px}
.nt .ai i{position:absolute;right:-4px;bottom:-4px;width:18px;height:18px;border-radius:50%;background:var(--c);border:2px solid #f6f6f8}
.nt .tx{flex:1;min-width:0}
.nt .hd{display:flex;justify-content:space-between;font-size:13px;color:#8e8e93;margin-bottom:1px}
.nt .hd b{font-weight:600;color:var(--c)}
.nt .t{font:600 15px/1.3 var(--text);color:#000}
.nt .d{font:400 15px/1.3 var(--text);color:#1c1c1e}

.capbar{display:flex;justify-content:center;gap:6px;margin:26px auto 0;flex-wrap:wrap;padding:0 16px}
.capbar button{position:relative;overflow:hidden;border:0;background:transparent;font:500 14px var(--text);color:var(--soft);padding:8px 14px;border-radius:999px;cursor:pointer;transition:background .3s,color .3s}
.capbar button.on{background:#f5f5f7;color:var(--ink)}
.capbar button b{position:absolute;left:14px;right:14px;bottom:4px;height:2px;border-radius:2px;background:transparent;overflow:hidden}
.capbar button.on b{background:#e5e5ea}
.capbar button b i{display:block;height:100%;width:0;background:var(--race)}

@media (max-width:520px){
  .capbar{gap:0;padding:0 4px;margin-top:16px}
  .capbar button{font-size:12.5px;padding:7px 8px;white-space:nowrap}
  .capbar button b{left:8px;right:8px}
}
@media (max-width:860px){
  .hero2{padding-top:44px}
  .show{margin-top:34px}
  .nt{width:330px}
}

/* ======================== apertura: menu nuovo ======================== */
/* ===================================================================
   APERTURA · il simulatore con il menu nuovo (Bistrot Centrale, sera)
   =================================================================== */
.hm{z-index:1}
.hm-mono{display:grid;place-items:center;font:800 22px/1 var(--fh);font-style:normal;color:var(--a);letter-spacing:-.02em;background:var(--sf)!important}

/* la pagina dell'ordine dopo l'invio */
.hm-page{position:absolute;inset:0;z-index:33;background:var(--bg);overflow:hidden;padding:0 16px;transform:translateX(104%);visibility:hidden;transition:transform .55s cubic-bezier(.3,.9,.25,1),visibility 0s .55s;box-shadow:-20px 0 40px rgba(0,0,0,.35)}
.hm-page.on{transform:none;visibility:visible;transition:transform .55s cubic-bezier(.3,.9,.25,1)}
.hm-page::before{content:"";position:absolute;left:-20%;right:-20%;top:-120px;height:360px;background:radial-gradient(closest-side,color-mix(in srgb,var(--a) 75%,transparent),transparent);opacity:.75;pointer-events:none}
.hm-ph{position:relative;padding-top:64px}
.hm-tab{position:absolute;right:0;top:62px;width:56px;height:58px;border-radius:16px;background:rgba(255,255,255,.14);display:flex;flex-direction:column;align-items:center;justify-content:center;font:800 22px/1 var(--sys)}
.hm-tab small{font:500 11px/1 var(--sys);opacity:.8;margin-bottom:3px}
.hm-hi{display:inline-flex;align-items:center;gap:7px;height:30px;padding:0 12px;border-radius:999px;background:rgba(255,255,255,.12);font:700 13px/1 var(--sys);margin-left:80px}
.hm-hi svg{width:14px;height:14px;color:#FFCC00}
.hm-ph-b{display:flex;gap:14px;align-items:center;margin-top:10px}
.hm-ph-b .sm-logo{margin-top:0}
.hm-ph-b b{display:block;font:800 26px/1.1 var(--fh);letter-spacing:-.02em}
.hm-ph-b span{display:block;margin-top:3px;font-size:14px;color:var(--mu)}
.hm-again{position:relative;display:inline-flex;align-items:center;height:44px;padding:0 20px;margin:18px 0 0;border-radius:999px;background:#fff;color:var(--a);font:700 15px/1 var(--sys)}
.hm-card{position:relative;margin-top:14px;padding:16px 16px 14px;border-radius:24px;background:var(--sf);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ink) 6%,transparent)}
.hm-card h4{margin:0;font:800 19px/1.3 var(--fh);letter-spacing:-.02em}
.hm-card p{margin:3px 0 8px;font-size:13px;line-height:1.4;color:var(--mu)}
.hm-it{display:flex;align-items:center;gap:8px;padding:9px 0;border-top:1px solid color-mix(in srgb,var(--ink) 8%,transparent);font-size:14px}
.hm-it b{flex:1;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hm-it em{font-style:normal;font-weight:600;color:var(--mu);min-width:52px;text-align:right}
.hm-s{flex:none;height:24px;padding:0 9px;border-radius:999px;background:rgba(0,0,0,.35);font:800 10.5px/24px var(--sys);letter-spacing:.06em;text-transform:uppercase;color:var(--mu);transition:background .35s,color .35s}
.hm-s.prep{background:#FF9500;color:#1d1d1f}
.hm-s.ok{background:#34C759;color:#062b10}
.hm-need{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.hm-need span{height:44px;border-radius:14px;background:rgba(0,0,0,.28);display:grid;place-items:center;font:700 13px/1 var(--sys)}
.hm-row{display:flex;justify-content:space-between;padding:4px 0;font-size:14px;color:var(--mu)}
.hm-row b{color:var(--ink)}
.hm-paybtn{display:grid;place-items:center;height:48px;margin-top:10px;border-radius:999px;background:var(--a);color:#fff;font:700 15px/1 var(--sys)}

/* il foglio che sale (ordine e conto) nei colori del locale */
.hm .dim{z-index:35}
.hm .sh{z-index:40;height:580px;background:var(--sf);color:var(--ink);box-shadow:0 -10px 40px rgba(0,0,0,.4)}
.hm .grab{background:color-mix(in srgb,var(--ink) 25%,transparent)}
.hm .pane h4{font-family:var(--fh);font-weight:800;color:var(--ink)}
.hm .pane .s2{color:var(--mu)}
.hm-li{display:flex;justify-content:space-between;padding:11px 0;border-bottom:1px solid color-mix(in srgb,var(--ink) 9%,transparent);font-size:15px}
.hm-li b{font-weight:700}.hm-li em{font-style:normal;font-weight:700}
.hm-ask{display:flex;align-items:center;gap:12px;margin-top:14px;padding:12px 14px;border-radius:16px;border:1px dashed color-mix(in srgb,var(--a) 60%,transparent);background:color-mix(in srgb,var(--a) 12%,transparent)}
.hm-ask span{font-size:20px}.hm-ask div{flex:1}.hm-ask b{display:block;font-size:14px}.hm-ask small{font-size:12px;color:var(--mu)}.hm-ask i{font-style:normal;color:var(--a);font-size:20px}
.hm .req{margin-top:14px;background:color-mix(in srgb,var(--ink) 7%,transparent);color:var(--ink);font-size:13px;font-weight:600}
.hm .req small{color:var(--mu);font-weight:400}
.hm .req span{display:block;margin-top:6px;padding:10px 12px;border-radius:12px;background:rgba(0,0,0,.25);color:var(--mu);font-weight:400}
.hm .tot{color:var(--ink)}
.hm .ctaph{background:var(--a);border-radius:18px}
.hm-foot{margin:8px 0 0;text-align:center;font-size:12px;color:var(--mu)}
.hm .seg{background:rgba(0,0,0,.3)}
.hm .seg span{color:var(--ink)}
.hm .seg .k{background:color-mix(in srgb,var(--ink) 18%,transparent);box-shadow:none}
.hm .amt small{color:var(--mu)}
.hm .who i{background:color-mix(in srgb,var(--ink) 18%,transparent)}
.hm .stars i svg{fill:color-mix(in srgb,var(--ink) 18%,transparent)}
.hm .stars i.on svg{fill:#FFCC00}
.hm-rate{text-align:center;font:700 17px var(--sys);margin:18px 0 0}

.hm .sm-cart i{transition:transform .4s cubic-bezier(.3,1.6,.5,1)}
.hm .sm-cart i.pop{transform:scale(1.3)}

/* la cucina al lavoro: la foto cambia con lo stato dell'ordine */
.hm-kit{position:relative;height:132px;margin:-6px -6px 12px;border-radius:18px;overflow:hidden;background:#000}
.hm-kit i{position:absolute;inset:0;background-size:cover;background-position:center 35%;opacity:0;transform:scale(1.06);transition:opacity .6s ease,transform 2.4s ease}
.hm-kit i.on{opacity:1;transform:none}
.hm-kit::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 45%,rgba(0,0,0,.55))}
.hm-kit span{position:absolute;z-index:2;left:12px;bottom:10px;display:inline-flex;align-items:center;gap:7px;font:700 13px/1 var(--sys);color:#fff}
.hm-kit span::before{content:"";width:8px;height:8px;border-radius:50%;background:#FF9500;box-shadow:0 0 0 3px rgba(255,149,0,.3)}

/* ======================== menu del cliente (sm-) ======================== */
/* ===================================================================
   MENU NUOVO DEL CLIENTE (come il menu del tavolo su raceapp.it)
   Schermo 393 punti. Colori dalle variabili del locale: --a colore, --at colore leggibile,
   --bg sfondo, --sf schede, --ink testo, --mu testo secondario, --ln linee, --fh carattere dei titoli.
   =================================================================== */
.sm{--sys:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Inter,Roboto,sans-serif;position:absolute;inset:0;overflow:hidden;background:var(--bg);color:var(--ink);font-family:var(--sys);letter-spacing:-.01em;text-align:left}
.sm *{box-sizing:border-box}
.sm-amb{position:absolute;left:-40px;right:-40px;top:250px;height:760px;pointer-events:none;opacity:var(--amb,.55);
  -webkit-mask-image:linear-gradient(180deg,transparent 0,#000 22%,#000 42%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0,#000 22%,#000 42%,transparent 100%)}
.sm-amb i{position:absolute;inset:0;background-size:cover;background-position:center;filter:blur(46px) saturate(1.35);transform:scale(1.15)}
.sm-feed{position:absolute;left:0;right:0;top:0;transition:transform 1.1s cubic-bezier(.3,.1,.2,1)}
.sm-cover{position:relative;height:450px;overflow:hidden;-webkit-mask-image:linear-gradient(180deg,#000 0%,#000 52%,rgba(0,0,0,.55) 74%,transparent 100%);mask-image:linear-gradient(180deg,#000 0%,#000 52%,rgba(0,0,0,.55) 74%,transparent 100%)}
.sm-cover i{position:absolute;inset:-20px;background-size:cover;background-position:center}
.sm-cover::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.42) 0%,rgba(0,0,0,0) 28%)}
.sm-top{position:absolute;left:16px;right:16px;top:66px;display:flex;justify-content:space-between;align-items:center;z-index:3}
.sm-pill{display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 14px 0 12px;border-radius:999px;background:rgba(0,0,0,.32);border:1px solid rgba(255,255,255,.28);color:#fff;font:700 13px/1 var(--sys);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.sm-pill i{width:7px;height:7px;border-radius:50%;background:#34C759;box-shadow:0 0 0 1.6px rgba(52,199,89,.62)}
.sm-lang{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:rgba(0,0,0,.32);border:1px solid rgba(255,255,255,.28);color:#fff;font:700 13px/1 var(--sys);letter-spacing:.02em}
.sm-brand{position:relative;z-index:2;display:flex;gap:14px;align-items:flex-start;margin:-92px 16px 0}
.sm-logo{flex:none;width:64px;height:64px;margin-top:14px;border-radius:18px;background-color:var(--sf);background-size:100%;background-position:center;background-repeat:no-repeat;box-shadow:0 10px 26px rgba(0,0,0,.25)}
.sm-brand b{display:block;font:800 32px/1.08 var(--fh);letter-spacing:-.025em;color:var(--ink)}
.sm-brand span{display:block;margin-top:4px;font-size:14px;font-weight:600;color:var(--mu)}
.sm-greet{display:flex;align-items:center;gap:10px;margin:22px 16px 0;font:800 24px/1.45 var(--fh);letter-spacing:-.02em}
.sm-greet svg{width:22px;height:22px;flex:none;color:var(--at)}
.sm-block{margin:14px 16px 0;padding:10px 10px 12px;border-radius:26px;background:color-mix(in srgb,var(--sf) 72%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ink) 6%,transparent)}
.sm-bh{display:flex;justify-content:space-between;padding:0 4px 8px;font:800 12px/1.5 var(--sys);letter-spacing:.08em;color:var(--mu)}
.sm-bh span{font-weight:500;letter-spacing:0;font-size:13px}
.sm-rail{display:flex;gap:10px;overflow:hidden}
.sm-now{flex:none;width:250px;height:76px;display:flex;align-items:center;gap:10px;padding:8px;border-radius:18px;background:var(--sf);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ink) 5%,transparent)}
.sm-th{flex:none;width:60px;height:60px;border-radius:10px;background-size:cover;background-position:center}
.sm-dt{flex:none;width:60px;height:60px;border-radius:12px;background:var(--a);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center}
.sm-dt b{font:800 22px/1 var(--sys)}.sm-dt small{font:600 11px/1 var(--sys);letter-spacing:.06em;opacity:.8;margin-top:4px}
.sm-now div{min-width:0}
.sm-now em{display:block;font:800 10.5px/1.45 var(--sys);font-style:normal;letter-spacing:.08em;text-transform:uppercase;color:var(--at);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sm-now b{display:block;font:700 15px/1.3 var(--sys);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sm-now small{display:block;font-size:12.5px;color:var(--mu);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sm-tools{display:flex;gap:8px;align-items:center;margin:18px 0 0;padding:0 16px;overflow:hidden}
.sm-tools span{flex:none;height:38px;padding:0 16px;border-radius:999px;background:color-mix(in srgb,var(--ink) 9%,transparent);font:600 15px/38px var(--sys);white-space:nowrap}
.sm-tools span.on{background:var(--a);color:#fff}
.sm-tools .sm-q{margin-left:auto;flex:none;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--ink) 9%,transparent);position:relative;z-index:2;box-shadow:-14px 0 14px -2px var(--bg)}
.sm-tools .sm-q svg{width:17px;height:17px}
.sm-tw{display:flex;gap:8px;overflow:hidden;flex:1;min-width:0}
.sm-h2{margin:28px 16px 12px;font:800 21px/1.45 var(--fh);letter-spacing:-.02em}
.sm-hl{position:relative;margin:0 16px;height:226px;border-radius:24px;overflow:visible}
.sm-hl i{position:absolute;inset:0;border-radius:24px;background-size:cover;background-position:center;background-color:#000}
.sm-hl::before{content:"";position:absolute;left:18%;right:18%;bottom:-26px;height:60px;border-radius:50%;background:radial-gradient(closest-side,color-mix(in srgb,#FFB547 55%,transparent),transparent);filter:blur(10px);opacity:.55}
.sm-badge{position:absolute;left:12px;top:12px;z-index:2;display:inline-flex;align-items:center;gap:6px;height:27px;padding:0 11px 0 9px;border-radius:999px;background:rgba(0,0,0,.45);color:#fff;font:700 12px/1 var(--sys)}
.sm-badge::before{content:"";width:8px;height:8px;border-radius:50%;background:#34C759}
.sm-hlrow{display:flex;justify-content:space-between;margin:10px 16px 0;font:700 17px/1.45 var(--sys);color:color-mix(in srgb,var(--ink) 82%,transparent)}
.sm-cat{margin:26px 16px 12px;font:800 23px/1.45 var(--fh);letter-spacing:-.02em}
.sm-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin:0 16px}
.sm-ph{position:relative;aspect-ratio:1;border-radius:20px;background-size:cover;background-position:center;box-shadow:0 14px 26px -18px rgba(0,0,0,.55)}
.sm-card b{display:block;margin-top:10px;font:700 15px/1.3 var(--sys);padding-left:2px}
.sm-card em{display:block;font:700 15px/1.45 var(--sys);font-style:normal;padding-left:2px}
.sm-card small{display:inline-block;margin-top:6px;padding:3px 9px;border-radius:999px;background:color-mix(in srgb,var(--ink) 7%,transparent);font:700 11.5px/1.45 var(--sys);color:var(--mu)}
.sm-add{position:absolute;right:12px;bottom:12px;z-index:2;width:40px;height:40px;border-radius:999px;background:#F7EFEA;color:#1d1d1f;display:flex;align-items:center;justify-content:flex-end;box-shadow:0 4px 12px rgba(0,0,0,.22);transition:width .45s cubic-bezier(.3,1.3,.5,1),background .3s}
.sm-add svg{flex:none;width:40px;height:40px;padding:11px}
.sm-add .sm-st{position:absolute;left:10px;top:0;bottom:0;display:flex;align-items:center;gap:16px;color:#fff;font:700 15px/1 var(--sys);opacity:0;transition:opacity .2s}
.sm-add.on{width:96px;background:var(--a)}
.sm-add.on svg{color:#fff;background:rgba(255,255,255,.22);border-radius:50%;width:32px;height:32px;padding:8px;margin-right:4px}
.sm-add.on .sm-st{opacity:1}
.sm-hl .sm-add{right:14px;bottom:14px}

/* barra dell'ordine e Consigliere */
.sm-cart{position:absolute;z-index:30;left:16px;right:94px;bottom:30px;height:58px;border-radius:999px;display:flex;align-items:center;gap:10px;padding:0 7px 0 10px;
  background:color-mix(in srgb,var(--sf) 82%,transparent);border:1px solid color-mix(in srgb,var(--ink) 12%,transparent);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
  box-shadow:0 14px 36px rgba(0,0,0,.25);transform:translateY(120px);visibility:hidden;transition:transform .6s cubic-bezier(.3,1.25,.5,1),visibility 0s .6s;font-size:15px}
.sm-cart.on{transform:none;visibility:visible;transition:transform .6s cubic-bezier(.3,1.25,.5,1)}
.sm-cart i{flex:none;width:32px;height:32px;border-radius:50%;background:var(--a);color:#fff;display:grid;place-items:center;font:700 14px/1 var(--sys);font-style:normal}
.sm-cart span{flex:1;white-space:nowrap}
.sm-cart b{flex:none;height:42px;padding:0 13px;border-radius:999px;background:var(--a);color:#fff;font:700 15px/42px var(--sys)}
.sm-fab{position:absolute;z-index:31;right:16px;bottom:28px;width:62px;height:62px;border-radius:50%;display:grid;place-items:center;color:#fff;
  background:linear-gradient(135deg,color-mix(in srgb,var(--a) 70%,#000),color-mix(in srgb,#AF52DE 55%,var(--a)));border:1px solid rgba(255,255,255,.55);box-shadow:0 14px 36px rgba(0,0,0,.25)}
.sm-fab svg{width:24px;height:24px}
.sm-toast{position:absolute;z-index:32;left:50%;bottom:100px;transform:translate(-50%,10px);padding:9px 16px;border-radius:14px;background:#181716;color:#fff;font:500 14px/1.3 var(--sys);white-space:nowrap;opacity:0;transition:opacity .3s,transform .5s cubic-bezier(.3,1.3,.5,1)}
.sm-toast.on{opacity:1;transform:translate(-50%,0)}

/* barra delle categorie che resta in alto quando si scorre */
.sm-sticky{position:absolute;z-index:25;left:0;right:0;top:0;padding:56px 0 10px;background:color-mix(in srgb,var(--bg) 90%,transparent);
  border-bottom:1px solid color-mix(in srgb,var(--ink) 9%,transparent);opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .35s,transform .45s,visibility 0s .45s}
.sm-sticky .sm-tools{margin:0}
.sm-sticky.on{opacity:1;visibility:visible;transform:none;transition:opacity .35s,transform .45s;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);background:color-mix(in srgb,var(--bg) 82%,transparent)}

/* ======================== ogni locale, il suo stile ======================== */
/* ===================================================================
   OGNI LOCALE, IL SUO STILE · stesso iPhone (393 x 852 punti), prefisso st-
   =================================================================== */
.st-stage{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:56px;max-width:1180px;margin:60px auto 0;padding:0 22px}
.st-box{position:relative}
.st-dev{position:absolute;left:50%;top:0;width:425px;height:884px;transform-origin:50% 0}

.st-iph{position:absolute;inset:0;border-radius:72px;padding:3px;
  background:linear-gradient(145deg,#d8d8dc 0%,#8e8e93 8%,#3a3a3c 22%,#2c2c2e 50%,#48484a 78%,#8e8e93 92%,#c7c7cc 100%);
  box-shadow:0 2px 3px rgba(0,0,0,.25),0 30px 60px -20px rgba(0,0,0,.35),0 90px 120px -60px rgba(0,0,0,.45)}
.st-bz{position:absolute;inset:3px;border-radius:69px;background:#050505;padding:13px}
.st-btn{position:absolute;width:4px;border-radius:2px;background:linear-gradient(90deg,#2c2c2e,#8e8e93,#3a3a3c)}
.st-btn.s1{left:-3px;top:150px;height:34px}.st-btn.s2{left:-3px;top:215px;height:62px}.st-btn.s3{left:-3px;top:290px;height:62px}.st-btn.s4{right:-3px;top:250px;height:100px}
.st-scr{position:relative;width:393px;height:852px;border-radius:56px;overflow:hidden;clip-path:inset(0 round 56px);background:#111;text-align:left;letter-spacing:-.01em;isolation:isolate}
.st-scr::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:60;border-radius:56px;background:linear-gradient(118deg,rgba(255,255,255,.10) 0%,rgba(255,255,255,0) 24%)}
.st-island{position:absolute;z-index:50;top:11px;left:50%;transform:translateX(-50%);width:126px;height:37px;border-radius:20px;background:#000}
.st-sbar{position:absolute;z-index:45;top:0;left:0;right:0;height:54px;display:flex;align-items:center;justify-content:space-between;padding:4px 30px 0 46px;font:600 17px -apple-system,BlinkMacSystemFont,"SF Pro Text",Inter,sans-serif;color:#fff}
.st-sbar{transition:color .4s}
.st-scr.lt .st-sbar{color:#000}
.st-sbar svg{height:12px;fill:currentColor}
.st-ic{display:flex;gap:6px;align-items:center}
.st-home{position:absolute;z-index:55;bottom:8px;left:50%;transform:translateX(-50%);width:139px;height:5px;border-radius:3px;background:var(--st-home,#000);transition:background .4s}
.st-touch{position:absolute;z-index:58;width:54px;height:54px;margin:-27px 0 0 -27px;border-radius:50%;background:rgba(120,120,128,.32);border:2px solid rgba(255,255,255,.75);opacity:0;pointer-events:none}

/* una schermata per locale: colori e caratteri arrivano dalle variabili */
/* il locale nuovo si apre a cerchio dal basso, dove sono i loghi: niente velo grigio tra chiaro e scuro */
.st-s{position:absolute;inset:0;z-index:1;background:var(--bg);color:var(--ink);font-family:var(--fb);visibility:hidden;clip-path:circle(0% at 50% 100%)}
.st-s.on{z-index:3;visibility:visible;clip-path:circle(150% at 50% 100%);transition:clip-path .85s cubic-bezier(.65,0,.25,1)}
.st-s.was{z-index:2;visibility:visible;clip-path:none;transition:none}
/* entrata a cascata: ogni pezzo arriva un attimo dopo l'altro */
.st-s .st-c{opacity:0;transform:translateY(18px)}
.st-s.on .st-c{opacity:1;transform:none;transition:opacity .5s ease var(--d,0s),transform .7s var(--spring) var(--d,0s)}
.st-s.was .st-c{opacity:1;transform:none}
.st-instant .st-s,.st-instant .st-s *{transition:none!important}
.st-s .sm-cover i{transform:scale(1.12);transition:transform 1.6s cubic-bezier(.2,.7,.2,1)}
.st-s.on .sm-cover i,.st-s.was .sm-cover i{transform:none}
.st-pick{flex-wrap:wrap;max-width:760px}

/* pannello delle scelte */
.st-insp{justify-self:end;width:min(300px,100%);padding:20px 20px 8px;border-radius:26px;background:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.05),0 24px 50px -28px rgba(0,0,0,.28);text-align:left;font-family:var(--text)}
.st-ih{margin:0 0 6px;font:600 12px var(--text);letter-spacing:.06em;text-transform:uppercase;color:var(--soft)}
.st-r{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:50px;border-bottom:1px solid #f0f0f2;font-size:15px}
.st-r:last-child{border-bottom:0}
.st-r>span{color:var(--muted)}
.st-v{display:flex;align-items:center;gap:9px;font-weight:600;min-width:0}
.st-v em{font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px}
.st-lgs{width:34px;height:34px;border-radius:10px;background-size:100%;background-position:center;background-repeat:no-repeat}
.st-sw{width:22px;height:22px;border-radius:50%;background:var(--sw,#999);box-shadow:inset 0 0 0 1px rgba(0,0,0,.1);transition:background .5s}
.st-aa{font-style:normal;font-size:20px;line-height:1;font-weight:700;min-width:28px;text-align:center}
.st-bgs{display:flex;gap:9px;margin-right:4px}
.st-bgs i{width:16px;height:16px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(0,0,0,.14);transition:box-shadow .3s,transform .4s var(--spring)}
.st-bgs i[data-b=colazione]{background:#FBF7F0}.st-bgs i[data-b=pranzo]{background:#F2D7B0}.st-bgs i[data-b=aperitivo]{background:#6A3B2B}.st-bgs i[data-b=cena]{background:#151112}
.st-bgs i.on{box-shadow:0 0 0 2px #fff,0 0 0 3.5px var(--sw,#000);transform:scale(1.08)}
.st-cvt{width:46px;height:30px;border-radius:7px;background-size:cover;background-position:center;background-color:#f2f2f7}
.st-cvt.none{display:none}
[data-st-cvs]{display:none}
.st-flip{animation:st-flip .5s var(--ease) both}
@keyframes st-flip{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

/* il QR che fluttua */
.st-qr{justify-self:start;margin:0;width:230px;text-align:center}
.st-qrf{perspective:900px;animation:st-float 6s ease-in-out infinite}
@keyframes st-float{0%,100%{transform:translateY(0) rotate(4deg)}50%{transform:translateY(-12px) rotate(2deg)}}
.st-qrs{position:relative;width:100%;aspect-ratio:1080/1152}
.st-qrs span{position:absolute;inset:0;background-size:contain;background-repeat:no-repeat;background-position:center;border-radius:5%;box-shadow:0 20px 30px -12px rgba(0,0,0,.24),0 2px 6px rgba(0,0,0,.06);
  opacity:0;transform:rotateY(-80deg) scale(.92);transition:opacity .35s,transform .8s var(--spring)}
.st-qrs span.on{opacity:1;transform:none}
.st-qr figcaption{margin-top:16px;font-size:14px;line-height:1.4;color:var(--soft)}

/* i loghi da scegliere, come i colori sulle pagine Apple */
.st-pick{display:flex;justify-content:center;gap:12px;margin:40px auto 0;padding:0 16px}
.st-pick button{position:relative;width:52px;height:52px;padding:0;border:0;border-radius:50%;background:transparent;cursor:pointer;transition:transform .4s var(--spring)}
.st-pick button i{position:absolute;inset:5px;border-radius:50%;background-size:100%;background-position:center;background-repeat:no-repeat;background-color:#f5f5f7;overflow:hidden}
.st-pick button svg{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg);opacity:0;transition:opacity .3s}
.st-pick button svg circle{fill:none;stroke-width:2.5}
.st-pick button svg .st-tk{stroke:#e5e5ea}
.st-pick button svg .st-pg{stroke:var(--a);stroke-linecap:round;stroke-dasharray:157.08;stroke-dashoffset:157.08}
.st-pick button.on svg{opacity:1}
.st-pick button:hover{transform:scale(1.06)}
.st-pick button:focus-visible{outline:2px solid var(--race);outline-offset:3px}
.st-cap{margin:18px auto 0;text-align:center;font-size:17px;padding:0 16px}
.st-cap b{font-weight:600}
.st-cap span{display:block;margin-top:2px;font-size:15px;color:var(--soft)}
.st-demo{margin:14px 0 0;text-align:center;font-size:15px}
.st-demo a{color:var(--race);text-decoration:none}
.st-demo a:hover{text-decoration:underline}

/* iPad e tablet: stessa disposizione del computer, più compatta */
@media (max-width:1060px){
  .st-stage{gap:28px;margin-top:44px;padding:0 16px}
  .st-insp{width:min(236px,100%);padding:16px 15px 6px;border-radius:22px}
  .st-r{min-height:44px;font-size:13px}
  .st-v{gap:7px}
  .st-v em{max-width:104px}
  .st-lgs{width:30px;height:30px}
  .st-cvt{width:40px;height:26px}
  .st-bgs{gap:7px}.st-bgs i{width:14px;height:14px}
  .st-qr{width:140px}
  .st-qr figcaption{font-size:12px;margin-top:12px}
  .st-pick{margin-top:30px}
}
/* telefono: il telefono al centro, sotto una striscia con colore, carattere, sfondo e copertina */
@media (max-width:699px){
  .st-stage{grid-template-columns:1fr;gap:0;margin-top:30px}
  .st-box{justify-self:center}
  .st-qr{display:none}
  .st-insp{grid-row:2;justify-self:center;display:grid;grid-template-columns:repeat(4,1fr);width:100%;max-width:400px;margin-top:16px;padding:10px 4px;border-radius:18px}
  .st-ih,.st-r:nth-of-type(1),.st-r:nth-of-type(6){display:none}
  .st-r{flex-direction:column;justify-content:flex-start;gap:0;min-height:0;border:0;padding:2px 2px}
  .st-r>span{display:none}
  .st-v{flex-direction:column;gap:5px;font-size:12px;min-height:44px;justify-content:flex-start}
  .st-v em{max-width:84px;font-size:12px}
  .st-v>i,.st-v>span{height:22px;display:flex;align-items:center}
  .st-sw{width:20px;height:20px;flex:none}
  .st-aa{font-size:19px}
  .st-cvt{width:34px;height:22px}
  .st-cvt.none{display:block;background:repeating-linear-gradient(135deg,#ececf0 0 4px,#f7f7f9 4px 8px)}
  .st-cvn{display:none}
  .st-v [data-st-cvs]{display:block}
  .st-pick{gap:6px;margin-top:14px}
  .st-pick button{width:46px;height:46px}
  .st-cap{margin-top:12px}
}
@media (prefers-reduced-motion:reduce){
  .st-qrf{animation:none}
}

/* ======================== l'app dei clienti (ca-) ======================== */
/* ===================================================================
   L'APP DEI TUOI CLIENTI · stesso iPhone di "Ogni locale" (393 x 852 punti), prefisso ca-
   A sinistra le cinque cose (si aprono una alla volta, con la barra che avanza), a destra il telefono.
   =================================================================== */
.capp{position:relative;overflow:clip;isolation:isolate}
.ca-box::before{content:"";position:absolute;z-index:-1;inset:-16% -60%;pointer-events:none;
  background:radial-gradient(closest-side,rgba(255,61,127,.17),rgba(255,146,88,.09) 55%,rgba(255,146,88,0))}
.ca-tag{display:flex;justify-content:center;margin:0 0 14px}
.ca-tag span{display:inline-flex;align-items:center;gap:8px;padding:6px 14px 6px 12px;border-radius:999px;background:#FFE9F0;color:#D81B60;font:600 13px var(--text);letter-spacing:.02em}
.ca-tag span::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor;animation:ca-tag 1.8s ease-out infinite}
@keyframes ca-tag{0%{box-shadow:0 0 0 0 rgba(216,27,96,.45)}100%{box-shadow:0 0 0 8px rgba(216,27,96,0)}}

.ca-stage{display:grid;grid-template-columns:minmax(0,430px) auto;justify-content:center;align-items:center;gap:72px;max-width:1120px;margin:56px auto 0;padding:0 22px}
.ca-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.ca-list button{display:block;width:100%;padding:18px 22px;border:0;border-radius:24px;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer;transition:background .35s}
.ca-list button:hover{background:#fafafa}
.ca-list li.on button{background:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.05),0 22px 44px -26px rgba(0,0,0,.28)}
.ca-list button:focus-visible{outline:2px solid var(--race);outline-offset:2px}
.ca-k{display:block;font:600 13px var(--text);letter-spacing:.05em;text-transform:uppercase;color:var(--soft);transition:color .35s}
.ca-list li.on .ca-k{color:#D81B60}
.ca-list b{display:block;margin-top:3px;font:600 22px/1.2 var(--display);letter-spacing:-.025em}
.ca-x{display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s var(--ease)}
.ca-x>span{overflow:hidden;color:var(--muted);font-size:16px;line-height:1.45}
.ca-x>span::before{content:"";display:block;height:6px}
.ca-list li.on .ca-x{grid-template-rows:1fr}
.ca-bar{display:block;height:3px;margin-top:14px;border-radius:2px;background:#ececf0;overflow:hidden;opacity:0;transition:opacity .3s}
.ca-bar i{display:block;height:100%;background:linear-gradient(90deg,#FF3D7F,#FF9258);transform-origin:left center;transform:scaleX(0)}
.ca-list li.on .ca-bar{opacity:1}
.ca-link{margin:34px 0 0;text-align:center;font-size:17px}
.ca-link a{color:var(--race);text-decoration:none}
.ca-link a:hover{text-decoration:underline}

/* le schermate dell'app: una alla volta, la nuova entra sopra la vecchia */
.ca-scr{background:#FFF4F7;font-size:16px;line-height:normal;letter-spacing:normal}
.ca-s{position:absolute;inset:0;display:none}
.ca-s.on{display:block;z-index:2;animation:ca-in .55s var(--ease) both}
.ca-s.was{display:block;z-index:1}
@keyframes ca-in{from{opacity:0;transform:scale(1.035)}to{opacity:1;transform:none}}
.ca-ov{position:absolute;inset:0;z-index:30;display:none}
.ca-ov.on{display:block}
.ca-ov.off{display:block;animation:ca-out .35s ease both}
@keyframes ca-out{to{opacity:0;transform:translateY(40px)}}
.ca-live .ca-soon{display:none}
.ca-scr :is(h1,h2,h3){font-family:inherit;font-weight:bold;letter-spacing:normal}
.ca-scr h1{font-size:2em;margin:.67em 0}.ca-scr h2{font-size:1.5em;margin:.83em 0}.ca-scr h3{font-size:1.17em;margin:1em 0}
.ca-scr a{color:inherit;text-decoration:none}
.ca-scr button{font:inherit;cursor:default}
.ca-scr .ca-tocco{transition:transform .15s ease}
.ca-scr .ca-tocco.press{transform:scale(.94)}
.ca-scr .ca-scorre{scroll-behavior:smooth}

/* il disegno dell'app: animazioni (prefisso ca-, valgono solo dentro il telefono) */
.ca-scr .ca-scorre{scrollbar-width:none}
.ca-scr .ca-scorre::-webkit-scrollbar{display:none}
@keyframes ca-nuota{0%{transform:translate(0,0) scale(1)}100%{transform:translate(34px,26px) scale(1.12)}}
.ca-scr .ca-nuota{animation:ca-nuota 11s ease-in-out infinite alternate}
.ca-scr .ca-nuota2{animation:ca-nuota 14s ease-in-out infinite alternate-reverse}
@keyframes ca-gira{to{transform:rotate(360deg)}}
.ca-scr .ca-gira-lento{animation:ca-gira 8s linear infinite}
.ca-scr .ca-aura{position:relative;border-radius:999px;padding:1.5px;overflow:hidden}
.ca-scr .ca-aura::before{content:"";position:absolute;left:-40%;top:-400%;width:180%;height:900%;background:conic-gradient(from 0deg,var(--a1),var(--a2),var(--a3),var(--a4),var(--a1));animation:ca-gira 9s linear infinite}
.ca-scr .ca-aura-luce{position:absolute;left:16px;right:16px;top:6px;bottom:-2px;border-radius:999px;background:linear-gradient(90deg,var(--a1),var(--a2),var(--a3),var(--a4));filter:blur(18px);opacity:var(--luce);animation:ca-respiro 5s ease-in-out infinite alternate}
@keyframes ca-respiro{from{transform:scaleX(.92)}to{transform:scaleX(1.03)}}
@keyframes ca-respira{0%{transform:scale(1.03) translate(0,0)}100%{transform:scale(1.14) translate(-10px,-8px)}}
.ca-scr .ca-respira{animation:ca-respira 14s ease-in-out infinite alternate}
@keyframes ca-entra{from{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:none}}
.ca-scr .ca-entra{animation:ca-entra .7s cubic-bezier(.2,.8,.2,1) both}
@keyframes ca-appare{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.ca-scr .ca-appare{animation:ca-appare .45s cubic-bezier(.2,.8,.2,1) both}
@keyframes ca-cambia{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.ca-scr .ca-cambia{animation:ca-cambia .4s ease both}
@keyframes ca-spunta{0%{transform:scale(.3);opacity:0}70%{transform:scale(1.18);opacity:1}100%{transform:scale(1)}}
.ca-scr .ca-spunta{animation:ca-spunta .38s cubic-bezier(.3,1.6,.5,1) both}
@keyframes ca-pulsa{0%{box-shadow:0 0 0 0 rgba(52,199,89,.75)}100%{box-shadow:0 0 0 9px rgba(52,199,89,0)}}
.ca-scr .ca-vivo{animation:ca-pulsa 1.6s ease-out infinite}
@keyframes ca-onda{0%{transform:scale(1);opacity:.8}100%{transform:scale(4.5);opacity:0}}
.ca-scr .ca-onda{animation:ca-onda 2.2s ease-out infinite}
@keyframes ca-sale{from{transform:translateY(100%)}to{transform:none}}
.ca-scr .ca-sale{animation:ca-sale .5s cubic-bezier(.2,.85,.25,1) both}
@keyframes ca-velo{from{opacity:0}to{opacity:1}}
.ca-scr .ca-velo{animation:ca-velo .35s ease both}
@keyframes ca-linea{0%{top:14px}100%{top:243px}}
.ca-scr .ca-linea{animation:ca-linea 1.4s ease-in-out infinite alternate}
@keyframes ca-cresce{from{transform:scaleX(0)}to{transform:none}}
.ca-scr .ca-cresce{transform-origin:left center;animation:ca-cresce .9s cubic-bezier(.2,.8,.2,1) both}
@keyframes ca-cresceSu{from{transform:scaleY(0)}to{transform:none}}
.ca-scr .ca-cresce-su{transform-origin:center bottom;animation:ca-cresceSu .8s cubic-bezier(.2,.8,.2,1) both}
.ca-scr .ca-orb{display:block;border-radius:999px;overflow:hidden;background:radial-gradient(circle at 72% 78%,var(--a2) 0,transparent 62%),radial-gradient(circle at 22% 70%,var(--a3) 0,transparent 58%),linear-gradient(160deg,var(--a1),var(--a2));box-shadow:inset 0 -8px 16px rgba(0,0,0,.18),inset 0 6px 12px rgba(255,255,255,.35)}
.ca-scr .ca-orb::before{content:"";position:absolute;left:-35%;top:-35%;width:170%;height:170%;background:conic-gradient(from 0deg,transparent 0deg,rgba(255,255,255,.55) 50deg,transparent 110deg,var(--a2) 200deg,transparent 260deg,rgba(255,255,255,.35) 320deg,transparent 360deg);filter:blur(7px);animation:ca-gira 7s linear infinite}
.ca-scr .ca-orb::after{content:"";position:absolute;inset:0;border-radius:999px;background:radial-gradient(circle at 32% 26%,rgba(255,255,255,.85) 0,rgba(255,255,255,0) 30%)}
@keyframes ca-alone{0%{transform:scale(1);opacity:.55}100%{transform:scale(1.6);opacity:0}}
.ca-scr .ca-alone{animation:ca-alone 2.6s ease-out infinite}
@keyframes ca-brilla{0%,100%{transform:scale(1) rotate(0)}50%{transform:scale(1.14) rotate(14deg)}}
.ca-scr .ca-brilla{animation:ca-brilla 2.8s ease-in-out infinite}
@keyframes ca-galleggia{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
.ca-scr .ca-galleggia{animation:ca-galleggia 4s ease-in-out infinite}
@keyframes ca-passa{0%{opacity:0;transform:translateY(8px)}15%{opacity:1;transform:none}85%{opacity:1}100%{opacity:0}}
.ca-scr .ca-passa{animation:ca-passa 1.3s ease both}
@keyframes ca-punto{0%,80%,100%{transform:translateY(0);opacity:.4}40%{transform:translateY(-4px);opacity:1}}
.ca-scr .ca-punto{display:inline-block;width:7px;height:7px;border-radius:99px;animation:ca-punto 1s ease-in-out infinite}
.ca-scr .ca-tocco{transition:transform .15s ease}
.ca-scr .ca-tocco:active{transform:scale(.94)}

/* iPad e tablet */
@media (max-width:1060px){
  .ca-stage{gap:36px;margin-top:44px;padding:0 16px;grid-template-columns:minmax(0,340px) auto}
  .ca-list button{padding:14px 16px;border-radius:20px}
  .ca-list b{font-size:19px}
  .ca-x>span{font-size:15px}
}
.ca-cap{display:none}
/* telefono: prima il telefono, sotto le cinque cose come pillole e la frase di quella accesa */
@media (max-width:699px){
  .ca-stage{grid-template-columns:1fr;gap:18px;margin-top:30px}
  .ca-box{grid-row:1;justify-self:center}
  .ca-list{max-width:460px;width:100%;justify-self:center}
  .ca-list b{font-size:18px}
  .ca-list button{padding:12px 16px}
  .ca-link{margin-top:20px;font-size:16px;padding:0 16px}
  html.js .ca-list{grid-row:2;display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
  html.js .ca-list li{display:block}
  html.js .ca-list button{position:relative;overflow:hidden;width:auto;padding:9px 15px;border-radius:999px;background:#f2f2f5;box-shadow:none}
  html.js .ca-list li.on button{background:#1d1d1f}
  html.js .ca-k{font-size:14px;letter-spacing:-.01em;text-transform:none;color:var(--ink)}
  html.js .ca-list li.on .ca-k{color:#fff}
  html.js .ca-list b,html.js .ca-x{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
  html.js .ca-bar{position:absolute;left:0;right:0;bottom:0;height:3px;margin:0;border-radius:0;background:transparent}
  html.js .ca-cap{grid-row:3;display:block;justify-self:center;max-width:440px;min-height:120px;padding:0 6px;text-align:center}
  .ca-cap b{display:block;font:600 21px/1.2 var(--display);letter-spacing:-.025em}
  .ca-cap span{display:block;margin-top:6px;color:var(--muted);font-size:16px;line-height:1.45}
}
html:not(.js) .ca-x{grid-template-rows:1fr}
html:not(.js) .ca-bar{display:none}

/* ======================== il gestionale ======================== */
/* ===================================================================
   IL GESTIONALE · iPad Air 11" in orizzontale (schermo 1180 x 820 punti)
   Tutte le classi iniziano con gx- per non toccare il resto della pagina.
   =================================================================== */
.gx{padding:150px 0 0}
.gx-show{margin:56px auto 0;max-width:1180px;padding:0 22px}
.gx-box{position:relative}
.gx-dev{position:absolute;left:50%;top:0;width:1232px;height:872px;transform-origin:50% 0}
.gx-frame{position:absolute;inset:0;border-radius:50px;padding:26px;
  background:linear-gradient(160deg,#e3e3e6 0%,#a1a1a6 6%,#2c2c2e 14%,#1c1c1e 50%,#2c2c2e 86%,#a1a1a6 94%,#d1d1d6 100%);
  box-shadow:0 2px 3px rgba(0,0,0,.2),0 40px 80px -30px rgba(0,0,0,.35),0 110px 140px -80px rgba(0,0,0,.4)}
.gx-frame::before{content:"";position:absolute;inset:3px;border-radius:47px;background:#060606}
.gx-cam{position:absolute;z-index:3;top:11px;left:50%;width:7px;height:7px;margin-left:-3.5px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#3a3a5a,#0a0a12 70%)}
.gx-scr{position:relative;z-index:2;width:1180px;height:820px;border-radius:22px;overflow:hidden;display:flex;background:#F5F5F7;
  font-family:var(--text);letter-spacing:-.012em;color:#1d1d1f;text-align:left}
.gx-scr::after{content:"";position:absolute;inset:0;z-index:90;pointer-events:none;background:linear-gradient(120deg,rgba(255,255,255,.08),rgba(255,255,255,0) 30%)}
.gx-scr.gx-instant,.gx-scr.gx-instant *{transition:none!important}

/* barra laterale, come il vero RACE */
.gx-side{position:relative;width:236px;flex:none;background:#fff;border-right:1px solid rgba(0,0,0,.06);padding:26px 16px}
.gx-brand{display:flex;align-items:center;gap:10px;font:700 16px var(--text);letter-spacing:.08em;margin:0 6px}
.gx-r{width:30px;height:30px;border-radius:8px;background:#1d1d1f;color:#fff;display:grid;place-items:center;font:700 15px var(--text);letter-spacing:0}
.gx-loc{font-size:13px;color:#86868b;margin:14px 6px 0}
.gx-clock{margin:14px 6px 16px}
.gx-clock b{display:block;font:700 26px var(--display);letter-spacing:-.02em}
.gx-clock span{font-size:12.5px;color:#86868b}
.gx-sw{display:grid;grid-template-columns:1fr 1fr;padding:3px;border-radius:12px;background:#f2f2f4;margin-bottom:16px}
.gx-sw span{text-align:center;font:500 13px/32px var(--text);color:#6e6e73;border-radius:9px}
.gx-sw span.on{background:#fff;color:#1d1d1f;box-shadow:0 1px 3px rgba(0,0,0,.1)}
.gx-grp{font:600 11px var(--text);letter-spacing:.08em;text-transform:uppercase;color:#86868b;margin:12px 8px 6px}
.gx-nav{position:relative;z-index:2;display:flex;align-items:center;gap:11px;height:40px;padding:0 10px;font:500 14.5px var(--text);color:#3a3a3c;border-radius:10px;transition:color .3s}
.gx-nav i{display:grid;place-items:center;width:20px;height:20px;color:#6e6e73;transition:color .3s,transform .45s var(--spring)}
.gx-nav i svg{width:18px;height:18px}
.gx-nav.on{color:#1d1d1f;font-weight:600}
.gx-nav.on i{color:#1d1d1f;transform:scale(1.1)}
.gx-nav em{margin-left:auto;font-style:normal;min-width:20px;height:20px;border-radius:10px;background:#FF3B30;color:#fff;font:700 11px/20px var(--text);text-align:center;transform:scale(0);transition:transform .45s var(--spring)}
.gx-nav em.on{transform:scale(1)}
.gx-hl{position:absolute;z-index:1;left:16px;right:16px;top:0;height:40px;border-radius:10px;background:#f2f2f4;transition:transform .55s var(--spring)}

/* area principale */
.gx-main{position:relative;flex:1;overflow:hidden}
.gx-view{position:absolute;inset:0;padding:30px 34px;opacity:0;transform:translateY(16px) scale(.99);transition:opacity .4s var(--ease),transform .6s var(--spring);pointer-events:none}
.gx-view.on{opacity:1;transform:none}
.gx-h{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:22px}
.gx-h small{font-size:13px;color:#86868b}
.gx-h h3{margin:2px 0 4px;font:700 32px var(--display);letter-spacing:-.03em}
.gx-h p{margin:0;font-size:14.5px;color:#6e6e73}
.gx-live{display:inline-flex;align-items:center;gap:8px;font:600 13px var(--text);color:var(--c,#1f8a3e);background:#fff;padding:8px 14px;border-radius:999px;box-shadow:0 1px 2px rgba(0,0,0,.06)}
.gx-live i{width:8px;height:8px;border-radius:50%;background:var(--c,#34C759);animation:gxblink 1.6s ease-in-out infinite}
@keyframes gxblink{50%{opacity:.3}}
.gx-card{background:#fff;border-radius:18px;box-shadow:0 1px 2px rgba(0,0,0,.04),0 10px 24px -18px rgba(0,0,0,.25)}
.gx-card h4{margin:0 0 12px;font:700 16px var(--text);display:flex;justify-content:space-between;align-items:center}
.gx-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:16px}
.gx-kpi{padding:16px 18px}
.gx-kpi small{display:block;font-size:13px;color:#86868b}
.gx-kpi b{display:block;font:700 30px var(--display);letter-spacing:-.03em;margin:6px 0 4px}
.gx-kpi b em{font-style:normal;font-size:16px;color:#86868b;font-weight:500}
.gx-kpi span{font-size:12.5px;color:#86868b}
.gx-kpi span.up{color:#1f8a3e;font-weight:600;opacity:0;transition:opacity .4s}
.gx-kpi span.up.on{opacity:1}
.gx-meter{display:block;height:6px;border-radius:6px;background:#f2f2f4;overflow:hidden;margin-top:10px}
.gx-meter i{display:block;height:100%;border-radius:6px;background:#34C759}
.gx-two{display:grid;grid-template-columns:1.25fr 1fr;gap:14px}
.gx-feed{padding:18px 18px 8px;height:440px;overflow:hidden}
.gx-ev{display:flex;align-items:center;gap:12px;padding:11px 0;border-top:1px solid #f2f2f4}
.gx-ev:first-of-type{border-top:0}
.gx-ev > i{width:10px;height:10px;border-radius:50%;background:var(--c);flex:none;box-shadow:0 0 0 4px color-mix(in srgb,var(--c) 18%,#fff)}
.gx-ev div{flex:1}.gx-ev b{display:block;font:600 14.5px var(--text)}.gx-ev span{font-size:13px;color:#86868b}
.gx-ev em{font-style:normal;font-size:12.5px;color:#86868b}
.gx-ev.new{max-height:0;opacity:0;padding:0;overflow:hidden;transition:max-height .6s var(--spring),opacity .4s,padding .6s var(--spring)}
.gx-ev.new.on{max-height:70px;opacity:1;padding:11px 0}
.gx-col{display:flex;flex-direction:column;gap:14px}
.gx-top{overflow:hidden}
.gx-top .ph{height:150px;background-size:cover;background-position:center 60%}
.gx-top .tx{padding:14px 18px 16px}
.gx-top small{font-size:12.5px;color:#86868b}.gx-top b{display:block;font:700 18px var(--text);margin:2px 0}.gx-top span{font-size:13px;color:#6e6e73}
.gx-tonight{padding:14px 18px}
.gx-tonight div{display:flex;align-items:center;gap:12px;padding:9px 0;border-top:1px solid #f2f2f4;font-size:13.5px}
.gx-tonight div:first-of-type{border-top:0}
.gx-tonight b{font:700 14px var(--text);min-width:44px}.gx-tonight span{flex:1;color:#3a3a3c}
.gx-tonight em{font-style:normal;font:600 11.5px var(--text);padding:4px 9px;border-radius:999px;background:#FFF1DE;color:#b86400;transition:background .4s,color .4s}
.gx-tonight em.ok{background:#E9F9EE;color:#1f8a3e}

/* sala */
.gx-chips{display:flex;gap:6px}
.gx-chips span{font:500 13px var(--text);padding:8px 13px;border-radius:999px;background:#fff;color:#3a3a3c;box-shadow:0 1px 2px rgba(0,0,0,.05)}
.gx-chips span.on{background:#1d1d1f;color:#fff}
.gx-legend{display:flex;gap:16px;margin:-6px 0 16px;font-size:12.5px;color:#6e6e73}
.gx-legend span{display:flex;align-items:center;gap:6px}
.gx-legend span::before{content:"";width:9px;height:9px;border-radius:3px;background:var(--c)}
.gx-tables{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.gx-t{position:relative;height:150px;border-radius:18px;background:#fff;padding:14px 16px;display:flex;flex-direction:column;box-shadow:0 1px 2px rgba(0,0,0,.05);
  border-top:5px solid var(--c,#e5e5ea);transition:border-color .5s,box-shadow .5s,transform .5s var(--spring)}
.gx-t b{font:700 26px var(--display)}
.gx-t .st{font:600 12.5px var(--text);color:var(--c2,#86868b);margin-top:2px}
.gx-t .meta{margin-top:auto;display:flex;justify-content:space-between;font-size:12.5px;color:#86868b}
.gx-t .meta em{font-style:normal;font-weight:600;color:#1d1d1f}
.gx-t.hot{transform:scale(1.04);box-shadow:0 0 0 2px var(--c),0 16px 30px -16px var(--c)}
.gx-req{position:absolute;left:34px;right:190px;bottom:24px;display:flex;align-items:center;gap:14px;padding:14px 18px;border-radius:18px;background:#1d1d1f;color:#fff;
  transform:translateY(120%);opacity:0;transition:transform .6s var(--spring),opacity .4s}
.gx-req.on{transform:none;opacity:1}
.gx-req i{width:36px;height:36px;border-radius:10px;background:#FF3B30;display:grid;place-items:center}.gx-req i svg{width:18px;height:18px}
.gx-req div{flex:1}.gx-req b{display:block;font:600 15px var(--text)}.gx-req span{font-size:13px;opacity:.7}
.gx-req em{font-style:normal;font:600 13px var(--text);padding:9px 14px;border-radius:999px;background:#fff;color:#1d1d1f}

/* cucina */
.gx-kds{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:14px;height:620px}
.gx-kcol{background:#ebebee;border-radius:18px;padding:14px}
.gx-kcol h4{margin:0 0 12px;font:600 14px var(--text);color:#3a3a3c;display:flex;justify-content:space-between}
.gx-kcol h4 em{font-style:normal;font-size:12px;background:#fff;border-radius:999px;padding:2px 9px}
.gx-tk{position:relative;background:#fff;border-radius:14px;padding:13px 14px;margin-bottom:10px;box-shadow:0 1px 2px rgba(0,0,0,.05);font-size:13.5px}
.gx-tk b{display:flex;justify-content:space-between;font:700 15px var(--text);margin-bottom:6px}
.gx-tk b span{font:500 12.5px var(--text);color:#86868b}
.gx-tk p{margin:2px 0;color:#3a3a3c}
.gx-tk p.note{color:#c2410c;font-weight:600}
.gx-tk.done{opacity:.7}
.gx-mine{position:absolute;top:44px;left:14px;width:calc((100% - 28px)/3 - 28px);margin:0;box-shadow:0 0 0 2px #FF9500,0 18px 30px -16px rgba(255,149,0,.8);
  transition:left .8s var(--spring),box-shadow .5s,opacity .3s,transform .5s var(--spring);opacity:0;transform:scale(.7)}
.gx-mine.on{opacity:1;transform:none}
.gx-mine.c1{left:calc((100% - 28px)/3 + 28px)}
.gx-mine.c2{left:calc((100% - 28px)/3*2 + 42px);box-shadow:0 0 0 2px #34C759,0 18px 30px -16px rgba(52,199,89,.8)}
.gx-mine .bar{height:5px;border-radius:5px;background:#f2f2f4;margin-top:10px;overflow:hidden}
.gx-mine .bar i{display:block;height:100%;width:0;background:#FF9500;border-radius:5px;transition:width 1.2s linear}
.gx-mine.c1 .bar i{width:65%}.gx-mine.c2 .bar i{width:100%;background:#34C759}
.gx-mine .ok{position:absolute;right:-9px;top:-9px;width:26px;height:26px;border-radius:50%;background:#34C759;display:grid;place-items:center;transform:scale(0);transition:transform .5s var(--spring)}
.gx-mine .ok svg{width:14px;height:14px}
.gx-mine.c2 .ok{transform:scale(1)}

/* cassa */
.gx-cassa{display:grid;grid-template-columns:1fr 1.15fr;gap:14px}
.gx-bills{padding:18px}
.gx-bills > div{display:flex;align-items:center;gap:12px;padding:13px 12px;border-radius:12px;font-size:13.5px}
.gx-bills > div b{font:700 15px var(--text);min-width:76px}.gx-bills > div span{flex:1;color:#86868b}.gx-bills > div em{font-style:normal;font:600 15px var(--text)}
.gx-bills > div.sel{background:#EAF2FF;box-shadow:inset 0 0 0 1.5px #007AFF}
.gx-soon{margin:18px 4px 0;font-size:12.5px;color:#86868b;padding-top:14px;border-top:1px solid #f2f2f4}
.gx-pay{padding:18px}
.gx-seg{position:relative;display:grid;grid-template-columns:repeat(3,1fr);height:38px;border-radius:11px;background:#f2f2f4;padding:3px;margin-bottom:12px}
.gx-seg span{position:relative;z-index:2;text-align:center;font:600 13px/32px var(--text);color:#3a3a3c}
.gx-seg .k{position:absolute;z-index:1;top:3px;bottom:3px;left:3px;width:calc((100% - 6px)/3);border-radius:9px;background:#fff;box-shadow:0 2px 6px rgba(0,0,0,.12);transition:transform .55s var(--spring)}
.gx-seg.r .k{transform:translateX(100%)}
.gx-due{text-align:center;padding:4px 0 10px}
.gx-due small{font-size:13px;color:#86868b}.gx-due b{display:block;font:700 40px var(--display);letter-spacing:-.03em}
.gx-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}
.gx-field{background:#f5f5f7;border-radius:12px;padding:9px 12px}
.gx-field small{display:block;font-size:11.5px;color:#86868b}.gx-field b{font:700 19px var(--text)}
.gx-field.green b{color:#1f8a3e}
.gx-keys{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.gx-keys span{height:46px;border-radius:12px;background:#f5f5f7;display:grid;place-items:center;font:600 18px var(--text);transition:background .15s,transform .2s var(--spring)}
.gx-keys span.press{background:#d9e8ff;transform:scale(.94)}
.gx-keys span.q{background:#EAF2FF;color:#0058c4;font-size:15px}
.gx-go{margin-top:12px;height:50px;border-radius:14px;background:#007AFF;color:#fff;display:grid;place-items:center;font:600 16px var(--text);transition:transform .2s var(--spring),background .3s}
.gx-go.dark{background:#1d1d1f}
.gx-go.press{transform:scale(.97)}
.gx-go.paid{background:#34C759}

/* menu da una foto */
.gx-scan{display:grid;grid-template-columns:1fr 1.1fr;gap:18px;align-items:start}
.gx-paper{position:relative;height:610px;border-radius:18px;overflow:hidden;background:#3a2f27;padding:30px;box-shadow:0 10px 24px -18px rgba(0,0,0,.4)}
.gx-paper .pp{height:100%;background:#f6efe2;border-radius:6px;padding:30px 30px;transform:rotate(-2.5deg);box-shadow:0 20px 30px -10px rgba(0,0,0,.6);
  font-family:"Iowan Old Style","Palatino Linotype",Georgia,serif;color:#3b2f22}
.gx-paper h5{margin:0 0 18px;text-align:center;font-size:24px;font-style:italic;font-weight:600;letter-spacing:.01em}
.gx-paper p{margin:0 0 12px;display:flex;justify-content:space-between;font-size:16px;border-bottom:1px dotted rgba(59,47,34,.3);padding-bottom:6px}
.gx-paper p.cat{border:0;justify-content:center;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:#8a6d4b;margin:20px 0 10px}
.gx-paper .beam{position:absolute;left:0;right:0;top:0;height:90px;opacity:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(0,122,255,0),rgba(0,122,255,.22) 80%,rgba(0,122,255,.9) 98%,rgba(0,122,255,0));}
.gx-paper .beam.on{animation:gxbeam 2.6s cubic-bezier(.45,0,.55,1) forwards}
@keyframes gxbeam{0%{opacity:0;transform:translateY(-90px)}10%{opacity:1}90%{opacity:1}100%{opacity:0;transform:translateY(610px)}}
.gx-found{padding:20px}
.gx-found h4 em{font-style:normal}
.gx-found h4 .gx-ai{font:500 12px var(--text);color:#007AFF;background:#EAF2FF;padding:4px 9px;border-radius:999px}
.gx-found .it{display:grid;grid-template-columns:1fr auto;align-items:center;padding:11px 12px;border-radius:12px;margin-bottom:6px;background:#f5f5f7;
  opacity:0;transform:translateX(30px);transition:opacity .4s,transform .55s var(--spring)}
.gx-found .it.on{opacity:1;transform:none}
.gx-found .it small{grid-column:1/-1;font-size:11.5px;color:#86868b}
.gx-found .it b{font:600 15px var(--text)}.gx-found .it em{font-style:normal;font:600 15px var(--text)}

/* assistente */
.gx-asbtn{position:absolute;z-index:40;right:26px;bottom:24px;display:flex;align-items:center;gap:8px;height:48px;padding:0 20px;border-radius:24px;background:#1d1d1f;color:#fff;
  font:600 15px var(--text);box-shadow:0 12px 26px -10px rgba(0,0,0,.5);transition:transform .25s var(--spring)}
.gx-asbtn svg{width:18px;height:18px}
.gx-asbtn.press{transform:scale(.94)}
.gx-dim{position:absolute;inset:0;z-index:45;background:rgba(0,0,0,.22);opacity:0;transition:opacity .4s;pointer-events:none}
.gx-dim.on{opacity:1}
.gx-chat{position:absolute;z-index:50;top:16px;right:16px;bottom:16px;width:400px;border-radius:24px;background:#fff;box-shadow:0 30px 60px -20px rgba(0,0,0,.4);
  transform:translateX(110%);transition:transform .65s cubic-bezier(.25,1,.3,1);display:flex;flex-direction:column}
.gx-chat.on{transform:none}
.gx-chat header{display:flex;align-items:center;gap:12px;padding:20px 22px;border-bottom:1px solid #f2f2f4}
.gx-chat .av{width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,#5B6CFF,#0000F6 55%,#0000C4);display:grid;place-items:center;color:#fff}
.gx-chat .av svg{width:20px;height:20px}
.gx-chat header b{display:block;font:700 16px var(--text)}.gx-chat header small{font-size:12.5px;color:#86868b}
.gx-chat .msgs{flex:1;padding:20px 20px;display:flex;flex-direction:column;gap:12px}
.gx-chat .me,.gx-chat .ai{opacity:0;transform:translateY(12px) scale(.96);transition:opacity .35s,transform .5s var(--spring)}
.gx-chat .on{opacity:1;transform:none}
.gx-chat .me{align-self:flex-end;max-width:80%;margin:0;padding:11px 15px;border-radius:20px 20px 6px 20px;background:#007AFF;color:#fff;font-size:15px}
.gx-chat .ai{align-self:flex-start;max-width:88%}
.gx-chat .ai p{margin:0;padding:12px 15px;border-radius:20px 20px 20px 6px;background:#f2f2f4;font-size:15px;line-height:1.4}
.gx-chat .ai.fine p{background:#E9F9EE;color:#1f6b35}
.gx-chat .typing{display:flex;gap:5px;padding:14px 16px;border-radius:20px;background:#f2f2f4;margin:0}
.gx-chat .typing i{width:7px;height:7px;border-radius:50%;background:#aeaeb2;animation:gxdot 1s infinite}
.gx-chat .typing i:nth-child(2){animation-delay:.15s}.gx-chat .typing i:nth-child(3){animation-delay:.3s}
@keyframes gxdot{0%,60%,100%{transform:translateY(0)}30%{transform:translateY(-5px)}}
.gx-chat .typing.gone{display:none}
.gx-chat .acts{display:flex;gap:8px;margin-top:8px}
.gx-chat .acts span{font:600 14px var(--text);padding:9px 16px;border-radius:999px;background:#f2f2f4;transition:transform .2s var(--spring),background .3s}
.gx-chat .acts span.yes{background:#1d1d1f;color:#fff}
.gx-chat .acts span.press{transform:scale(.92)}

.gx-touch{position:absolute;z-index:95;width:56px;height:56px;margin:-28px 0 0 -28px;border-radius:50%;background:rgba(120,120,128,.3);border:2px solid rgba(255,255,255,.85);opacity:0;pointer-events:none}

/* sotto l'iPad */
.gx-tabs{display:flex;justify-content:center;gap:6px;margin:30px auto 0;flex-wrap:wrap}
.gx-tabs button{position:relative;overflow:hidden;border:0;background:transparent;font:500 14px var(--text);color:var(--soft);padding:8px 14px;border-radius:999px;cursor:pointer;transition:background .3s,color .3s}
.gx-tabs button.on{background:#f5f5f7;color:var(--ink)}
.gx-tabs button b{position:absolute;left:14px;right:14px;bottom:4px;height:2px;border-radius:2px;overflow:hidden}
.gx-tabs button.on b{background:#e5e5ea}
.gx-tabs button b i{display:block;height:100%;width:0;background:var(--race)}
.gx-cap{text-align:center;max-width:620px;margin:18px auto 0;min-height:56px;transition:opacity .3s}
.gx-cap b{display:block;font:600 21px var(--display);letter-spacing:-.02em}
.gx-cap span{color:var(--muted);font-size:16px}

/* PERCHÉ RACE */
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:56px}
.why-c{border-radius:28px;background:#f5f5f7;padding:32px 30px 34px}
.why-c i{display:grid;place-items:center;width:52px;height:52px;border-radius:15px;background:color-mix(in srgb,var(--c) 14%,#fff);color:var(--c);margin-bottom:22px}
.why-c i svg{width:26px;height:26px}
.why-c h3{font-size:24px;line-height:1.12;margin:0 0 10px}
.why-c p{margin:0;color:var(--muted);font-size:16px;line-height:1.5}
.why-band{display:grid;grid-template-columns:repeat(3,1fr);margin-top:80px;border-radius:28px;background:#1d1d1f;color:#fff;padding:30px 10px}
.why-band div{padding:0 26px;border-left:1px solid rgba(255,255,255,.14)}
.why-band div:first-child{border-left:0}
.why-band b{display:block;font:600 19px var(--display);letter-spacing:-.02em}
.why-band span{color:rgba(255,255,255,.65);font-size:15px}

@media (max-width:860px){
  .gx{padding-top:100px}
  .gx-show{margin-top:36px;padding:0 10px}
  .gx-cap b{font-size:18px}.gx-cap span{font-size:15px}
  .gx-tabs{gap:2px}.gx-tabs button{padding:8px 10px;font-size:13px}
  .why-grid,.why-band{grid-template-columns:1fr}
  .why-band{padding:10px 0;margin-top:48px}
  .why-band div{border-left:0;border-top:1px solid rgba(255,255,255,.14);padding:18px 24px}
  .why-band div:first-child{border-top:0}
}

/* ======================== tablet ======================== */
/* ===================================================================
   TABLET (iPad e tablet Android in verticale): niente colonne singole stirate
   =================================================================== */
@media (min-width:600px) and (max-width:860px){
  .prices{grid-template-columns:1fr 1fr;gap:16px}
  .trial form{grid-template-columns:1fr 1fr}
  .ft-cols{grid-template-columns:repeat(4,1fr)}
  .why-grid{grid-template-columns:1fr 1fr;gap:16px}
  .ask{padding:44px 40px}
}
@media (min-width:700px) and (max-width:860px){
  .gnav nav{display:flex;gap:18px}
  .gnav .btn{margin-left:0}
  .three{grid-template-columns:repeat(3,1fr);gap:14px}
  .eff{padding:26px 20px 20px;min-height:400px}
  .eff h3{font-size:24px}
  .eff p{font-size:15px}
  .eff .w{padding:12px}
  .ring{width:46px;height:46px}
  .wt{gap:10px}
  .wt b{font-size:15px;white-space:nowrap}
  .wt small{font-size:11px}
  .why-band{grid-template-columns:repeat(3,1fr);padding:26px 6px}
  .why-band div{border-top:0;border-left:1px solid rgba(255,255,255,.14);padding:0 18px}
  .why-band div:first-child{border-left:0}
  .why-band b{font-size:17px}
  .why-band span{font-size:14px}
}

/* questionario: il pulsante vicino al testo, la nota accanto */
@media (max-width:860px){
  .ask{gap:22px}
  .ask .meta{flex-direction:row;align-items:center;flex-wrap:wrap;gap:10px 14px}
}
@media (max-width:520px){
  .ask{padding:30px 22px 28px}
  .ask p{font-size:16px}
  /* i QR entrano tutti nello schermo */
  .qrs{height:220px;margin-top:40px}
  .qrs .q{width:108px;top:20px}
  .qrs.open .q{transform:translateX(calc(var(--x) * .32)) rotate(var(--a)) translateY(calc(var(--y) * .6))}
}

/* ======================== i numeri ======================== */
/* ===================================================================
   I NUMERI · prefisso ct-
   =================================================================== */
.ct[hidden]{display:none}
.ct-row{display:flex;justify-content:center;gap:20px;margin-top:50px}
.ct-n{flex:1 1 0;max-width:340px;padding:36px 24px 32px;border-radius:30px;background:#f5f5f7;text-align:center;container-type:inline-size}
.ct-n[hidden]{display:none}
.ct-n b{display:block;font:700 clamp(46px,5.4vw,68px)/1 var(--display);letter-spacing:-.045em;font-variant-numeric:tabular-nums;
  background:linear-gradient(120deg,var(--g1),var(--g2));-webkit-background-clip:text;background-clip:text;color:transparent;padding-bottom:4px}
.ct-n b{font-size:min(68px,15cqi)}
.ct-n span{display:block;margin-top:10px;font-size:17px;color:var(--muted)}
@media (max-width:699px){
  .ct-row{flex-direction:column;align-items:stretch;gap:12px;margin-top:36px}
  .ct-n{max-width:none;padding:26px 20px 24px}
}

/* ======================== aggiunte per il sito vero ======================== */
/* comparsa allo scorrimento solo con il JavaScript (js.js mette la classe "js" prima di disegnare) */
html:not(.js) .rv{opacity:1;transform:none}
/* senza JavaScript i telefoni non si possono misurare: misura fissa, e l'iPad (che si scala solo col JavaScript) non si mostra */
html:not(.js) .showbox{height:637px}
html:not(.js) .dev{transform:translateX(-50%) scale(.72)}
html:not(.js) .st-box{width:298px;height:619px}
html:not(.js) .st-dev{transform:translateX(-50%) scale(.7)}
html:not(.js) .gx-show,html:not(.js) .capbar,html:not(.js) .st-pick{display:none}

/* barra in alto: lingue, Accedi, Prova gratis */
.gnav .gend{display:flex;align-items:center;gap:14px;margin-left:auto}
.gnav nav + .gend{margin-left:0}
.gnav .login{text-decoration:none;color:rgba(0,0,0,.8)}
.gnav .login:hover{color:var(--race)}
.langs{position:relative}
.langs>summary{list-style:none;cursor:pointer;padding:5px 9px;border-radius:999px;font:500 12px var(--text);color:rgba(0,0,0,.8);box-shadow:inset 0 0 0 1px rgba(0,0,0,.14);white-space:nowrap}
.langs>summary::-webkit-details-marker{display:none}
.langs-menu{position:absolute;right:0;top:calc(100% + 8px);z-index:90;display:grid;min-width:120px;padding:6px;border-radius:14px;background:#fff;box-shadow:0 18px 40px -12px rgba(0,0,0,.3),0 0 0 1px rgba(0,0,0,.06)}
.langs-menu a{padding:9px 12px;border-radius:10px;text-decoration:none;font:500 14px var(--text);color:var(--ink)}
.langs-menu a:hover,.langs-menu a[aria-current]{background:var(--tint);font-weight:600}

/* anteprima della bozza (solo per la console) */
.preview-bar{position:sticky;top:0;z-index:100;padding:10px 16px;background:#FFCC00;color:#1d1d1f;font:600 14px/1.4 var(--text);text-align:center}
.preview-bar a{color:inherit}
.preview-bar + .gnav{top:40px}

/* pagine delle campagne (/per/...): riga sopra il titolo e le tre schede "pensato per te" */
.hero2 .eyebrow{margin-bottom:12px}
.forx-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:50px}
.forx{border-radius:30px;background:#f5f5f7;padding:32px 28px}
.forx span{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:#fff;font-size:26px;box-shadow:0 1px 2px rgba(0,0,0,.05)}
.forx h3{font-size:24px;line-height:1.12;margin:18px 0 0}
.forx p{margin:8px 0 0;color:var(--muted);font-size:16px}
.forx-cta{text-align:center;margin:30px 0 0}

/* prezzi: tutti i servizi, uno per uno (dal listino della console) */
.svc{max-width:820px;margin:26px auto 0;border-radius:24px;background:#f5f5f7}
.svc>summary{list-style:none;cursor:pointer;padding:20px 26px;font:600 17px var(--display);letter-spacing:-.02em;display:flex;justify-content:space-between;gap:16px}
.svc>summary::-webkit-details-marker{display:none}
.svc>summary::after{content:"+";font-weight:300;font-size:26px;line-height:.8;color:var(--race);transition:transform .3s}
.svc[open]>summary::after{transform:rotate(45deg)}
.svc-body{display:grid;grid-template-columns:1fr 1.3fr;gap:28px;padding:0 26px 26px}
.svc h4{margin:0 0 10px;font:600 13px var(--text);letter-spacing:.04em;text-transform:uppercase;color:var(--soft)}
.svc ul{margin:0;padding:0;list-style:none}
.svc-inc li{padding:6px 0 6px 26px;position:relative;font-size:15px}
.svc-inc li::before{content:"";position:absolute;left:2px;top:12px;width:12px;height:7px;border-left:2px solid #34C759;border-bottom:2px solid #34C759;transform:rotate(-45deg)}
.svc-add li{display:grid;grid-template-columns:1fr auto;gap:2px 14px;padding:10px 0;border-top:1px solid var(--line)}
.svc-add li:first-child{border-top:0;padding-top:4px}
.svc-add b{font:600 15px var(--text)}
.svc-add small{grid-column:1;font-size:13px;color:var(--muted);line-height:1.35}
.svc-add em{grid-row:1;grid-column:2;font-style:normal;font-weight:600;font-size:15px;white-space:nowrap}
.plan .big{white-space:nowrap}

/* modulo della prova */
.trial .lead{margin-left:0}
.trial-how{margin:28px 0 0;padding:0;list-style:none;display:grid;gap:12px}
.trial-how li{display:flex;gap:12px;align-items:center;font-size:16px;color:var(--muted)}
.trial-how li b{color:var(--ink);font-weight:600}
.trial-how li i{flex:none;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#f5f5f7;font:600 14px var(--text);font-style:normal;color:var(--race)}
.trial textarea{min-height:92px;resize:vertical;line-height:1.4}
.trial label small{font-size:12px;color:var(--soft)}
.trial .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.trial .consent a{color:var(--ink)}
.f-fields{display:contents}
.f-fields[hidden]{display:none}
.f-err{grid-column:1/-1;margin:0;padding:12px 16px;border-radius:12px;background:#FFF0EE;color:#B3261E;font-size:15px}
.f-err[hidden]{display:none}
.f-note{grid-column:1/-1;margin:2px 0 0;text-align:center;font-size:13px;color:var(--soft)}
.f-ok{grid-column:1/-1;padding:40px 28px;border-radius:24px;background:#f5f5f7;text-align:center}
.f-ok[hidden]{display:none}
.f-ok b{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 14px;border-radius:50%;background:#34C759;color:#fff;font-size:30px}
.f-ok h3{font-size:28px}
.f-ok p{margin:8px 0 0;color:var(--muted)}
.trial button[disabled]{opacity:.6;cursor:default}
.trial select{padding-right:40px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%2386868B' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 16px center/12px 8px}

/* fondo pagina */
.ft .linkbtn{display:block;padding:3px 0;border:0;background:none;font:inherit;color:inherit;cursor:pointer;text-align:left}
.ft .linkbtn:hover{text-decoration:underline}
.ft-bot .linkbtn{display:inline;padding:0}   /* 2.25 «Preferenze cookie» nella riga in fondo (questionario ai clienti) */

/* banner dei cookie (ads.js), 2.25 (15/10): pillola in basso, versione A scelta da Antonio. Rifiuta e Accetta della stessa misura */
.s-cookie{position:fixed;z-index:120;left:50%;bottom:20px;transform:translateX(-50%);width:min(760px,calc(100% - 24px));box-sizing:border-box;
  display:flex;align-items:center;gap:20px;padding:12px 12px 12px 24px;border-radius:999px;background:rgba(255,255,255,.88);
  backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);color:var(--ink);
  box-shadow:0 12px 40px -12px rgba(0,0,0,.25),0 0 0 1px rgba(0,0,0,.06);font-family:var(--text)}
.s-cookie p{flex:1;margin:0;color:var(--muted);font-size:14px;line-height:1.4}
.s-cookie p a{color:var(--ink)}
.s-cookie-actions{display:flex;flex:none;gap:8px}
.s-cookie-actions button{min-height:44px;border:0;border-radius:999px;padding:11px 20px;font:600 15px var(--text);cursor:pointer}
.s-cookie-no{background:var(--tint);color:var(--ink)}
.s-cookie-no:hover{background:#e8e8ed}
.s-cookie-si{background:var(--race);color:#fff}
.s-cookie-si:hover{background:var(--race-ink)}
.s-cookie button:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
@media (max-width:640px){
  .s-cookie{flex-direction:column;align-items:stretch;gap:12px;bottom:12px;padding:18px;border-radius:24px}
  .s-cookie-actions button{flex:1}
}

@media (max-width:860px){
  .forx-grid,.svc-body{grid-template-columns:1fr}
  .gnav .gend,.gnav nav + .gend{gap:12px;margin-left:auto}
  .gnav .gend .btn{margin-left:0}
}
@media (max-width:520px){
  .svc>summary{padding:18px 20px}
  .svc-body{padding:0 20px 22px;gap:22px}
}
.prices.one{grid-template-columns:minmax(0,520px);justify-content:center}

/* 2026-10 velocità (PageSpeed): le foto, i loghi e i QR degli 11 menu demo («Ogni locale, il suo stile») si scaricano
   solo quando la sezione si avvicina (race.js aggiunge .st-vicino). Senza JavaScript si vedono subito come prima. */
html.js #stile:not(.st-vicino) [class*="i-mp_"],html.js #stile:not(.st-vicino) [class*="i-stc_"],
html.js #stile:not(.st-vicino) [class*="i-l_"],html.js #stile:not(.st-vicino) [class*="i-q_"]{background-image:none!important}


/* 2026-10 prezzi: due piani tutto compreso (listino di Antonio dell'8/10). La prima scheda e' quella in evidenza:
   RACE di solito, RACE Banco sulle pagine per gelaterie e bar. */
.pl-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:980px;margin:50px auto 0;align-items:start}
.pl{display:flex;flex-direction:column;border-radius:30px;background:var(--tint);padding:38px 36px 34px}
.pl-top{background:#fff;box-shadow:0 0 0 2px var(--race),0 30px 60px -34px rgba(0,0,246,.45)}
.pl-for{margin:0 0 8px;font:600 13px var(--text);letter-spacing:.04em;text-transform:uppercase;color:var(--soft)}
.pl-top .pl-for{color:var(--race)}
.pl h3{font-size:34px;line-height:1.05}
.pl-price{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin:20px 0 0}
.pl-price b{font:600 64px/1 var(--display);letter-spacing:-.045em;white-space:nowrap}
.pl-price span{font-size:15px;color:var(--muted)}
.pl-who{margin:12px 0 24px;font-size:16px;line-height:1.42;color:var(--muted);min-height:2.84em}
.pl .btn{align-self:flex-start;padding:14px 24px}
.pl-rcpt{display:flex;align-items:center;gap:10px;margin:28px 0 0;padding:13px 15px;border-radius:16px;background:rgba(0,0,246,.08);color:var(--race-2);font:600 15px/1.3 var(--text)}
.pl-rcpt svg{flex:none;width:22px;height:22px}
.pl:not(.pl-top) .pl-rcpt{background:#fff;color:var(--ink)}
.pl:not(.pl-top) .pl-rcpt svg{color:var(--race)}
.pl-inc{list-style:none;margin:16px 0 0;padding:0}
.pl-inc li{position:relative;padding:9px 0 9px 28px;font-size:15px;line-height:1.38;border-top:1px solid var(--line)}
.pl-inc li:first-child{border-top:0}
.pl-inc li::before{content:"";position:absolute;left:3px;top:15px;width:11px;height:6px;border-left:2px solid #34C759;border-bottom:2px solid #34C759;transform:rotate(-45deg)}
.pl-up{margin:0;padding:14px 0 0;border-top:1px solid var(--line);font-size:15px;color:var(--muted)}
.pl-facts{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:12px;max-width:980px;margin:22px auto 0;padding:0}
.pl-facts li{display:grid;align-content:start;gap:5px;border-radius:22px;background:var(--tint);padding:20px 20px 18px}
.pl-facts i{display:block;width:26px;height:26px;margin-bottom:6px;color:var(--race)}
.pl-facts svg{width:26px;height:26px}
.pl-facts b{font:600 17px/1.25 var(--display);letter-spacing:-.02em}
.pl-facts span{font-size:14px;line-height:1.4;color:var(--muted)}
.pl-note{max-width:680px;margin-left:auto;margin-right:auto}
@media (max-width:1020px){
  .pl{padding:30px 26px 28px}
  .pl-price b{font-size:54px}
  .pl-facts{grid-template-columns:1fr 1fr}
}
@media (max-width:680px){
  .pl-grid{grid-template-columns:1fr;gap:16px;margin-top:36px}
  .pl-who{min-height:0}
  .pl-facts{grid-template-columns:1fr;gap:0;border-radius:22px;background:var(--tint);padding:6px 18px}
  .pl-facts li{grid-template-columns:30px 1fr;column-gap:12px;background:none;border-radius:0;padding:14px 0;border-top:1px solid var(--line)}
  .pl-facts li:first-child{border-top:0}
  .pl-facts i{grid-row:1/3;margin:2px 0 0;width:24px;height:24px}
  .pl-facts svg{width:24px;height:24px}
}
/* modulo di prova: «Come lavori?» con due scelte a tessera */
.trial .f-plan{border:0;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.trial .f-plan legend{padding:0 0 7px;font-size:13px;color:var(--muted)}
.trial .f-plan label{position:relative;flex-direction:row;align-items:flex-start;gap:12px;padding:14px 16px;border-radius:14px;background:#fff;box-shadow:inset 0 0 0 1px #d2d2d7;cursor:pointer;color:var(--ink)}
.trial .f-plan input{appearance:auto;-webkit-appearance:auto;flex:none;width:18px;height:18px;margin:2px 0 0;padding:0;box-shadow:none;accent-color:var(--race)}
.trial .f-plan label:has(input:checked){box-shadow:inset 0 0 0 2px var(--race)}
.trial .f-plan b{display:block;font:600 15px/1.3 var(--text)}
.trial .f-plan small{display:block;margin-top:2px;font-size:12px;line-height:1.35;color:var(--muted)}
@media (max-width:520px){ .trial .f-plan{grid-template-columns:1fr} }

/* ===== 2.11 (14/10) marchio nuovo della designer: scritta RACE, blu elettrico, foto in bianco e nero ===== */
/* la scritta RACE (static/brand/race-scritta.svg, ricalcata dal disegno della designer) nel colore del testo */
.wm{display:inline-block;width:70px;height:21.5px;background:currentColor;
  -webkit-mask:url(/static/brand/race-scritta.svg) center/contain no-repeat;mask:url(/static/brand/race-scritta.svg) center/contain no-repeat}
.gnav .logo{color:var(--race)}
.gnav .logo .wm{width:64px;height:19.6px}
.langs>summary{display:inline-flex;align-items:center;gap:5px}
.langs>summary svg{width:14px;height:14px}
/* «Perché RACE», efficienza e fascia: un solo colore, il blu del marchio */
.why-c i{background:var(--race-soft);color:var(--race)}
.why-band{background:var(--race)}
.why-band div{border-color:rgba(255,255,255,.22)}
.why-band span{color:rgba(255,255,255,.78)}
.wrow .meter i{background:var(--race)}
.ring .fg{stroke:var(--race)}
.wbars i{background:color-mix(in srgb,var(--race) 16%,#fff)}
.wbars i:last-child{background:var(--race)}
.st-demo{display:flex;justify-content:center;flex-wrap:wrap;gap:6px 26px}

/* la cucina in bianco e nero: tre foto in fila, come le email della prova */
.bn-row{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:56px}
.bn-row i{display:block;aspect-ratio:534/720;border-radius:28px;background-size:cover;background-position:center 30%;
  filter:grayscale(1) contrast(1.08) brightness(.98)}
.bn-row i:nth-child(2){transform:translateY(40px)}
@media (max-width:680px){
  .bn-row{gap:8px;margin-top:36px}
  .bn-row i{border-radius:18px}
  .bn-row i:nth-child(2){transform:translateY(22px)}
}

/* menu e prenotazioni: cinque schede con il disegno di cosa vede il cliente (o il titolare) */
.mx-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:20px;margin-top:56px}
.mx-c{grid-column:span 2;display:flex;flex-direction:column;gap:26px;border-radius:28px;background:var(--tint);padding:32px 30px 30px;overflow:hidden}
.mx-c.mx-wide{grid-column:span 4}
/* turni: le tessere a sinistra e i coperti a destra, nella scheda larga */
.mx-turni{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);column-gap:22px;align-items:end}
.mx-turni .mx-k{grid-column:1/-1}
.mx-days{grid-column:1/-1;display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-bottom:14px}
.mx-days span{display:grid;justify-items:center;gap:1px;padding:8px 0 7px;border-radius:12px;font-size:11px;color:var(--muted)}
.mx-days b{font:600 18px/1.1 var(--display);color:var(--ink);letter-spacing:-.02em}
.mx-days small{font-size:10px;font-weight:600;color:var(--soft)}
.mx-days .full b{color:var(--soft)}
.mx-days .on{background:var(--race);color:rgba(255,255,255,.8)}
.mx-days .on b{color:#fff}
.mx-t h3{font-size:24px;line-height:1.12;margin:0 0 10px}
.mx-t p{margin:0;color:var(--muted);font-size:16px;line-height:1.5}
.mx-ui{margin-top:auto;border-radius:22px;background:#fff;padding:18px;box-shadow:0 20px 40px -26px rgba(0,0,40,.35),0 0 0 1px rgba(0,0,0,.04);font-size:14px;letter-spacing:-.01em}
.mx-k{margin:0 0 10px;font:600 11px/1 var(--text);letter-spacing:.06em;text-transform:uppercase;color:var(--soft)}
.mx-tiles{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.mx-tile{display:grid;gap:2px;padding:12px 13px;border-radius:14px;box-shadow:inset 0 0 0 1px #d2d2d7}
.mx-tile b{font:600 12px var(--text);color:var(--muted)}
.mx-tile em{font:600 22px/1.1 var(--display);font-style:normal;letter-spacing:-.03em;color:var(--ink)}
.mx-tile small{font-size:12px;color:var(--race);font-weight:600}
.mx-tile.on{box-shadow:inset 0 0 0 2px var(--race);background:var(--race-soft)}
.mx-tile.off{background:var(--tint);box-shadow:none}
.mx-tile.off em,.mx-tile.off small{color:var(--soft)}
.mx-bars{display:grid;gap:12px;align-self:center;padding-left:22px;border-left:1px solid var(--line)}
.mx-bars div{display:grid;grid-template-columns:62px 1fr 42px;align-items:center;gap:10px;font-size:12px;color:var(--muted)}
.mx-bars i{display:block;height:6px;border-radius:6px;background:var(--tint);overflow:hidden}
.mx-bars i i{width:var(--w);height:100%;background:var(--race)}
.mx-bars b{font-weight:600;color:var(--ink);text-align:right;font-variant-numeric:tabular-nums}
.mx-head{display:grid;gap:2px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.mx-head b{font:600 16px var(--display);letter-spacing:-.02em}
.mx-head em{font-style:normal;font-weight:600;color:var(--race);white-space:nowrap}
.mx-fisso ul{list-style:none;margin:0;padding:0}
.mx-fisso li{display:grid;grid-template-columns:1fr auto;column-gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}
.mx-fisso li:last-child{border-bottom:0;padding-bottom:0}
.mx-fisso li span{grid-column:1/-1;font-size:11px;color:var(--soft);text-transform:uppercase;letter-spacing:.05em}
.mx-fisso li b{font-weight:600}
.mx-fisso li small{align-self:center;font-size:12px;font-weight:600;color:var(--muted);background:var(--tint);border-radius:999px;padding:3px 9px}
.mx-fisso li small.go{color:#fff;background:var(--race)}
.mx-step{display:grid;grid-template-columns:40px 1fr 40px;align-items:center;margin:14px 0}
.mx-step span{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--tint);font:500 22px/1 var(--text);color:var(--ink)}
.mx-step b{display:grid;justify-items:center;font:600 24px/1.1 var(--display);letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.mx-step small{font:500 12px var(--text);color:var(--muted);letter-spacing:0}
.mx-btn{display:block;text-align:center;border-radius:999px;background:var(--race);color:#fff;font-weight:600;padding:11px 14px}
.mx-dish{display:grid;grid-template-columns:56px 1fr auto;align-items:center;gap:12px}
.mx-ph{display:block;width:56px;height:56px;border-radius:14px;background-size:cover;background-position:center}
.mx-dish b{display:block;font-weight:600}
.mx-dish span{display:flex;gap:8px;align-items:baseline;margin-top:2px}
.mx-dish s{color:var(--soft)}
.mx-dish em{font-style:normal;font-weight:700;color:var(--race)}
.mx-chip{display:inline-block;margin:14px 0 0;border-radius:999px;background:var(--race-soft);color:var(--race);font-weight:500;font-size:13px;padding:6px 12px}
.mx-chip b{font-weight:700}
.mx-add{border-radius:999px;background:var(--race);color:#fff;font-weight:600;font-size:13px;padding:8px 13px}
@media (max-width:1020px){
  .mx-grid{grid-template-columns:1fr 1fr;gap:16px}
  .mx-c,.mx-c.mx-wide{grid-column:span 1}
  .mx-c.mx-wide{grid-column:1/-1}
}
@media (max-width:680px){
  .mx-grid{grid-template-columns:1fr;margin-top:36px}
  .mx-c,.mx-c.mx-wide{grid-column:auto;padding:28px 22px 22px}
  .mx-turni{grid-template-columns:1fr}
  .mx-bars{padding:14px 0 0;margin-top:14px;border-left:0;border-top:1px solid var(--line)}
}

/* fondo pagina: la scritta RACE e la firma della designer */
.ft-brand{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-bottom:26px;margin-bottom:26px;border-bottom:1px solid #d2d2d7}
.ft-brand .wm{width:96px;height:29.5px;color:var(--race)}
.ft-brand p{margin:0;font:600 17px/1.3 var(--display);letter-spacing:-.02em;color:var(--ink)}
.pl-inc li::before{border-color:var(--race)}
/* 2.11 il titolo dell'apertura va a capo bene anche sul telefono («Il tuo locale, / al volo.») */
.hero2 h1,.h2{text-wrap:balance}
/* pagine per tipo di locale: icone a linea nel blu del marchio (prima erano emoji) */
.forx span{color:var(--race);background:var(--race-soft);box-shadow:none}
.forx span svg{width:26px;height:26px}
/* 2.11 (14/10) La Spiaggia per i lidi (site.html #spiaggia): mappa come nel gestionale (static/spiaggia.css), sei schede */
.bx .ca-tag span{background:var(--race-soft);color:var(--race)}
.bx{--c-lib:#34C759;--c-occ:#FF453A;--c-arr:#FF6FAE;--c-par:#8E8E93;--c-mat:#FFB800;--c-pom:#FF7A1A;--c-sta:#7D5CF0;--sand:#F3E3C3;--sand-2:#E9D3A8}
.bx-stage{margin-top:56px;border-radius:32px;background:var(--tint);padding:22px;display:grid;gap:18px}
.bx-bar{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.bx-day{display:inline-flex;align-items:center;gap:12px;background:#fff;border-radius:999px;padding:8px 14px;box-shadow:0 0 0 1px rgba(0,0,0,.05);font-size:14px}
.bx-day b{font:600 15px var(--display);letter-spacing:-.02em}
.bx-ar{font-style:normal;color:var(--soft);font-size:18px;line-height:1}
.bx-seg{display:inline-flex;gap:2px;padding:3px;border-radius:999px;background:rgba(0,0,0,.05);font-size:13px;color:var(--muted)}
.bx-seg>*{padding:6px 12px;border-radius:999px}
.bx-seg b{background:#fff;color:var(--ink);font-weight:600;box-shadow:0 1px 3px rgba(0,0,0,.08)}
.bx-kpi{display:flex;gap:22px;margin-left:auto}
.bx-kpi span{display:grid;gap:1px}
.bx-kpi small{font-size:11px;color:var(--soft)}
.bx-kpi b{font:600 17px/1.1 var(--display);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.bx-body{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px;align-items:stretch}
.bx-map{position:relative;border-radius:24px;overflow:hidden;background:var(--sand) radial-gradient(circle at 3px 4px,var(--sand-2) .9px,transparent 1.2px) 0 0/14px 14px;padding:0 18px 18px}
.bx-sea{position:relative;height:84px;margin:0 -18px 18px;padding:16px 20px;display:flex;align-items:flex-start;justify-content:space-between;background:linear-gradient(180deg,#1E7FC9 0%,#4FB3E8 70%,#8FD6F2 100%);color:#fff;font:700 12px var(--text);letter-spacing:.14em;text-transform:uppercase}
.bx-sea::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:22px;background:var(--sand);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 22' preserveAspectRatio='none'%3E%3Cpath d='M0 8 C100 -2 200 18 300 8 S500 -2 600 8 S800 18 900 8 S1100 -2 1200 8 V22 H0Z'/%3E%3C/svg%3E") 0 0/100% 100%;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 22' preserveAspectRatio='none'%3E%3Cpath d='M0 8 C100 -2 200 18 300 8 S500 -2 600 8 S800 18 900 8 S1100 -2 1200 8 V22 H0Z'/%3E%3C/svg%3E") 0 0/100% 100%;filter:drop-shadow(0 -3px 0 rgba(255,255,255,.85))}
.bx-flag{display:inline-flex;align-items:center;gap:7px;padding:5px 11px;border-radius:999px;background:rgba(255,255,255,.22);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);font:600 12px var(--text);letter-spacing:0;text-transform:none}
.bx-flag i{width:9px;height:9px;border-radius:50%;background:#34C759;box-shadow:0 0 0 2px rgba(255,255,255,.6)}
.bx-rows{display:grid;gap:9px}
.bx-row{display:grid;grid-template-columns:16px repeat(4,minmax(0,1fr)) 22px repeat(4,minmax(0,1fr));gap:7px;align-items:stretch}
.bx-rl{align-self:center;font:700 12px var(--text);color:#9A7A4A;text-align:center}
.bx-walk{border-radius:4px;background:repeating-linear-gradient(180deg,#C99A66 0 7px,#B98A58 7px 8px);margin:-5px 4px}
.bx-u{position:relative;display:grid;grid-template-rows:auto 1fr auto;min-height:84px;padding:6px 7px 6px;border-radius:12px;background:rgba(255,255,255,.92);box-shadow:0 1px 2px rgba(120,80,20,.12),0 0 0 1px rgba(120,80,20,.06);font-size:11px;line-height:1.15;--c:var(--c-lib)}
.bx-u em{font-style:normal;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bx-u i{display:block;justify-self:center;align-self:center;width:30px;height:28px;position:relative}
.bx-u i::before,.bx-u i::after,.bx-leg i::before,.bx-leg i::after,.bx-dot::before,.bx-dot::after{content:"";position:absolute;inset:0}
.bx-u i::before,.bx-leg i::before,.bx-dot::before{background:var(--c);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 30'%3E%3Cpath d='M4 15 A12 9.5 0 0 1 28 15 Z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 30'%3E%3Cpath d='M4 15 A12 9.5 0 0 1 28 15 Z'/%3E%3C/svg%3E") center/contain no-repeat}
.bx-u i::after,.bx-leg i::after,.bx-dot::after{background:#3A3A3C;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 30'%3E%3Cpath d='M16 15 V27 a2.2 2.2 0 0 1 -4.4 0' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 30'%3E%3Cpath d='M16 15 V27 a2.2 2.2 0 0 1 -4.4 0' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat}
.bx-u b{font:700 13px/1 var(--display);color:var(--ink);font-variant-numeric:tabular-nums}
.bx-u small{position:absolute;right:7px;bottom:7px;font-size:10px;color:var(--muted);font-variant-numeric:tabular-nums}
.bx-u.s-lib em{visibility:hidden}
.s-lib{--c:var(--c-lib)}.s-occ{--c:var(--c-occ)}.s-arr{--c:var(--c-arr)}.s-par{--c:var(--c-par)}.s-sta{--c:var(--c-sta)}
.s-mat{--c:linear-gradient(90deg,var(--c-mat) 50%,var(--c-lib) 50%)}.s-pom{--c:linear-gradient(90deg,var(--c-lib) 50%,var(--c-pom) 50%)}
.bx-u.sel{box-shadow:0 0 0 2.5px var(--race),0 10px 24px -10px rgba(0,0,246,.45);transform:translateY(-2px)}
.bx-svc{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:16px}
.bx-svc span{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:12px;background:rgba(255,255,255,.85);font:600 12px var(--text);color:#5A4426}
.bx-svc svg,.bx-warn svg,.bx-close svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.bx-card{display:flex;flex-direction:column;border-radius:24px;background:#fff;padding:22px;box-shadow:0 20px 40px -26px rgba(0,0,40,.35),0 0 0 1px rgba(0,0,0,.04)}
.bx-k{margin:0 0 6px;font:600 11px/1 var(--text);letter-spacing:.06em;text-transform:uppercase;color:var(--soft)}
.bx-card h3{margin:0;font:600 26px/1.1 var(--display);letter-spacing:-.03em}
.bx-who{display:flex;align-items:center;gap:8px;margin:6px 0 16px;color:var(--muted);font-size:14px}
.bx-dot{position:relative;display:inline-block;flex:none;width:22px;height:20px}
.bx-card dl{margin:0 0 18px;display:grid}
.bx-card dl div{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--line);font-size:14px}
.bx-card dt{color:var(--muted)}
.bx-card dd{margin:0;font-weight:600;text-align:right}
.bx-card dd.due{color:var(--race)}
.bx-acts{margin-top:auto;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.bx-acts span{display:grid;place-items:center;min-height:38px;padding:6px 8px;border-radius:12px;background:var(--tint);font-weight:600;font-size:13px;text-align:center}
.bx-acts .go{background:var(--race);color:#fff}
.bx-leg{display:flex;flex-wrap:wrap;gap:8px 20px;margin:0;padding:0 4px;list-style:none;font-size:13px;color:var(--muted)}
.bx-leg li{display:inline-flex;align-items:center;gap:7px}
.bx-leg i{position:relative;display:inline-block;width:20px;height:18px}
.bx-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:20px}
.bx-c{display:flex;flex-direction:column;gap:26px;border-radius:28px;background:var(--tint);padding:32px 30px 30px;overflow:hidden}
.bx-st{display:grid;grid-template-columns:1fr 32px 34px 32px;align-items:center;gap:6px;padding:8px 0;border-bottom:1px solid var(--line)}
.bx-st span{color:var(--muted)}
.bx-st i{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--tint);font:500 18px/1 var(--text);font-style:normal}
.bx-st b{text-align:center;font:600 18px var(--display);font-variant-numeric:tabular-nums}
.bx-mini{display:grid;grid-template-columns:repeat(4,1fr) 10px repeat(4,1fr);gap:5px;margin:14px 0}
.bx-mini i{height:16px;border-radius:5px;background:var(--race-soft);box-shadow:inset 0 0 0 1px rgba(0,0,246,.18)}
.bx-mini i:nth-child(8n+5){grid-column:6}
.bx-mini i.g{background:var(--race)}
.bx-tabs{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:2px;padding:3px;border-radius:12px;background:var(--tint);font-size:12px;color:var(--muted);text-align:center}
.bx-tabs>*{padding:7px 2px;border-radius:9px}
.bx-tabs b{background:#fff;color:var(--ink);font-weight:600;box-shadow:0 1px 3px rgba(0,0,0,.08)}
.bx-book ul,.bx-order ul{list-style:none;margin:10px 0 0;padding:0}
.bx-book li,.bx-order li{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid var(--line)}
.bx-book li span,.bx-order li span{color:var(--muted)}
.bx-book li b,.bx-order li b{font-weight:600;font-variant-numeric:tabular-nums}
.bx-order li.tot{border-bottom:0}
.bx-order li.tot span{color:var(--ink);font-weight:600}
.bx-order li.tot b{color:var(--race)}
.bx-warn{display:flex;align-items:center;gap:8px;margin:12px 0 0;padding:9px 12px;border-radius:12px;background:#FFF4E5;color:#B25E00;font-size:13px;font-weight:500}
.bx-order .mx-chip{margin-top:4px}
.bx-week,.bx-pdays{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.bx-week span,.bx-pdays span{display:grid;justify-items:center;gap:1px;padding:7px 0;border-radius:11px;font-size:10px;color:var(--muted)}
.bx-week b,.bx-pdays b{font:600 16px/1.1 var(--display);color:var(--ink)}
.bx-week .off{background:var(--race-soft);color:var(--race);box-shadow:inset 0 0 0 1.5px var(--race)}
.bx-week .off b{color:var(--race);text-decoration:line-through;text-decoration-thickness:1.5px}
.bx-note{margin:14px 0 0;font-size:13px;line-height:1.5;color:var(--muted)}
.bx-note b{color:var(--ink);font-weight:600}
.bx-pdays{grid-template-columns:repeat(4,1fr);margin-bottom:10px}
.bx-pdays .on{background:var(--race);color:rgba(255,255,255,.8)}
.bx-pdays .on b{color:#fff}
.bx-pmap{display:grid;grid-template-columns:repeat(3,1fr) 8px repeat(3,1fr);gap:5px;margin:12px 0 14px;padding:10px;border-radius:14px;background:var(--sand)}
.bx-pmap i{display:grid;place-items:center;height:26px;border-radius:7px;background:#fff;font:600 11px var(--text);font-style:normal;color:var(--ink)}
.bx-pmap i:nth-child(6n+4){grid-column:5}
.bx-pmap i.t{background:rgba(0,0,0,.06);color:rgba(0,0,0,.25)}
.bx-pmap i.me{background:var(--race);color:#fff}
.bx-flags{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;padding:3px;border-radius:12px;background:var(--tint);font-size:12px;color:var(--muted)}
.bx-flags>*{display:flex;align-items:center;justify-content:center;gap:5px;padding:8px 2px;border-radius:9px}
.bx-flags b{background:#fff;color:var(--ink);font-weight:600;box-shadow:0 1px 3px rgba(0,0,0,.08)}
.bx-flags i{width:8px;height:8px;border-radius:50%}
.bx-flags .g{background:#34C759}.bx-flags .y{background:#FFCC00}.bx-flags .r{background:#FF3B30}
.bx-close{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:14px;padding:11px 14px;border-radius:999px;box-shadow:inset 0 0 0 1px #d2d2d7;font-weight:600}
@media (max-width:1020px){
  .bx-body{grid-template-columns:1fr}
  .bx-card{display:grid;grid-template-columns:1fr 1fr;column-gap:24px}
  .bx-card>.bx-k,.bx-card>h3,.bx-card>.bx-who{grid-column:1}
  .bx-card dl{grid-column:2;grid-row:1/span 4;margin:0}
  .bx-acts{grid-column:1;align-self:end}
  .bx-grid{grid-template-columns:1fr 1fr;gap:16px}
  .bx-kpi{margin-left:0}
}
@media (max-width:680px){
  .bx-stage{margin-top:36px;padding:12px;border-radius:26px;gap:14px}
  .bx-seg{display:none}
  .bx-bar{justify-content:space-between}
  .bx-kpi{gap:14px}
  .bx-kpi span:last-child{display:none}
  .bx-map{padding:0 10px 12px;border-radius:18px}
  .bx-sea{height:70px;margin:0 -10px 14px;padding:13px 14px}
  .bx-row{grid-template-columns:12px repeat(3,minmax(0,1fr)) 14px repeat(3,minmax(0,1fr));gap:5px}
  .bx-u.x,.bx-svc .x{display:none}
  .bx-u{min-height:58px;padding:6px 6px 5px;border-radius:10px;grid-template-rows:1fr auto}
  .bx-u em,.bx-u small{display:none}
  .bx-u i{width:26px;height:24px}
  .bx-walk{margin:-4px 2px}
  .bx-card{display:flex;padding:18px}
  .bx-acts{align-self:stretch}
  .bx-card dl{margin:0 0 16px}
  .bx-grid{grid-template-columns:1fr;margin-top:16px}
  .bx-c{padding:28px 22px 22px}
  .bx-leg{gap:6px 14px;font-size:12px}
}
/* 2.11 (14/10) pagina dei lidi: la mappa si tocca (race.js «bx»), viste, funzioni, regole, telefoni del cliente; fascia sulla home */
.bx-hero{margin-top:46px;text-align:left}
.bx-hint{margin:14px 0 0;text-align:center;font-size:14px;color:var(--soft)}
.bx-seg button{border:0;background:none;font:inherit;color:inherit;padding:6px 12px;border-radius:999px;cursor:pointer}
.bx-seg button[aria-pressed="true"]{background:#fff;color:var(--ink);font-weight:600;box-shadow:0 1px 3px rgba(0,0,0,.08)}
.bx-seg button:focus-visible,.bx-u:focus-visible{outline:2px solid var(--race);outline-offset:2px}
button.bx-u{border:0;font:inherit;font-size:11px;text-align:left;color:inherit;cursor:pointer;transition:transform .18s cubic-bezier(.2,.8,.2,1),box-shadow .18s}
button.bx-u:hover{transform:translateY(-2px)}
.bx-u .a{display:none}
.v-numeri .bx-u{grid-template-rows:1fr auto}
.v-numeri .bx-u em,.v-numeri .bx-u small{display:none}
.v-numeri .bx-u i{width:36px;height:34px}
.v-numeri .bx-u b{justify-self:center;font-size:15px}
.v-date .bx-u i{width:22px;height:20px}
.v-date .bx-u .d{position:static;justify-self:end;margin-top:-14px;font-weight:700;color:var(--ink);font-size:11px}
.v-allestimenti .bx-u .d{display:none}
.v-allestimenti .bx-u .a{display:block;position:absolute;right:7px;bottom:7px;font-weight:700;color:var(--ink);font-size:11px}
.bx-card dd.go{color:#248A3D}
.bx-list table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
.bx-list th{font:600 11px var(--text);letter-spacing:.05em;text-transform:uppercase;color:var(--soft);text-align:right;padding:0 0 8px}
.bx-list td{padding:9px 0;border-top:1px solid var(--line);text-align:right;font-weight:600}
.bx-list td:first-child{text-align:left;font-weight:400;color:var(--muted)}
.bx-chips{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 0}
.bx-chips span{border-radius:999px;background:var(--race-soft);color:var(--race);font-size:12px;font-weight:600;padding:5px 10px}
.bx-land{position:relative;display:grid;margin:14px auto 0;width:100%;max-width:300px;aspect-ratio:2.05;border-radius:22px;padding:9px;background:#1D1D1F;box-shadow:0 14px 30px -18px rgba(0,0,0,.5)}
.bx-land::before{content:"";position:absolute;left:4px;top:50%;width:4px;height:34px;margin-top:-17px;border-radius:4px;background:#000}
.bx-land-sea{position:absolute;left:9px;right:9px;top:9px;height:26%;border-radius:14px 14px 0 0;background:linear-gradient(180deg,#1E7FC9,#8FD6F2)}
.bx-land-g{align-self:end;display:grid;grid-template-columns:repeat(4,1fr) 6px repeat(4,1fr);gap:4px;padding:30% 10px 8px;border-radius:14px;background:var(--sand)}
.bx-land-g i{position:relative;height:17px;border-radius:5px;background:#fff}
.bx-land-g i:nth-of-type(8n+5){grid-column:6}
.bx-land-g i::before{content:"";position:absolute;inset:2px 3px;background:var(--c);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 30'%3E%3Cpath d='M4 15 A12 9.5 0 0 1 28 15 Z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 30'%3E%3Cpath d='M4 15 A12 9.5 0 0 1 28 15 Z'/%3E%3C/svg%3E") center/contain no-repeat}
.bx-cap{display:flex;align-items:center;justify-content:center;gap:8px;margin:12px 0 0;font-size:13px;color:var(--muted)}
.bx-cap svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.bx-qrt{display:grid;grid-template-columns:96px 1fr;gap:16px;align-items:center}
.bx-qrc{width:96px;height:96px;padding:6px;border-radius:14px;background:#fff;box-shadow:inset 0 0 0 1px #d2d2d7;fill:var(--ink)}
.bx-qrt b{display:block;font:600 20px/1.1 var(--display);letter-spacing:-.02em}
.bx-qrt small{display:block;margin-top:4px;color:var(--muted);font-size:13px}
.bx-qr .bx-close{margin-top:16px}
.bx-pmap i:nth-child(6n+4){grid-column:auto}
.bx-pmap i:nth-of-type(6n+4){grid-column:5}
.bx-psea{grid-column:1/-1;margin:-10px -10px 4px;padding:8px 10px;border-radius:14px 14px 0 0;background:linear-gradient(180deg,#1E7FC9,#6EC4EE);color:#fff;font:700 10px var(--text);letter-spacing:.14em;text-transform:uppercase}
.bx-rules{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:56px;align-items:center}
.bx-rules .h2{text-align:left}
.bx-rules .lead{text-align:left;margin-left:0}
.bx-set{border-radius:32px;background:var(--tint);padding:26px 24px}
.bx-gh{margin:18px 0 8px 14px;font:600 12px var(--text);letter-spacing:.05em;text-transform:uppercase;color:var(--soft)}
.bx-gh:first-child{margin-top:0}
.bx-grp{border-radius:18px;background:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.04)}
.bx-sr{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 16px;border-top:1px solid var(--line);font-size:15px}
.bx-sr:first-child{border-top:0}
.bx-sr b{font-weight:600}
.bx-sr small{display:block;margin-top:2px;color:var(--muted);font-size:13px;line-height:1.35}
.bx-sr em{font-style:normal;font-weight:600;color:var(--race);font-variant-numeric:tabular-nums}
.bx-sr.col{flex-direction:column;align-items:stretch;gap:10px}
.bx-tg{flex:none;position:relative;width:46px;height:28px;border-radius:999px;background:#E5E5EA}
.bx-tg::after{content:"";position:absolute;left:2px;top:2px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 2px 4px rgba(0,0,0,.2)}
.bx-tg.on{background:var(--race)}
.bx-tg.on::after{left:20px}
.bx-sw{display:flex;gap:6px}
.bx-sw i{position:relative;width:22px;height:22px;border-radius:50%;background:var(--c);box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}
.bx-phones{display:flex;justify-content:center;align-items:flex-start;gap:56px;margin-top:56px;flex-wrap:wrap}
.bx-phones figure{margin:0;display:grid;justify-items:center;align-content:start;gap:18px}
.bx-phones figcaption{font-size:15px;color:var(--muted);text-align:center;max-width:300px}
.bx-ph{width:300px;padding:11px;border-radius:50px;background:#1D1D1F;box-shadow:0 40px 70px -40px rgba(0,0,40,.55),inset 0 0 0 1.5px #3a3a3c}
.bx-scr{position:relative;display:flex;flex-direction:column;gap:12px;height:600px;overflow:hidden;border-radius:40px;background:#F2F2F7;padding:46px 16px 16px}
.bx-scr::before{content:"";position:absolute;left:50%;top:11px;width:92px;height:26px;margin-left:-46px;border-radius:999px;background:#000}
.bx-pill{align-self:flex-start;margin:0;border-radius:999px;background:#fff;padding:5px 11px;font-weight:600;font-size:12px}
.bx-pt{margin:0;font:700 24px/1.1 var(--display);letter-spacing:-.03em}
.bx-scr .bx-pdays{margin:0}
.bx-scr .bx-pdays span{background:#fff}
.bx-scr .bx-pdays .on{background:var(--race)}
.bx-scr .bx-tabs{background:rgba(0,0,0,.06)}
.bx-scr .bx-pmap{margin:0;padding-top:10px;overflow:hidden}
.bx-plg{display:flex;gap:12px;margin:0;font-size:11px;color:var(--muted)}
.bx-plg span{display:inline-flex;align-items:center;gap:5px}
.bx-plg i{width:11px;height:11px;border-radius:3px;background:#fff;box-shadow:inset 0 0 0 1px rgba(0,0,0,.12)}
.bx-plg i.t{background:#E6DCC8;box-shadow:none}
.bx-plg i.me{background:var(--race);box-shadow:none}
.bx-sheet{display:grid;gap:4px;margin-top:auto;border-radius:20px;background:#fff;padding:14px;box-shadow:0 -10px 30px -18px rgba(0,0,40,.35)}
.bx-sheet b{font:600 16px var(--display);letter-spacing:-.02em}
.bx-sheet small{color:var(--muted);font-size:12px}
.bx-sheet .mx-btn{margin-top:8px;font-size:14px}
.bx-mine{display:flex;align-items:center;gap:12px;border-radius:18px;background:#fff;padding:14px}
.bx-mine .bx-dot{width:30px;height:28px}
.bx-mine b{display:block;font-weight:600}
.bx-mine small{display:block;margin-top:2px;color:var(--muted);font-size:12px;line-height:1.35}
.bx-flagc{display:flex;align-items:center;gap:8px;margin:0;border-radius:14px;background:#E9F8EE;color:#1E7A3C;padding:9px 12px;font-size:13px;font-weight:600}
.bx-flagc i{width:9px;height:9px;border-radius:50%;background:#34C759}
.bx-box{border-radius:18px;background:#fff;padding:14px}
.bx-box .bx-note{margin-top:10px;font-size:12px}
.bx-box .bx-week span{padding:6px 0}
.bx-cred{display:grid;gap:4px}
.bx-cred b{font:700 26px/1.1 var(--display);letter-spacing:-.03em;color:var(--race)}
.bx-cred .mx-k{margin-bottom:4px}
.bx-cred small{color:var(--muted);font-size:12px}
.bx-wk{margin:0 0 18px}
.bx-wk div{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}
.bx-wk i{display:grid;place-items:center;height:30px;border-radius:9px;background:var(--tint);font:600 12px var(--text);font-style:normal;color:var(--soft);transition:background .2s}
.bx-wk i.on{background:var(--c);color:#fff}
.bx-wk i.t{box-shadow:0 0 0 2px #fff,0 0 0 3.5px var(--ink)}
.bx-pnote{margin:18px auto 0;max-width:640px;text-align:center;font-weight:500;color:var(--ink)}
.bxb-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:40px;align-items:center;border-radius:32px;background:var(--tint);padding:48px 48px 48px 56px;color:inherit;text-decoration:none;transition:transform .3s cubic-bezier(.2,.8,.2,1)}
.bxb-card:hover{transform:translateY(-3px)}
.bxb-t .ca-tag{justify-content:flex-start}
.bxb-t .h2{text-align:left;margin:0}
.bxb-t .lead{text-align:left;margin:14px 0 0;max-width:460px}
.bxb-link{display:inline-block;margin-top:22px;color:var(--race);font-size:17px;font-weight:500}
.bxb-card:hover .bxb-link{text-decoration:underline}
.bxb-map{padding-bottom:16px;box-shadow:0 30px 60px -36px rgba(0,0,40,.45)}
.bxb-map .bx-sea{height:70px}
.bxb-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) 18px repeat(3,minmax(0,1fr));gap:8px}
.bxb-map .bx-rows{gap:8px}
.bxb-map .bx-u{min-height:52px;grid-template-rows:1fr;place-items:center;padding:0}
.bxb-map .bx-u i{width:30px;height:28px}
.bxb-map .bx-walk{margin:-4px 4px}
@media (max-width:1020px){
  .bx-rules{grid-template-columns:1fr;gap:30px}
  .bx-rules .h2,.bx-rules .lead{text-align:center;margin-left:auto;margin-right:auto}
  .bxb-card{grid-template-columns:1fr;padding:40px 36px}
  .bx-phones{gap:32px}
}
@media (max-width:680px){
  .bx-hero{margin-top:34px}
  .v-numeri .bx-u i,.v-date .bx-u i{width:26px;height:24px}
  .bx-u .a,.v-allestimenti .bx-u .a,.v-date .bx-u .d{display:none}
  .bx-set{padding:18px 14px;border-radius:26px}
  .bx-sr{padding:12px 14px;font-size:14px}
  .bx-phones{margin-top:36px;gap:40px}
  .bxb-card{padding:30px 20px 20px;border-radius:26px;gap:26px}
  .bxb-row{gap:6px;grid-template-columns:repeat(3,minmax(0,1fr)) 14px repeat(3,minmax(0,1fr))}
  .bxb-map{padding:0 10px 12px}
}
@media (max-width:360px){.bx-ph{width:280px}.bx-scr{height:570px}}
/* 2.12 (14/10) RACE Menu sul sito: link in alto, fascia sulla home, riga nei prezzi, pagina /per/menu (rmx), modulo */
.rmx-hl{margin:18px 0 0;font-size:15px}
.rmx-hl a{max-width:100%;text-align:left;display:inline-flex;align-items:center;gap:9px;color:var(--ink);text-decoration:none;padding:6px 14px 6px 6px;border-radius:999px;background:var(--tint);transition:background .2s}
.rmx-hl a:hover{background:#ECECF1}
.rmx-hl span{flex:none;white-space:nowrap;padding:3px 9px;border-radius:999px;background:var(--race);color:#fff;font:600 11.5px var(--text);letter-spacing:.02em}
.rmx-chip{display:inline-block;margin:0 0 22px;padding:7px 14px;border-radius:999px;background:var(--race-soft);color:var(--race);font-size:14px;font-weight:500}
.rmx-chip b{font-weight:700}
.rmx-pill{display:inline-flex;align-items:center;height:24px;padding:0 9px;border-radius:999px;font:600 11.5px var(--text);white-space:nowrap;background:var(--tint);color:var(--muted)}
.rmx-pill.o{background:#FFF1E0;color:#C25E00}.rmx-pill.b{background:var(--race-soft);color:var(--race)}.rmx-pill.v{background:#E6F6EC;color:#1E7A3C}
.rmx-bill{font-size:14px}
.rmx-bh{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:10px;margin-bottom:8px;border-bottom:1px solid var(--line)}
.rmx-bh b{font:600 17px var(--display);letter-spacing:-.02em}
.rmx-vr{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:7px 0;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums}
.rmx-vr span{color:var(--ink)}.rmx-vr small{margin-left:6px;color:var(--soft);font-size:11.5px}
.rmx-vr b{font-weight:600}
.rmx-vr.t{border-bottom:0;padding-top:10px}.rmx-vr.t span{font-weight:600}.rmx-vr.t b{font:700 18px var(--display);color:var(--race)}
.rmx-paid{display:flex;align-items:center;gap:6px;margin:2px 0 12px;font-size:12.5px;color:#1E7A3C}
.rmx-paid svg,.rmx-btn svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.rmx-btn{display:flex;align-items:center;justify-content:center;gap:7px;border-radius:999px;background:var(--race);color:#fff;font-weight:600;padding:11px 14px}
.rmx-seg{display:grid;grid-template-columns:1fr 1fr;gap:2px;padding:3px;margin-bottom:10px;border-radius:12px;background:var(--tint);font-size:12.5px;color:var(--muted);text-align:center}
.rmx-seg>*{padding:7px 4px;border-radius:9px}.rmx-seg b{background:#fff;color:var(--ink);font-weight:600;box-shadow:0 1px 3px rgba(0,0,0,.08)}
.rmx-seg em{font-style:normal;margin-left:4px;padding:1px 6px;border-radius:999px;background:var(--race-soft);color:var(--race);font-size:11px;font-weight:700}
.rmx-tr{display:grid;grid-template-columns:34px minmax(0,1fr) auto 62px;align-items:center;gap:12px;padding:10px 8px;border-radius:14px;font-size:14px}
.rmx-tr+.rmx-tr{border-top:1px solid var(--line)}
.rmx-tr.on{background:var(--race-soft);border-top-color:transparent}
.rmx-tr.on+.rmx-tr{border-top-color:transparent}
.rmx-tn{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:var(--tint);font:700 14px var(--display)}
.rmx-tr.on .rmx-tn{background:var(--race);color:#fff}
.rmx-tr b{font-weight:600}.rmx-tr small{display:block;color:var(--soft);font-size:12px}
.rmx-amt{text-align:right;font-variant-numeric:tabular-nums}
.rmx-order .mx-dish{padding:6px 0}
.rmx-order .mx-dish+.mx-dish{border-top:1px solid var(--line)}
.rmx-order .mx-btn{margin-top:12px}
.rmx-order .mx-add{display:grid;place-items:center;width:32px;height:32px;padding:0;font-size:18px}
.rmx-qty{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--race-soft);color:var(--race);font-weight:700}
.rmx-big{display:block;margin:2px 0 12px;font:700 40px/1 var(--display);letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.rmx-ways{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.rmx-ways span{padding:6px 11px;border-radius:999px;box-shadow:inset 0 0 0 1px #d2d2d7;font-size:12.5px;font-weight:600}
.rmx-paper{position:relative;display:grid;gap:4px;margin:0 auto 12px;max-width:220px;padding:14px 16px 18px;background:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.06),0 10px 20px -14px rgba(0,0,40,.35);font:500 12.5px/1.35 ui-monospace,SFMono-Regular,Menlo,monospace;color:#333;
  -webkit-mask:linear-gradient(#000 0 0) top/100% calc(100% - 6px) no-repeat,radial-gradient(circle at 5px 0,transparent 4px,#000 4.5px) bottom/10px 6px repeat-x;mask:linear-gradient(#000 0 0) top/100% calc(100% - 6px) no-repeat,radial-gradient(circle at 5px 0,transparent 4px,#000 4.5px) bottom/10px 6px repeat-x}
.rmx-paper>b{text-align:center;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.rmx-paper>span:not(.r){text-align:center;color:#777}
.rmx-paper i{display:block;border-top:1px dashed #bbb;margin:4px 0}
.rmx-paper .r{display:flex;justify-content:space-between}.rmx-paper .r.t{font-weight:700}
.rmx-rcpt .mx-chip{display:block;text-align:center;margin:0}
/* cresce con te */
.rmx-steps{display:grid;grid-template-columns:1fr 40px 1fr 40px 1fr;align-items:stretch;gap:8px;margin-top:56px}
.rmx-st{position:relative;display:grid;align-content:start;gap:6px;padding:28px 26px;border-radius:28px;background:var(--tint)}
.rmx-st b{font:700 24px var(--display);letter-spacing:-.03em}
.rmx-st em{font:600 30px/1.05 var(--display);font-style:normal;letter-spacing:-.03em;color:var(--ink)}
.rmx-st em small{font:500 14px var(--text);color:var(--muted);letter-spacing:0}
.rmx-st p{margin:4px 0 0;color:var(--muted);font-size:15px;line-height:1.45}
.rmx-st.on{background:#fff;box-shadow:inset 0 0 0 2px var(--race),0 24px 50px -30px rgba(0,0,246,.45)}
.rmx-st.on em{color:var(--race)}
.rmx-here{position:absolute;top:-12px;left:24px;padding:4px 11px;border-radius:999px;background:var(--race);color:#fff;font:600 12px var(--text)}
.rmx-arr{display:grid;place-items:center;color:var(--soft)}
.rmx-arr svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
/* prezzi: la scheda sola di RACE Menu e la riga sotto i piani */
.pl-grid.rmx-one{grid-template-columns:minmax(0,520px);justify-content:center}
.rmx-more{margin:22px 0 0;text-align:center;color:var(--muted);font-size:15px}
.rmx-more a{color:var(--race);text-decoration:none;font-weight:500}
.rmp{display:grid;grid-template-columns:56px minmax(0,1fr) auto;align-items:center;gap:20px;margin-top:20px;padding:22px 26px;border-radius:24px;background:var(--tint);color:inherit;text-decoration:none;transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s}
.rmp:hover{transform:translateY(-2px);box-shadow:0 18px 40px -28px rgba(0,0,40,.35)}
.rmp-ic{display:grid;place-items:center;width:56px;height:56px;border-radius:16px;background:#fff;color:var(--race);box-shadow:0 0 0 1px rgba(0,0,0,.04)}
.rmp-ic svg{width:28px;height:28px}
.rmp-t{display:grid;gap:2px;min-width:0}
.rmp-t small{font:700 11.5px var(--text);letter-spacing:.06em;text-transform:uppercase;color:var(--race)}
.rmp-t b{font:600 19px var(--display);letter-spacing:-.02em}
.rmp-t>span{color:var(--muted);font-size:15px;line-height:1.4}
.rmp-p{display:grid;justify-items:end;gap:1px;text-align:right}
.rmp-p b{font:700 28px/1 var(--display);letter-spacing:-.03em}
.rmp-p small{color:var(--muted);font-size:12.5px}
.rmp-p em{margin-top:6px;font-style:normal;color:var(--race);font-weight:500;font-size:14.5px}
/* fascia sulla home */
.rmxb-card{position:relative;overflow:hidden;isolation:isolate;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:center;border-radius:32px;padding:52px 52px 52px 60px;color:#fff;text-decoration:none;
  background:radial-gradient(120% 90% at 85% 10%,rgba(0,0,246,.75),rgba(0,0,246,0) 60%),radial-gradient(80% 80% at 0% 100%,rgba(0,0,246,.35),rgba(0,0,246,0) 60%),#07071A;transition:transform .3s cubic-bezier(.2,.8,.2,1)}
.rmxb-card:hover{transform:translateY(-3px)}
.rmxb-tag{margin:0 0 14px}
.rmxb-tag span{display:inline-flex;align-items:center;gap:8px;padding:6px 14px 6px 12px;border-radius:999px;background:rgba(255,255,255,.12);color:#fff;font:600 13px var(--text);letter-spacing:.02em}
.rmxb-tag span::before{content:"";width:8px;height:8px;border-radius:50%;background:#6B7BFF;box-shadow:0 0 0 3px rgba(107,123,255,.25)}
.rmxb-t .h2{color:#fff;text-align:left;margin:0}
.rmxb-t .lead{color:rgba(255,255,255,.72);text-align:left;margin:14px 0 0;max-width:470px}
.rmxb-price{margin:18px 0 0;color:rgba(255,255,255,.7);font-size:15px}
.rmxb-price b{color:#fff;font:700 22px var(--display);letter-spacing:-.02em;margin-right:4px}
.rmxb-link{display:inline-block;margin-top:16px;color:#9AA6FF;font-size:17px;font-weight:500}
.rmxb-card:hover .rmxb-link{text-decoration:underline}
.rmxb-v{position:relative;display:grid;justify-items:end;min-height:340px;color:var(--ink)}
.rmxb-tent{position:absolute;left:0;top:10px;z-index:1;display:grid;justify-items:center;gap:4px;width:170px;padding:18px 16px 16px;border-radius:22px;background:#fff;box-shadow:0 30px 60px -30px rgba(0,0,0,.6);transform:rotate(-6deg)}
.rmxb-qr{display:grid;place-items:center;width:110px;height:110px;margin-bottom:6px;border-radius:16px;background:var(--race-soft);color:var(--race)}
.rmxb-qr svg{width:72px;height:72px;stroke-width:1.5}
.rmxb-tent b{font:700 18px var(--display);letter-spacing:-.02em}
.rmxb-tent small{color:var(--muted);font-size:12.5px}
.rmxb-v .rmx-bill{position:relative;z-index:2;width:min(290px,100%);margin-top:96px;padding:18px;border-radius:22px;background:#fff;box-shadow:0 40px 80px -36px rgba(0,0,0,.7);transform:rotate(3deg)}
/* modulo: la terza scelta su tutta la riga */
.f-plan label:nth-of-type(3){grid-column:1/-1}
@media (max-width:1020px){
  .rmx-steps{grid-template-columns:1fr;gap:10px}
  .rmx-arr{transform:rotate(90deg);height:28px}
  .rmxb-card{grid-template-columns:1fr;padding:44px 36px}
  .rmxb-v{min-height:300px;justify-items:center}
  .rmxb-tent{left:8%}
}
@media (max-width:680px){
  .rmx-tr{grid-template-columns:30px minmax(0,1fr) auto;gap:10px}
  .rmx-tr .rmx-amt{display:none}
  .rmx-tn{width:30px;height:30px}
  .rmp{grid-template-columns:48px minmax(0,1fr);padding:20px}
  .rmp-ic{width:48px;height:48px}
  .rmp-p{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;text-align:left}
  .rmp-p em{flex-basis:100%;margin-top:2px}
  .rmxb-card{padding:34px 22px 24px;border-radius:26px;gap:18px}
  .rmxb-v{min-height:330px;justify-items:end}
  .rmxb-tent{width:128px;left:0;top:0;padding:14px 12px 12px}.rmxb-qr{width:84px;height:84px}.rmxb-qr svg{width:54px;height:54px}.rmxb-tent b{font-size:15px}
  .rmxb-v .rmx-bill{width:76%;margin-top:118px;padding:14px;font-size:12.5px}
  .rmx-hl{font-size:14px}
}
/* 2.12 (14/10) home col menu davanti: tre schede dei prezzi in fila */
.pl-grid.pl-3{grid-template-columns:repeat(3,minmax(0,1fr));max-width:1120px}
@media (max-width:1020px){.pl-grid.pl-3{grid-template-columns:1fr;max-width:560px;margin-left:auto;margin-right:auto}}

/* ======================== foto ======================== */
.i-ph_tavola{background-image:url(/static/site/nuovo/foto/apertura-tavola.webp?v=2)}
.i-ph_carbonara{background-image:url(/static/site/nuovo/foto/apertura-carbonara.webp?v=2)}
.i-ph_ravioli{background-image:url(/static/site/nuovo/foto/apertura-ravioli.webp?v=2)}
.i-ph_margherita{background-image:url(/static/site/nuovo/foto/apertura-margherita.webp?v=2)}
.i-ph_teglia{background-image:url(/static/site/nuovo/foto/apertura-teglia.webp?v=2)}
.i-ph_patatine{background-image:url(/static/site/nuovo/foto/apertura-patatine.webp?v=2)}
.i-ph_granola{background-image:url(/static/site/nuovo/foto/apertura-granola.webp?v=2)}
.i-ph_chef1{background-image:url(/static/site/nuovo/foto/apertura-chef1.webp?v=2)}
.i-ph_chef2{background-image:url(/static/site/nuovo/foto/apertura-chef2.webp?v=2)}
.i-ph_chef3{background-image:url(/static/site/nuovo/foto/apertura-chef3.webp?v=2)}
.i-l_pizzeria{background-image:url(/static/site/nuovo/foto/logo-pizzeria.webp?v=2)}
.i-stc_pizzeria{background-image:url(/static/site/nuovo/foto/copertina-pizzeria.webp?v=2)}
.i-q_pizzeria{background-image:url(/static/site/nuovo/foto/qr-pizzeria.webp?v=2)}
.i-l_ristorante{background-image:url(/static/site/nuovo/foto/logo-ristorante.webp?v=2)}
.i-stc_ristorante{background-image:url(/static/site/nuovo/foto/copertina-ristorante.webp?v=2)}
.i-q_ristorante{background-image:url(/static/site/nuovo/foto/qr-ristorante.webp?v=2)}
.i-l_trattoria{background-image:url(/static/site/nuovo/foto/logo-trattoria.webp?v=2)}
.i-stc_trattoria{background-image:url(/static/site/nuovo/foto/copertina-trattoria.webp?v=2)}
.i-q_trattoria{background-image:url(/static/site/nuovo/foto/qr-trattoria.webp?v=2)}
.i-l_braceria{background-image:url(/static/site/nuovo/foto/logo-braceria.webp?v=2)}
.i-stc_braceria{background-image:url(/static/site/nuovo/foto/copertina-braceria.webp?v=2)}
.i-q_braceria{background-image:url(/static/site/nuovo/foto/qr-braceria.webp?v=2)}
.i-l_pub{background-image:url(/static/site/nuovo/foto/logo-pub.webp?v=2)}
.i-stc_pub{background-image:url(/static/site/nuovo/foto/copertina-pub.webp?v=2)}
.i-q_pub{background-image:url(/static/site/nuovo/foto/qr-pub.webp?v=2)}
.i-l_bar{background-image:url(/static/site/nuovo/foto/logo-bar.webp?v=2)}
.i-stc_bar{background-image:url(/static/site/nuovo/foto/copertina-bar.webp?v=2)}
.i-q_bar{background-image:url(/static/site/nuovo/foto/qr-bar.webp?v=2)}
.i-l_pasticceria{background-image:url(/static/site/nuovo/foto/logo-pasticceria.webp?v=2)}
.i-stc_pasticceria{background-image:url(/static/site/nuovo/foto/copertina-pasticceria.webp?v=2)}
.i-q_pasticceria{background-image:url(/static/site/nuovo/foto/qr-pasticceria.webp?v=2)}
.i-l_gelateria{background-image:url(/static/site/nuovo/foto/logo-gelateria.webp?v=2)}
.i-stc_gelateria{background-image:url(/static/site/nuovo/foto/copertina-gelateria.webp?v=2)}
.i-q_gelateria{background-image:url(/static/site/nuovo/foto/qr-gelateria.webp?v=2)}
.i-l_sushi{background-image:url(/static/site/nuovo/foto/logo-sushi.webp?v=2)}
.i-stc_sushi{background-image:url(/static/site/nuovo/foto/copertina-sushi.webp?v=2)}
.i-q_sushi{background-image:url(/static/site/nuovo/foto/qr-sushi.webp?v=2)}
.i-l_kebab{background-image:url(/static/site/nuovo/foto/logo-kebab.webp?v=2)}
.i-stc_kebab{background-image:url(/static/site/nuovo/foto/copertina-kebab.webp?v=2)}
.i-q_kebab{background-image:url(/static/site/nuovo/foto/qr-kebab.webp?v=2)}
.i-l_lido{background-image:url(/static/site/nuovo/foto/logo-lido.webp?v=2)}
.i-stc_lido{background-image:url(/static/site/nuovo/foto/copertina-lido.webp?v=2)}
.i-q_lido{background-image:url(/static/site/nuovo/foto/qr-lido.webp?v=3)}
.i-mp_agnello-al-forno-con-patate-debdd234{background-image:url(/static/site/nuovo/foto/piatto-agnello-al-forno-con-patate-debdd234.webp?v=2)}
.i-mp_arrosticini-10-pz-de46fcc9{background-image:url(/static/site/nuovo/foto/piatto-arrosticini-10-pz-de46fcc9.webp?v=2)}
.i-mp_ayran-36554859{background-image:url(/static/site/nuovo/foto/piatto-ayran-36554859.webp?v=2)}
.i-mp_bacon-burger-c6690f99{background-image:url(/static/site/nuovo/foto/piatto-bacon-burger-c6690f99.webp?v=2)}
.i-mp_birra-33-cl-d5018503{background-image:url(/static/site/nuovo/foto/piatto-birra-33-cl-d5018503.webp?v=2)}
.i-mp_birra-alla-spina-0-4-75ef714d{background-image:url(/static/site/nuovo/foto/piatto-birra-alla-spina-0-4-75ef714d.webp?v=2)}
.i-mp_branzino-in-crosta-di-sale-39d7827b{background-image:url(/static/site/nuovo/foto/piatto-branzino-in-crosta-di-sale-39d7827b.webp?v=2)}
.i-mp_brasciole-al-sugo-80437d2c{background-image:url(/static/site/nuovo/foto/piatto-brasciole-al-sugo-80437d2c.webp?v=2)}
.i-mp_bufala-e-crudo-7ddeba27{background-image:url(/static/site/nuovo/foto/piatto-bufala-e-crudo-7ddeba27.webp?v=2)}
.i-mp_caffe-a164c9c7{background-image:url(/static/site/nuovo/foto/piatto-caffe-a164c9c7.webp?v=2)}
.i-mp_caffe-leccese-50391363{background-image:url(/static/site/nuovo/foto/piatto-caffe-leccese-50391363.webp?v=2)}
.i-mp_caffe-shakerato-9ca73ca9{background-image:url(/static/site/nuovo/foto/piatto-caffe-shakerato-9ca73ca9.webp?v=2)}
.i-mp_cannolo-siciliano-5cbd5048{background-image:url(/static/site/nuovo/foto/piatto-cannolo-siciliano-5cbd5048.webp?v=2)}
.i-mp_cappuccino-fe5c4911{background-image:url(/static/site/nuovo/foto/piatto-cappuccino-fe5c4911.webp?v=2)}
.i-mp_classic-burger-31afddaa{background-image:url(/static/site/nuovo/foto/piatto-classic-burger-31afddaa.webp?v=2)}
.i-mp_cono-grande-f73fe673{background-image:url(/static/site/nuovo/foto/piatto-cono-grande-f73fe673.webp?v=2)}
.i-mp_cono-piccolo-0c5c2a25{background-image:url(/static/site/nuovo/foto/piatto-cono-piccolo-0c5c2a25.webp?v=2)}
.i-mp_coppa-polo-nord-d9f3a44e{background-image:url(/static/site/nuovo/foto/piatto-coppa-polo-nord-d9f3a44e.webp?v=2)}
.i-mp_cornetto-alla-crema-22f06168{background-image:url(/static/site/nuovo/foto/piatto-cornetto-alla-crema-22f06168.webp?v=2)}
.i-mp_crudo-di-gamberi-a3d9957a{background-image:url(/static/site/nuovo/foto/piatto-crudo-di-gamberi-a3d9957a.webp?v=2)}
.i-mp_dragon-roll-8-pz-9823511b{background-image:url(/static/site/nuovo/foto/piatto-dragon-roll-8-pz-9823511b.webp?v=2)}
.i-mp_filetto-al-primitivo-e0367f80{background-image:url(/static/site/nuovo/foto/piatto-filetto-al-primitivo-e0367f80.webp?v=2)}
.i-mp_fiorentina-al-kg-3cf48065{background-image:url(/static/site/nuovo/foto/piatto-fiorentina-al-kg-3cf48065.webp?v=2)}
.i-mp_fusilli-al-ferretto-con-salsiccia-5ae33dca{background-image:url(/static/site/nuovo/foto/piatto-fusilli-al-ferretto-con-salsiccia-5ae33dca.webp?v=2)}
.i-mp_granita-al-limone-ebd004d3{background-image:url(/static/site/nuovo/foto/piatto-granita-al-limone-ebd004d3.webp?v=2)}
.i-mp_grigliata-mista-per-due-3f58068c{background-image:url(/static/site/nuovo/foto/piatto-grigliata-mista-per-due-3f58068c.webp?v=2)}
.i-mp_gyoza-di-maiale-5-pz-59e831bc{background-image:url(/static/site/nuovo/foto/piatto-gyoza-di-maiale-5-pz-59e831bc.webp?v=2)}
.i-mp_ipa-0-4-0e400211{background-image:url(/static/site/nuovo/foto/piatto-ipa-0-4-0e400211.webp?v=2)}
.i-mp_kebab-nel-pane-1a55f803{background-image:url(/static/site/nuovo/foto/piatto-kebab-nel-pane-1a55f803.webp?v=2)}
.i-mp_lagane-e-ceci-15fc0c3c{background-image:url(/static/site/nuovo/foto/piatto-lagane-e-ceci-15fc0c3c.webp?v=2)}
.i-mp_montanarine-9285af12{background-image:url(/static/site/nuovo/foto/piatto-montanarine-9285af12.webp?v=2)}
.i-mp_nigiri-salmone-2-pz-d4f8a9ac{background-image:url(/static/site/nuovo/foto/piatto-nigiri-salmone-2-pz-d4f8a9ac.webp?v=2)}
.i-mp_panino-polpo-e-burrata-f346588b{background-image:url(/static/site/nuovo/foto/piatto-panino-polpo-e-burrata-f346588b.webp?v=2)}
.i-mp_pasticciotto-e8cd634a{background-image:url(/static/site/nuovo/foto/piatto-pasticciotto-e8cd634a.webp?v=2)}
.i-mp_piadina-kebab-49b69aed{background-image:url(/static/site/nuovo/foto/piatto-piadina-kebab-49b69aed.webp?v=2)}
.i-mp_piatto-kebab-con-patatine-7449a703{background-image:url(/static/site/nuovo/foto/piatto-piatto-kebab-con-patatine-7449a703.webp?v=2)}
.i-mp_ramen-tonkotsu-c990cc2e{background-image:url(/static/site/nuovo/foto/piatto-ramen-tonkotsu-c990cc2e.webp?v=2)}
.i-mp_sfogliatella-72da6392{background-image:url(/static/site/nuovo/foto/piatto-sfogliatella-72da6392.webp?v=2)}
.i-mp_suppli-al-telefono-63aaa102{background-image:url(/static/site/nuovo/foto/piatto-suppli-al-telefono-63aaa102.webp?v=2)}
.i-mp_tagliata-di-manzo-c5a8c2f5{background-image:url(/static/site/nuovo/foto/piatto-tagliata-di-manzo-c5a8c2f5.webp?v=2)}
.i-mp_tagliere-della-corte-7e21ddbb{background-image:url(/static/site/nuovo/foto/piatto-tagliere-della-corte-7e21ddbb.webp?v=2)}
/* ===== 2.16 (14/10) Lido Onda Blu: il menu diviso in «Menu | Spiaggia» come quello vero (public_menu.html e
   static/spiaggia-lido.css): dopo il menu il dito tocca «Spiaggia» e sotto le stesse schede compare la spiaggia da
   prenotare, con i colori del lido. A sinistra le scelte della Spiaggia. race.js blocco «st». ===== */
.sm-split{position:relative;display:grid;grid-template-columns:1fr 1fr;margin:18px 16px 0;padding:4px;border-radius:999px;background:color-mix(in srgb,var(--sf) 82%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ink) 9%,transparent),0 10px 24px -18px rgba(0,0,0,.4)}
.sm-split>i{position:absolute;top:4px;bottom:4px;left:4px;width:calc(50% - 4px);border-radius:999px;background:var(--a);transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.sm-split.b>i{transform:translateX(100%)}
.sm-split span{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;gap:7px;height:40px;font:700 15px/1 var(--sys);color:var(--ink);transition:color .3s}
.sm-split span:nth-of-type(1),.sm-split.b span:nth-of-type(2){color:#fff}
.sm-split.b span:nth-of-type(1){color:var(--ink)}
.sm-split svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.sm-sticky .sm-split{margin:0 16px 8px}
.st-s.sb{clip-path:none;opacity:0;transition:none}
.st-s.sb.on{clip-path:none;opacity:1;transition:opacity .4s ease}
.st-s.sb.was{clip-path:none;opacity:1}
.sb{--sb-ink:var(--ink);--sb-soft:color-mix(in srgb,var(--ink) 72%,var(--sf));--sb-muted:var(--mu);background:var(--bg);color:var(--ink)}
.sb-defs{position:absolute;width:0;height:0;overflow:hidden}
.sb-bar{position:absolute;z-index:25;left:0;right:0;top:0;padding:56px 0 10px;background:color-mix(in srgb,var(--bg) 82%,transparent);border-bottom:1px solid color-mix(in srgb,var(--ink) 9%,transparent);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.sb-bar .sm-split{margin:0 16px}
.sb-w{position:absolute;inset:0;display:flex;flex-direction:column;gap:12px;padding:124px 16px 0}
.sb-pill{display:inline-flex;align-items:center;gap:7px;height:32px;padding:0 12px;border-radius:999px;background:color-mix(in srgb,var(--sf) 82%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ink) 9%,transparent);font-size:13px;font-weight:650}
.sb-flag-p i{width:10px;height:10px;border-radius:3px;background:#34C759}
.sb-days{display:flex;gap:7px}
.sb-days>span{flex:1;display:grid;justify-items:center;gap:1px;padding:7px 0 6px;border-radius:16px;background:var(--sf);color:var(--sb-soft);font-size:11.5px;font-weight:600;line-height:1.3}
.sb-days b{color:var(--sb-ink);font-size:19px;line-height:1.1}
.sb-days em{color:var(--sb-ink);font-size:11.5px;font-style:normal;font-weight:700}
.sb-days .on{background:var(--a);color:rgba(255,255,255,.8)}
.sb-days .on b,.sb-days .on em{color:#fff}
.sb-wi{width:20px;height:20px;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.sb-wi .s{stroke:#FFB800}.sb-wi .k{stroke:#8E9AA6}.sb-days .on .sb-wi .k{stroke:#C9D2DA}
.sb-wx{display:grid;grid-template-columns:38px auto minmax(0,1fr) 30px;align-items:center;gap:10px;padding:11px 12px;border-radius:20px;color:#fff;background:linear-gradient(160deg,#2A78D3 0%,#59A6EA 58%,#93D1F5 100%);box-shadow:0 14px 30px -22px rgba(16,64,130,.75)}
.sb-wx .sb-wi{width:38px;height:38px;stroke-width:1.6}
.sb-wx>b{font-size:30px;font-weight:300;line-height:1;letter-spacing:-.04em}
.sb-wx>span{display:grid;min-width:0}
.sb-wx em{overflow:hidden;font-size:14px;font-style:normal;font-weight:650;white-space:nowrap;text-overflow:ellipsis}
.sb-wx small{overflow:hidden;color:rgba(255,255,255,.86);font-size:11.5px;white-space:nowrap;text-overflow:ellipsis}
.sb-ch{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.2)}
.sb-ch svg{width:14px;height:14px;fill:none;stroke:#fff;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.sb-seg{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:4px;border-radius:13px;background:color-mix(in srgb,var(--ink) 8%,transparent)}
.sb-seg span{display:grid;place-content:center;justify-items:center;gap:1px;height:44px;border-radius:10px;color:var(--sb-soft);font-size:13px;font-weight:650;line-height:1.15}
.sb-seg small{font-size:10.5px;font-weight:600;opacity:.72;font-variant-numeric:tabular-nums}
.sb-flag{display:flex;gap:8px}
.sb-pill svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;opacity:.75}
.sb-seg .on{background:var(--sf);color:var(--sb-ink);box-shadow:0 1px 3px rgba(0,0,0,.12)}
.sb-map{--ua:#FF5A4E;--ub:#fff;overflow:hidden;border-radius:24px;background:#F4E4C3;box-shadow:0 18px 40px -28px rgba(120,80,20,.55),inset 0 0 0 1px rgba(160,120,60,.08)}
.sb-sea{position:relative;height:60px;overflow:hidden;background:linear-gradient(180deg,#0B63AE 0%,#1F87CF 45%,#4FB5E6 78%,#86D3F1 100%)}
.sb-sea::after{content:"";position:absolute;left:0;right:0;bottom:0;height:14px;background:linear-gradient(180deg,rgba(255,255,255,0),rgba(255,255,255,.75) 55%,#F4E4C3)}
.sb-sea svg{position:absolute;left:0;top:0;width:200%;height:100%;fill:none;stroke:rgba(255,255,255,.45);stroke-width:2}
.sb-sea .w2{stroke:rgba(255,255,255,.3)}
.sb.on .sb-sea svg{animation:sb-wave 12s linear infinite}
@keyframes sb-wave{to{transform:translateX(-50%)}}
.sb-lbl{position:absolute;left:14px;top:10px;color:#fff;font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;text-shadow:0 1px 2px rgba(0,40,80,.3)}
.sb-buoys{position:absolute;left:92px;right:16px;top:13px;display:flex;justify-content:space-between}
.sb-buoys i{width:6px;height:6px;border-radius:50%;background:#FF8A1F;box-shadow:0 0 0 2px rgba(255,255,255,.55)}
.sb-sand{display:grid;gap:4px;justify-content:center;padding:8px 8px 6px;background:radial-gradient(rgba(160,120,60,.13) 1px,transparent 1.3px) 0 0/11px 11px,#F4E4C3}
.sb-row{display:flex;align-items:center;gap:2px}
.sb-walk{align-self:stretch;width:22px;margin:-2px 6px;border-radius:3px;background:repeating-linear-gradient(180deg,#C99A62 0 9px,#B88953 9px 10px);box-shadow:inset 0 0 0 1px rgba(120,80,30,.22)}
.sb-row:first-child .sb-walk{margin-top:-12px}
.sb-u{position:relative;display:grid;justify-items:center;align-content:start;width:48px;height:60px;transition:transform .4s var(--spring)}
.sb-u svg{width:42px;height:48px;overflow:visible;filter:drop-shadow(2px 4px 2.5px rgba(120,80,30,.28))}
.sb-u b{position:relative;min-width:22px;margin-top:-8px;padding:1px 6px;border-radius:999px;background:#fff;color:var(--sb-ink);font-size:10.5px;font-weight:800;line-height:1.3;text-align:center;box-shadow:0 1px 3px rgba(90,60,20,.25)}
.sb-u.x{--ua:#D6C9AE;--ub:#ECE3D0;--tw1:#6FC0EC;--tw2:#FFCF5C}
.sb-u.x:nth-child(3n){--tw1:#F48FB1;--tw2:#8FD3A8}
.sb-u.x svg{filter:drop-shadow(1px 2px 1.5px rgba(120,80,30,.15))}
.sb-u.x b{background:rgba(255,255,255,.6);color:#B3A487;box-shadow:none}
.sb-u.sel{--ua:#1F4FFF;--ub:#fff;z-index:2;transform:translateY(-3px) scale(1.08)}
.sb-u.sel b{background:#1F4FFF;color:#fff}
.sb-svc{display:flex;justify-content:center;gap:7px;padding:4px 10px 12px;background:linear-gradient(180deg,#F1DDB4,#EAD2A2)}
.sb-svc span{display:inline-flex;align-items:center;gap:5px;height:28px;padding:0 10px;border-radius:10px;background:rgba(255,255,255,.78);color:#6B5532;font-size:11.5px;font-weight:650}
.sb-svc svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.sb-sheet{position:absolute;z-index:40;left:0;right:0;bottom:0;display:grid;gap:12px;padding:10px 18px 32px;border-radius:26px 26px 0 0;background:var(--sf);box-shadow:0 -12px 40px -12px rgba(0,0,0,.28);transform:translateY(105%);transition:transform .55s cubic-bezier(.2,.8,.2,1)}
.sb-sheet.on{transform:none}
.sb-grab{justify-self:center;width:40px;height:5px;border-radius:3px;background:#D6DDD9}
.sb-sh{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center}
.sb-me{--ua:#1F4FFF;--ub:#fff;width:40px;height:46px;overflow:visible}
.sb-sh b{display:block;font-size:20px;font-weight:700;letter-spacing:-.01em}
.sb-sh small{display:block;color:var(--sb-muted);font-size:13px}
.sb-line{display:flex;justify-content:space-between;padding:10px 0 0;border-top:1px solid color-mix(in srgb,var(--ink) 10%,transparent);font-size:15px}
.sb-line b{font-weight:700}
.sb-btn{display:grid;place-items:center;height:50px;overflow:hidden;border-radius:999px;background:var(--a);color:#fff;font-size:16px;font-weight:650;transition:background .35s}
.sb-btn>span{grid-area:1/1;display:inline-flex;align-items:center;gap:7px;transition:opacity .3s,transform .45s var(--spring)}
.sb-btn .b{opacity:0;transform:translateY(14px)}
.sb-btn.ok{background:#2FA866}
.sb-btn.ok .a{opacity:0;transform:translateY(-14px)}
.sb-btn.ok .b{opacity:1;transform:none}
.sb-btn svg{width:18px;height:18px;fill:none;stroke:#fff;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
/* a sinistra, mentre si vede la spiaggia: «La tua spiaggia» al posto di «Il tuo stile» */
.st-ib{display:none}
.st-b .st-insp>.st-ih,.st-b .st-insp>.st-r{display:none}
.st-b .st-ib{display:block}
.st-b .st-ib>*{animation:st-flip .5s var(--ease) both}
.st-bi{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;flex:none}
.st-bi svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.st-bi.fl::before{content:"";width:14px;height:14px;border-radius:4px;background:#34C759}
.st-bi.tg{width:34px}
.st-bi.tg::before{content:"";width:32px;height:19px;border-radius:10px;background:radial-gradient(circle at 22.5px 9.5px,#fff 7px,transparent 7.5px),#34C759}
.st-demo a[hidden]{display:none}
.st-ib .st-v em{max-width:160px}
.bx-try{margin-top:30px}
@media (max-width:699px){.st-b .st-ib{display:contents}}
@media (prefers-reduced-motion:reduce){.sb.on .sb-sea svg{animation:none}}
