/* Doctor Who Medical Network · Showcase dei servizi per le cliniche.
   Palette e font del sito doctorwhosrlstp.com (Outfit, teal #14c9cf su abisso #06191f). Un solo tema scuro, voluto. */
:root{
  --abyss:#06191f;--navy:#0a252c;
  --bg:#f3f7f8;--card:#ffffff;--card2:#f7fafb;--ink:#0d2a31;--ink2:#10333b;--muted:#52707a;--muted2:#7d97a0;
  --line:#e1eaec;--line2:#d3e2e2;
  --teal:#0e96a0;--teal-hi:#14c9cf;--teal-ink:#0a747c;--teal-s:#e3f6f7;--teal-s2:#c9eef0;
  --ok:#1f9d6b;--okS:#e3f5ed;--warn:#c27b0e;--warnS:#fdf1dc;--bad:#c9384d;--badS:#fbe5e8;--vio:#6d55d8;--vioS:#ece8fb;
  --wa:#25d366;--fb:#0a7cff;
  --f:"Outfit",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --fm:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --ease:cubic-bezier(.2,0,0,1);--enter:cubic-bezier(.05,.7,.1,1);
  --sh1:0 1px 2px rgba(13,42,49,.06),0 4px 14px rgba(13,42,49,.06);--sh2:0 2px 6px rgba(13,42,49,.06),0 24px 60px rgba(13,42,49,.14);
  --topH:72px;--dockH:58px;--s:.6;--gap:56px;
  color-scheme:light;
}
*{box-sizing:border-box}
html,body{height:100%;margin:0}
body{background:var(--bg);color:var(--ink);font-family:var(--f);-webkit-font-smoothing:antialiased;overflow:hidden}
body::before{content:"";position:fixed;inset:0;pointer-events:none;background:
  radial-gradient(1000px 520px at 10% 0%,rgba(20,201,207,.10),transparent 60%),
  radial-gradient(900px 600px at 95% 100%,rgba(14,150,160,.07),transparent 60%)}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
button:focus-visible,a:focus-visible{outline:2px solid var(--teal);outline-offset:3px;border-radius:10px}
a{color:inherit}
.num,.mono{font-variant-numeric:tabular-nums}
.mono{font-family:var(--fm)}
svg{display:block}

