/* ==========================================================
   STILE "VETRO SATINATO" (anteprima)
   Caricato dopo style.css: sovrascrive solo l'aspetto.
   ========================================================== */
:root{
  --glass:rgba(18,44,80,.40);
  --glass-2:rgba(22,54,96,.52);
  --glass-hover:rgba(30,70,120,.55);
  --glass-line:rgba(170,215,255,.16);
  --glass-top:rgba(200,230,255,.30);
  --glass-blur:blur(18px) saturate(140%);
  --radius:18px;
  --radius-sm:12px;
}

/* Sfondo vivo: macchie di luce blu fisse + grana leggera */
html{overflow-x:hidden}
@supports (overflow:clip){html,body{overflow-x:clip}}
body{background:#040b17}
body::before{content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;
  background:
    radial-gradient(38vmax 32vmax at 12% 18%,rgba(22,135,232,.34),transparent 70%),
    radial-gradient(34vmax 30vmax at 88% 35%,rgba(63,111,224,.30),transparent 70%),
    radial-gradient(40vmax 34vmax at 30% 85%,rgba(80,183,232,.22),transparent 70%),
    radial-gradient(30vmax 26vmax at 80% 92%,rgba(45,97,208,.26),transparent 70%)}
body::after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.07;mix-blend-mode:overlay;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.section--alt{background:transparent}
.site-footer{background:rgba(3,9,18,.55);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border-top:1px solid var(--glass-line)}

/* Ricetta del pannello di vetro */
.card,.stats-grid,.lesson,.coach-modal,.contact-list a,.ig-fallback,.map,.map-consent,.day-tab,.room-chip,.chip-list li,.hours-card{
  background:linear-gradient(160deg,var(--glass-2),var(--glass));
  -webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);
  border:1px solid var(--glass-line);border-top-color:var(--glass-top);
  box-shadow:0 18px 40px rgba(0,6,24,.35),inset 0 1px 0 rgba(255,255,255,.06)}
.chip-list li{box-shadow:none;background:rgba(40,90,150,.35)}
.map-consent{border:0;box-shadow:none;border-radius:0}
.stats-grid .stat{border-color:var(--glass-line)}
.lesson{border-radius:var(--radius-sm)}
.lesson::before{border-radius:var(--radius-sm) 0 0 var(--radius-sm)}

/* Header in vetro */
.site-header.is-scrolled,.site-header.is-solid{background:rgba(6,16,32,.45);-webkit-backdrop-filter:blur(20px) saturate(150%);backdrop-filter:blur(20px) saturate(150%);border-bottom-color:var(--glass-line)}

/* Pulsanti: primario pieno, secondario in vetro */
.btn--ghost{--bg-btn:linear-gradient(160deg,rgba(40,90,150,.45),rgba(18,44,80,.40))}
.btn--ghost::before{-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border-color:var(--glass-top)}

/* Card delle sale: fascia di vetro sopra la foto */
.room .media::after{background:linear-gradient(180deg,rgba(4,16,32,0) 45%,rgba(4,16,32,.45) 100%)}
.room .card-body{margin:.8rem;border-radius:var(--radius-sm);background:rgba(10,28,52,.42);
  -webkit-backdrop-filter:blur(16px) saturate(140%);backdrop-filter:blur(16px) saturate(140%);
  border:1px solid var(--glass-line);border-top-color:var(--glass-top)}
.feature .card-body,.person .card-body{background:transparent}

/* Palinsesto: barra in vetro e evidenziatore */
.schedule-toolbar{background:rgba(6,16,32,.45);-webkit-backdrop-filter:blur(20px) saturate(150%);backdrop-filter:blur(20px) saturate(150%);border-bottom-color:var(--glass-line)}
.day-tab,.room-chip{box-shadow:none}
.room-filter .glass-pill i{background:rgba(22,135,232,.30);border-color:var(--blue-bright)}

