/* Scadenze in Fila */
:root{--notte:#000718;--notte-2:#1D2851;--azzurro:#009CDC;--blu:#379CFB;--blu-chiaro:#60A6E9;--grigio-mappa:#EEF0F2;--bordo:#D5D8DC;--font:"Inter",Arial,sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:90px}
body{margin:0px;background:#FFF;color:#000;font-family:var(--font);font-size:16px;line-height:1.5}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3,p,ul,ol,dl,dd,figure{margin:0px}
ul{padding:0px;list-style:none}
button,input,select,textarea{font:inherit;color:inherit}
.box{width:100%;max-width:1120px;margin:0px auto;padding:0px 20px}
.mt0{margin-top:0!important}
.cf::after{content:"";display:table;clear:both}

.bottone{display:inline-block;background:var(--blu);color:#000;font-weight:600;font-size:18px;padding:16px 40px;border:0;border-radius:4px;text-decoration:none;cursor:pointer;box-shadow:0px 12px 24px -8px rgba(55,156,251,.5);transition:background .25s,box-shadow .25s}
.bottone:hover{background:var(--blu-chiaro);box-shadow:0px 14px 28px -8px rgba(55,156,251,.6)}
.bottone--scuro{background:var(--notte);color:#FFF;box-shadow:none;font-size:16px;padding:14px 30px}
.bottone--scuro:hover{background:var(--notte-2)}
.bottone[disabled]{opacity:.6;cursor:wait}

/* testata fissa */
.capo-pagina{position:sticky;top:0px;z-index:40;background:rgba(0,7,24,.94);backdrop-filter:blur(6px)}
.capo-pagina__riga{display:flex;align-items:center;gap:40px;min-height:86px}
.capo-pagina__logo{border-left:2px solid var(--azzurro);padding-left:12px}
.capo-pagina__logo img{width:190px}
.capo-pagina__menu{display:flex;gap:26px;margin-left:auto}
.capo-pagina__menu a{color:#FFF;text-decoration:none;font-weight:600;font-size:15px;padding:8px 0px;border-bottom:2px solid transparent}
.capo-pagina__menu a:hover,.capo-pagina__menu a[aria-current]{border-bottom-color:var(--azzurro)}
.capo-pagina__tel{color:#FFF;font-size:14px;text-decoration:none;white-space:nowrap}
.capo-pagina__apri{display:none;margin-left:auto;background:none;border:1px solid rgba(255,255,255,.4);color:#FFF;border-radius:4px;padding:8px 14px;cursor:pointer}

/* hero con foto */
.hero{position:relative;color:#FFF;background:var(--notte);overflow:hidden}
.hero__foto{position:absolute;top:0px;right:0px;bottom:0px;left:0px}
.hero__foto img{width:100%;height:100%;object-fit:cover}
.hero::before{content:"";position:absolute;top:0px;right:0px;bottom:0px;left:0px;z-index:1;background:linear-gradient(136deg,#000718 42%,#00071800 74%)
  /* background:rgba(0,7,24,.7); */}
.hero__testo{position:relative;z-index:2;padding:60px 0px 80px;max-width:720px}
.hero h1{font-size:2.875rem;line-height:1.15;font-weight:700;letter-spacing:-.01em}
.hero__sotto{margin-top:30px;font-size:1.25rem;line-height:1.45;font-weight:500}
.hero__testo > p:not(.hero__sotto){margin-top:24px;font-size:16px}
.spunte{display:grid;grid-template-columns:1fr 1fr;gap:18px 40px;margin-top:40px}
.spunte li{display:flex;gap:12px;align-items:flex-start;font-size:16px}
.spunte svg{flex:0 0 22px;width:22px;height:22px;color:var(--azzurro)}
.hero .bottone{margin-top:44px}

/* sezioni con mappa chiara */
.mappa{background:#FFF url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1200' height='600' viewBox='0 0 1200 600'%3E%3Cg fill='%23eef0f2'%3E%3Cpath d='M90 140c60-40 160-60 230-30 40 18 30 70 80 80 50 10 70 60 40 100-40 50-120 40-160 90-30 40-90 50-130 10-50-50-120-60-110-140 6-50 10-80 50-110z'/%3E%3Cpath d='M520 90c70-30 170-20 230 20 60 40 40 100 110 120 80 22 140 70 120 140-20 60-110 70-170 40-70-35-130-10-190-50-60-40-40-110-100-150-40-28-60-90 0-120z'/%3E%3Cpath d='M820 420c40-20 100-10 120 30 18 40-10 80-60 80-50 0-100-60-60-110z'/%3E%3C/g%3E%3C/svg%3E") center/cover no-repeat}
.intro{padding-top:120px;padding-bottom:110px}
.occhiello{font-size:18px}
.titolo{font-size:1.875rem;line-height:1.3;font-weight:400;margin-top:12px}
.titolo b{font-weight:700}
.intro__testo{margin-top:20px;font-size:16px}
.icone{display:grid;grid-template-columns:1fr 1fr;gap:40px 50px;margin-top:40px}
.icona{display:flex;gap:20px;align-items:flex-start}
.icona__quadro{flex:0 0 58px;height:58px;background:var(--azzurro);display:flex;align-items:center;justify-content:center;color:#FFF}
.icona__quadro svg{width:28px;height:28px}
.icona h3{font-size:16px;font-weight:700}
.icona h3 small{display:block;font-weight:400;font-size:16px;margin-top:2px}
.icona p{margin-top:16px;font-size:16px}

/* metà scura con scritta enorme */
.meta{display:grid;grid-template-columns:1fr 1fr;background:var(--notte);color:#FFF;position:relative;overflow:hidden}
.meta__fondo{position:absolute;left:-20px;right:0px;top:20px;font-size:130px;font-weight:800;line-height:1.75;color:rgba(255,255,255,.045);white-space:nowrap;pointer-events:none;user-select:none}
.meta__testo{position:relative;padding:40px 65px 70px 80px}
.meta__testo h2{font-size:1.75rem;line-height:1.5;font-weight:400}
.meta__testo h2 b{font-weight:700}
.meta__testo > p{margin-top:24px}
.meta__foto img{width:100%;height:100%;object-fit:cover}
.fisarmonica{margin-top:70px;border-top:1px solid rgba(255,255,255,.25)}
.fisarmonica details{border-bottom:1px solid rgba(255,255,255,.25)}
.fisarmonica summary{list-style:none;cursor:pointer;padding:24px 50px 24px 20px;color:var(--azzurro);font-weight:700;position:relative}
.fisarmonica summary::-webkit-details-marker{display:none}
.fisarmonica summary::after{content:"→";position:absolute;right:20px;top:22px;font-size:18px}
.fisarmonica details[open] summary::after{content:"↓"}
.fisarmonica details p{padding:0px 20px 26px;border-top:1px solid rgba(255,255,255,.25);padding-top:22px}

/* schede foto */
.schede-sez{padding:70px 0px 70px}
.schede{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:40px}
.scheda{position:relative;height:450px;overflow:hidden;color:#FFF;text-decoration:none;display:flex;align-items:flex-end}
.scheda img{position:absolute;top:0px;right:0px;bottom:0px;left:0px;width:100%;height:100%;object-fit:cover;transition:transform .5s}
.scheda:hover img{transform:scale(1.04)}
.scheda::after{content:"";position:absolute;top:0px;right:0px;bottom:0px;left:0px;background:linear-gradient(180deg,rgba(0,7,24,.1) 30%,rgba(0,7,24,.88) 100%)}
.scheda__testo{position:relative;z-index:1;padding:0px 35px 40px}
.scheda h3{font-size:1.25rem;font-weight:700;line-height:1.2}
.scheda p{margin-top:8px;font-size:15px;line-height:1.55}
.centro{text-align:center;margin-top:40px}

/* firma del contenuto */
.firma{background:var(--notte-2);color:#FFF;border-radius:10px;padding:56px 50px;margin:80px 0px 50px}
.firma small{display:block;color:var(--azzurro);font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.firma h2{font-size:1.5rem;font-weight:700;margin-top:8px}
.firma p{margin-top:12px}

/* elenco con spunte */
.elenco{padding-bottom:80px}
.elenco h2{font-size:1.5rem;font-weight:700;padding-left:10px}
.elenco ul{display:grid;grid-template-columns:1fr 1fr;gap:14px 60px;margin-top:40px;padding-left:30px}
.elenco li{display:flex;gap:10px;align-items:center}
.elenco li svg{width:18px;height:18px;color:var(--azzurro);flex:0 0 18px}

/* modulo con calendario */
.modulo-sez{background:var(--notte);color:#FFF;padding:80px 0px}
.modulo-sez .titolo{color:#FFF}
.modulo{margin-top:30px;max-width:820px}
.riepilogo{border:1px solid #FF7A7A;background:rgba(255,90,90,.08);border-radius:4px;padding:14px 18px;margin-bottom:22px}
.riepilogo p{font-weight:700}
.riepilogo li{margin-top:4px;list-style:disc;margin-left:18px}
.riepilogo a{color:#FFB3B3}
.riepilogo[hidden]{display:none}
.calendario{border:0;padding:0px;margin:0px}
.calendario legend{font-weight:700;margin-bottom:14px}
.mesi{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.mese{border:1px solid rgba(255,255,255,.2);border-radius:10px;padding:16px}
.mese b{display:block;margin-bottom:10px;text-transform:capitalize}
.mese__giorni{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;font-size:12px;text-align:center}
.mese__giorni span{padding:6px 0px;color:rgba(255,255,255,.62)}
.mese__giorni .nome{color:rgba(255,255,255,.7);font-weight:600}
.mese__giorni label{position:relative;cursor:pointer}
.mese__giorni label input{position:absolute;opacity:0;width:1px;height:1px}
.mese__giorni label span{display:block;width:30px;height:30px;line-height:30px;margin:0px auto;padding:0px;border-radius:50%;background:#0079B3;color:#FFF;font-weight:700}
.mese__giorni label input:checked + span{background:#FFF;color:var(--notte);box-shadow:0px 0px 0px 3px var(--azzurro)}
.mese__giorni label input:focus-visible + span{outline:2px solid #FFF;outline-offset:2px}
.mese small{display:block;margin-top:10px;font-size:13px;color:rgba(255,255,255,.75)}
.campi{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:26px}
.campi label{display:block;font-size:14px;font-weight:600;margin-bottom:6px}
.campi input,.campi select{width:100%;padding:13px 14px;border:1px solid var(--bordo);border-radius:4px;background:#FFF;color:#000;font-size:16px}
.campi .tutto{grid-column:1/-1}
.consenso{display:flex;gap:10px;margin:18px 0px 24px;font-size:15px}
.consenso input{width:18px;height:18px;margin-top:3px;flex:0 0 18px;accent-color:var(--azzurro)}
.consenso a{color:#FFF}
.nascosto{display:none}
.esito{margin-top:20px;padding:16px 18px;border-radius:4px;background:#0B2A4F;border-left:4px solid var(--azzurro)}
.esito[hidden]{display:none}
#domande-due{padding-top:80px;padding-bottom:80px}

/* faq affiancate */
.due{display:grid;grid-template-columns:1fr 1fr;gap:0px 60px;margin-top:30px}
.due details{border-bottom:1px solid var(--bordo)}
.due summary{cursor:pointer;padding:18px 30px 18px 0px;font-weight:700;list-style:none;position:relative}
.due summary::-webkit-details-marker{display:none}
.due summary::after{content:"+";position:absolute;right:0px;top:16px;font-size:1.25rem;color:var(--azzurro)}
.due details[open] summary::after{content:"−"}
.due details p{padding-bottom:18px}

/* chiamata finale */
.chiama{position:relative;min-height:660px;display:flex;align-items:center;overflow:hidden}
.chiama > img{position:absolute;top:0px;right:0px;bottom:0px;left:0px;width:100%;height:100%;object-fit:cover}
.chiama__box{position:relative;margin-left:auto;margin-right:10px;width:610px;background:#0079B3;color:#FFF;border-radius:10px;padding:50px}
.chiama__box h2{font-size:1.875rem;font-weight:700}
.chiama__box h3{font-size:1.625rem;font-weight:400;margin-top:12px}
.chiama__box p{margin-top:20px}
.chiama__box .bottone{margin-top:26px}
.chiama__box a.mail{color:#FFF;font-weight:700}

/* interne: testata e corpo */
.testa{background:var(--notte);color:#FFF;padding:60px 0px 50px}
.testa h1{font-size:2.5rem;line-height:1.2;font-weight:700}
.testa p{margin-top:16px;font-size:18px}
.corpo{padding:60px 0px 70px}
.corpo h2{font-size:1.625rem;font-weight:700;margin-top:44px;line-height:1.3}
.corpo h2:first-child{margin-top:0px}
.corpo p,.corpo ul,.corpo ol,.corpo table{margin-top:16px}
.corpo ul li{display:flex;gap:10px;margin-top:8px}
.corpo ul li::before{content:"✓";color:var(--azzurro);font-weight:700}
.corpo ol{padding-left:22px}
.corpo ol li{margin-top:8px}
.tabella{width:100%;border-collapse:collapse;font-size:15px}
.tabella th,.tabella td{text-align:left;padding:12px;border-bottom:1px solid var(--bordo);vertical-align:top}
.tabella th{background:var(--notte);color:#FFF;font-weight:600}
.tabella .unita td{background:#E8F5FC}
.scorre{overflow-x:auto}
.legale{padding:50px 0px 70px}
.legale h2{font-size:1.375rem;font-weight:700;margin-top:34px}
.legale p,.legale ul{margin-top:12px}
.legale li{margin-top:6px;padding-left:16px;position:relative}
.legale li::before{content:"";width:8px;height:2px;top:.75em;background:var(--azzurro);position:absolute;left:0px;color:var(--azzurro)}

/* piede */
.fondo-pagina{background:var(--notte);color:#FFF;padding:80px 0px 30px}
.fondo-pagina__riga{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:40px}
.fondo-pagina img{width:190px}
.fondo-pagina p{margin-top:24px;font-size:15px;line-height:1.55}
.fondo-pagina h2{font-size:16px;font-weight:700;margin-bottom:14px}
.fondo-pagina li{margin-top:6px;font-size:15px}
.fondo-pagina a{text-decoration:none}
.fondo-pagina a:hover{text-decoration:underline}
.fondo-pagina__base{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;border-top:1px solid rgba(255,255,255,.15);margin-top:60px;padding-top:24px;font-size:12px}
.fondo-pagina__base a,.fondo-pagina__base button{text-decoration:underline;background:none;border:0;color:#FFF;font-size:12px;cursor:pointer;padding:0px;margin-left:18px}

/* carta dei cookie */
.carta-cookie{position:fixed;right:20px;bottom:20px;z-index:9999;width:360px;max-width:calc(100% - 40px);background:#FFF;color:#000;border-radius:10px;box-shadow:0px 18px 40px rgba(0,7,24,.3);padding:24px}
.carta-cookie[hidden]{display:none}
.carta-cookie h2{font-size:17px;font-weight:700}
.carta-cookie p{margin-top:10px;font-size:14px}
.carta-cookie__azioni{display:flex;gap:10px;margin-top:16px}
.carta-cookie__azioni button{flex:1 1 0;padding:11px 10px;border-radius:4px;border:1px solid var(--notte);background:#FFF;font-weight:600;cursor:pointer;font-size:14px}
.carta-cookie__azioni .pieno{background:var(--notte);color:#FFF}

a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--azzurro);outline-offset:3px}

@media (max-width:1024px){
.capo-pagina__menu,.capo-pagina__tel{display:none}
.capo-pagina__apri{display:block}
.capo-pagina.aperta .capo-pagina__menu{display:flex;flex-direction:column;gap:0px;position:absolute;top:100%;left:0px;right:0px;background:var(--notte);padding:10px 20px 20px}
.capo-pagina.aperta .capo-pagina__menu a{padding:12px 0px;border-bottom:1px solid rgba(255,255,255,.12)}
.hero h1{font-size:38px}
.schede{grid-template-columns:repeat(2,1fr)}
.meta__testo{padding:40px 30px 60px}
.fondo-pagina__riga{grid-template-columns:1fr 1fr}
.mesi{grid-template-columns:1fr 1fr}
}
@media (max-width:767px){
.hero h1{font-size:1.875rem}
.hero__sotto{font-size:18px}
.spunte,.icone,.elenco ul,.due,.campi,.mesi{grid-template-columns:1fr}
.meta{grid-template-columns:1fr}
.meta__foto{order:-1}
.meta__foto img{height:300px}
.meta__fondo{font-size:80px}
.schede{grid-template-columns:1fr}
.scheda{height:380px}
.firma{padding:36px 24px}
.chiama{min-height:0;padding:260px 0px 20px}
.chiama__box{width:auto;margin:0px 16px;padding:32px 24px}
.fondo-pagina__riga{grid-template-columns:1fr}
.intro{padding-top:70px;padding-bottom:70px}
.testa h1{font-size:1.875rem}
.fondo-pagina__base a,.fondo-pagina__base button{margin:0px 18px 0px 0px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
@media (max-width:767px){.hero::before{background:linear-gradient(180deg,rgba(0,7,24,.9) 0,rgba(0,7,24,.78) 100%)}}

/* giornata ora per ora */
.giornata{padding-top:80px;padding-bottom:76px;background:var(--grigio-mappa)}
.giornata__linea{list-style:none;margin:40px 0px 0px;padding:0px;display:grid;grid-template-columns:repeat(6,1fr);gap:0px;border-top:2px solid var(--notte)}
.giornata__linea li{position:relative;padding:28px 18px 0px 0px}
.giornata__linea li::before{content:"";position:absolute;top:-9px;left:0px;width:16px;height:16px;border-radius:50%;background:var(--azzurro);border:3px solid var(--grigio-mappa)}
.giornata__linea time{font-weight:700;font-size:1.125rem}
.giornata__linea h3{margin-top:6px;font-size:1rem;font-weight:700}
.giornata__linea p{margin-top:6px;font-size:.9375rem;color:#333}
.giornata__pausa time,.giornata__pausa h3{color:#6B7280}
.giornata__pausa::before{background:#B8BDC6!important}
/* castello */
.castello{display:grid;grid-template-columns:1fr 1fr;align-items:center;background:var(--notte);color:#FFF}
.castello__foto img{width:100%;height:100%;min-height:420px;object-fit:cover}
.castello__testo{padding:50px 60px}
.castello__testo .titolo{color:#FFF}
.castello__testo p:not(.occhiello){margin-top:16px}
/* date raccontate */
.esempi-date{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:16px}
.esempio-data{border:1px solid var(--bordo);border-radius:4px;padding:16px 18px}
.esempio-data--unita{background:#E8F5FC;border-color:var(--azzurro)}
.esempio-data p{margin-top:6px}
@media (max-width:1024px){.giornata__linea{grid-template-columns:repeat(3,1fr);row-gap:30px}}
@media (max-width:767px){.giornata__linea{grid-template-columns:1fr;border-top:0;border-left:2px solid var(--notte);row-gap:0px}.giornata__linea li{padding:0px 0px 22px 26px}.giornata__linea li::before{top:2px;left:-9px}.castello{grid-template-columns:1fr}.castello__foto img{min-height:260px}.castello__testo{padding:32px 20px}.esempi-date{grid-template-columns:1fr}}
.giornata__adesso h3{color:var(--azzurro)}

/* quando sbaglia */
.scusa{padding-top:72px;padding-bottom:72px;border-top:1px solid var(--bordo);border-bottom:1px solid var(--bordo)}
.scusa__frase{margin:16px 0px 0px;padding:0px 0px 0px 24px;border-left:4px solid var(--azzurro);font-size:1.75rem;line-height:1.35;font-style:italic;max-width:780px}
.scusa__testo{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:32px}
@media (max-width:767px){.scusa{padding-top:48px;padding-bottom:48px}.scusa__frase{font-size:1.375rem}.scusa__testo{grid-template-columns:1fr;gap:16px}}