/* ---------- barra in alto ---------- */
.top{position:fixed;top:0;left:0;right:0;height:calc(var(--topH) + env(safe-area-inset-top,0px));padding:env(safe-area-inset-top,0px) 24px 0;display:flex;align-items:center;gap:20px;z-index:60;background:rgba(243,247,248,.86);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.brand{flex:none;display:block}
.brand img{height:30px;width:auto;display:block}
.pitch{display:flex;flex-direction:column;gap:2px;min-width:0;padding-left:20px;border-left:1px solid var(--line2)}
.pitch b{font-weight:700;font-size:clamp(15px,1.15vw,20px);letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pitch b em{font-style:normal;color:var(--teal)}
.pitch span{font-size:clamp(12px,.82vw,14px);color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sp{flex:1;min-width:0}
.acts{display:flex;gap:8px;flex:none}
.tbtn{height:40px;padding:0 16px;border-radius:999px;display:inline-flex;align-items:center;gap:8px;font-size:14.5px;font-weight:600;background:var(--card);border:1px solid var(--line2);color:var(--ink);text-decoration:none;white-space:nowrap;box-shadow:var(--sh1);transition:transform .12s var(--ease),background .2s,border-color .2s}
.tbtn:hover{border-color:var(--teal)}
.tbtn:active{transform:scale(.97)}
.tbtn svg{width:16px;height:16px;fill:currentColor}
.tbtn.pri{background:var(--teal);color:#fff;border-color:transparent}
.tbtn.pri:hover{background:var(--teal-ink)}
.tbtn em{font-style:normal;font-size:12px;font-weight:700;min-width:22px;height:22px;border-radius:999px;background:var(--teal);color:#fff;display:inline-grid;place-items:center;padding:0 6px}
.tbtn em.zero{background:var(--line);color:var(--muted)}
.lang{position:relative;display:grid;grid-template-columns:44px 44px;height:40px;padding:3px;border-radius:999px;background:var(--ink);border:1px solid var(--line2);flex:none}
.lang button{position:relative;z-index:1;font-size:13px;font-weight:700;color:var(--muted);transition:color .2s}
.lang button.on{color:var(--abyss)}
.lang i{position:absolute;top:3px;bottom:3px;left:3px;width:44px;border-radius:999px;background:var(--teal);transition:transform .24s var(--ease)}
.lang.en i{transform:translateX(44px)}

/* ---------- binario orizzontale ---------- */
.rail{position:fixed;left:0;right:0;top:calc(var(--topH) + env(safe-area-inset-top,0px));bottom:calc(var(--dockH) + env(safe-area-inset-bottom,0px));display:flex;align-items:flex-start;gap:var(--gap);overflow-x:auto;overflow-y:hidden;padding:8px 48px 0;scrollbar-width:none;outline:none;cursor:grab}
.rail::-webkit-scrollbar{display:none}
.rail.drag{cursor:grabbing}
.rail.drag *{user-select:none}
.st{flex:none;display:flex;flex-direction:column;gap:14px;transition:opacity .35s,filter .35s}
.rail.spot .st:not(.cur),.rail.spot .chap:not(.cur){opacity:.25;filter:grayscale(.6)}
.cap{height:192px;overflow:hidden;display:flex;flex-direction:column;gap:6px;max-width:100%}
.st{min-width:300px}
.cap h3{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.cap .tags{flex-wrap:nowrap;overflow:hidden}
.cap .k{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--teal)}
.cap .k i{font-style:normal;color:var(--muted2);font-weight:600}
.cap h3{margin:0;font-size:21px;font-weight:700;letter-spacing:-.01em;line-height:1.15;text-wrap:balance}
.cap p{margin:0;font-size:14px;line-height:1.45;color:var(--muted);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}
.tag{font-size:11.5px;font-weight:600;padding:3px 9px;border-radius:999px;background:var(--card);border:1px solid var(--line2);color:var(--ink2);display:inline-flex;align-items:center;gap:5px}
.tag.ai{background:var(--teal-s);border-color:var(--teal-s2);color:var(--teal-ink)}
.tag.ai::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--teal)}
.tag.add{cursor:pointer}
.tag.add.on{background:var(--teal);color:#fff;border-color:transparent}

/* dispositivo: lo schermo è disegnato a misura reale e scalato */
.dev{position:relative;flex:none}
.dev .scr{position:absolute;top:0;left:0;transform-origin:0 0;transform:scale(var(--s));overflow:hidden}
.phone{width:calc(390px * var(--s) + 22px * var(--s));height:calc(844px * var(--s) + 22px * var(--s));border-radius:calc(62px * var(--s));background:#1d2a2e;box-shadow:0 0 0 1px rgba(13,42,49,.25),var(--sh2),inset 0 0 0 calc(2px * var(--s)) #3c4f55}
.phone .scr{top:calc(11px * var(--s));left:calc(11px * var(--s));width:390px;height:844px;border-radius:52px;background:#fff}
.phone .island{position:absolute;z-index:5;top:calc(22px * var(--s));left:50%;transform:translateX(-50%);width:calc(118px * var(--s));height:calc(34px * var(--s));border-radius:999px;background:#000}
.desk{width:calc(1240px * var(--s));height:calc(800px * var(--s));border-radius:calc(16px * var(--s));background:#fff;box-shadow:0 0 0 1px var(--line2),var(--sh2);overflow:hidden}
.desk .scr{width:1240px;height:800px;background:#f4f7f8;color:#10333b}
.chrome{height:44px;background:#e6edef;display:flex;align-items:center;gap:10px;padding:0 16px;border-bottom:1px solid #d3e2e2}
.chrome .dots{display:flex;gap:7px}.chrome .dots i{width:12px;height:12px;border-radius:50%;background:#ff5f57}.chrome .dots i:nth-child(2){background:#febc2e}.chrome .dots i:nth-child(3){background:#28c840}
.chrome .url{flex:1;max-width:560px;margin:0 auto;height:28px;border-radius:8px;background:#fff;display:flex;align-items:center;justify-content:center;gap:6px;font-size:13px;color:#52707a}
.chrome .url svg{width:12px;height:12px;fill:#0a747c}

/* capitolo */
.chap{flex:none;width:340px;align-self:stretch;display:flex;flex-direction:column;justify-content:center;gap:14px;padding:0 4px;transition:opacity .35s}
.chap .n{font-family:var(--fm);font-size:13px;color:var(--teal);letter-spacing:.1em}
.chap h2{margin:0;font-size:40px;line-height:1.02;font-weight:700;letter-spacing:-.02em;text-wrap:balance}
.chap p{margin:0;font-size:16px;line-height:1.5;color:var(--muted)}
.chap .val{display:flex;flex-direction:column;gap:8px;margin-top:6px}
.chap .val div{display:flex;gap:10px;align-items:flex-start;font-size:14.5px;line-height:1.4;color:var(--ink2)}
.chap .val div::before{content:"";flex:none;margin-top:6px;width:8px;height:8px;border-radius:2px;background:var(--teal);transform:rotate(45deg)}
.chap .buy{align-self:flex-start;margin-top:6px}
.intro{width:520px}
.intro h1{margin:0;font-size:54px;line-height:1;font-weight:800;letter-spacing:-.03em;text-wrap:balance}
.intro h1 em{font-style:normal;color:var(--teal)}
.intro .kpis{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:8px}
.intro .kpis div{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px 14px;box-shadow:var(--sh1)}
.intro .kpis b{display:block;font-size:24px;font-weight:700;color:var(--teal-ink)}
.intro .kpis span{font-size:12.5px;color:var(--muted);line-height:1.35;display:block}
.intro .hint{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--muted)}
.intro .hint svg{width:26px;height:26px;stroke:var(--teal);fill:none;stroke-width:1.6;animation:nudge 1.6s var(--ease) infinite}
@keyframes nudge{50%{transform:translateX(6px)}}
.outro{width:460px}

/* ---------- dock dei capitoli ---------- */
.dock{position:fixed;left:0;right:0;bottom:0;height:calc(var(--dockH) + env(safe-area-inset-bottom,0px));padding:0 24px env(safe-area-inset-bottom,0px);display:flex;align-items:center;gap:6px;z-index:50;background:rgba(243,247,248,.9);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--line);overflow-x:auto;scrollbar-width:none}
.dock::-webkit-scrollbar{display:none}
.dock button{flex:1 1 0;min-width:96px;height:46px;border-radius:12px;display:flex;flex-direction:column;justify-content:flex-start;gap:2px;padding:6px 10px 0;text-align:left;color:var(--muted);font-size:12.5px;font-weight:600;white-space:nowrap;overflow:hidden;position:relative}
.dock button b{font-family:var(--fm);font-size:10.5px;color:var(--muted2);font-weight:700}
.dock button i{position:absolute;left:10px;right:10px;bottom:5px;height:3px;border-radius:3px;background:var(--line2)}
.dock button i::after{content:"";position:absolute;inset:0;border-radius:3px;background:var(--teal);transform-origin:0 50%;transform:scaleX(var(--p,0));transition:transform .25s}
.dock button.on{color:var(--ink)}
.dock button.on b{color:var(--teal)}

/* ---------- tour ---------- */
.tourbar{position:fixed;left:50%;bottom:calc(var(--dockH) + 14px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);width:min(860px,calc(100vw - 32px));z-index:70;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--line2);border-radius:18px;overflow:hidden;box-shadow:var(--sh2)}
.tb-prog{height:3px;background:var(--line)}
.tb-prog i{display:block;height:100%;width:0;background:var(--teal)}
.tb-body{display:flex;align-items:center;gap:16px;padding:12px 14px 12px 18px}
.tb-step{font-family:var(--fm);font-size:12px;color:var(--teal);flex:none}
.tb-txt{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.tb-txt b{font-size:15.5px}
.tb-txt span{font-size:13.5px;color:var(--muted);line-height:1.4}
.tb-ctl{display:flex;gap:6px;flex:none}
.tb-ctl button{width:38px;height:38px;border-radius:50%;background:var(--card2);border:1px solid var(--line);display:grid;place-items:center}
.tb-ctl button svg{width:18px;height:18px;stroke:currentColor;stroke-width:2;fill:none}
#tb-play svg{fill:currentColor;stroke:none}
#tb-play .i-play{display:none}
.tourbar.paused #tb-play .i-play{display:block}.tourbar.paused #tb-play .i-pause{display:none}

/* ---------- fogli (panoramica, moduli) ---------- */
.sheet{position:fixed;inset:0;z-index:80;background:rgba(236,243,244,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);overflow-y:auto;padding:calc(24px + env(safe-area-inset-top,0px)) 16px calc(120px + env(safe-area-inset-bottom,0px))}
.sh-in{max-width:1180px;margin:0 auto;display:flex;flex-direction:column;gap:22px}
.sh-h{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.sh-h small{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--teal);font-weight:700}
.sh-h h2{margin:6px 0 6px;font-size:clamp(26px,3vw,38px);line-height:1.08;letter-spacing:-.02em;text-wrap:balance}
.sh-h p{margin:0;color:var(--muted);font-size:15.5px;line-height:1.5;max-width:70ch}
.close{flex:none;width:44px;height:44px;border-radius:50%;background:var(--card);border:1px solid var(--line2);display:grid;place-items:center}
.close svg{width:20px;height:20px;stroke:currentColor;stroke-width:2;fill:none}

.flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.fl{background:var(--card);border:1px solid var(--line);box-shadow:var(--sh1);border-radius:16px;padding:14px;display:flex;flex-direction:column;gap:8px;cursor:pointer;transition:border-color .2s,transform .15s}
.fl:hover{border-color:var(--teal);transform:translateY(-2px)}
.fl .n{font-family:var(--fm);font-size:11.5px;color:var(--teal)}
.fl b{font-size:16.5px}
.fl ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:5px}
.fl li{font-size:13px;color:var(--muted);display:flex;gap:7px;line-height:1.35}
.fl li::before{content:"";flex:none;width:5px;height:5px;margin-top:6px;border-radius:50%;background:var(--muted2)}
.fl li.ai::before{background:var(--teal)}
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.stats div{border-top:1px solid var(--line2);padding-top:12px}
.stats b{display:block;font-size:28px;font-weight:700;color:var(--teal-ink)}
.stats span{font-size:13px;color:var(--muted);line-height:1.4}

.m-tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.chip{height:34px;padding:0 14px;border-radius:999px;background:var(--card);border:1px solid var(--line2);font-size:13.5px;font-weight:600}
.chip.on{background:var(--teal);color:#fff;border-color:transparent}
.m-hint{font-size:13px;color:var(--muted)}
.pk{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}
.pkc{background:linear-gradient(160deg,#ffffff,#eef7f8);border:1px solid var(--line2);box-shadow:var(--sh1);border-radius:18px;padding:16px;display:flex;flex-direction:column;gap:8px;cursor:pointer;text-align:left;transition:border-color .2s,transform .15s}
.pkc:hover{transform:translateY(-2px);border-color:var(--teal)}
.pkc.on{border-color:var(--teal);box-shadow:0 0 0 1px var(--teal) inset}
.pkc small{font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--teal)}
.pkc b{font-size:19px}
.pkc p{margin:0;font-size:13.5px;color:var(--muted);line-height:1.45}
.pkc .inc{font-size:12.5px;color:var(--ink2);line-height:1.45}
.mgroup{display:flex;flex-direction:column;gap:10px}
.mgroup h4{margin:8px 0 0;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.mgrid{display:flex;flex-direction:column;gap:18px}
.mrow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.mc{background:var(--card);border:1px solid var(--line);box-shadow:var(--sh1);border-radius:16px;padding:14px 14px 12px;display:flex;flex-direction:column;gap:7px;position:relative;transition:border-color .2s,background .2s}
.mc.on{border-color:var(--teal);background:#f2fbfb}
.mc .mh{display:flex;align-items:flex-start;gap:10px}
.mc .mh b{flex:1;font-size:16px;line-height:1.25}
.mc .tg{width:42px;height:24px;border-radius:999px;background:var(--line);border:1px solid var(--line2);position:relative;flex:none}
.mc .tg::after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:transform .2s var(--ease),background .2s}
.mc.on .tg{background:var(--teal);border-color:var(--teal)}
.mc.on .tg::after{transform:translateX(18px);background:#fff}
.mc p{margin:0;font-size:13.2px;color:var(--muted);line-height:1.45}
.mc .out{font-size:13px;color:var(--ink2);line-height:1.4;display:flex;gap:7px}
.mc .out::before{content:"→";color:var(--teal);font-weight:700}
.mc .meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}
.mc .meta span{font-size:11.5px;padding:2px 8px;border-radius:999px;background:var(--card2);border:1px solid var(--line);color:var(--ink2)}
.mc .meta span.ai{background:var(--teal-s);border-color:var(--teal-s2);color:var(--teal-ink)}
.mc .see{font-size:12.5px;color:var(--teal);font-weight:600;text-align:left;margin-top:2px;align-self:flex-start}
.mbag{position:sticky;bottom:12px;z-index:2;background:rgba(255,255,255,.97);backdrop-filter:blur(12px);border:1px solid var(--teal);border-radius:18px;padding:12px 14px 12px 18px;display:flex;align-items:center;gap:16px;box-shadow:var(--sh2)}
.mb-txt{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.mb-txt b{font-size:15.5px}
.mb-txt span{font-size:12.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mb-act{display:flex;gap:8px;flex:none}

.toast{position:fixed;left:50%;top:calc(var(--topH) + 10px);transform:translate(-50%,-20px);opacity:0;z-index:90;background:var(--ink);color:#fff;font-weight:600;font-size:14px;padding:10px 16px;border-radius:999px;transition:all .25s var(--ease);pointer-events:none}
.toast.on{opacity:1;transform:translate(-50%,0)}

/* ---------- telefoni stretti ---------- */
@media (max-width:900px){
  .pitch{display:none}
  .acts .tbtn span{display:none}
  .acts .tbtn{padding:0 12px}
  .top{gap:10px;padding-left:16px;padding-right:16px}
  .brand img{height:24px}
  .rail{padding:4px 16px 0;--gap:28px}
  .chap{width:min(300px,calc(100vw - 48px))}
  .chap h2{font-size:30px}
  .intro{width:min(340px,calc(100vw - 40px))}
  .intro h1{font-size:36px}
  .cap h3{font-size:18px}
  .cap{height:176px}
  .cap p{-webkit-line-clamp:2}
  .st{min-width:240px}
  .flow,.stats,.pk{grid-template-columns:1fr 1fr}
  .mrow{grid-template-columns:1fr}
  .tb-body{flex-wrap:wrap}
  .tb-txt{order:3;flex-basis:100%}
  .tb-ctl{margin-left:auto}
  .mbag{flex-direction:column;align-items:stretch}
  .mb-act{justify-content:flex-end}
  .dock button{min-width:84px}
}
@media (max-width:560px){
  .flow,.stats,.pk{grid-template-columns:1fr}
  .acts #b-over{display:none}
  .top{gap:8px;padding-left:12px;padding-right:12px}
  .acts{gap:6px}
  .acts .tbtn{height:36px;padding:0 10px}
  .lang{grid-template-columns:34px 34px;height:36px}
  .lang button{font-size:12px}
  .lang i{width:34px}
  .lang.en i{transform:translateX(34px)}
}
@media (max-width:360px){
  .brand img{height:20px}
  .acts #mod-count{display:none}
}
@media (prefers-reduced-motion:reduce){*{animation-duration:.001s!important;transition-duration:.001s!important}}

/* ---------- punti spiegati sulle schermate ---------- */
.pin{position:absolute;z-index:6;width:28px;height:28px;margin:-14px 0 0 -14px;border-radius:50%;background:var(--teal);color:#fff;font-weight:800;font-size:13px;display:grid;place-items:center;box-shadow:0 0 0 4px rgba(14,150,160,.22),0 6px 18px rgba(13,42,49,.3);transition:transform .2s var(--ease),opacity .3s}
.pin::after{content:"";position:absolute;inset:-4px;border-radius:50%;border:2px solid var(--teal);animation:ping 2.4s var(--ease) infinite}
.pin:hover,.pin.on{transform:scale(1.15);background:var(--ink)}
@keyframes ping{0%{transform:scale(.9);opacity:.9}70%,100%{transform:scale(1.9);opacity:0}}
body.ov .pin,body.nopins .pin{opacity:0;pointer-events:none}
.tip{position:fixed;z-index:95;max-width:300px;background:var(--ink);color:#fff;border-radius:14px;padding:12px 14px;font-size:13.5px;line-height:1.45;box-shadow:var(--sh2);pointer-events:none}
.tip b{display:block;font-size:14px;margin-bottom:3px}
.cap .more{align-self:flex-start;font-size:13px;font-weight:600;color:var(--teal);display:inline-flex;gap:6px;align-items:center;margin-top:2px}
.cap .more:hover{color:var(--teal-ink)}
.dev{cursor:pointer}

/* ---------- panoramica: tutte le schermate insieme ---------- */
body.ov .rail{display:grid;grid-template-columns:repeat(var(--ovCols,8),minmax(0,1fr));justify-content:center;align-content:start;gap:22px 26px;overflow:auto;cursor:default;padding:16px 24px 40px}
body.ov .chap{display:none}
body.ov .st{gap:6px;cursor:pointer;min-width:0}
body.ov .st[data-dev=desk]{grid-column:span 2}
body.ov .cap{height:auto;min-height:0;gap:2px}
body.ov .cap p,body.ov .cap .tags,body.ov .cap .more{display:none}
body.ov .cap h3{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.ov .cap .k{font-size:10px}
body.ov .st:hover .dev{box-shadow:0 0 0 2px var(--teal),var(--sh2)}
body.ov .dock{opacity:0;pointer-events:none}
.ovbar{display:none}
body.ov .ovbar{display:flex;position:fixed;left:50%;bottom:calc(14px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);z-index:55;gap:10px;align-items:center;background:#fff;border:1px solid var(--line2);box-shadow:var(--sh2);border-radius:999px;padding:6px 6px 6px 16px;font-size:13.5px;color:var(--muted)}
body.ov #b-over{background:var(--teal);color:#fff}

/* ---------- pannello di dettaglio ---------- */
.det{position:fixed;top:0;right:0;bottom:0;width:min(540px,100vw);z-index:85;background:#fff;border-left:1px solid var(--line2);box-shadow:-30px 0 80px rgba(13,42,49,.18);overflow-y:auto;animation:slin .3s var(--enter)}
@keyframes slin{from{transform:translateX(40px);opacity:0}}
.det-in{padding:calc(22px + env(safe-area-inset-top,0px)) 24px calc(40px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;gap:16px}
.det .dh{display:flex;gap:12px;align-items:flex-start}
.det .dh div{flex:1}
.det small{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--teal);font-weight:700}
.det h2{margin:4px 0 0;font-size:28px;line-height:1.1;letter-spacing:-.02em;text-wrap:balance}
.det .lead{margin:0;font-size:16px;line-height:1.55;color:var(--ink2)}
.det h4{margin:6px 0 0;font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.det ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}
.det li{font-size:14.5px;line-height:1.45;color:var(--ink2);display:flex;gap:10px}
.det li::before{content:"";flex:none;width:7px;height:7px;margin-top:7px;border-radius:2px;background:var(--teal);transform:rotate(45deg)}
.det ol{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px;counter-reset:p}
.det ol li::before{counter-increment:p;content:counter(p);width:22px;height:22px;margin-top:0;border-radius:50%;transform:none;background:var(--teal);color:#fff;font-weight:700;font-size:12px;display:grid;place-items:center}
.det .boxes{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.det .box{background:var(--card2);border:1px solid var(--line);border-radius:14px;padding:12px}
.det .box b{display:block;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--teal);margin-bottom:4px}
.det .box span{font-size:13.5px;line-height:1.45;color:var(--ink2)}
.det .dact{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}
.det .nav{display:flex;justify-content:space-between;gap:8px;border-top:1px solid var(--line2);padding-top:14px}
.det .nav button{font-size:13.5px;color:var(--muted);text-align:left;max-width:48%}
.det .nav button:last-child{text-align:right}
.det .nav button b{display:block;color:var(--ink);font-size:14.5px}
@media (max-width:560px){.det .boxes{grid-template-columns:1fr}}