/* Finestre e foto */
.coach-modal::backdrop,.lightbox::backdrop{background:rgba(3,9,18,.55);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.gallery-grid a,.gallery-mosaic a{border-radius:var(--radius-sm)}

/* Al passaggio del mouse il vetro si schiarisce */
@media (hover:hover) and (prefers-reduced-motion:no-preference){
  a.card:hover,.card--hover:hover,.card.step:hover,.card.discipline:hover,.lesson:hover{background:linear-gradient(160deg,var(--glass-hover),var(--glass-2));border-color:rgba(170,215,255,.32);border-top-color:rgba(220,240,255,.45)}
  .contact-list a:hover{background:linear-gradient(160deg,var(--glass-hover),var(--glass-2))}
}

/* Telefono: barra azioni a "isola" e vetro leggero sulle card */
@media(max-width:760px){
  .action-bar{left:.75rem;right:.75rem;bottom:calc(.6rem + env(safe-area-inset-bottom));padding:.35rem .4rem;border-radius:20px;
    background:rgba(8,22,42,.55);-webkit-backdrop-filter:blur(20px) saturate(150%);backdrop-filter:blur(20px) saturate(150%);
    border:1px solid var(--glass-line);border-top-color:var(--glass-top);box-shadow:0 14px 34px rgba(0,6,24,.55)}
  body{padding-bottom:90px}
  .card,.lesson,.contact-list a,.stats-grid,.ig-fallback{-webkit-backdrop-filter:none;backdrop-filter:none;background:linear-gradient(160deg,rgba(24,56,98,.62),rgba(14,36,66,.58))}
}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .card,.lesson,.stats-grid,.contact-list a,.room .card-body,.site-header.is-scrolled,.schedule-toolbar,.action-bar{background:rgba(10,28,52,.92)}
}

/* Palinsesto: giorni e sale dentro un'unica capsula, bolla tonda che scorre */
.day-tabs,.room-filter{margin:0;padding:5px;gap:2px;border-radius:999px;width:max-content;max-width:100%;
  background:linear-gradient(160deg,rgba(22,54,96,.55),rgba(14,36,66,.45));
  -webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);
  border:1px solid var(--glass-line);border-top-color:var(--glass-top);box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}
