
:root{--sand:#FFF;--paper:#FBFAF8;--ink:#141210;--muted:#6E675F;--line:#E7E3DC;
--lava:#E1251B;--ocean:#2B8FD4;--sun:#F5C518;--basalt:#100F0E;
--shadow:0 1px 2px rgba(20,18,16,.04),0 8px 28px rgba(20,18,16,.06);--r:14px;--max:1280px;
--ff-d:'Schibsted Grotesk','Inter',system-ui,-apple-system,sans-serif;--ff-b:'Inter',system-ui,-apple-system,sans-serif}
html[data-theme="dark"]{--sand:#0F0E0D;--paper:#181614;--ink:#F4F0E9;--muted:#9A938A;
--line:#2B2724;--basalt:#000;--shadow:0 1px 2px rgba(0,0,0,.4),0 10px 34px rgba(0,0,0,.5)}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;overflow-x:hidden}
body{margin:0;background:var(--sand);color:var(--ink);font-family:var(--ff-b);
font-size:16.5px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}
h1,h2,h3{font-family:var(--ff-d);font-weight:600;line-height:1.12;letter-spacing:-.015em;margin:0}
.topbar{background:var(--basalt);color:#F4F0E9;font-size:12px}
.topbar .wrap{display:flex;align-items:center;justify-content:space-between;height:38px}
.langs{display:flex;gap:10px}.langs a{color:#B9B2A8}.langs a[aria-current]{color:#fff;font-weight:600}
.hdr{border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--sand);z-index:20}
.hdr .wrap{display:flex;align-items:center;gap:16px;height:74px}
.brand{display:flex;align-items:center;gap:11px}
.brand img{width:38px;height:38px;object-fit:contain}
.brand b{font-family:var(--ff-d);font-size:21px;font-weight:700;display:block;line-height:1}
.brand span{font-size:11px;color:var(--muted);letter-spacing:.04em}
.art{max-width:760px;margin:0 auto;padding:0 24px}
.eyebrow{font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
color:var(--lava);display:block;margin:44px 0 14px}
.art h1{font-size:clamp(30px,5vw,46px);margin-bottom:18px}
.meta{color:var(--muted);font-size:14px;padding-bottom:22px;border-bottom:1.5px solid var(--ink);
margin-bottom:30px}
.hero{border-radius:var(--r);overflow:hidden;margin:0 0 32px;box-shadow:var(--shadow)}
figure.hero{margin:0 0 32px}
figure.hero figcaption{font-size:11.5px;color:var(--muted);padding:9px 2px 0;line-height:1.45}
.body{font-size:18px;line-height:1.75}
.body p{margin:0 0 1.3em}
.body h2{font-size:27px;margin:1.9em 0 .6em}
.body h3{font-size:22px;margin:1.6em 0 .5em}
.body img{border-radius:10px;margin:1.8em 0}
.body a{color:var(--ocean);text-decoration:underline;text-underline-offset:2px}
.body ul,.body ol{padding-left:1.3em;margin:0 0 1.3em}
.body blockquote{margin:1.6em 0;padding-left:20px;border-left:3px solid var(--lava);
font-family:var(--ff-d);font-size:21px;line-height:1.4}
.firma{margin:44px 0 0;padding-top:22px;border-top:1px solid var(--line);
font-family:var(--ff-d);font-size:17px;font-weight:600}
.firma span{display:block;font-family:var(--ff-b);font-size:13px;font-weight:400;
color:var(--muted);margin-top:3px}
.tags{display:flex;flex-wrap:wrap;gap:8px;margin:26px 0 0}
.tags a{font-size:12px;font-weight:600;letter-spacing:.04em;padding:6px 12px;
border:1px solid var(--line);border-radius:999px;color:var(--muted)}
.tags a:hover{border-color:var(--lava);color:var(--lava)}
.also{background:var(--paper);margin-top:64px;padding:52px 0;border-top:1px solid var(--line)}
.also h2{font-size:24px;margin-bottom:24px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(255px,1fr));gap:26px}
.card img{border-radius:10px;aspect-ratio:16/10;object-fit:cover;margin-bottom:11px;
background:var(--line)}
.card b{font-family:var(--ff-d);font-size:17px;font-weight:600;line-height:1.25;display:block}
.card i{font-style:normal;font-size:12px;color:var(--muted);display:block;margin-top:5px}
.card:hover b{color:var(--lava)}
footer{background:var(--basalt);color:#B9B2A8;padding:44px 0;margin-top:0;font-size:14px}
footer a{color:#fff}
.f-bot{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;
border-top:1px solid rgba(255,255,255,.12);margin-top:26px;padding-top:20px;font-size:12.5px}
@media(max-width:640px){.art{padding:0 20px}.body{font-size:17px}}

/* ---- segnaposto senza foto ---- */
.ph{display:flex;align-items:center;justify-content:center;border-radius:10px;
aspect-ratio:16/10;background:linear-gradient(135deg,var(--basalt),#2b2724);
margin-bottom:11px;overflow:hidden}
.ph i{font-style:normal;font-family:var(--ff-b);font-size:11px;font-weight:700;
letter-spacing:.18em;text-transform:uppercase;color:var(--sun);text-align:center;padding:0 12px}
.si .ph{aspect-ratio:1;margin:0}
.si .ph i{font-size:9px;letter-spacing:.12em}
.hero .ph{aspect-ratio:16/9;border-radius:var(--r);margin:0}
.hero .ph i{font-size:15px}
.lead-main .ph{aspect-ratio:16/9;border-radius:var(--r);margin:0}
.lead-main .ph i{font-size:15px}


/* ---- interattivita' ---- */
.iconbtn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;
border-radius:8px;color:inherit;background:none;border:0;cursor:pointer;padding:0}
.iconbtn:hover{background:rgba(128,128,128,.18)}
.topbar .iconbtn{color:#B9B2A8}
.tb-r{display:flex;align-items:center;gap:12px}
.hdr{transition:height .25s ease}
.hdr.small .wrap{height:58px}
.hdr .wrap{transition:height .25s ease}
.burger{display:none;margin-left:auto}
.drawer{position:fixed;inset:0;background:rgba(16,15,14,.55);z-index:60;
opacity:0;pointer-events:none;transition:opacity .22s ease}
.drawer.open{opacity:1;pointer-events:auto}
.drawer nav{position:absolute;top:0;right:0;bottom:0;width:min(84vw,320px);
background:var(--sand);padding:28px 26px;display:flex;flex-direction:column;gap:2px;
transform:translateX(100%);transition:transform .26s cubic-bezier(.22,.7,.3,1);overflow-y:auto}
.drawer.open nav{transform:none}
.drawer nav a{font-family:var(--ff-d);font-size:19px;font-weight:600;padding:11px 0;
border-bottom:1px solid var(--line)}
.drawer nav a:last-child{border:0}
.drawer nav b{font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
color:var(--muted);margin:22px 0 6px}
/* Il menu passa sopra l'intestazione, quindi copre l'hamburger: senza questa
   il solo modo per chiuderlo sarebbe indovinare la striscia scura di fianco. */
.drawer nav .chiudi{align-self:flex-end;background:none;border:0;color:var(--muted);
font-size:32px;line-height:1;padding:0 2px 4px;margin:-8px -4px 2px 0;cursor:pointer}
.drawer nav .chiudi:hover{color:var(--ink)}
.pills a[aria-pressed="true"]{border-color:var(--lava);color:var(--lava);
background:rgba(225,37,27,.06)}
.rev{opacity:0;transform:translateY(12px);transition:opacity .5s ease,transform .5s ease}
.rev.in{opacity:1;transform:none}
@media(max-width:860px){.burger{display:inline-flex}}



/* ============ BATTITO ============ */
.topbar .wrap{height:42px;font-size:12.5px}
.oggi{display:flex;align-items:center;gap:16px;color:var(--muted);
text-transform:capitalize;letter-spacing:.01em}
.oggi .meteo{display:inline-flex;align-items:center;gap:7px;font-weight:700;color:var(--ink)}
.oggi .pallino{width:7px;height:7px;border-radius:50%;background:var(--sun);
box-shadow:0 0 0 3px rgba(245,197,24,.25);animation:puls 2.6s ease-in-out infinite}
@keyframes puls{0%,100%{opacity:1}50%{opacity:.45}}
@media(max-width:700px){.oggi .sep{display:none}.oggi{gap:10px;font-size:11.5px}}

/* copertina a tutta altezza */
.lead-main{min-height:min(76vh,660px)}
.lead-main h2{font-size:clamp(32px,5.2vw,62px);line-height:.99;letter-spacing:-.03em}
.lead-main .txt{padding:44px 46px 40px}
.lead-main p{font-size:17px}
@media(max-width:980px){.lead-main{min-height:min(58vh,440px)}}

/* striscia agenda: e' questa che fa sembrare la rivista viva */
.agenda{background:var(--basalt);color:#F4F0E9;margin-top:34px;border-radius:var(--r);
overflow:hidden}
.agenda .head{display:flex;align-items:center;gap:12px;padding:16px 22px 6px}
.agenda .head b{font-family:var(--ff-b);font-size:11px;font-weight:800;letter-spacing:.2em;
text-transform:uppercase;color:var(--sun)}
.agenda .head span{font-size:12px;color:#9A938A}
.rail{display:flex;gap:12px;overflow-x:auto;padding:12px 22px 22px;
scroll-snap-type:x mandatory;scrollbar-width:none}
.rail::-webkit-scrollbar{display:none}
.ev{flex:0 0 auto;width:236px;scroll-snap-align:start;display:grid;
grid-template-columns:56px 1fr;gap:13px;align-items:start;padding:14px;border-radius:10px;
background:rgba(255,255,255,.055);transition:background .2s ease,transform .2s ease}
.ev:hover{background:rgba(255,255,255,.11);transform:translateY(-2px)}
.ev .data{text-align:center;background:var(--lava);border-radius:8px;padding:7px 0 6px;
line-height:1}
.ev .data u{display:block;font-family:var(--ff-d);font-size:22px;font-weight:700;
text-decoration:none}
.ev .data i{display:block;font-style:normal;font-size:9.5px;font-weight:800;
letter-spacing:.14em;text-transform:uppercase;margin-top:3px;opacity:.9}
.ev b{font-family:var(--ff-d);font-size:14.5px;font-weight:600;line-height:1.22;display:block}
.ev i{font-style:normal;font-size:11px;color:#9A938A;display:block;margin-top:5px}
.ev.oggi-ev .data{background:var(--sun);color:var(--basalt)}

/* ============ COPERTINA E GERARCHIA ============ */
.lead{display:grid;grid-template-columns:1.55fr 1fr;gap:0;padding:0;border:0;
margin:34px 0 0;align-items:stretch}
.lead-main{position:relative;border-radius:var(--r);overflow:hidden;min-height:460px;
display:flex;align-items:flex-end;box-shadow:var(--shadow);isolation:isolate}
.lead-main img,.lead-main .ph{position:absolute;inset:0;width:100%;height:100%;
object-fit:cover;margin:0;border-radius:0;aspect-ratio:auto;z-index:-2}
.lead-main::after{content:"";position:absolute;inset:0;z-index:-1;
background:linear-gradient(to top,rgba(12,11,10,.92) 0%,rgba(12,11,10,.55) 38%,
rgba(12,11,10,.06) 72%,transparent 100%)}
/* Nella scheda grande il segnaposto e' lo SFONDO (position:absolute, inset:0),
   quindi la sua etichetta finiva stampata in mezzo alla card, sopra
   l'occhiello che dice gia' la stessa identica cosa: due volte "ARTE E
   CULTURA", una sull'altra. Lo sfondo serve, la scritta doppia no. */
.lead-main .ph i{display:none}
.lead-main .txt{padding:38px 40px 34px;color:#fff;width:100%}
.lead-main .eyebrow{color:var(--sun);margin:0 0 12px}
.lead-main h2{font-size:clamp(28px,3.5vw,44px);color:#fff;letter-spacing:-.022em;
line-height:1.05;text-wrap:balance}
.lead-main p{color:rgba(255,255,255,.82);margin:14px 0 0;font-size:16px;max-width:52ch}
/* La sottolineatura rossa era pensata per il passaggio del mouse. Sul
   telefono il mouse non c'e': al primo tocco :hover resta appiccicato e il
   titolo si ritrova righe rosse sotto ogni riga, che sembrano un errore.
   Si applica solo dove un puntatore esiste davvero. */
@media (hover:hover) and (pointer:fine){
  .lead-main:hover h2{text-decoration:underline;text-underline-offset:5px;
  text-decoration-thickness:2px;text-decoration-color:var(--lava)}
}
.side{padding:0 0 0 34px;gap:0;justify-content:flex-start}
.si{grid-template-columns:78px 1fr;gap:15px;padding:17px 0;border-bottom:1px solid var(--line)}
.si:first-child{padding-top:0}
.si img,.si .ph{border-radius:8px}
.si b{font-size:16px;line-height:1.22}

/* etichetta di sezione colorata */
.kick{font-size:10.5px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;
display:inline-block;padding:5px 9px;border-radius:5px;background:var(--lava);color:#fff;
margin-bottom:11px}
.k-agenda{background:#0F7B6C} .k-cultura{background:#7C4DBE} .k-isola{background:#C2410C}
.k-whatson{background:#0F7B6C} .k-termine{background:#0F7B6C}
.k-culture{background:#7C4DBE} .k-kultur{background:#7C4DBE}
.k-laisla{background:#C2410C} .k-theisland{background:#C2410C} .k-dieinsel{background:#C2410C}
.k-lisola{background:#C2410C} .k-lile{background:#C2410C}

/* griglia con prima card larga */
.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:30px 26px}
.grid .card{grid-column:span 4}
.grid .card:nth-child(1),.grid .card:nth-child(2){grid-column:span 6}
.card img,.card .ph{aspect-ratio:16/10;border-radius:10px;margin-bottom:13px;
transition:transform .5s cubic-bezier(.2,.7,.3,1)}
.card{overflow:hidden}
.card>img,.card>.ph{will-change:transform}
.card:hover img{transform:scale(1.035)}
.card b{font-size:18.5px;line-height:1.22;letter-spacing:-.011em}
.card:nth-child(1) b,.card:nth-child(2) b{font-size:23px}
.card i{margin-top:7px;font-size:12.5px}

/* intestazione di sezione */
.sec{padding:60px 0 20px}
.sec-head{align-items:center;border-bottom:2.5px solid var(--ink);padding-bottom:14px;
margin-bottom:30px}
.sec-head h2{font-size:clamp(24px,3.2vw,36px);letter-spacing:-.02em}
.sec-head::before{content:"";display:block;width:34px;height:5px;background:var(--lava);
margin-right:14px;border-radius:3px;flex:0 0 auto}
.pills{gap:8px;margin-bottom:32px}
.pills a{padding:7px 15px;font-size:12.5px;border-radius:6px;font-weight:700;
letter-spacing:.02em}

/* articolo: piu' aria */
.art h1{letter-spacing:-.024em;text-wrap:balance}
.body p:first-of-type{font-size:20px;line-height:1.62;color:var(--ink)}

/* topbar piu' discreta, tasto tema meno invadente */
.topbar{background:var(--paper);color:var(--muted);border-bottom:1px solid var(--line)}
.topbar .langs a{color:var(--muted)}
.topbar .langs a[aria-current]{color:var(--ink);font-weight:700}
.topbar .iconbtn{color:var(--muted);opacity:.55}
.topbar .iconbtn:hover{opacity:1}

@media(max-width:980px){
  .lead{grid-template-columns:1fr}
  .lead-main{min-height:340px}
  .side{padding:26px 0 0}
  .grid{grid-template-columns:repeat(6,1fr)}
  .grid .card{grid-column:span 3}
  .grid .card:nth-child(1),.grid .card:nth-child(2){grid-column:span 6}
}
@media(max-width:620px){
  .grid{grid-template-columns:1fr;gap:26px}
  .grid .card,.grid .card:nth-child(1),.grid .card:nth-child(2){grid-column:span 1}
  .card:nth-child(1) b,.card:nth-child(2) b{font-size:20px}
  .lead-main .txt{padding:26px 22px 22px}
}


/* ---- homepage ---- */
.nav{display:flex;gap:22px;font-size:13.5px;font-weight:600;letter-spacing:.02em;margin-left:auto}
.nav a:hover{color:var(--lava)}
.lead{display:grid;grid-template-columns:1.7fr 1fr;gap:34px;padding:40px 0 52px;
border-bottom:1.5px solid var(--ink)}
.lead-main img{border-radius:var(--r);aspect-ratio:16/9;object-fit:cover;box-shadow:var(--shadow)}
.lead-main h2{font-size:clamp(28px,3.6vw,42px);margin:20px 0 12px}
.lead-main p{color:var(--muted);margin:0;font-size:16.5px}
.side{display:flex;flex-direction:column;gap:18px}
.si{display:grid;grid-template-columns:88px 1fr;gap:14px;align-items:start;
padding-bottom:16px;border-bottom:1px solid var(--line)}
.si:last-child{border:0}
.si img{border-radius:8px;aspect-ratio:1;object-fit:cover;background:var(--line)}
.si b{font-family:var(--ff-d);font-size:15.5px;font-weight:600;line-height:1.25;display:block}
.si i{font-style:normal;font-size:11.5px;color:var(--muted);display:block;margin-top:5px}
.si:hover b{color:var(--lava)}
.sec{padding:52px 0}
.sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;
padding-bottom:16px;margin-bottom:28px;border-bottom:1.5px solid var(--ink)}
.sec-head h2{font-size:clamp(23px,3vw,34px)}
.pills{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:30px}
.pills a{font-size:12.5px;font-weight:600;padding:8px 15px;border:1px solid var(--line);
border-radius:999px;color:var(--muted)}
.pills a:hover{border-color:var(--lava);color:var(--lava)}
@media(max-width:860px){.lead{grid-template-columns:1fr;gap:30px}.nav{display:none}}

/* ============ CORREZIONI ESTETICHE (in coda: vincono sul resto) ============ */
body{font-size:16px}

/* testata: barra colorata del marchio, logo piu' grande */
.hdr{border-bottom:0;box-shadow:0 1px 0 var(--line)}
.hdr::after{content:"";display:block;height:4px;
background:linear-gradient(90deg,var(--lava) 0 34%,var(--sun) 34% 67%,var(--ocean) 67% 100%)}
.hdr .wrap{height:82px}
.brand{gap:13px}
.brand img{width:54px;height:54px}
.brand b{font-size:27px;font-weight:700;letter-spacing:-.03em;line-height:.98}
.brand span span{font-size:10px;letter-spacing:.15em;text-transform:uppercase;
color:var(--muted);margin-top:5px;display:block}
.nav{gap:26px;font-size:14px;font-weight:700}
.nav a{position:relative;padding:6px 0}
.nav a::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:2.5px;
background:var(--lava);transition:right .25s ease}
.nav a:hover::after{right:0}

/* COPERTINA */
.lead{margin:26px 0 0;gap:0;border:0;padding:0}
.lead-main{min-height:min(70vh,600px);border-radius:12px}
.lead-main::after{background:linear-gradient(to top,
rgba(10,9,8,.95) 0%,rgba(10,9,8,.84) 28%,rgba(10,9,8,.44) 58%,rgba(10,9,8,.1) 100%)}
.lead-main .txt{padding:0 42px 38px;width:100%;max-width:none}
.lead-main h2{font-size:clamp(30px,4.4vw,52px);line-height:1.02;color:#fff;
text-shadow:0 2px 24px rgba(0,0,0,.4)}
.lead-main p{color:#fff;opacity:.95;font-size:16.5px;margin:13px 0 0;max-width:60ch;
text-shadow:0 1px 12px rgba(0,0,0,.55)}
.kick{font-size:10px;letter-spacing:.16em;padding:6px 10px}

/* COLONNA: lista numerata compatta */
.side{padding:0 0 0 30px;justify-content:flex-start;counter-reset:n}
.side::before{content:"Ultime";font-family:var(--ff-b);font-size:10px;font-weight:800;
letter-spacing:.2em;text-transform:uppercase;color:var(--lava);
padding-bottom:9px;border-bottom:2.5px solid var(--ink);margin-bottom:2px;display:block}
.si{grid-template-columns:30px 1fr;gap:14px;padding:15px 0;align-items:start}
.si img,.si .ph{display:none}
.si::before{counter-increment:n;content:counter(n,decimal-leading-zero);
font-family:var(--ff-d);font-size:19px;font-weight:700;color:#D8D2C8;line-height:1.05}
.si:hover::before{color:var(--lava)}
.si b{font-size:16.5px;line-height:1.26}
.si i{font-size:11.5px;margin-top:4px}

/* SEZIONE: titolo a sinistra, filetto che riempie */
.sec{padding:46px 0 20px}
.sec-head{display:flex;align-items:center;gap:18px;border:0;padding:0;margin-bottom:22px}
.sec-head h2{font-size:clamp(23px,2.8vw,32px);white-space:nowrap}
.sec-head::after{content:"";flex:1;height:2.5px;background:var(--ink)}
.pills{margin-bottom:26px}

/* GRIGLIA densa */
.grid{gap:34px 24px}
.grid .card,.grid .card:nth-child(1),.grid .card:nth-child(2){grid-column:span 4}
.card img,.card .ph{aspect-ratio:3/2;margin-bottom:12px;border-radius:8px}
.card b,.card:nth-child(1) b,.card:nth-child(2) b{font-size:18px;line-height:1.24}
.card .kick{margin-bottom:9px}

/* AGENDA */
.agenda{margin-top:30px;border-radius:12px}
.agenda .head{padding:15px 20px 4px}
.rail{padding:10px 20px 20px;gap:10px}
.ev{width:212px;padding:12px;grid-template-columns:48px 1fr;gap:11px}
.ev .data u{font-size:20px}
.ev b{font-size:13.5px;line-height:1.26;display:-webkit-box;-webkit-line-clamp:3;
-webkit-box-orient:vertical;overflow:hidden}
.ev i{margin-top:4px;font-size:10.5px}

/* PIEDE */
footer{padding:52px 0 40px;margin-top:56px}
footer::before{content:"";display:block;height:4px;margin-bottom:40px;
background:linear-gradient(90deg,var(--lava) 0 34%,var(--sun) 34% 67%,var(--ocean) 67% 100%)}

@media(max-width:980px){
.lead-main{min-height:min(52vh,400px)}
.side{padding:24px 0 0}
.grid .card,.grid .card:nth-child(1),.grid .card:nth-child(2){grid-column:span 3}}
@media(max-width:620px){
.grid .card,.grid .card:nth-child(1),.grid .card:nth-child(2){grid-column:span 1}
.lead-main .txt{padding:0 22px 26px}}


/* ==================== LINGUAGGIO DELLA DEMO ==================== */
:root{
  --sand:#F7F4EE;        /* fondo crema */
  --card:#FFFFFF;        /* le schede sono bianche sopra il crema */
  --paper:#FFFFFF; --ink:#141210; --muted:#6E675F; --line:#E4DED4;
  --lava:#E1251B; --ocean:#2B8FD4; --sun:#F5C518; --verde:#0F9D6E; --rosa:#E85D9B;
  --basalt:#12100E; --r:14px;
  --ff-d:'Schibsted Grotesk','Inter',system-ui,-apple-system,sans-serif;
  --ff-b:'Inter',system-ui,-apple-system,sans-serif;
  --shadow:0 1px 2px rgba(20,18,16,.04),0 10px 30px rgba(20,18,16,.07);
}
html[data-theme="dark"]{--sand:#0F0E0D;--card:#181614;--paper:#181614;--ink:#F4F0E9;
--muted:#9A938A;--line:#2B2724}
body{background:var(--sand);font-size:16px;letter-spacing:0}
h1,h2,h3{font-family:var(--ff-d);font-weight:600;letter-spacing:-.018em;line-height:1.06}

/* TESTATA: menu completo + bottone newsletter */
.hdr{background:var(--card)}
.hdr::after{display:none}
.hdr .wrap{height:72px}
.brand b{font-family:var(--ff-d);font-size:23px;font-weight:700;letter-spacing:-.02em}
.brand span span{font-size:9px;letter-spacing:.16em;font-weight:600;color:var(--muted)}
.nav{gap:22px;font-size:12.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.nav a::after{display:none}
.nav a:hover{color:var(--lava)}
.hdr-cta{margin-left:18px;background:var(--lava);color:#fff;font-size:13px;font-weight:700;
padding:10px 20px;border-radius:999px;white-space:nowrap}
.hdr-cta:hover{background:#c41f16}
.topbar{background:var(--basalt);color:rgba(255,255,255,.72);border:0}
.topbar .oggi{color:rgba(255,255,255,.72)}
.topbar .oggi .meteo{color:#fff}
.topbar .langs a{color:rgba(255,255,255,.55);font-weight:600;font-size:11.5px}
.topbar .langs a[aria-current]{background:var(--lava);color:#fff;padding:3px 8px;
border-radius:999px}

/* STRISCIA ROSSA scorrevole: il battito della home */
.ticker{background:var(--lava);color:#fff;overflow:hidden;position:relative}
.ticker .track{display:flex;gap:0;white-space:nowrap;
animation:scorri 46s linear infinite;will-change:transform}
.ticker:hover .track{animation-play-state:paused}
@keyframes scorri{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.ticker i{font-style:normal;display:inline-flex;align-items:center;gap:9px;
padding:9px 22px;font-size:12.5px;letter-spacing:.01em}
.ticker i::before{content:"";width:5px;height:5px;border-radius:50%;
background:rgba(255,255,255,.75);flex:0 0 auto}
.ticker b{font-weight:800;letter-spacing:.08em;font-size:11.5px}

/* COPERTINA come la demo */
.lead{grid-template-columns:1.6fr 1fr;gap:0;margin:26px 0 0}
.lead-main{border-radius:10px;min-height:min(56vh,470px)}
.lead-main::after{background:linear-gradient(to top,rgba(10,9,8,.93) 0%,
rgba(10,9,8,.72) 32%,rgba(10,9,8,.3) 62%,transparent 100%)}
.lead-main .txt{padding:0 40px 34px}
.lead-main h2{font-family:var(--ff-d);font-size:clamp(28px,3.7vw,44px);font-weight:600;
line-height:1.05;letter-spacing:-.02em;color:#fff}
.lead-main p{font-size:15.5px;opacity:.86;margin-top:12px;max-width:56ch}
.kick{font-family:var(--ff-b);font-size:10px;font-weight:800;letter-spacing:.16em;
padding:0;background:none!important;color:var(--lava)!important;border-radius:0;
display:inline-flex;align-items:center;gap:8px;margin-bottom:10px}
.kick::before{content:"";width:16px;height:2px;background:currentColor;flex:0 0 auto}
.lead-main .kick{color:#fff!important}

/* COLONNA ULTIME NOTIZIE con miniature, come la demo */
.side{padding:0 0 0 32px;counter-reset:none}
.side::before{content:"Ultime notizie";font-family:var(--ff-b);font-size:10px;font-weight:800;
letter-spacing:.16em;text-transform:uppercase;color:var(--ink);
padding-bottom:11px;border-bottom:1px solid var(--line);margin-bottom:0;display:block}
.si{grid-template-columns:74px 1fr;gap:14px;padding:16px 0;border-bottom:1px solid var(--line)}
.si::before{display:none}
.si img,.si .ph{display:block;border-radius:6px;aspect-ratio:4/3}
.si b{font-family:var(--ff-d);font-size:15.5px;font-weight:600;line-height:1.24}
.si i{font-size:11.5px;color:var(--muted);margin-top:5px}

/* SEZIONI con occhiello rosso + link a destra */
.sec{padding:52px 0 12px}
.sec-head{display:block;border:0;padding:0;margin-bottom:22px}
.sec-head .occhiello{font-family:var(--ff-b);font-size:10px;font-weight:800;
letter-spacing:.16em;text-transform:uppercase;color:var(--lava);display:flex;
align-items:center;gap:8px;margin-bottom:8px}
.sec-head .occhiello::before{content:"";width:18px;height:2px;background:currentColor}
.sec-head .riga{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;
border-bottom:1px solid var(--ink);padding-bottom:12px}
.sec-head h2{font-size:clamp(25px,3.2vw,34px);font-weight:600}
.sec-head .piu{font-family:var(--ff-b);font-size:13px;font-weight:600;white-space:nowrap;
border-bottom:2px solid var(--lava);padding-bottom:2px}
.sec-head .piu:hover{color:var(--lava)}

/* AGENDA: schede bianche, data serif grande, luogo, etichetta colorata */
.agenda{background:none!important;border-radius:0;margin-top:0;color:var(--ink)}
.agenda h2,.agenda .piu{color:var(--ink)}
.agenda .occhiello{color:var(--lava)}
.agenda .head{display:none}
.rail{padding:2px 2px 16px;gap:16px}
.ev{width:216px;display:block;background:var(--card);border:1px solid var(--line);
border-radius:10px;padding:18px 18px 16px;box-shadow:0 1px 2px rgba(20,18,16,.03)}
.ev:hover{transform:translateY(-3px);box-shadow:var(--shadow);background:var(--card)}
.ev .data{display:flex;align-items:baseline;gap:7px;background:none;padding:0;text-align:left}
.ev .data u{font-family:var(--ff-d);font-size:31px;font-weight:700;color:var(--ink);
display:inline}
.ev .data i{display:inline;font-size:11px;font-weight:800;letter-spacing:.12em;
color:var(--lava);text-transform:uppercase;margin:0}
.ev b{font-family:var(--ff-d);font-size:15.5px;font-weight:600;line-height:1.24;
color:var(--ink);margin-top:11px;-webkit-line-clamp:2}
.ev>span:last-child{display:block}
.ev i.luogo{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted);
margin-top:9px}
.ev i.luogo::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--lava)}
.ev .tag{display:inline-block;margin-top:12px;font-family:var(--ff-b);font-size:10px;
font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:5px 10px;
border-radius:5px;background:#E8F6F0;color:#0B6E4F}
.ev.oggi-ev .tag{background:#FDEEEC;color:var(--lava)}
.ev .data,.ev.oggi-ev .data{background:none!important;color:inherit;padding:0;border-radius:0}
.ev .data u{color:var(--ink)!important}
.ev .data i{color:var(--lava)!important}
.ev b{-webkit-line-clamp:3}

/* PILLOLE come la demo: attiva nera */
.pills a{background:var(--card);border:1px solid var(--line);color:var(--ink);
font-weight:600;font-size:13px;padding:9px 17px}
.pills a:hover{border-color:var(--ink)}
.pills a[aria-pressed="true"]{background:var(--ink);color:#fff;border-color:var(--ink)}

/* SCHEDE: occhiello colorato, titolo serif, sommario, luogo e data */
.grid{gap:38px 26px}
.card img,.card .ph{border-radius:8px;aspect-ratio:16/10;margin-bottom:14px}
.card .kick{margin-bottom:9px}
.card b{font-family:var(--ff-d);font-size:19px;font-weight:600;letter-spacing:-.015em;
line-height:1.2}
.card p{font-size:14.5px;color:var(--muted);line-height:1.5;margin:9px 0 0}
.card i{font-size:12px;color:var(--muted);margin-top:9px}
.card:hover b{color:var(--lava)}
/* prima scheda grande, seconda media, poi tre in fila */
.grid .card:nth-child(1){grid-column:span 7}
.grid .card:nth-child(2){grid-column:span 5}
.grid .card:nth-child(n+3){grid-column:span 4}
.grid .card:nth-child(1) b{font-size:25px}
.grid .card:nth-child(1) img,.grid .card:nth-child(1) .ph{aspect-ratio:16/9}

footer{background:var(--basalt)}
footer::before{display:none}
@media(max-width:980px){
.grid .card:nth-child(1),.grid .card:nth-child(2){grid-column:span 6}
.grid .card:nth-child(n+3){grid-column:span 3}}
@media(max-width:620px){
.grid .card,.grid .card:nth-child(1),.grid .card:nth-child(2),
.grid .card:nth-child(n+3){grid-column:span 1}
.nav,.hdr-cta{display:none}}

/* ==================== BIANCO + COLORE ==================== */
:root{
  --sand:#FFFFFF; --card:#FFFFFF; --line:#EAE7E1;
  --lava:#F5322B; --ocean:#0FB3C4; --indigo:#5B3DF5; --sun:#FFC20E;
  --verde:#12B27F; --rosa:#FF5FA2;
}
html[data-theme="dark"]{--sand:#0D0C0B;--card:#171513;--line:#2B2724}
body{background:var(--sand)}
.hdr{border-bottom:1px solid var(--line)}

/* COPERTINA */
.lead-main{border-radius:16px;box-shadow:0 18px 50px rgba(20,18,16,.16)}
.lead-main .kick{color:var(--sun)!important}

/* SEZIONI */
.sec-head .riga{border-bottom:2px solid var(--ink)}
.sec-head .piu{border-bottom-color:var(--lava)}

/* AGENDA su fascia turchese a tutta larghezza */
.sec.agenda{background:var(--ocean);margin:52px 0 0;padding:44px 0 34px;position:relative}
.sec.agenda::before{content:"";position:absolute;top:0;bottom:0;left:50%;width:100vw;
transform:translateX(-50%);background:var(--ocean);z-index:-1}
.sec.agenda>*{position:relative}
.sec.agenda .sec-head h2,.sec.agenda .piu{color:#fff}
.sec.agenda .sec-head .occhiello{color:#fff}
.sec.agenda .sec-head .riga{border-bottom-color:rgba(255,255,255,.45)}
.sec.agenda .piu{border-bottom-color:#fff}
.ev{border:0;box-shadow:0 6px 18px rgba(0,0,0,.10)}
.ev:hover{box-shadow:0 14px 34px rgba(0,0,0,.18)}
.ev .data i{color:var(--ocean)!important}
.ev i.luogo::before{background:var(--ocean)}
.ev .tag{background:#E7FAF7;color:#0A7A6B}
.ev.oggi-ev .tag{background:var(--lava);color:#fff}
.ev.oggi-ev .data u{color:var(--lava)!important}

/* SCHEDE: filetto colorato che si allunga */
.card{position:relative;padding-top:13px}
.card::before{content:"";position:absolute;top:0;left:0;width:38px;height:4px;
border-radius:2px;background:var(--line);transition:width .35s ease,background .35s ease}
.card:hover::before{width:100%}
.card[data-c*="genda"]::before,.card[data-c*="hat"]::before,
.card[data-c*="ermine"]::before{background:var(--ocean)}
.card[data-c*="ultur"]::before,.card[data-c*="ulture"]::before,
.card[data-c*="ultur"]::before{background:var(--indigo)}
.card[data-c*="sola"]::before,.card[data-c*="sla"]::before,
.card[data-c*="sland"]::before,.card[data-c*="nsel"]::before{background:var(--sun)}

/* ETICHETTE colorate */
.k-agenda,.k-whatson,.k-termine{color:var(--ocean)!important}
.k-cultura,.k-culture,.k-kultur{color:var(--indigo)!important}
.k-isola,.k-lisola,.k-laisla,.k-theisland,.k-dieinsel,.k-lile{color:#C08400!important}

.pills a[aria-pressed="true"]{background:var(--lava);border-color:var(--lava);color:#fff}
.side::before{border-bottom:2px solid var(--lava);color:var(--lava)}

/* NEWSLETTER a tutta larghezza */
.news{background:var(--indigo);color:#fff;padding:54px 0;margin-top:64px;position:relative}
.news::before{content:"";position:absolute;inset:0;left:50%;width:100vw;
transform:translateX(-50%);background:var(--indigo);z-index:-1}
.news .wrap{position:relative;display:flex;align-items:center;justify-content:space-between;
gap:32px;flex-wrap:wrap}
.news h3{font-family:var(--ff-d);font-size:clamp(24px,3vw,34px);color:#fff;max-width:20ch;
font-weight:600;line-height:1.1}
.news p{margin:10px 0 0;color:rgba(255,255,255,.82);font-size:15px;max-width:48ch}
.news a{background:#fff;color:var(--indigo);font-weight:700;font-size:15px;
padding:15px 30px;border-radius:999px;white-space:nowrap}
.news a:hover{background:var(--sun);color:#3A2A00}

footer{margin-top:0}
footer::before{content:"";display:block;height:6px;margin-bottom:0;
background:linear-gradient(90deg,var(--lava) 0 25%,var(--sun) 25% 50%,
var(--ocean) 50% 75%,var(--indigo) 75% 100%)}
@media(max-width:620px){.sec.agenda{padding:32px 0 24px}
.news .wrap{flex-direction:column;align-items:flex-start}}
/* ---- NAVIGA PER TERRITORIO ---- */
.terr{padding:52px 0 10px}
.muni{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px}
.mu{display:flex;align-items:baseline;justify-content:space-between;gap:10px;
padding:20px 20px;border:1px solid var(--line);border-radius:12px;background:var(--card);
transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease}
.mu:hover{border-color:var(--ocean);transform:translateY(-2px);
box-shadow:0 10px 26px rgba(15,179,196,.16)}
.mu b{font-family:var(--ff-d);font-size:19px;font-weight:600;letter-spacing:-.015em}
.mu i{font-style:normal;font-size:12px;color:var(--muted);white-space:nowrap}
.mu:hover i{color:var(--ocean)}

/* ---- VIVERE E VISITARE: fascia scura ---- */
.vivi{background:var(--basalt);color:#F4F0E9;padding:52px 0 56px;margin-top:56px;
position:relative}
.vivi::before{content:"";position:absolute;inset:0;left:50%;width:100vw;
transform:translateX(-50%);background:var(--basalt);z-index:-1}
.vivi>*{position:relative}
.vivi .sec-head h2{color:#fff}
.vivi .sec-head .occhiello{color:var(--sun)}
.vivi .sec-head .riga{border-bottom-color:rgba(255,255,255,.28)}
.gcards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:26px}
.gc img,.gc .ph{border-radius:10px;aspect-ratio:4/3;margin-bottom:13px}
.gc b{font-family:var(--ff-d);font-size:18px;font-weight:600;line-height:1.22;
letter-spacing:-.015em;color:#fff;display:block}
.gc p{margin:8px 0 0;font-size:13.5px;color:#A9A199;line-height:1.5}
.gc:hover b{color:var(--sun)}
@media(max-width:620px){.muni{grid-template-columns:1fr 1fr}}

/* ==================== FEDELE ALLA DEMO ==================== */
:root{
  --sand:#FFFFFF; --card:#FFFFFF; --line:#E4DDD2;
  --lava:#E1251B;      /* rosso della demo */
  --ocean:#2B8FD4;     /* blu atlantico della demo */
  --sun:#F5C518;       /* giallo della demo */
  --verde:#1E9E6A;
  --basalt:#100F0E;
}
html[data-theme="dark"]{--sand:#0F0E0D;--card:#181614;--line:#2B2724;--basalt:#000}

/* AGENDA: schede bianche sul fondo pagina, come la demo. Niente fascia colorata. */
.sec.agenda,.agenda{background:none!important;padding:14px 0 56px;margin:0;
border-radius:0;color:var(--ink)}
.sec.agenda::before{display:none}
.sec.agenda .sec-head h2,.sec.agenda .piu,.agenda h2,.agenda .piu{color:var(--ink)}
.sec.agenda .sec-head .occhiello{color:var(--ocean)}
.sec.agenda .sec-head .riga{border-bottom-color:var(--ink)}
.sec.agenda .piu{border-bottom-color:var(--lava)}
.rail{gap:16px;padding:4px 0 18px}
.ev{width:268px;flex:0 0 268px;display:flex;flex-direction:column;gap:12px;
padding:20px;background:var(--card);border:1px solid var(--line);border-radius:14px;
box-shadow:none;transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease}
.ev:hover{transform:translateY(-4px);border-color:transparent;
box-shadow:0 1px 2px rgba(20,18,16,.04),0 8px 28px rgba(20,18,16,.10)}
.ev .data{display:flex;align-items:baseline;gap:8px;font-family:var(--ff-d);
background:none;padding:0;border-radius:0;text-align:left}
.ev .data u{font-size:40px;font-weight:700;line-height:.85;letter-spacing:-.03em;
text-decoration:none;color:var(--ink)}
.ev .data i{font-family:var(--ff-b);font-size:12px;font-weight:700;letter-spacing:.14em;
text-transform:uppercase;color:var(--lava)!important;font-style:normal}
.ev b{font-family:var(--ff-d);font-size:16.5px;font-weight:600;line-height:1.3;flex:1;
display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.ev i.luogo{font-size:12.5px;color:var(--muted);font-style:normal;display:flex;
align-items:center;gap:6px;margin:0}
.ev i.luogo::before{content:"";width:5px;height:5px;border-radius:50%;
background:var(--ocean);flex:none}
.ev .tag{align-self:flex-start;font-size:10.5px;font-weight:700;letter-spacing:.1em;
text-transform:uppercase;padding:4px 10px;border-radius:100px;
background:rgba(43,143,212,.14);color:var(--ocean)}
.ev.oggi-ev .tag{background:rgba(30,158,106,.15);color:var(--verde)}
.ev.oggi-ev .data u{color:var(--ink)!important}

/* FEED: prima scheda grande su due colonne, come la demo */
.grid{grid-template-columns:repeat(3,1fr);gap:30px 26px}
.grid .card{grid-column:span 1}
.grid .card:nth-child(1){grid-column:span 2}
.grid .card:nth-child(1) img,.grid .card:nth-child(1) .ph{aspect-ratio:16/9}
.grid .card:nth-child(1) b{font-size:27px}
.card img,.card .ph{aspect-ratio:16/11;border-radius:14px}
.card b{font-size:20px;line-height:1.22}
.card::before{display:none}
.card{padding-top:0}
.pill-more{display:flex;justify-content:center;margin-top:46px}
.pill-more button{border:1.5px solid var(--ink);background:none;color:var(--ink);
padding:13px 26px;border-radius:100px;font-size:14px;font-weight:600;cursor:pointer;
transition:.2s}
.pill-more button:hover{background:var(--ink);color:var(--sand)}

/* TERRITORIO: riquadri che si invertono al passaggio, come la demo */
.terr{padding:56px 0 0;border-top:1px solid var(--line);margin-top:20px}
.muni{grid-template-columns:repeat(4,1fr);gap:14px}
.mu{transition:.25s}
.mu:hover{background:var(--ink);color:var(--sand);border-color:var(--ink);
transform:translateY(-3px);box-shadow:none}
.mu:hover i{color:rgba(255,255,255,.6)}

/* GUIDE: foto a tutto campo con testo sopra, come la demo */
.vivi{padding:76px 0;margin-top:20px}
.gcards{grid-template-columns:repeat(3,1fr);gap:24px}
.gc{position:relative;border-radius:14px;overflow:hidden;min-height:330px;display:flex;
align-items:flex-end;isolation:isolate}
.gc img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;
margin:0;border-radius:0;aspect-ratio:auto;filter:saturate(.85);
transition:transform .9s cubic-bezier(.2,.8,.2,1),filter .5s}
.gc:hover img{transform:scale(1.07);filter:saturate(1.05)}
.gc::after{content:"";position:absolute;inset:0;z-index:-1;
background:linear-gradient(180deg,rgba(0,0,0,.12) 22%,rgba(0,0,0,.62) 62%,rgba(0,0,0,.92) 100%)}
.gc .gc-in{padding:26px;color:#fff}
.gc .gc-in b{font-family:var(--ff-d);font-size:24px;font-weight:600;line-height:1.15;
color:#fff;display:block;margin-top:10px}
.gc .gc-in p{margin:7px 0 0;font-size:12.5px;color:rgba(255,255,255,.72);line-height:1.5}
.gc .gc-in .kick{color:#fff;font-size:10.5px;font-weight:700;letter-spacing:.16em;
text-transform:uppercase;display:inline-flex;align-items:center;gap:7px;background:none;
padding:0}
.gc .gc-in .kick::before{content:"";width:16px;height:2px;background:var(--sun)}

/* NEWSLETTER: riquadro rosso con modulo, come la demo */
.news{background:none!important;padding:76px 0;margin-top:0;color:var(--ink)}
.news::before{display:none}
.news .wrap{display:block;padding:0}
.nl-box{background:var(--lava);color:#fff;border-radius:22px;
padding:clamp(32px,5vw,60px);display:grid;grid-template-columns:1.1fr .9fr;gap:40px;
align-items:center;position:relative;overflow:hidden}
.nl-box::before{content:"";position:absolute;right:-90px;top:-90px;width:340px;height:340px;
border-radius:50%;border:44px solid rgba(255,255,255,.09)}
.nl-box h3{font-family:var(--ff-d);font-size:clamp(28px,4vw,42px);color:#fff;
font-weight:600;line-height:1.08;max-width:22ch;position:relative}
.nl-box p{color:rgba(255,255,255,.86);margin:14px 0 0;font-size:15.5px;max-width:44ch;
position:relative}
.nl-form{display:flex;gap:10px;flex-wrap:wrap;position:relative;z-index:1}
.nl-form input{flex:1;min-width:200px;padding:15px 20px;border-radius:100px;border:0;
background:rgba(255,255,255,.96);color:var(--basalt);font-size:15px;font-family:inherit}
.nl-form input::placeholder{color:#8B837A}
.nl-form button{background:var(--basalt);color:#fff;padding:15px 26px;border-radius:100px;
font-weight:600;font-size:14.5px;border:0;cursor:pointer;font-family:inherit;transition:.2s}
.nl-form button:hover{transform:translateY(-1px)}
.nl-note{font-size:12px;color:rgba(255,255,255,.7);margin-top:12px;position:relative}

/* PIEDE a colonne, come la demo */
footer{background:var(--basalt);color:#B9B2A8;padding:64px 0 30px;font-size:14px;margin:0}
footer::before{display:none}
.f-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:36px}
footer h5{font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
color:#fff;margin:0 0 16px}
footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}
footer a{color:inherit}
footer a:hover{color:#fff}
.f-brand img{height:62px;width:auto;margin-bottom:14px}
/* Il logo per esteso porta gia' dentro 'Living Lanzarote': qui non
   serve ripeterlo in caratteri. La versione scura ha 'LANZAROTE' in
   bianco perche' l'originale ce l'ha blu notte, e su nero sparirebbe. */
.f-brand .marchio-esteso{height:auto;width:min(230px,72%);margin-bottom:18px}
.f-brand .nome{font-family:var(--ff-d);font-size:24px;font-weight:700;color:#fff;
margin:-4px 0 12px}
.f-brand p{margin:0;max-width:34ch;line-height:1.65}
.f-social{display:flex;gap:10px;margin-top:20px}
.f-social a{width:38px;height:38px;border-radius:50%;
border:1px solid rgba(255,255,255,.16);display:grid;place-items:center;transition:.2s}
.f-social a:hover{background:#fff;color:var(--basalt);border-color:#fff}
.f-bot{margin-top:46px;padding-top:22px;border-top:1px solid rgba(255,255,255,.12);
display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:12.5px}

@media(max-width:980px){.grid{grid-template-columns:repeat(2,1fr)}
.muni{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.gcards{grid-template-columns:1fr}
.f-grid{grid-template-columns:1fr 1fr}}
@media(max-width:860px){.nl-box{grid-template-columns:1fr}}
@media(max-width:600px){.grid{grid-template-columns:1fr}
.grid .card:nth-child(1){grid-column:span 1}
.ev{width:232px;flex:0 0 232px}}
/* respiro giusto fra le fasce: prima c'era un buco che sembrava un errore */
.sec.agenda,.agenda{padding:14px 0 26px!important}
.sec.agenda + .sec{padding-top:34px}
.verso-archivio{grid-column:1/-1;margin:26px 0 0;font-size:14px}
.verso-archivio a{border-bottom:1.5px solid var(--lava);padding-bottom:2px;font-weight:600}
.verso-archivio a:hover{color:var(--lava)}

.rail{padding-bottom:8px}

/* copertina: l'occhiello deve leggersi anche su una facciata bianca */
.lead-main::after{background:linear-gradient(to top,
rgba(10,9,8,.96) 0%,rgba(10,9,8,.86) 26%,rgba(10,9,8,.52) 52%,
rgba(10,9,8,.14) 78%,rgba(10,9,8,.04) 100%)}
.lead-main .kick{text-shadow:0 1px 10px rgba(0,0,0,.75)}
.lead-main img{object-position:center 42%}

/* griglia: tre colonne, la prima scheda ne occupa due (come la demo) */
.grid{grid-template-columns:repeat(3,1fr)!important}
.grid .card,.grid .card:nth-child(1),.grid .card:nth-child(2),
.grid .card:nth-child(n+3){grid-column:span 1!important}
.grid .card:nth-child(1){grid-column:span 2!important}
@media(max-width:980px){.grid{grid-template-columns:repeat(2,1fr)!important}
.grid .card:nth-child(1){grid-column:span 2!important}}
@media(max-width:600px){.grid{grid-template-columns:1fr!important}
.grid .card,.grid .card:nth-child(1){grid-column:span 1!important}}

/* ══════════════════ TELEFONO ══════════════════
   In fondo a tutto: le regole qui vincono sempre, e' l'errore
   che mi ha fatto vedere il desktop anche sul telefono. */
@media(max-width:820px){
  html,body{overflow-x:clip;max-width:100%}
  .wrap{padding:0 16px}

  /* ── testata compatta e appiccicata in alto */
  .topbar{font-size:11px}
  .topbar .wrap{height:34px;gap:8px}
  .topbar .sep,.topbar .meteo b{display:inline}
  .hdr{position:sticky;top:0;z-index:70}
  .hdr .wrap{height:60px;gap:12px}
  .brand img{width:34px;height:34px}
  .brand b{font-size:19px}
  .brand span span{display:none}
  .nav,.hdr-cta{display:none}
  .burger{display:grid;width:42px;height:42px}

  /* ── ticker piu' basso */
  .ticker{font-size:11.5px;padding:7px 0}

  /* ── COPERTINA: una colonna, immagine vera in cima */
  .lead{display:block!important;margin:14px 0 0!important;gap:0!important;padding:0!important}
  .lead-main{min-height:0!important;border-radius:14px;display:block;position:relative;
  aspect-ratio:4/5;max-height:62vh}
  .lead-main img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
  .lead-main .txt{padding:0 18px 20px!important;position:absolute;bottom:0;left:0;right:0}
  .lead-main h2{font-size:26px!important;line-height:1.08}
  .lead-main p{font-size:14.5px;margin-top:9px;display:-webkit-box;-webkit-line-clamp:3;
  -webkit-box-orient:vertical;overflow:hidden}

  /* ── ULTIME: lista sotto, con miniatura a sinistra */
  .side{display:block!important;padding:22px 0 0!important;margin:0}
  .side::before{margin-bottom:2px}
  .si{display:grid!important;grid-template-columns:74px 1fr;gap:12px;padding:13px 0;
  align-items:center}
  .si img,.si .ph{display:block!important;width:74px;height:56px;object-fit:cover;
  border-radius:8px;margin:0;aspect-ratio:auto}
  .si b{font-size:15px;line-height:1.28}
  .si::before{display:none}

  /* ── SEZIONI: titolo sopra, link sotto, niente tagli */
  .sec{padding:26px 0 6px}
  .sec-head{display:block;margin-bottom:16px}
  .sec-head .riga{display:flex;align-items:baseline;justify-content:space-between;gap:12px;
  flex-wrap:wrap;border-bottom:2px solid var(--ink);padding-bottom:10px}
  .sec-head h2{font-size:25px!important;white-space:normal}
  .sec-head .piu{font-size:12.5px;white-space:nowrap}
  .sec-head::after{display:none}

  /* ── AGENDA: scorre in orizzontale con lo scatto, come un carosello */
  .sec.agenda,.agenda{padding:8px 0 22px!important}
  .rail{margin:0 -16px;padding:4px 16px 14px;gap:11px;scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch}
  .ev{width:75vw;max-width:280px;flex:0 0 auto;scroll-snap-align:start;padding:16px}
  .ev b{font-size:15.5px;-webkit-line-clamp:2}

  /* ── PILLOLE: una riga sola che scorre, non tre righe accavallate */
  .pills{display:flex;flex-wrap:nowrap;overflow-x:auto;margin:0 -16px 20px;
  padding:0 16px 6px;gap:8px;scrollbar-width:none}
  .pills::-webkit-scrollbar{display:none}
  .pills a{flex:0 0 auto;padding:9px 15px;font-size:13.5px}

  /* ── GRIGLIA: una colonna piena */
  .grid{display:block!important}
  .grid .card,.grid .card:nth-child(1),.grid .card:nth-child(2),
  .grid .card:nth-child(n+3){grid-column:auto!important;margin-bottom:30px}
  .card img,.card .ph{aspect-ratio:16/10!important;border-radius:12px}
  .card b,.grid .card:nth-child(1) b{font-size:19px!important;line-height:1.24}
  .card p{font-size:14.5px;-webkit-line-clamp:3;display:-webkit-box;
  -webkit-box-orient:vertical;overflow:hidden}

  /* ── TERRITORIO e GUIDE */
  .terr{padding:30px 0 0}
  .muni{grid-template-columns:1fr 1fr!important;gap:10px}
  .mu{padding:15px 14px;display:block}
  .mu b{font-size:16px;display:block}
  .mu i{font-size:11px;display:block;margin-top:3px}
  .vivi{padding:34px 0 38px}
  .gcards{grid-template-columns:1fr!important;gap:16px}
  .gc{min-height:230px}
  .gc .gc-in{padding:18px}
  .gc .gc-in b{font-size:20px}

  /* ── SPONSOR e NEWSLETTER */
  .spon{padding:30px 0 6px}
  .piani{grid-template-columns:1fr!important;gap:14px}
  .news{padding:34px 0}
  .nl-box{padding:26px 22px;border-radius:18px}
  .nl-box::before{display:none}
  .nl-form{flex-direction:column}
  .nl-form input,.nl-form button{width:100%}

  /* ── PIEDE a due colonne */
  .f-grid{grid-template-columns:1fr 1fr!important;gap:24px}
  .f-brand{grid-column:1/-1}
  .f-bot{flex-direction:column;gap:8px;font-size:11.5px}

  /* ── ARTICOLO leggibile */
  article p,article li{font-size:17px;line-height:1.66}
  article h2{font-size:22px;margin-top:26px}
  article img{border-radius:10px}
}

/* ══════════════════ BARRA IN BASSO (solo telefono) ══════════════════
   Le sei sezioni sempre a portata di pollice: e' quello che fa
   sembrare un sito un'applicazione. */

.drawer a.mini{font-size:17px;padding:9px 0;font-family:var(--ff-b);font-weight:500;
display:inline-block;margin-right:16px;border:0}


/* ══════════════════ CARATTERE ══════════════════
   Schibsted Grotesk: un grottesco disegnato per le testate giornalistiche.
   Serve un carattere solo, con pesi diversi: e' quello che rende minimale
   una pagina, non l'aggiunta di un secondo carattere decorativo. */
:root{
  --ff-d:'Schibsted Grotesk','Inter',system-ui,-apple-system,sans-serif;
  --ff-b:'Inter',system-ui,-apple-system,sans-serif;
}

/* ── IL MARCHIO: nero, stretto, senza fronzoli */
.brand b{
  font-family:var(--ff-d)!important;
  font-weight:800!important;
  letter-spacing:-.045em!important;
  color:var(--ink)!important;
  font-size:24px;
  line-height:1;
}
html[data-theme="dark"] .brand b{color:#F4F0E9!important}
.brand span span{
  font-family:var(--ff-b);font-size:8.5px;font-weight:600;letter-spacing:.26em;
  text-transform:uppercase;color:var(--muted);margin-top:4px
}
.f-brand .nome{font-family:var(--ff-d);font-weight:800;letter-spacing:-.045em}

/* ── TITOLI: stesso carattere, pesi che scendono con la gerarchia */
h1,h2,h3,h4,.card b,.si b,.ev b,.gc b,.mu b,.piano h3,.news h3,.nl-box h3{
  font-family:var(--ff-d);
  font-variation-settings:normal;
}
h1,.art h1{font-weight:800;letter-spacing:-.035em;line-height:1.06}
.lead-main h2{font-weight:800;letter-spacing:-.035em;line-height:1.03}
.sec-head h2{font-weight:700;letter-spacing:-.03em}
.card b{font-weight:700;letter-spacing:-.022em;line-height:1.2}
.si b{font-weight:650;letter-spacing:-.018em}
.ev b{font-weight:650;letter-spacing:-.015em}
.gc .gc-in b{font-weight:750;letter-spacing:-.028em}
.mu b{font-weight:700;letter-spacing:-.025em}
.piano h3{font-weight:750;letter-spacing:-.025em}
.nl-box h3{font-weight:800;letter-spacing:-.032em}
.art h2{font-weight:750;letter-spacing:-.024em}
.ev .data u{font-family:var(--ff-d);font-weight:800;letter-spacing:-.04em}
.arc-anno{font-family:var(--ff-d);font-weight:800;letter-spacing:-.035em}

/* ── occhielli piu' sottili: e' li' che si vede il minimale */
.kick,.occhiello,.eyebrow{font-weight:700;letter-spacing:.15em}


/* ---- ARCHIVIO: una griglia di anni, e basta ---- */
.anni{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:12px;
max-width:660px}
.anni .anno{display:flex;align-items:center;justify-content:center;height:96px;
border:1px solid var(--line);border-radius:14px;background:var(--card);
font-family:var(--ff-d);font-size:30px;font-weight:800;letter-spacing:-.035em;
transition:.22s}
.anni .anno:hover{background:var(--ink);color:var(--sand);border-color:var(--ink);
transform:translateY(-2px)}
@media(max-width:820px){
  .anni{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
  .anni .anno{height:78px;font-size:24px}
}


/* ---- TORNA INDIETRO ----
   Il gesto del browser esiste, ma senza un pulsante visibile chi legge
   si sente in trappola. Compare solo dove serve: mai in home. */
.back{display:inline-flex;align-items:center;gap:7px;font-size:13.5px;font-weight:600;
color:var(--muted);padding:9px 14px 9px 11px;border:1px solid var(--line);
border-radius:100px;background:var(--card);margin:18px 0 4px;transition:.2s;
cursor:pointer;font-family:var(--ff-b)}
.back svg{width:15px;height:15px;stroke-width:2.4;transition:transform .2s}
.back:hover{color:var(--ink);border-color:var(--ink)}
.back:hover svg{transform:translateX(-2px)}
@media(max-width:820px){
  /* NON appiccicato: da fermo scorreva via bene, appiccicato restava a
     galleggiare sopra la data e le etichette di fine articolo, e sembrava
     un pezzo staccato. In cima all'articolo e' dove uno lo cerca; durante
     la lettura la navigazione ce l'ha gia' nella barra in basso. */
  .back{margin:12px 0 2px}
}


/* ---- PAGINA NON TROVATA ---- */
.q404{font-size:17px;color:var(--muted);max-width:52ch;margin:0 0 30px}
.vie404{list-style:none;margin:0;padding:0;max-width:460px}
.vie404 li{border-top:1px solid var(--line)}
.vie404 li:last-child{border-bottom:1px solid var(--line)}
.vie404 a{display:block;padding:17px 2px;font-family:var(--ff-d);font-size:19px;
font-weight:700;letter-spacing:-.025em;text-decoration:none;color:var(--ink)}
.vie404 a:hover{color:var(--lava)}

/* IL LOGO IN TESTATA, nelle sue due vesti.
   "LANZAROTE" nel logo e' blu notte: sul fondo scuro sparirebbe, quindi in
   modalita' scura si scambia con la versione che ce l'ha bianco. E' lo
   stesso disegno, cambia solo quella parola. */
.brand .logo-riga{height:46px;width:auto;object-fit:contain}
.brand .scuro{display:none}
html[data-theme="dark"] .brand .chiaro{display:none}
html[data-theme="dark"] .brand .scuro{display:block}
/* il nome ora e' dentro il logo: accanto resta solo la riga di presentazione */
.brand .claim-testata{font-size:11px;color:var(--muted);letter-spacing:.04em;
align-self:center;border-left:1px solid var(--line);padding-left:11px;
white-space:nowrap}
@media(max-width:820px){
  /* Di fianco al logo il claim galleggiava in mezzo alla testata, grigio, e
     sembrava capitato li' per sbaglio. Sotto al logo e con lo stesso segno
     degli occhielli del sito — trattino rosso e maiuscoletto — smette di
     essere un avanzo e diventa la riga che qualifica la testata. */
  .brand{flex-direction:column;align-items:flex-start;gap:4px;padding-bottom:3px}
  .brand .logo-riga{height:44px}
  /* il claim e' rosso e sotto c'e' la striscia rossa: senza un filo d'aria
     i due rossi si toccano e sembrano la stessa cosa */
  .head{padding-bottom:9px}
  .brand .claim-testata{display:flex;align-items:center;gap:7px;
    border-left:0;padding-left:2px;margin:0;align-self:auto;
    font-family:var(--ff-b);font-size:9.5px;font-weight:800;
    letter-spacing:.15em;text-transform:uppercase;color:var(--lava)}
  .brand .claim-testata::before{content:"";width:15px;height:2px;
    background:var(--lava);flex:0 0 auto;border-radius:2px}
}

/* il pulsante che apre le altre spiagge, e la freccia verso Google Maps */
.bh-tutte{display:block;width:100%;margin-top:10px;padding:11px 14px;
background:none;border:1px solid var(--line);border-radius:10px;
font-family:var(--ff-b);font-size:13px;font-weight:700;color:var(--ink);
cursor:pointer;letter-spacing:.01em}
.bh-tutte:hover{background:var(--paper);border-color:var(--ink)}
.bh-map{margin-left:auto;padding:4px 7px;border-radius:8px;font-size:14px;
line-height:1;color:var(--muted);text-decoration:none;flex:0 0 auto}
.bh-map:hover{background:var(--paper);color:var(--lava)}
.bh-riga{cursor:pointer}

/* ---- IL BAGNO IN HOME: piantina + le tre migliori ---- */
.bagno-home .bh-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
gap:32px;align-items:start;margin-top:22px}
.bagno-home .isola{max-height:480px}
.bh-lato{display:flex;flex-direction:column}
.bh-top{list-style:none;margin:0;padding:0}
.bh-riga{display:grid;grid-template-columns:12px minmax(0,1fr) auto;gap:12px;
align-items:center;padding:13px 0;border-bottom:1px solid var(--line);cursor:pointer}
.bh-riga .pallo{width:11px;height:11px;border-radius:50%;background:var(--line)}
.bh-riga.ok .pallo{background:#12B27F} .bh-riga.buona .pallo{background:#8CC63F}
.bh-riga.mossa .pallo{background:var(--sun)} .bh-riga.no .pallo{background:var(--lava)}
.bh-riga.sel{background:color-mix(in srgb,var(--ink) 5%,transparent)}
.bh-n b{display:block;font-family:var(--ff-d);font-size:18px;font-weight:800;
letter-spacing:-.025em;line-height:1.2}
.bh-n i{font-style:normal;font-size:11.5px;color:var(--muted)}
.bh-d{text-align:right;white-space:nowrap}
.bh-d b{display:block;font-size:11px;font-weight:700;letter-spacing:.06em;
text-transform:uppercase;color:var(--muted)}
.bh-d i{font-style:normal;font-size:12px;color:var(--muted)}
.bh-riga.ok .bh-d b{color:#0E8F66} .bh-riga.buona .bh-d b{color:#5E9416}
.bh-riga.mossa .bh-d b{color:#B07000} .bh-riga.no .bh-d b{color:var(--lava)}

/* ---- DOVE FARE IL BAGNO ---- */
.bagno-intro{max-width:66ch;color:var(--muted);font-size:15.5px;margin:0 0 20px}
.bagno-ora{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 26px;font-size:13px}
.bagno-ora span{display:inline-flex;align-items:center;gap:7px;padding:8px 14px;
border:1px solid var(--line);border-radius:100px;background:var(--card);font-weight:600}
.bagno-ora b{font-weight:800;font-family:var(--ff-d);letter-spacing:-.02em}
.bagno-ora .freccia{width:16px;height:16px;display:inline-block;transition:transform .5s}
.bagno-grid{display:grid;grid-template-columns:minmax(0,440px) minmax(0,1fr);
gap:36px;align-items:start}
/* LA PIANTINA.
   Era terra grigia su fondo bianco: una sagoma, non una cartina. Adesso il
   mare e' mare e la terra ha il colore che ha davvero Lanzarote — cenere
   scura e ocra — con la battigia piu' chiara a staccare le due cose. */
.isola{width:100%;height:auto;border:1px solid var(--line);border-radius:16px;
background:linear-gradient(170deg,#DCEEF5 0%,#C7E4F0 55%,#B9DCEA 100%)}
html[data-theme="dark"] .isola{background:linear-gradient(170deg,#132833,#0E1E27)}
.isola .terra{fill:url(#terreno);stroke:#8A6A46;stroke-width:1.1;
stroke-linejoin:round;paint-order:stroke}
/* la schiuma: un alone chiaro appena fuori dalla costa */
.isola .risacca{fill:none;stroke:rgba(255,255,255,.55);stroke-width:3.5;
stroke-linejoin:round}
html[data-theme="dark"] .isola .risacca{stroke:rgba(255,255,255,.10)}
/* i paesi: servono a capire dove si sta guardando */
.isola .paese{fill:rgba(255,255,255,.9);stroke:#7A5B3C;stroke-width:.9}
html[data-theme="dark"] .isola .paese{fill:rgba(0,0,0,.5);stroke:#C9A87E}
.isola .paese-n{font-family:var(--ff-b);font-size:8.5px;font-weight:700;
fill:#6B4F35;letter-spacing:.02em;paint-order:stroke;
stroke:rgba(255,255,255,.75);stroke-width:2.4}
html[data-theme="dark"] .isola .paese-n{fill:#D9C3A6;stroke:rgba(0,0,0,.6)}
.isola .rosa-c{fill:none;stroke:var(--line);stroke-width:1.2}
.isola .ago{fill:var(--lava)}
.isola .rosa text{font-family:var(--ff-b);font-size:10px;font-weight:800;
fill:var(--muted);text-anchor:middle;letter-spacing:.1em}
.isola .sp{fill:var(--line);stroke:var(--card);stroke-width:2.5;cursor:pointer;
transition:fill .4s,r .2s}
.isola .sp:hover,.isola .sp.evid{r:10}
.isola .sp.ok{fill:#12B27F}
.isola .sp.buona{fill:#8CC63F}
.isola .sp.mossa{fill:var(--sun)}
.isola .sp.no{fill:var(--lava)}
.isola .vento{stroke:var(--ocean);stroke-width:2;stroke-dasharray:5 5;opacity:.55}
.isola .sp-tocco{fill:transparent;cursor:pointer;outline:none}
.isola .sp.sel{r:11;stroke:var(--ink);stroke-width:3}
/* Il nome della spiaggia scritto sulla piantina, dove uno ha appena toccato. */
.isola .etichetta rect{fill:var(--ink);rx:7}
.isola .etichetta text{font-family:var(--ff-b);font-weight:700;font-size:15px;
fill:var(--card);letter-spacing:-.01em}
/* La scheda sotto la piantina: nome, comune, giudizio, vento e onda.
   Si riempie da sola con la spiaggia migliore, cosi' chi apre la pagina
   ha gia' la risposta senza toccare niente. */
.sp-info{display:none;margin-top:12px;padding:14px 16px;border:1px solid var(--line);
border-radius:14px;background:var(--card);align-items:center;gap:14px}
.sp-info.viva{display:flex}
.sp-info .sp-i-n{flex:1;min-width:0}
.sp-info .sp-i-n b{display:block;font-family:var(--ff-d);font-size:19px;font-weight:800;
letter-spacing:-.025em;line-height:1.2}
.sp-info .sp-i-n i{font-style:normal;font-size:12px;color:var(--muted)}
.sp-info .sp-i-v{text-align:right;white-space:nowrap}
.sp-info .sp-i-v b{display:block;font-size:11.5px;font-weight:700;letter-spacing:.06em;
text-transform:uppercase}
.sp-info .sp-i-v i{font-style:normal;font-size:12.5px;color:var(--muted)}
.sp-info.ok .sp-i-v b{color:#0E8F66} .sp-info.buona .sp-i-v b{color:#5E9416}
.sp-info.mossa .sp-i-v b{color:#B07000} .sp-info.no .sp-i-v b{color:var(--lava)}
.sp-riga.sel{background:color-mix(in srgb,var(--ink) 5%,transparent)}

.bagno-lista h2{font-size:20px;font-weight:700;letter-spacing:-.025em;margin:0 0 14px}
.sp-lista{list-style:none;margin:0;padding:0}
.sp-riga{display:grid;grid-template-columns:12px minmax(0,1fr) auto;gap:12px;
align-items:center;padding:11px 0;border-bottom:1px solid var(--line);cursor:pointer}
.sp-riga .pallo{width:11px;height:11px;border-radius:50%;background:var(--line);
transition:background .4s}
.sp-riga.ok .pallo{background:#12B27F} .sp-riga.buona .pallo{background:#8CC63F}
.sp-riga.mossa .pallo{background:var(--sun)} .sp-riga.no .pallo{background:var(--lava)}
.sp-n b{display:block;font-size:15.5px;font-weight:650;letter-spacing:-.015em}
.sp-n i{font-style:normal;font-size:11.5px;color:var(--muted)}
.sp-d{font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
color:var(--muted);white-space:nowrap;text-align:right}
.sp-riga.ok .sp-d{color:#0E8F66} .sp-riga.no .sp-d{color:var(--lava)}
.sp-riga:hover{background:color-mix(in srgb,var(--ink) 3%,transparent)}
@media(max-width:820px){
  .bagno-grid{grid-template-columns:minmax(0,1fr);gap:24px}
  .bagno-ora{gap:8px;font-size:12px}
}

.tabbar{display:none}
@media(max-width:820px){
  .tabbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:90;
  background:color-mix(in srgb,var(--sand) 92%,transparent);
  backdrop-filter:saturate(1.6) blur(16px);
  border-top:1px solid var(--line);
  padding:6px 4px calc(6px + env(safe-area-inset-bottom));
  justify-content:space-around;align-items:stretch}
  .tabbar a{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;
  padding:6px 2px;font-size:9.5px;font-weight:700;letter-spacing:.03em;
  text-transform:uppercase;color:var(--muted);line-height:1.1;text-align:center;
  border-radius:10px;transition:color .2s,background .2s}
  .tabbar a svg{width:20px;height:20px;stroke-width:1.9}
  .tabbar a[aria-current="page"]{color:var(--lava)}
  .tabbar a:active{background:var(--line)}
  /* Sull'iPhone la barra in basso si allunga della "safe area" (la striscia
     della barretta di sistema, ~34px), ma questo spazio restava fermo a 66:
     gli ultimi trenta pixel di OGNI pagina finivano sotto la barra. In prova
     non si vede, perche' il browser senza telefono ha safe area zero. */
  body{padding-bottom:calc(66px + env(safe-area-inset-bottom))}
  /* Il menu stava sotto a tutt'e due le barre: l'intestazione (z 70) gli
     mangiava "Agenda" in cima, la barra in basso (z 90) gli mangiava
     "Archivio" in fondo. Il padding-bottom che c'era prima qui non poteva
     rimediare: il pannello e' in posizione assoluta e il padding del
     contenitore non lo sposta di un pixel. Si risolve dove nasce il
     problema, nell'ordine di sovrapposizione: il menu va sopra. */
  .drawer{z-index:100}
  .drawer nav{padding-top:16px;padding-bottom:36px}
}

/* SUL TELEFONO: prime schede grandi, poi righe compatte.
   In colonna singola 24 schede con foto grande facevano 10.000px di
   scorrimento: quattordici schermate per arrivare in fondo alla home.
   Le prime tre restano grandi (sono il richiamo), dalla quarta in giu'
   diventano righe con miniatura quadrata a sinistra, come in una app di
   notizie: stessa informazione in un quarto dell'altezza. */
@media(max-width:820px){
  .grid{gap:0}
  .grid .card:nth-child(-n+3){margin-bottom:30px}

  .grid .card:nth-child(n+4){
    display:grid;
    grid-template-columns:104px minmax(0,1fr);
    column-gap:14px;
    align-content:start;
    padding:15px 0;
    margin:0;
    border-top:1px solid var(--line);
  }
  .grid .card:nth-child(n+4)>img,
  .grid .card:nth-child(n+4)>.ph{
    grid-column:1;grid-row:1 / span 3;
    width:104px;aspect-ratio:1/1;object-fit:cover;
    margin:0;border-radius:10px;align-self:start;
  }
  .grid .card:nth-child(n+4)>.ph{display:flex;align-items:center;justify-content:center}
  .grid .card:nth-child(n+4)>.ph i{font-size:10px}
  .grid .card:nth-child(n+4)>.kick{
    grid-column:2;grid-row:1;margin:0 0 5px;font-size:9.5px;
  }
  .grid .card:nth-child(n+4)>b{
    grid-column:2;grid-row:2;font-size:16.5px;line-height:1.26;
    letter-spacing:-.015em;
    display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;
    overflow:hidden;
  }
  /* nella riga compatta il sommario non ci sta: il titolo dice gia' tutto */
  .grid .card:nth-child(n+4)>p{display:none}
  .grid .card:nth-child(n+4)>i{
    grid-column:2;grid-row:3;margin-top:5px;font-size:11.5px;
  }
}

/* I TRE PIANI SPONSOR a scorrimento laterale.
   Impilati facevano 1.500px: il 15% di tutta la home per il listino.
   Di fianco si sfogliano col pollice, come le schede dell'agenda, e il
   testo dei piani resta identico: non si toglie niente, si affianca. */
@media(max-width:820px){
  .piani{
    display:flex!important;
    grid-template-columns:none!important;
    gap:14px;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    /* si sfila fino ai bordi dello schermo, ma il primo piano resta
       allineato al testo: 16px e' il padding di .wrap in questa stessa
       media query (vedi sopra), non un numero inventato */
    margin-inline:-16px;
    padding-inline:16px;
    padding-block:14px 4px;
  }
  .piani::-webkit-scrollbar{display:none}
  .piani>.piano{
    flex:0 0 78%;
    max-width:300px;
    scroll-snap-align:start;
    padding:24px 20px;
  }
  .piani>.piano.top{padding:23px 19px}
}

/* SPIAGGE: sul telefono prima la risposta, poi la spiegazione.
   La pagina si apre con sei righe di premessa e la piantina finiva sotto
   la piega: uno la apre in spiaggia, col telefono in mano, e deve vedere
   subito il vento e l'isola. Il testo che spiega come si legge resta,
   ma va in fondo, dove lo cerca chi vuole capire il criterio. */
@media(max-width:820px){
  /* In home la piantina va sopra e le tre righe sotto: di fianco, su 390px,
     la cartina diventerebbe un francobollo. */
  .bagno-home .bh-grid{grid-template-columns:minmax(0,1fr);gap:18px}
  .bagno-home .isola{max-height:none}
  .bagno-home .bagno-ora{margin:16px 0 0}

  /* .bagno-lista non e' qui dentro: sta annidata in .bagno-grid, quindi
     segue la piantina da sola. Si riordinano solo i quattro pezzi veri. */
  .bagno-pag{display:flex;flex-direction:column}
  .bagno-pag>.bagno-ora {order:1;margin-top:0}
  .bagno-pag>.bagno-grid{order:2}
  .bagno-pag>.bagno-intro{order:3;margin:26px 0 0;padding-top:22px;
                          border-top:1px solid var(--line);font-size:14.5px}
  .bagno-pag>.spon-nota  {order:4}
}
/* Gli elementi dentro griglie e flex non si restringono sotto la larghezza
   del proprio contenuto: e' questo che spingeva il testo fuori schermo. */
@media(max-width:820px){
  .si,.si>*,.card,.card>*,.ev,.ev>*,.mu,.mu>*,.gc,.gc>*,.piano,.piano>*,
  .sec-head,.sec-head>*,.sec-head .riga>*,.lead-main,.lead-main>*,
  .news .wrap>*,.nl-box>*,.f-grid>*,.topbar .wrap>*{min-width:0}
  /* overflow-wrap da solo spezza SOLO le parole che davvero non ci stanno.
     hyphens:auto invece sillabava ogni riga ("tra-dizionale", "rifaci-mento"):
     sul telefono, con righe da 28 battute, rendeva il testo un mosaico. */
  .si b,.card b,.ev b,.gc b,.sec-head h2,.lead-main h2,.lead-main p,.card p,
  .si i,.mu b,.mu i{overflow-wrap:anywhere;word-break:normal;hyphens:manual}
  .topbar .oggi{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .topbar .langs{flex:0 0 auto}
  .hdr .wrap>.brand{flex:1;min-width:0;overflow:hidden}
  .hdr .wrap>.burger{flex:0 0 auto;margin-left:auto}
  img{max-width:100%;height:auto}
}
@media(max-width:430px){
  .topbar .meteo{display:none}
  .lead-main h2{font-size:23px!important}
  .sec-head h2{font-size:22px!important}
  .ev{width:80vw}
}
/* Una traccia "1fr" non scende sotto la dimensione minima del contenuto:
   va scritta minmax(0,1fr). E' questo che tagliava i titoli a destra. */
@media(max-width:820px){
  .si{grid-template-columns:74px minmax(0,1fr)!important}
  .muni{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .gcards,.piani,.grid{grid-template-columns:minmax(0,1fr)!important}
  .f-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .nl-box{grid-template-columns:minmax(0,1fr)!important}
  /* la barra in alto: la data si accorcia, le lingue restano intere */
  .topbar .wrap{gap:10px}
  .topbar .oggi{min-width:0;flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;
  white-space:nowrap}
  .topbar .tb-r{flex:0 0 auto}
  /* il ticker non deve mai allargare la pagina */
  .ticker{max-width:100%;overflow:hidden}
}



/* ---- SPONSOR ---- */
.spon{padding:56px 0 10px;border-top:1px solid var(--line);margin-top:20px}
.spon .sec-head .occhiello{color:var(--sun)}
.spon-intro{max-width:62ch;color:var(--muted);font-size:15.5px;margin:0 0 30px}
.piani{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:start}
.piano{position:relative;border:1px solid var(--line);border-radius:16px;padding:28px 26px;
background:var(--card);display:flex;flex-direction:column;gap:0;transition:.25s}
.piano:hover{transform:translateY(-3px);
box-shadow:0 1px 2px rgba(20,18,16,.04),0 12px 34px rgba(20,18,16,.10)}
.piano.top{border:2px solid var(--lava);padding:27px 25px}
.piano .best{position:absolute;top:-11px;left:26px;background:var(--lava);color:#fff;
font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;
padding:5px 12px;border-radius:100px}
.piano h3{font-family:var(--ff-d);font-size:20px;font-weight:600;margin:0}
.piano .prezzo{display:flex;align-items:baseline;gap:7px;margin:14px 0 3px}
.piano .prezzo b{font-family:var(--ff-d);font-size:44px;font-weight:700;line-height:.9;
letter-spacing:-.03em}
.piano .prezzo i{font-style:normal;font-size:13px;color:var(--muted)}
.piano .anno{font-size:12.5px;color:var(--muted);margin-bottom:20px}
.piano .anno em{font-style:normal;color:var(--verde);font-weight:600}
.piano ul{list-style:none;margin:0 0 22px;padding:0;display:flex;flex-direction:column;
gap:10px;font-size:14px;flex:1}
.piano li{display:flex;gap:9px;line-height:1.45}
.piano li::before{content:"";flex:none;width:15px;height:15px;margin-top:3px;border-radius:50%;
background:rgba(30,158,106,.15) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231E9E6A' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'><path d='M20 6L9 17l-5-5'/></svg>") center/10px no-repeat}
.piano .scegli{display:block;text-align:center;padding:13px 20px;border-radius:100px;
border:1.5px solid var(--ink);font-size:14px;font-weight:600;transition:.2s}
.piano .scegli:hover{background:var(--ink);color:var(--sand)}
.piano.top .scegli{background:var(--lava);border-color:var(--lava);color:#fff}
.piano.top .scegli:hover{background:var(--basalt);border-color:var(--basalt)}
.spon-nota{font-size:12.5px;color:var(--muted);margin:22px 0 0;max-width:70ch}
@media(max-width:900px){.piani{grid-template-columns:1fr}}







