/* Orbita — AiPornGalaxy 2026. Wine, champagne and starlight.
   Palette from the brand: plum #4f0028, magenta #ba005f, deep magenta #7f0444, dusty rose #b77196,
   champagne #ffedd4 / #e9cdb0, taupe #9b7b74. Type: Montserrat (brand) with Instrument Serif italic accents. */
@font-face{font-family:"Montserrat";src:url("fonts/montserrat-normal.woff2") format("woff2");font-weight:400 900;font-style:normal;font-display:swap}
@font-face{font-family:"Instrument Serif";src:url("fonts/instrument-serif-italic.woff2") format("woff2");font-weight:400;font-style:italic;font-display:swap}
:root{
 --bg:#0c0408;--bg2:#14070e;--bg3:#1d0a15;
 --glass:rgba(255,237,212,.045);--glass2:rgba(255,237,212,.085);--line:rgba(255,237,212,.11);--line2:rgba(255,237,212,.22);
 --ink:#fbefe6;--mute:#cfb5b3;--dim:#9b7b74;
 --wine:#4f0028;--wine2:#650034;--mag:#ba005f;--mag2:#e3197a;--rose:#b77196;--champ:#ffedd4;--champ2:#e9cdb0;--taupe:#9b7b74;
 --gold:linear-gradient(180deg,#fff4e6 0%,#ffe3c2 38%,#d9b49a 72%,#9b7b74 100%);
 --candy:linear-gradient(120deg,#ffedd4 0%,#e9a6c0 38%,#ba005f 100%);
 --glow:0 18px 50px -18px rgba(186,0,95,.75);
 --r:22px;--r2:16px;--r3:30px;--wrap:1240px;--gut:20px;
 --ease:cubic-bezier(.2,.8,.2,1);
 color-scheme:dark;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;min-height:100vh;background:var(--bg);color:var(--ink);font:500 16.5px/1.7 "Montserrat",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
 background-image:radial-gradient(1200px 620px at 78% -10%,rgba(186,0,95,.32),transparent 62%),radial-gradient(900px 560px at -10% 18%,rgba(101,0,52,.42),transparent 66%),radial-gradient(1000px 700px at 50% 120%,rgba(127,4,68,.32),transparent 70%);background-attachment:fixed}
a{color:var(--champ);text-decoration:none;transition:color .2s}a:hover{color:#fff}
img{max-width:100%;height:auto}
svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
h1,h2,h3{font-weight:800;letter-spacing:-.035em;line-height:1.03;margin:0 0 14px;color:#fff}
h1{font-size:clamp(38px,6.2vw,80px)}
h2{font-size:clamp(26px,3.4vw,42px)}
h3{font-size:19px;letter-spacing:-.02em}
h1 em,h2 em{font-family:"Instrument Serif",Georgia,serif;font-style:italic;font-weight:400;letter-spacing:-.01em;background:var(--candy);-webkit-background-clip:text;background-clip:text;color:transparent;padding-right:.06em}
p{margin:0 0 1em}
kbd{font:700 11px/1 "Montserrat",sans-serif;padding:4px 7px;border-radius:7px;border:1px solid var(--line2);color:var(--mute);background:rgba(0,0,0,.25)}
.o-wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gut)}
.o-skip{position:absolute;left:-9999px;top:10px;z-index:1000;padding:10px 16px;border-radius:999px;background:var(--mag);color:#fff}.o-skip:focus{left:10px}
.o-main{position:relative;z-index:1}

/* cielo: stelle fisse che respirano piano */
.o-sky{position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.7;
 background-image:radial-gradient(1px 1px at 12% 18%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 72% 12%,#ffedd4 50%,transparent 51%),radial-gradient(1.5px 1.5px at 38% 64%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 84% 48%,#e9a6c0 50%,transparent 51%),radial-gradient(1px 1px at 56% 82%,#fff 50%,transparent 51%),radial-gradient(1.5px 1.5px at 22% 88%,#ffedd4 50%,transparent 51%),radial-gradient(1px 1px at 92% 78%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 6% 46%,#e9a6c0 50%,transparent 51%);
 background-size:620px 620px;animation:o-twinkle 9s ease-in-out infinite alternate}
@keyframes o-twinkle{from{opacity:.45}to{opacity:.85}}

/* testata */
.o-top{position:sticky;top:0;z-index:60;background:rgba(12,4,8,.72);-webkit-backdrop-filter:saturate(1.4) blur(18px);backdrop-filter:saturate(1.4) blur(18px);border-bottom:1px solid var(--line)}
.o-top__in{display:flex;align-items:center;gap:14px;min-height:72px}
.o-brand{display:block;flex:0 0 auto;margin-right:auto}.o-brand img{display:block;height:34px;width:auto}
.o-nav{display:none;gap:4px;margin-right:6px}
.o-nav__a{display:inline-flex;align-items:center;gap:7px;padding:9px 13px;border-radius:999px;color:var(--mute);font-size:13.5px;font-weight:650;white-space:nowrap;border:1px solid transparent;transition:all .2s var(--ease)}
.o-nav__a svg{width:16px;height:16px;color:var(--rose)}
.o-nav__a:hover,.o-nav__a.is-here{color:#fff;background:var(--glass2);border-color:var(--line)}
.o-find{display:inline-flex;align-items:center;gap:10px;padding:9px 12px 9px 14px;border-radius:999px;border:1px solid var(--line2);background:var(--glass);color:var(--mute);font:600 14px/1 "Montserrat",sans-serif;cursor:pointer;transition:all .2s}
.o-find:hover{color:#fff;border-color:var(--rose)}
.o-find span{display:none}
.o-top__lang{display:none}
.o-top__cta{display:none}
.o-burger{width:44px;height:44px;border-radius:50%;border:1px solid var(--line2);background:var(--glass);color:var(--ink);display:inline-grid;place-items:center;cursor:pointer}
.o-burger span,.o-burger span::before,.o-burger span::after{content:"";display:block;width:18px;height:2px;border-radius:2px;background:currentColor;position:relative}
.o-burger span::before{position:absolute;top:-6px}.o-burger span::after{position:absolute;top:6px}
@media(min-width:700px){.o-find span{display:inline}.o-top__cta{display:inline-flex}.o-top__lang{display:block}}
@media(min-width:1180px){.o-nav{display:flex}.o-burger{display:none}}
.o-menu{position:sticky;top:72px;z-index:59;background:rgba(14,6,10,.96);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-bottom:1px solid var(--line);max-height:calc(100vh - 72px);overflow:auto}
.o-menu__in{padding-top:20px;padding-bottom:26px}
.o-menu__row{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:16px}
/* selettore di lingua del plugin, vestito con la palette */
.aigp-lang-switcher__current{background:var(--glass)!important;border:1px solid var(--line2)!important;color:var(--ink)!important;padding:9px 14px!important}
.aigp-lang-switcher__code{color:var(--champ)!important}
.aigp-lang-switcher__menu{background:#16080f!important;border:1px solid var(--line2)!important;border-radius:14px!important;box-shadow:0 20px 50px -20px #000!important}
.aigp-lang-switcher__item{color:var(--mute)!important}.aigp-lang-switcher__item:hover{background:var(--glass2)!important;color:#fff!important}
.aigp-lang-switcher__item.is-active{background:rgba(186,0,95,.18)!important;color:var(--champ)!important}

/* bottoni */
.o-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 22px;border-radius:999px;border:1px solid transparent;font:800 15px/1.1 "Montserrat",sans-serif;letter-spacing:-.01em;cursor:pointer;white-space:nowrap;transition:transform .2s var(--ease),box-shadow .2s var(--ease),background .2s,border-color .2s,color .2s}
.o-btn:hover{transform:translateY(-2px)}
.o-btn--gold{background:var(--gold);color:var(--wine)!important;box-shadow:0 -1px 0 rgba(255,255,255,.6) inset,0 0 0 1px rgba(186,0,95,.55),0 12px 34px -12px rgba(186,0,95,.9)}
.o-btn--gold:hover{box-shadow:0 -1px 0 rgba(255,255,255,.7) inset,0 0 0 1px rgba(227,25,122,.8),0 16px 44px -12px rgba(227,25,122,1)}
.o-btn--ghost{background:var(--glass);color:var(--ink);border-color:var(--line2)}.o-btn--ghost:hover{border-color:var(--rose);color:#fff;background:var(--glass2)}
.o-btn--sm{padding:9px 15px;font-size:13px}.o-btn--lg{padding:16px 28px;font-size:16px}.o-btn--block{width:100%}
.o-acts{display:flex;flex-wrap:wrap;gap:12px}
.o-round{width:42px;height:42px;border-radius:50%;border:1px solid var(--line2);background:var(--glass);color:var(--ink);display:inline-grid;place-items:center;cursor:pointer;transition:all .2s}.o-round:hover{border-color:var(--rose);background:var(--glass2)}
.o-link{font-weight:700;font-size:14px;color:var(--champ)}
.o-chip{display:inline-flex;align-items:center;gap:8px;margin:0 0 18px;padding:7px 14px;border-radius:999px;background:var(--glass);border:1px solid var(--line);color:var(--mute);font-size:13px;font-weight:650}
.o-chip--link:hover{color:#fff;border-color:var(--rose)}
.o-dot{width:8px;height:8px;border-radius:50%;background:#2caf61;box-shadow:0 0 0 0 rgba(44,175,97,.6);animation:o-ping 2.2s infinite}
@keyframes o-ping{0%{box-shadow:0 0 0 0 rgba(44,175,97,.55)}70%{box-shadow:0 0 0 9px transparent}100%{box-shadow:0 0 0 0 transparent}}
.o-kicker{margin:0 0 10px;font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--rose)}
.o-empty{color:var(--mute)}

/* sezioni */
.o-sec{padding:clamp(34px,6vw,76px) 0;position:relative}
.o-sec__head{max-width:760px;margin:0 0 28px}.o-sec__sub{color:var(--mute);font-size:16.5px;margin:0}
.o-crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:18px 0 4px;font-size:13px;color:var(--dim)}.o-crumbs a{color:var(--mute)}.o-crumbs a:hover{color:#fff}

/* insegna della home */
.o-hero{position:relative;overflow:hidden;padding:clamp(28px,5vw,64px) 0 clamp(40px,6vw,80px)}
.o-hero::before{content:"";position:absolute;inset:0;z-index:-1;opacity:.55;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='24' viewBox='0 0 48 24'%3E%3Cg fill='none' stroke='%23ba005f' stroke-opacity='.22'%3E%3Cpath d='M0 24a24 24 0 0 1 48 0M7 24a17 17 0 0 1 34 0M14 24a10 10 0 0 1 20 0M-24 12a24 24 0 0 1 48 0M24 12a24 24 0 0 1 48 0M-17 12a17 17 0 0 1 34 0M31 12a17 17 0 0 1 34 0'/%3E%3C/g%3E%3C/svg%3E");-webkit-mask-image:radial-gradient(70% 60% at 70% 40%,#000 0%,transparent 75%);mask-image:radial-gradient(70% 60% at 70% 40%,#000 0%,transparent 75%)}
.o-hero__in{display:grid;gap:40px;align-items:center}
@media(min-width:1000px){.o-hero__in{grid-template-columns:1.05fr .95fr;gap:56px}}
.o-hero h1{max-width:13ch}
.o-hero__lede{max-width:56ch;color:var(--mute);font-size:clamp(16px,1.6vw,18.5px);margin:0 0 26px}
.o-searchbox{display:flex;align-items:center;gap:12px;width:min(560px,100%);margin:0 0 22px;padding:16px 18px;border-radius:18px;border:1px solid var(--line2);background:linear-gradient(180deg,rgba(255,237,212,.08),rgba(255,237,212,.03));color:var(--mute);font:600 16px/1 "Montserrat",sans-serif;text-align:left;cursor:text;box-shadow:0 20px 60px -30px rgba(0,0,0,.9);transition:border-color .2s,box-shadow .2s}
.o-searchbox:hover{border-color:var(--rose);box-shadow:0 0 0 4px rgba(186,0,95,.15),0 20px 60px -30px rgba(0,0,0,.9)}
.o-searchbox span{flex:1}.o-searchbox svg{color:var(--rose)}
.o-stats{list-style:none;display:flex;gap:28px;margin:30px 0 0;padding:0}
.o-stats b{display:block;font-size:30px;font-weight:900;letter-spacing:-.04em;background:var(--gold);-webkit-background-clip:text;background-clip:text;color:transparent}
.o-stats span{font-size:12.5px;color:var(--dim);font-weight:650;text-transform:uppercase;letter-spacing:.08em}

/* l'orbita */
.o-orbit{--S:min(540px,88vw);--R:calc(var(--S)*.43);position:relative;width:var(--S);height:var(--S);margin:0 auto}
.o-orbit__glow{position:absolute;inset:14%;border-radius:50%;background:radial-gradient(circle,rgba(227,25,122,.55),rgba(79,0,40,.2) 55%,transparent 70%);filter:blur(30px)}
.o-orbit__ring{position:absolute;inset:7%;border-radius:50%;border:1px solid var(--line2)}
.o-orbit__ring--a{border-style:dashed;border-color:rgba(255,237,212,.18);animation:o-spin 90s linear infinite}
.o-orbit__ring--b{inset:-1%;border-color:rgba(186,0,95,.28);box-shadow:inset 0 0 60px rgba(186,0,95,.15)}
.o-orbit__core{position:absolute;left:50%;top:50%;width:56%;height:56%;transform:translate(-50%,-50%);border-radius:50%;box-shadow:0 0 0 6px rgba(255,237,212,.9),0 0 0 14px rgba(186,0,95,.25),0 40px 90px -20px rgba(227,25,122,.8);animation:o-float 7s ease-in-out infinite}
@keyframes o-float{50%{transform:translate(-50%,-53%)}}
.o-orbit__sats{list-style:none;margin:0;padding:0;position:absolute;inset:0}
/* ogni satellite gira da solo con una sola trasformazione: posizione sull'anello e rotazione opposta, cosi' resta sempre dritto */
.o-sat{--a:calc(var(--i) / var(--n) * 360deg);position:absolute;left:50%;top:50%;width:76px;height:76px;margin:-38px 0 0 -38px;transform:rotate(var(--a)) translate(var(--R)) rotate(calc(var(--a) * -1));animation:o-orbit 70s linear infinite}
.o-orbit:hover .o-sat,.o-orbit:focus-within .o-sat{animation-play-state:paused}
@keyframes o-orbit{from{transform:rotate(var(--a)) translate(var(--R)) rotate(calc(var(--a) * -1))}to{transform:rotate(calc(var(--a) + 360deg)) translate(var(--R)) rotate(calc(var(--a) * -1 - 360deg))}}
.o-sat__a{position:relative;display:block;width:100%;height:100%;border-radius:50%;padding:3px;background:var(--gold);box-shadow:0 12px 30px -10px rgba(0,0,0,.9),0 0 0 4px rgba(12,4,8,.7);transition:scale .25s var(--ease)}
.o-sat__a:hover,.o-sat__a:focus-visible{scale:1.14;z-index:3}
.o-sat__a img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 12%;border-radius:50%}
.o-sat__n{position:absolute;left:50%;top:100%;transform:translate(-50%,6px);white-space:nowrap;padding:4px 10px;border-radius:999px;background:rgba(12,4,8,.85);border:1px solid var(--line);font-size:11.5px;font-weight:700;color:var(--champ);opacity:0;transition:opacity .2s;pointer-events:none}
.o-sat__a:hover .o-sat__n,.o-sat__a:focus .o-sat__n{opacity:1}
@keyframes o-spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@media(max-width:520px){.o-sat{width:58px;height:58px;margin:-29px 0 0 -29px}}

/* vetrina a mattoni */
.o-bento{display:grid;gap:16px}
@media(min-width:760px){.o-bento{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1100px){.o-bento{grid-template-columns:1.25fr 1fr 1fr;grid-template-rows:auto auto}.o-tile--hero{grid-row:span 2}}
.o-tile{position:relative;display:grid;grid-template-columns:118px minmax(0,1fr);gap:16px;align-items:center;padding:14px;border-radius:var(--r);background:linear-gradient(160deg,var(--glass2),var(--glass));border:1px solid var(--line);transition:transform .3s var(--ease),border-color .3s,box-shadow .3s}
.o-tile:hover{transform:translateY(-4px);border-color:var(--line2);box-shadow:var(--glow)}
.o-tile__art{display:block;border-radius:var(--r2);overflow:hidden}
.o-tile__k{margin:0 0 6px;font-size:11.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--rose)}
.o-tile__name{font-size:21px;margin:0 0 10px}.o-tile__name a{color:#fff}.o-tile__name a:hover{color:var(--champ)}
.o-tile__say{color:var(--mute);font-size:15px;margin:0 0 16px}
.o-tile--hero{grid-template-columns:1fr;align-items:stretch;padding:16px;background:radial-gradient(120% 80% at 0% 0%,rgba(186,0,95,.35),transparent 60%),linear-gradient(160deg,var(--glass2),var(--glass));border-color:rgba(186,0,95,.45)}
.o-tile--hero .o-tile__name{font-size:clamp(26px,3vw,36px)}
@media(min-width:760px){.o-tile--hero{grid-template-columns:minmax(0,.9fr) minmax(0,1fr);align-items:center}}
@media(min-width:1100px){.o-tile--hero{grid-template-columns:1fr}}

/* locandine e schede */
.o-poster{position:relative;display:block;aspect-ratio:298/421;overflow:hidden;border-radius:inherit;background:var(--bg3)}
.o-poster__img,.o-poster__bg,.o-poster__vid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;transition:transform .5s var(--ease),opacity .3s}
.o-poster__img.is-wide{object-fit:contain;object-position:center}
.o-poster__bg{filter:blur(18px) brightness(.55) saturate(1.3);transform:scale(1.2)}
.o-poster__vid{opacity:0;z-index:2}.is-playing .o-poster__vid{opacity:1}
.o-card{position:relative;display:flex;flex-direction:column;min-width:0;border-radius:var(--r);background:linear-gradient(180deg,var(--glass2),var(--glass));border:1px solid var(--line);overflow:hidden;transition:transform .3s var(--ease),border-color .3s,box-shadow .3s}
.o-card:hover{transform:translateY(-6px);border-color:rgba(186,0,95,.55);box-shadow:var(--glow)}
.o-card:hover .o-poster__img{transform:scale(1.04)}
.o-card__art{position:relative;display:block;border-radius:var(--r) var(--r) 0 0;overflow:hidden}
.o-card__art::after{content:"";position:absolute;inset:0;z-index:3;background:linear-gradient(180deg,rgba(12,4,8,.35),transparent 28%,transparent 60%,rgba(12,4,8,.85));pointer-events:none}
.o-card__rank{position:absolute;left:12px;top:12px;z-index:4;min-width:38px;padding:6px 10px;border-radius:999px;background:var(--gold);color:var(--wine);font-weight:900;font-size:13px;text-align:center;box-shadow:0 6px 16px -6px rgba(0,0,0,.8)}
.o-card__live{position:absolute;right:12px;top:12px;z-index:4;padding:5px 10px;border-radius:999px;background:rgba(12,4,8,.7);border:1px solid var(--line2);font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--champ)}
.o-card__visit{position:absolute;left:12px;right:12px;bottom:12px;z-index:4;display:flex;align-items:center;justify-content:center;gap:6px;padding:10px;border-radius:999px;background:var(--gold);color:var(--wine);font-weight:800;font-size:13.5px;opacity:0;transform:translateY(8px);transition:all .3s var(--ease)}
.o-card__visit svg{width:16px;height:16px}
.o-card:hover .o-card__visit,.o-card__art:focus .o-card__visit{opacity:1;transform:none}
.o-card__body{display:flex;flex-direction:column;gap:6px;padding:14px 16px 16px;flex:1}
.o-card__cat{font-size:11.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--rose)}
.o-card__name{margin:0;font-size:18px}.o-card__name a{color:#fff}.o-card__name a:hover{color:var(--champ)}
.o-card__say{margin:0;color:var(--mute);font-size:14px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.o-card__acts{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:8px}
@media(hover:none){.o-card__visit{display:none}}

/* pianeti delle categorie */
.o-planets{display:grid;gap:14px}
@media(min-width:620px){.o-planets{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1000px){.o-planets{grid-template-columns:repeat(3,minmax(0,1fr))}}
.o-planet{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"ico name go" "ico n go" "faces faces faces";column-gap:16px;row-gap:2px;align-items:center;padding:18px;border-radius:var(--r);background:linear-gradient(160deg,var(--glass2),var(--glass));border:1px solid var(--line);color:var(--ink);transition:all .3s var(--ease);overflow:hidden}
.o-planet::before{content:"";position:absolute;right:-60px;top:-60px;width:160px;height:160px;border-radius:50%;background:radial-gradient(circle,rgba(186,0,95,.35),transparent 70%);transition:transform .4s var(--ease)}
.o-planet:hover{transform:translateY(-4px);border-color:rgba(186,0,95,.55);box-shadow:var(--glow);color:#fff}.o-planet:hover::before{transform:scale(1.4)}
.o-planet.is-here{border-color:var(--rose)}
.o-planet__ico{grid-area:ico;display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:radial-gradient(circle at 30% 25%,#ffedd4,#b77196 45%,#4f0028 100%);color:var(--wine);box-shadow:0 0 0 1px rgba(255,237,212,.4),0 14px 30px -12px rgba(186,0,95,.9)}
.o-planet__ico svg{width:26px;height:26px;stroke-width:2}
.o-planet__name{grid-area:name;font-weight:800;font-size:18px;letter-spacing:-.02em;color:#fff}
.o-planet__n{grid-area:n;font-size:13px;color:var(--mute)}
.o-planet__go{grid-area:go;font-size:22px;color:var(--rose);transition:transform .3s var(--ease)}.o-planet:hover .o-planet__go{transform:translateX(4px)}
.o-planet__faces{grid-area:faces;display:flex;margin-top:14px;padding-left:6px}
.o-planet__faces img{width:34px;height:34px;border-radius:50%;object-fit:cover;object-position:center 12%;margin-left:-8px;border:2px solid var(--bg2)}

/* scaffali */
.o-sec--shelves .o-shelf+.o-shelf{margin-top:clamp(40px,6vw,64px)}
.o-shelf__head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:0 0 18px}
.o-shelf__head h2{font-size:clamp(23px,2.8vw,34px);margin:0}
.o-shelf__tools{display:flex;align-items:center;gap:10px;flex:0 0 auto}
@media(max-width:640px){.o-shelf__tools .o-round{display:none}}
.o-shelf__track{display:grid;grid-auto-flow:column;grid-auto-columns:clamp(210px,62vw,236px);gap:16px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;padding:6px 2px 18px;scrollbar-width:none;outline:0}
.o-shelf__track::-webkit-scrollbar{display:none}
.o-shelf__track>.o-card{scroll-snap-align:start}

/* griglia e filtri */
.o-filter{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 22px}
.o-pill{padding:10px 16px;border-radius:999px;border:1px solid var(--line2);background:var(--glass);color:var(--mute);font:700 13.5px/1 "Montserrat",sans-serif;cursor:pointer;transition:all .2s}
.o-pill b{margin-left:4px;color:var(--champ)}.o-pill:hover{color:#fff;border-color:var(--rose)}
.o-pill.is-on{background:var(--gold);color:var(--wine);border-color:transparent}.o-pill.is-on b{color:var(--wine)}
.o-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
@media(min-width:760px){.o-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}}
@media(min-width:1100px){.o-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
.o-grid__cell{display:flex}.o-grid__cell>.o-card{width:100%}.o-grid__cell[hidden]{display:none}
@media(max-width:520px){.o-grid .o-card__say{display:none}.o-grid .o-card__acts .o-btn{flex:1}}

/* testata di categoria */
.o-cathero{position:relative;padding:8px 0 clamp(26px,4vw,48px)}
.o-cathero h1{font-size:clamp(34px,5vw,64px);max-width:16ch}
.o-cathero--slim h1{max-width:22ch}
.o-cathero__in{display:grid;gap:30px;align-items:center;margin-top:16px}
@media(min-width:960px){.o-cathero__in{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)}}
.o-cathero__ico{display:grid;place-items:center;width:64px;height:64px;margin:0 0 18px;border-radius:50%;background:radial-gradient(circle at 30% 25%,#ffedd4,#b77196 45%,#4f0028 100%);color:var(--wine);box-shadow:0 0 0 1px rgba(255,237,212,.4),0 18px 40px -14px rgba(186,0,95,.95)}
.o-cathero__ico svg{width:30px;height:30px;stroke-width:2}
.o-cathero__lede{max-width:62ch;color:var(--mute);font-size:17px;margin:0 0 24px}
.o-fan{position:relative;height:340px;max-width:420px;width:100%;margin:0 auto}
.o-fan__card{position:absolute;top:30px;width:46%;border-radius:20px;overflow:hidden;border:2px solid rgba(255,237,212,.25);box-shadow:0 30px 60px -25px #000}
.o-fan__card--1{left:27%;top:0;z-index:3;border-color:rgba(255,237,212,.7);box-shadow:0 30px 70px -20px rgba(186,0,95,.8)}
.o-fan__card--2{left:2%;transform:rotate(-9deg);z-index:2}.o-fan__card--3{right:2%;transform:rotate(9deg);z-index:1}
@media(max-width:959px){.o-fan{height:270px;max-width:340px}}

/* lettura lunga con indice */
.o-read__grid{display:grid;gap:30px}
@media(min-width:1000px){.o-read__grid{grid-template-columns:250px minmax(0,780px);justify-content:center;gap:56px}}
.o-read__side{position:relative}
.o-toc{position:sticky;top:96px;padding:18px;border-radius:var(--r);background:var(--glass);border:1px solid var(--line)}
.o-toc__t{margin:0 0 10px;font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--rose)}
.o-toc ol{list-style:none;margin:0;padding:0;display:grid;gap:2px;counter-reset:t}
.o-toc li a{display:block;padding:7px 10px;border-radius:10px;color:var(--mute);font-size:13.5px;line-height:1.35;font-weight:600}
.o-toc li a:hover{color:#fff;background:var(--glass2)}.o-toc li a.is-on{color:var(--wine);background:var(--gold)}
@media(max-width:999px){.o-toc{position:static}}
.o-prose{font-size:17px;line-height:1.8;color:#f1e1d8}
.o-prose h2{font-size:clamp(25px,3vw,34px);margin:2.1em 0 .6em;padding-left:16px;border-left:3px solid var(--mag)}
.o-prose h3{font-size:21px;margin:1.6em 0 .5em}
.o-prose p{margin:0 0 1.1em}
.o-prose a{color:var(--champ);text-decoration:underline;text-decoration-color:rgba(255,237,212,.35);text-underline-offset:3px}.o-prose a:hover{text-decoration-color:var(--champ)}
.o-prose ul,.o-prose ol{padding-left:1.3em;margin:0 0 1.2em}
.o-prose li{margin:.35em 0}.o-prose ul li::marker{color:var(--mag2)}
.o-prose img{border-radius:var(--r2)}
.o-prose table{width:100%;border-collapse:collapse;margin:1.4em 0;font-size:15px;display:block;overflow-x:auto}
.o-prose th,.o-prose td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left}
.o-prose th{color:var(--champ);font-size:13px;text-transform:uppercase;letter-spacing:.06em}
.o-prose blockquote{margin:1.4em 0;padding:18px 22px;border-radius:var(--r2);background:var(--glass);border-left:3px solid var(--rose);font-style:italic}
/* indice e registro delle modifiche iniettati nelle review */
.o-prose .aigp-toc{margin:0 0 1.8em;padding:18px 20px;border-radius:var(--r);background:var(--glass);border:1px solid var(--line)}
.o-prose .aigp-toc__title{margin:0 0 8px;font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--rose)}
.o-prose .aigp-toc__list{margin:0;padding-left:1.2em;columns:2;column-gap:28px}.o-prose .aigp-toc__list li{break-inside:avoid}
.o-prose .aigp-toc__list a{text-decoration:none;color:var(--mute)}.o-prose .aigp-toc__list a:hover{color:#fff}
@media(max-width:640px){.o-prose .aigp-toc__list{columns:1}}
.o-prose .aigp-updates-badge{display:inline-flex;flex-wrap:wrap;gap:8px;align-items:center;padding:8px 14px;border-radius:999px;background:var(--glass)!important;border:1px solid var(--line)!important;font-size:13px}
.o-prose .aigp-updates-badge__text{color:var(--mute)!important}.o-prose .aigp-updates-badge__text time{color:#fff!important}
.o-prose .aigp-updates-badge__link{color:var(--champ)!important;border-color:var(--champ)!important;text-decoration:none}
.o-prose .aigp-updates{margin:2em 0!important;padding:20px 22px!important;border-radius:var(--r)!important;background:var(--glass)!important;border:1px solid var(--line)!important}
.o-prose .aigp-updates__title{color:#fff!important}.o-prose .aigp-updates__title::before{color:var(--mag2)!important}
.o-prose .aigp-updates__entry{border-color:var(--line)!important}.o-prose .aigp-updates__headline{color:#fff!important;font-family:"Montserrat",sans-serif!important}
.o-prose .aigp-updates__type{background:rgba(186,0,95,.2)!important;color:var(--champ)!important;border-color:transparent!important}
.o-prose .aigp-author-byline{border-color:var(--line)!important;background:var(--glass)!important;color:var(--mute)!important;border-radius:var(--r2)!important}

/* review: su telefono titolo, locandina piccola accanto ai dati, un bottone, testo; su desktop colonna fissa */
.o-review{padding:6px 0 clamp(30px,5vw,60px)}
.o-review__grid{display:grid;grid-template-columns:40% minmax(0,1fr);grid-template-areas:"head head" "art facts" "cta cta" "lede lede" "main main";gap:14px 16px;align-items:start}
.o-review__side,.o-review__sticky{display:contents}
.o-review__head{grid-area:head;min-width:0}
.o-review__head .o-chip{margin-bottom:12px}
.o-review__art{grid-area:art;position:relative;display:block;border-radius:18px;overflow:hidden;border:1px solid var(--line2);box-shadow:0 30px 60px -30px rgba(186,0,95,.85);width:100%}
.o-review__art .o-poster{border-radius:0}
.o-review__vid{display:block;width:100%;aspect-ratio:298/421;object-fit:cover;background:var(--bg3)}
.o-review__cta{grid-area:cta}
.o-review .o-facts{grid-area:facts;align-self:stretch;padding:4px 12px}
.o-review .o-facts div{flex-direction:column;align-items:flex-start;gap:0;padding:7px 0;font-size:13px}
.o-review .o-facts dd{text-align:left;font-size:14px}
.o-review__lede{grid-area:lede;font-size:17px;color:var(--mute);max-width:64ch;margin:4px 0 0}
.o-review__main{grid-area:main;min-width:0}
.o-review__h1{font-size:clamp(30px,4.4vw,56px);margin:0}
@media(min-width:1000px){
 .o-review__grid{grid-template-columns:340px minmax(0,1fr);grid-template-areas:"side head" "side lede" "side main";column-gap:56px;row-gap:0}
 .o-review__side{display:block;grid-area:side;align-self:stretch}
 .o-review__sticky{display:grid;gap:16px;position:sticky;top:96px}
 .o-review__art{border-radius:var(--r3);max-width:360px;margin:0 auto;box-shadow:0 40px 80px -36px rgba(186,0,95,.85)}
 .o-review .o-facts{padding:6px 16px}
 .o-review .o-facts div{flex-direction:row;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;font-size:14px}
 .o-review .o-facts dd{text-align:right}
 .o-review__h1{margin:6px 0 14px}
 .o-review__lede{font-size:18.5px;margin:0 0 24px}
}
.o-prose figure{margin:1.6em 0}.o-prose figure img{display:block;margin:0 auto}.o-prose figcaption{margin-top:8px;font-size:13.5px;color:var(--dim);text-align:center}
.o-facts{margin:0;padding:6px 16px;border-radius:var(--r);background:var(--glass);border:1px solid var(--line)}
.o-facts div{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px dashed var(--line);font-size:14px}
.o-facts div:last-child{border-bottom:0}.o-facts dt{color:var(--dim);font-weight:650}.o-facts dd{margin:0;text-align:right;font-weight:700}
.o-review__h1{font-size:clamp(32px,4.4vw,56px);margin:6px 0 14px}
.o-review__lede{font-size:18.5px;color:var(--mute);max-width:64ch;margin:0 0 24px}
.o-verdict{display:grid;grid-template-columns:110px minmax(0,1fr);gap:20px;align-items:center;margin:34px 0 0;padding:20px;border-radius:var(--r3);background:radial-gradient(120% 120% at 0 0,rgba(186,0,95,.35),transparent 60%),var(--glass);border:1px solid rgba(186,0,95,.45)}
.o-verdict .o-poster{border-radius:16px}
.o-verdict__t{font-size:clamp(20px,2.4vw,26px);font-weight:800;letter-spacing:-.02em;margin:0 0 14px;color:#fff}
.o-stick{position:fixed;left:12px;right:12px;bottom:84px;z-index:70;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 10px 10px 18px;border-radius:999px;background:rgba(20,7,14,.92);border:1px solid var(--line2);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 20px 50px -20px #000;transform:translateY(160%);transition:transform .35s var(--ease)}
.o-stick__name{font-weight:800;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.o-stuck .o-stick{transform:none}
@media(min-width:1000px){.o-stick{display:none}}

/* chiusura */
.o-finale{position:relative;display:grid;gap:26px;align-items:center;margin:clamp(30px,5vw,60px) 0 clamp(50px,7vw,90px);padding:clamp(24px,4vw,44px);border-radius:var(--r3);overflow:hidden;border:1px solid transparent;background:radial-gradient(90% 140% at 100% 0,rgba(186,0,95,.45),transparent 60%) padding-box,linear-gradient(var(--bg2),var(--bg2)) padding-box,var(--candy) border-box}
@media(min-width:800px){.o-finale{grid-template-columns:200px minmax(0,1fr);gap:40px}}
.o-finale__img{width:170px;height:170px;border-radius:50%;margin:0 auto;box-shadow:0 0 0 5px rgba(255,237,212,.85),0 30px 60px -20px rgba(227,25,122,.9)}
.o-finale h2{font-size:clamp(26px,3.4vw,42px)}
.o-finale h2 em{font-family:"Instrument Serif",Georgia,serif;font-style:italic;font-weight:400;background:var(--candy);-webkit-background-clip:text;background-clip:text;color:transparent}
.o-finale p{color:var(--mute);max-width:60ch}

/* piede */
.o-foot{position:relative;z-index:1;border-top:1px solid var(--line);background:linear-gradient(180deg,rgba(20,7,14,.6),rgba(12,4,8,.95))}
.o-foot__grid{display:grid;gap:30px;padding-top:44px;padding-bottom:26px}
@media(min-width:860px){.o-foot__grid{grid-template-columns:1.5fr 1fr 1fr}}
.o-foot__brand img{height:46px;width:auto}
.o-foot__brand p{color:var(--mute);font-size:14.5px;max-width:46ch;margin:14px 0 0}
.o-foot__h{margin:0 0 12px;font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--rose)}
.o-foot ul{list-style:none;margin:0 0 18px;padding:0;display:grid;gap:8px}.o-foot ul a{color:var(--mute);font-size:14.5px}.o-foot ul a:hover{color:#fff}
.o-foot__legal{padding-top:18px;padding-bottom:110px;border-top:1px solid var(--line);font-size:12.5px;line-height:1.65;color:var(--dim)}
@media(min-width:1000px){.o-foot__legal{padding-bottom:40px}}

/* barra in basso su telefono */
.o-dock{position:fixed;left:10px;right:10px;bottom:10px;z-index:80;display:flex;gap:4px;padding:6px;border-radius:22px;background:rgba(20,7,14,.9);border:1px solid var(--line2);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 20px 50px -18px #000}
.o-dock a,.o-dock button{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 4px;border-radius:16px;border:0;background:none;color:var(--mute);font:700 11px/1 "Montserrat",sans-serif;cursor:pointer}
.o-dock a[aria-current],.o-dock a:hover,.o-dock button:hover{color:#fff;background:var(--glass2)}
.o-dock .o-dock__go{background:var(--gold);color:var(--wine)}
@media(min-width:1000px){.o-dock{display:none}}

/* ricerca istantanea */
.o-palette{position:fixed;inset:0;z-index:200;display:grid;place-items:start center;padding:12vh 16px 16px;background:rgba(6,2,4,.72);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.o-palette[hidden]{display:none}
.o-palette__box{width:min(640px,100%);border-radius:24px;background:#170810;border:1px solid var(--line2);box-shadow:0 40px 100px -30px #000,0 0 0 1px rgba(186,0,95,.25);overflow:hidden;animation:o-pop .22s var(--ease)}
@keyframes o-pop{from{opacity:0;transform:translateY(10px) scale(.98)}}
.o-palette__bar{display:flex;align-items:center;gap:12px;padding:16px 18px;border-bottom:1px solid var(--line)}
.o-palette__bar svg{color:var(--rose)}
.o-palette__bar input{flex:1;min-width:0;background:none;border:0;outline:0;color:#fff;font:600 18px/1.2 "Montserrat",sans-serif}
.o-palette__list{list-style:none;margin:0;padding:8px;max-height:min(60vh,520px);overflow:auto}
.o-palette__list li a{display:flex;align-items:center;gap:14px;padding:10px 12px;border-radius:14px;color:var(--ink)}
.o-palette__list li a img{width:40px;height:40px;border-radius:12px;object-fit:cover;object-position:center 12%;flex:0 0 auto}
.o-palette__list li a .o-pl-ico{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--glass2);color:var(--rose);flex:0 0 auto}
.o-palette__list li a b{display:block;font-size:15px}.o-palette__list li a small{display:block;color:var(--dim);font-size:12.5px}
.o-palette__list li a em{margin-left:auto;font-style:normal;font-size:12px;color:var(--rose);font-weight:700}
.o-palette__list li.is-on a,.o-palette__list li a:hover{background:var(--glass2)}
.o-palette__hint{margin:0;padding:10px 18px;border-top:1px solid var(--line);font-size:12px;color:var(--dim)}

/* comparsa al scorrimento */
.o-rise{animation:o-rise .8s var(--ease) both}
@keyframes o-rise{from{opacity:0;transform:translateY(18px)}}
.js-reveal .o-card,.js-reveal .o-planet,.js-reveal .o-tile{opacity:0;translate:0 22px;transition:opacity .6s var(--ease),translate .6s var(--ease),transform .3s var(--ease),border-color .3s,box-shadow .3s}
.js-reveal .is-in{opacity:1;translate:0 0}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.js-reveal .o-card,.js-reveal .o-planet,.js-reveal .o-tile{opacity:1;translate:0 0}}

/* ===== Candy Shorts e Digital Twins ===== */
.o-wrap--narrow{max-width:900px}
.o-sec--tight{padding:clamp(22px,4vw,44px) 0}
.o-nav{flex:1 1 auto;min-width:0;overflow-x:auto;scrollbar-width:none;-webkit-mask-image:linear-gradient(90deg,#000 90%,transparent);mask-image:linear-gradient(90deg,#000 90%,transparent)}
.o-nav::-webkit-scrollbar{display:none}
.o-brand{margin-right:8px}
@media(max-width:1179px){.o-brand{margin-right:auto}}
.o-nav__a--hot{color:var(--champ);border-color:rgba(186,0,95,.55);background:rgba(186,0,95,.14)}
.o-nav__a--hot svg{color:var(--mag2)}
.o-poster--tall{aspect-ratio:9/16}
.o-sc .o-card__art::after{background:linear-gradient(180deg,rgba(12,4,8,.25),transparent 30%,transparent 55%,rgba(12,4,8,.9))}
.o-sc__badge{position:absolute;right:10px;top:10px;z-index:4;padding:5px 10px;border-radius:999px;background:rgba(44,175,97,.92);color:#fff;font-size:11.5px;font-weight:800;letter-spacing:.02em;box-shadow:0 6px 16px -6px rgba(0,0,0,.8)}
.o-sc__new{background:linear-gradient(120deg,#ffedd4,#e3197a);color:var(--wine)}
.o-sc__play,.o-csfan__play{position:absolute;left:50%;top:44%;z-index:4;width:58px;height:58px;margin:-29px 0 0 -29px;border-radius:50%;background:rgba(255,237,212,.92);box-shadow:0 0 0 9px rgba(255,237,212,.2),0 14px 30px -10px rgba(0,0,0,.8);transition:transform .3s var(--ease)}
.o-sc__play::after,.o-csfan__play::after{content:"";position:absolute;left:23px;top:17px;border-left:17px solid var(--wine);border-top:12px solid transparent;border-bottom:12px solid transparent}
.o-card:hover .o-sc__play{transform:scale(1.1)}
.o-sc__meta{margin:0;color:var(--dim);font-size:12.5px;font-weight:650}
.o-grid--tall{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(min-width:700px){.o-grid--tall{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:1000px){.o-grid--tall{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(min-width:1200px){.o-grid--tall{grid-template-columns:repeat(5,minmax(0,1fr))}}
.o-grid--tall .o-card__name{font-size:16px;line-height:1.2}
@media(max-width:520px){.o-grid--tall .o-card__acts .o-btn--ghost{display:none}.o-grid--tall .o-card__body{padding:10px 12px 12px}.o-sc__play{width:46px;height:46px;margin:-23px 0 0 -23px}.o-sc__play::after{left:18px;top:13px;border-left-width:14px;border-top-width:10px;border-bottom-width:10px}}
.o-shelf--tall .o-shelf__track{grid-auto-columns:clamp(158px,44vw,206px)}

/* insegna dell'hub: H1, copertine e bottone nella prima schermata anche su telefono */
.o-cshero{position:relative;padding:4px 0 clamp(24px,4vw,46px);overflow:hidden}
.o-cshero::before{content:"";position:absolute;inset:-10% -10% auto -10%;height:120%;z-index:-1;background:radial-gradient(60% 50% at 75% 30%,rgba(227,25,122,.35),transparent 70%)}
.o-cshero__in{display:grid;gap:14px;grid-template-areas:"head" "art" "body";margin-top:10px}
.o-cshero__head{grid-area:head}.o-cshero__art{grid-area:art}.o-cshero__body{grid-area:body}
.o-cshero h1{font-size:clamp(32px,5.4vw,70px);max-width:15ch;margin-bottom:6px}
.o-cshero .o-chip{margin-bottom:12px}
.o-cshero .o-stats{margin-top:22px}
@media(min-width:960px){.o-cshero__in{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);grid-template-areas:"head art" "body art";column-gap:48px;row-gap:10px;align-items:end}.o-cshero__body{align-self:start}}
.o-csfan{position:relative;display:block;height:clamp(230px,62vw,440px);max-width:470px;margin:0 auto;width:100%}
.o-csfan__c{position:absolute;top:6%;width:40%;border-radius:18px;overflow:hidden;border:2px solid rgba(255,237,212,.25);box-shadow:0 30px 60px -25px #000;transition:transform .4s var(--ease)}
.o-csfan__c .o-poster{border-radius:0}
.o-csfan__c--1{left:30%;top:0;z-index:3;border-color:rgba(255,237,212,.75);box-shadow:0 30px 70px -20px rgba(186,0,95,.85)}
.o-csfan__c--2{left:4%;transform:rotate(-9deg);z-index:2}.o-csfan__c--3{right:4%;transform:rotate(9deg);z-index:1}
.o-csfan:hover .o-csfan__c--2{transform:rotate(-12deg) translateX(-6px)}.o-csfan:hover .o-csfan__c--3{transform:rotate(12deg) translateX(6px)}
.o-csfan__play{top:42%;z-index:5}
.o-csfan__tag{position:absolute;left:50%;bottom:2%;z-index:6;transform:translateX(-50%);white-space:nowrap;padding:8px 16px;border-radius:999px;background:var(--gold);color:var(--wine);font-weight:800;font-size:13.5px;box-shadow:0 14px 30px -12px rgba(186,0,95,.9)}
@media(max-width:959px){.o-cshero .o-cathero__lede{font-size:15.5px;margin-bottom:16px}.o-cshero .o-acts .o-btn{flex:1 1 auto}}

/* passi */
.o-steps{list-style:none;margin:0;padding:0;display:grid;gap:14px;counter-reset:s}
@media(min-width:800px){.o-steps{grid-template-columns:repeat(3,minmax(0,1fr))}}
.o-steps li{position:relative;display:grid;gap:6px;padding:20px 20px 22px;border-radius:var(--r);background:linear-gradient(160deg,var(--glass2),var(--glass));border:1px solid var(--line)}
.o-steps b{font-size:18px;color:#fff;letter-spacing:-.02em}.o-steps li span:last-child{color:var(--mute);font-size:15px;line-height:1.55}
.o-steps__n{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--gold);color:var(--wine);font-weight:900;margin-bottom:6px}

/* scheda serie / twin */
.o-sx{padding:4px 0 10px}
.o-sx__in{display:grid;grid-template-columns:40% minmax(0,1fr);grid-template-areas:"chip chip" "h1 h1" "art facts" "cta cta" "lede lede";gap:12px 16px;align-items:start}
.o-sx__text{display:contents}
.o-sx__text>.o-chip{grid-area:chip;justify-self:start;margin:0}
.o-sx__h1{grid-area:h1;font-size:clamp(28px,4.4vw,54px);margin:0}
.o-sx__lede{grid-area:lede;color:var(--mute);font-size:16.5px;margin:0}
.o-sx__facts{grid-area:facts;list-style:none;margin:0;padding:0;display:grid;gap:8px;align-content:start}
.o-sx__facts li{display:flex;align-items:baseline;gap:8px;padding:10px 12px;border-radius:14px;background:var(--glass);border:1px solid var(--line)}
.o-sx__facts b{font-size:20px;font-weight:900;letter-spacing:-.03em;background:var(--gold);-webkit-background-clip:text;background-clip:text;color:transparent}
.o-sx__facts span{font-size:12.5px;color:var(--mute);font-weight:650}
.o-sx .o-acts{grid-area:cta}.o-sx .o-acts .o-btn{flex:1 1 auto}
.o-sx__art{grid-area:art;position:relative;display:block;border-radius:20px;overflow:hidden;border:1px solid var(--line2);box-shadow:0 30px 70px -30px rgba(186,0,95,.9)}
.o-sx__art .o-poster{border-radius:0}
.o-sx__art--face{aspect-ratio:1;border-radius:50%;border:3px solid rgba(255,237,212,.8)}
.o-sx__art--face img{display:block;width:100%;height:100%;object-fit:cover}
.o-sx__flag{position:absolute;left:50%;bottom:10px;z-index:5;transform:translateX(-50%);white-space:nowrap;padding:6px 12px;border-radius:999px;background:var(--gold);color:var(--wine);font-weight:800;font-size:12px}
.o-sx--twin .o-sx__flag{bottom:6%}
@media(min-width:900px){
 .o-sx__in{grid-template-columns:330px minmax(0,1fr);grid-template-areas:"art chip" "art h1" "art lede" "art facts" "art cta";column-gap:48px;row-gap:16px;align-content:start}
 .o-sx__art{align-self:start}
 .o-sx__facts{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}
 .o-sx .o-acts .o-btn{flex:0 0 auto}
 .o-sx__lede{font-size:18px;max-width:62ch}
}
.o-sx__grid{display:grid;gap:30px}
@media(min-width:1000px){.o-sx__grid{grid-template-columns:minmax(0,1fr) 280px;gap:48px;align-items:start}}
.o-sx__side{display:none}
@media(min-width:1000px){.o-sx__side{display:block}.o-sx__sticky{position:sticky;top:96px;display:grid;gap:12px}}
.o-sx__mini{display:block;border-radius:18px;overflow:hidden;border:1px solid var(--line2)}
.o-sx__mini .o-poster{border-radius:0}
.o-sx__mini--face{border-radius:50%;aspect-ratio:1}.o-sx__mini--face img{display:block;width:100%;height:100%;object-fit:cover}
.o-sx__h2{font-size:clamp(23px,2.6vw,32px);margin:26px 0 14px}
.o-sx__note{color:var(--dim);font-size:13px;margin:10px 0 26px}
.o-short{margin:0 0 8px;padding:18px 20px;border-radius:var(--r);background:radial-gradient(120% 120% at 0 0,rgba(186,0,95,.28),transparent 60%),var(--glass);border:1px solid rgba(186,0,95,.45)}
.o-short p:last-child{margin:0;font-size:17px;color:#fff;font-weight:600;line-height:1.6}
.o-eps{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.o-eps__row{display:grid;grid-template-columns:52px minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:10px 10px 10px 14px;border-radius:16px;background:var(--glass);border:1px solid var(--line)}
.o-eps__row.is-free{border-color:rgba(44,175,97,.5);background:linear-gradient(90deg,rgba(44,175,97,.12),var(--glass))}
.o-eps__n{font-weight:900;color:#fff}.o-eps__t{color:var(--mute);font-size:14px}
.o-eps__d{font-weight:800;color:var(--champ);font-size:14px;white-space:nowrap}.o-eps__d s{color:var(--dim);font-weight:600;margin-left:4px}
.o-eps__go{padding:8px 14px;border-radius:999px;font-weight:800;font-size:13px;background:var(--glass2);border:1px solid var(--line2);color:#fff}
.is-free .o-eps__go{background:var(--gold);color:var(--wine);border-color:transparent}
.o-faq{margin:34px 0}
.o-faq h2{font-size:clamp(24px,2.8vw,34px)}
.o-faq details{border-radius:16px;background:var(--glass);border:1px solid var(--line);margin:0 0 10px;overflow:hidden}
.o-faq summary{cursor:pointer;list-style:none;padding:16px 50px 16px 18px;position:relative;font-weight:750;color:#fff}
.o-faq summary::-webkit-details-marker{display:none}
.o-faq summary::after{content:"+";position:absolute;right:18px;top:50%;transform:translateY(-50%);font-size:22px;color:var(--rose);transition:transform .2s}
.o-faq details[open] summary::after{transform:translateY(-50%) rotate(45deg)}
.o-faq details p{margin:0;padding:0 18px 18px;color:var(--mute)}
.o-cast{margin:30px 0}.o-cast__row{display:flex;flex-wrap:wrap;gap:14px}

/* digital twins */
.o-twin{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:18px 14px;border-radius:var(--r);background:linear-gradient(180deg,var(--glass2),var(--glass));border:1px solid var(--line);transition:transform .3s var(--ease),border-color .3s,box-shadow .3s;min-width:0}
.o-twin:hover{transform:translateY(-5px);border-color:rgba(186,0,95,.55);box-shadow:var(--glow)}
.o-twin__face{position:relative;display:block;width:min(150px,100%);aspect-ratio:1;border-radius:50%;padding:3px;background:var(--candy);margin-bottom:6px}
.o-twin__face img{display:block;width:100%;height:100%;object-fit:cover;border-radius:50%;border:3px solid var(--bg2)}
.o-twin__live{position:absolute;right:9%;bottom:9%;width:16px;height:16px;border-radius:50%;background:#2caf61;border:3px solid var(--bg2)}
.o-twin__name{margin:0;font-size:17px}.o-twin__name a{color:#fff}.o-twin__name a:hover{color:var(--champ)}
.o-twin__meta{margin:0 0 6px;color:var(--dim);font-size:12.5px;font-weight:650}
.o-twins{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
@media(min-width:700px){.o-twins{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:1000px){.o-twins{grid-template-columns:repeat(5,minmax(0,1fr))}}
.o-shelf--twins .o-shelf__track{grid-auto-columns:clamp(150px,42vw,190px)}
.o-faces{position:relative;display:block;height:clamp(220px,58vw,400px);max-width:460px;margin:0 auto;width:100%}
.o-faces__f{position:absolute;width:52%;aspect-ratio:1;border-radius:50%;padding:4px;background:var(--candy);box-shadow:0 30px 60px -25px #000}
.o-faces__f img{display:block;width:100%;height:100%;border-radius:50%;object-fit:cover;border:4px solid var(--bg)}
.o-faces__f--1{left:24%;top:4%;z-index:3}.o-faces__f--2{left:0;top:30%;width:40%;z-index:2}.o-faces__f--3{right:0;top:30%;width:40%;z-index:1}
.o-faces .o-csfan__tag{bottom:0}

/* fascia finale delle sezioni Candy */
.o-csband{position:relative;display:grid;gap:24px;align-items:center;margin:clamp(30px,5vw,60px) 0 clamp(50px,7vw,90px);padding:clamp(22px,4vw,40px);border-radius:var(--r3);overflow:hidden;border:1px solid transparent;background:radial-gradient(90% 140% at 100% 0,rgba(186,0,95,.45),transparent 60%) padding-box,linear-gradient(var(--bg2),var(--bg2)) padding-box,var(--candy) border-box}
@media(min-width:800px){.o-csband{grid-template-columns:300px minmax(0,1fr);gap:44px}}
.o-csband__art{position:relative;height:230px;max-width:300px;width:100%;margin:0 auto}
.o-csband__c{position:absolute;top:8px;width:42%;border-radius:14px;overflow:hidden;border:2px solid rgba(255,237,212,.3);box-shadow:0 20px 40px -20px #000}
.o-csband__c .o-poster{border-radius:0}
.o-csband__c--1{left:29%;top:0;z-index:3}.o-csband__c--2{left:2%;transform:rotate(-8deg);z-index:2}.o-csband__c--3{right:2%;transform:rotate(8deg);z-index:1}
.o-csband h2{font-size:clamp(26px,3.4vw,42px)}.o-csband p{color:var(--mute);max-width:60ch}
.o-csband h2 em{font-family:"Instrument Serif",Georgia,serif;font-style:italic;font-weight:400;background:var(--candy);-webkit-background-clip:text;background-clip:text;color:transparent}

/* rimando dalla categoria shorts e dalla home */
.o-cslink{display:grid;gap:18px;align-items:center;margin:0 0 26px;padding:18px;border-radius:var(--r);background:radial-gradient(120% 140% at 0 0,rgba(186,0,95,.35),transparent 60%),var(--glass);border:1px solid rgba(186,0,95,.5)}
@media(min-width:760px){.o-cslink{grid-template-columns:auto minmax(0,1fr) auto}}
.o-cslink__covers{display:flex}.o-cslink__covers span{width:62px;border-radius:10px;overflow:hidden;border:2px solid var(--bg2);margin-left:-14px;box-shadow:0 10px 20px -10px #000}.o-cslink__covers span:first-child{margin-left:0}
.o-cslink__covers .o-poster{border-radius:0}
.o-cslink b{display:block;font-size:19px;color:#fff;letter-spacing:-.02em}.o-cslink p{margin:2px 0 0;color:var(--mute);font-size:14.5px}
.o-stuck .o-dock__go{display:none}
/* filtri su una riga scorrevole su telefono */
@media(max-width:700px){.o-filter{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:0 calc(var(--gut) * -1) 18px;padding:2px var(--gut) 6px}.o-filter::-webkit-scrollbar{display:none}.o-filter .o-pill{flex:0 0 auto}}
/* episodi compatti su telefono */
@media(max-width:520px){.o-eps__row{grid-template-columns:46px minmax(0,1fr) auto;gap:10px}.o-eps__t{display:none}.o-eps__d{justify-self:start}}
/* scheda serie e twin: su telefono un solo bottone nella prima schermata */
@media(max-width:600px){.o-sx .o-acts .o-btn--ghost{display:none}}
/* griglia lunga: si apre a richiesta */
.o-grid__cell.is-extra{display:none}
.o-more{display:flex;justify-content:center;margin-top:24px}