.day-tab,.room-chip{border:0;background:transparent;box-shadow:none;border-radius:999px;-webkit-backdrop-filter:none;backdrop-filter:none}
.day-tab{min-width:58px;padding:.45rem .95rem}
.room-chip{padding:.55rem 1rem}
.day-tabs .glass-pill i,.room-filter .glass-pill i{border-radius:999px}
.day-tabs .glass-pill i{box-shadow:0 4px 14px rgba(22,135,232,.45)}
.room-filter .glass-pill i{background:var(--grad);border:1px solid rgba(120,205,255,.7);box-shadow:0 4px 14px rgba(22,135,232,.45)}
.has-pill .room-chip[aria-pressed=true]{color:#fff}
.has-pill .room-chip[aria-pressed=true] i{background:#fff}
@media (hover:hover) and (prefers-reduced-motion:no-preference){
  .day-tab:hover,.room-chip:hover{transform:none;box-shadow:none;border-color:transparent;background:rgba(255,255,255,.06)}
  .has-pill .day-tab[aria-selected=true]:hover,.has-pill .room-chip[aria-pressed=true]:hover{background:transparent}
}
.day-tab{padding:.45rem 1.25rem}
@media(max-width:600px){
  .day-tabs{width:100%}
  .day-tab{flex:1 1 0;min-width:0;padding:.45rem .2rem}
  .day-tab b{font-size:1.3rem}
  .day-tab small{font-size:.56rem;letter-spacing:.04em}
}

/* Header: menu dentro una capsula di vetro, bolla sulla pagina attuale */
@media(min-width:1081px){
  .nav-list{position:relative;padding:5px;gap:2px;border-radius:999px;
    background:linear-gradient(160deg,rgba(22,54,96,.50),rgba(14,36,66,.40));
    -webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);
    border:1px solid var(--glass-line);border-top-color:var(--glass-top)}
  .nav-list li{position:relative;z-index:1}
  .nav-list a{padding:.55rem 1rem;border-radius:999px;transition:color .25s}
  .nav-list a::after{display:none}
  .nav-list li.nav-pill{position:absolute;top:0;left:0;z-index:0;pointer-events:none;border-radius:999px;opacity:0;
    background:var(--grad);border:1px solid rgba(120,205,255,.7);box-shadow:0 4px 14px rgba(22,135,232,.45);
    transition:transform .5s cubic-bezier(.34,1.35,.5,1),width .4s cubic-bezier(.34,1.25,.5,1),opacity .25s}
  .nav-list li.nav-pill.is-on{opacity:1}
  .nav-list li.nav-pill.no-anim{transition:opacity .25s}
  .nav-list.pill-hover a[aria-current=page]{color:#d7e6f4}
  .nav-list a.is-pill{color:#fff}
}
@media(max-width:1080px){.nav-list li.nav-pill{display:none}}

/* La bolla segue il mouse su giorni e sale */
@media (hover:hover){
  .day-tab:hover,.room-chip:hover{background:transparent!important}
  .has-pill.pill-hover .day-tab[aria-selected=true]:not(.is-pill) small{color:var(--subtle)}
  .has-pill.pill-hover .room-chip[aria-pressed=true]:not(.is-pill){color:inherit}
  .has-pill.pill-hover .room-chip[aria-pressed=true]:not(.is-pill) i{background:var(--c,var(--blue-bright))}
  .has-pill .day-tab.is-pill small{color:#dff1ff}
  .has-pill .room-chip.is-pill{color:#fff}
  .has-pill .room-chip.is-pill i{background:#fff}
}

/* Home: le foto delle sale si ingrandiscono al clic */
.room[data-lightbox]{cursor:zoom-in}
.room[data-lightbox] .media::before{content:"";position:absolute;top:.8rem;right:.8rem;z-index:2;width:40px;height:40px;border-radius:999px;opacity:0;transform:scale(.8);transition:opacity .3s,transform .3s var(--ease);
  background:rgba(10,28,52,.5) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-4-4M11 8v6M8 11h6'/%3E%3C/svg%3E") center/20px no-repeat;
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--glass-top)}
.room[data-lightbox]:hover .media::before,.room[data-lightbox]:focus-visible .media::before{opacity:1;transform:none}
@media (hover:none){.room[data-lightbox] .media::before{opacity:1;transform:none}}

/* ---- Correzioni telefono ---- */
/* 1) Numeri in Home: pannello pieno, così la linea blu della foto non lo attraversa */
.stats-grid{background:linear-gradient(160deg,#143259,#0c2240)}
@media(max-width:760px){.stats-grid{-webkit-backdrop-filter:none;backdrop-filter:none;background:linear-gradient(160deg,#143259,#0c2240)}}

/* 2) Menu su telefono: niente sfocatura sull'header (bloccava il pannello),
      il pannello del menu copre tutto lo schermo sotto l'header */
@media(max-width:1080px){
  .site-header.is-scrolled,.site-header.is-solid{-webkit-backdrop-filter:none;backdrop-filter:none;background:rgba(5,13,26,.97)}
  .site-nav{background:rgba(4,11,23,.97)}
}

/* 3) Galleria su telefono: due foto per riga */
@media(max-width:639px){
  .gallery-grid{columns:2;column-gap:.6rem}
  .gallery-grid figure{margin-bottom:.6rem}
}

/* Filtro sale su telefono: tutte e quattro le voci visibili senza scorrere */
.rc-short{display:none}
@media(max-width:600px){
  .room-filter{width:100%;overflow:visible}
  .room-chip{flex:1 1 0;min-width:0;justify-content:center;gap:.35rem;padding:.6rem .3rem;font-size:.86rem}
  .room-chip .rc-pre,.room-chip .rc-long{display:none}
  .room-chip .rc-short{display:inline}
}
@media(max-width:600px){.day-tab small{white-space:nowrap}}
@media(max-width:370px){.day-tab b{font-size:1.15rem}.day-tab small{font-size:.5rem;letter-spacing:0}.room-chip{font-size:.8rem}}

/* Scheda istruttore: la foto resta ferma, scorre solo il testo */
.coach-modal{overflow:hidden;display:none}
.coach-modal[open]{display:flex;flex-direction:column}
.cm-grid{flex:1;min-height:0;height:100%}
.cm-body{overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(99,184,255,.5) transparent}
.cm-body::-webkit-scrollbar{width:8px}.cm-body::-webkit-scrollbar-thumb{background:rgba(99,184,255,.45);border-radius:4px}
@media(min-width:720px){.coach-modal[open]{height:min(640px,calc(100dvh - 2rem))}.cm-grid{grid-template-rows:100%}.cm-media{min-height:0;height:100%}}
@media(max-width:719px){.cm-grid{display:flex;flex-direction:column}.cm-media{flex:none;aspect-ratio:auto;height:min(42vh,340px)}.cm-body{flex:1;min-height:0}}
.cm-bio .bio-list{margin:.6rem 0 0;padding-left:1.2rem}.cm-bio .bio-list li{margin:.35rem 0}
/* Pulsante Scarica PDF nel palinsesto */
.pdf-btn{flex:none}
@media(max-width:600px){.toolbar-right{flex-wrap:wrap}.pdf-btn{width:100%}}
