/* Casa Vacanze — casa mediterranea: calce, porte añil, travi di sabina, sole vero */
@font-face{font-family:Caprasimo;src:url(../font/caprasimo.woff2) format('woff2');font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Caprasimo;src:url(../font/caprasimo-ext.woff2) format('woff2');font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Figtree;src:url(../font/figtree.woff2) format('woff2');font-weight:300 900;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Figtree;src:url(../font/figtree-ext.woff2) format('woff2');font-weight:300 900;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

:root{
  --calce:#F6F7F3; --calce-2:#E9ECE6; --calce-3:#DCE1DA;
  --anil:#1D3F93; --anil-2:#2A55B8; --anil-deep:#13265A; --anil-tint:#E3E9F6;
  --sabina:#5A3B24; --sabina-2:#7C5638;
  --bugan:#B5156E; --bugan-2:#D02586;
  --ink:#16264F; --ink-soft:#44527A;
  --on-anil:#F6F7F3; --on-anil-soft:#C9D4F0;
  --sx:0; --sy:10; --sb:22px; --sc:rgba(19,38,90,.20);
  --r:26px 32px 22px 30px / 30px 22px 32px 26px;
  --r-s:12px 15px 11px 14px / 14px 11px 15px 12px;
  --maxw:1220px; --gut:clamp(16px,4vw,40px);
  --f-d:Caprasimo,Georgia,serif; --f-b:Figtree,system-ui,'Segoe UI',sans-serif;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --calce:#0E1630; --calce-2:#152043; --calce-3:#1D2A52;
  --anil:#2A4FA8; --anil-2:#8FB0F5; --anil-deep:#0A1128; --anil-tint:#1A2856;
  --sabina:#C59A72; --sabina-2:#D9B48F;
  --bugan:#C4207C; --bugan-2:#E2489A;
  --ink:#ECF0F8; --ink-soft:#AEBAD6; --on-anil:#F3F5FB; --on-anil-soft:#C9D4F0;
  --sc:rgba(0,0,0,.45); color-scheme:dark;
}}
:root[data-theme="dark"]{
  --calce:#0E1630; --calce-2:#152043; --calce-3:#1D2A52;
  --anil:#2A4FA8; --anil-2:#8FB0F5; --anil-deep:#0A1128; --anil-tint:#1A2856;
  --sabina:#C59A72; --sabina-2:#D9B48F;
  --bugan:#C4207C; --bugan-2:#E2489A;
  --ink:#ECF0F8; --ink-soft:#AEBAD6; --on-anil:#F3F5FB; --on-anil-soft:#C9D4F0;
  --sc:rgba(0,0,0,.45); color-scheme:dark;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:90px}
body{margin:0;background:var(--calce);color:var(--ink);font:400 17px/1.6 var(--f-b);-webkit-font-smoothing:antialiased;overflow-x:hidden;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .3 0 0 0 0 .33 0 0 0 0 .4 0 0 0 .05 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
::selection{background:var(--anil);color:var(--on-anil)}
:focus-visible{outline:3px solid var(--bugan-2);outline-offset:3px;border-radius:6px}
html{scrollbar-color:var(--anil) var(--calce-2)}
img{max-width:100%;display:block}
a{color:var(--anil-2);text-underline-offset:.2em;text-decoration-thickness:1.5px}
h1,h2,h3{font-family:var(--f-d);font-weight:400;line-height:1.08;letter-spacing:-.01em;margin:0;text-wrap:balance;color:var(--anil)}
:root[data-theme="dark"] h1,:root[data-theme="dark"] h2,:root[data-theme="dark"] h3{color:var(--ink)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) h1,:root:not([data-theme="light"]) h2,:root:not([data-theme="light"]) h3{color:var(--ink)}}
h1 em,h2 em,h3 em{font-style:normal;color:var(--sabina)}
p{margin:0 0 1em;max-width:68ch}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--gut)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ico{width:1.15em;height:1.15em;flex:none;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.num{font-variant-numeric:tabular-nums}

/* ombra del sole (angolo dall'ora locale, vedi sito.js) */
.sole{box-shadow:calc(var(--sx)*1px) calc(var(--sy)*1px) var(--sb) -6px var(--sc),0 1px 2px rgba(19,38,90,.06);transition:box-shadow 1.2s ease}

/* bottoni */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55em;min-height:50px;padding:.8em 1.45em;border:0;border-radius:var(--r-s);font:700 16px/1.1 var(--f-b);text-decoration:none;cursor:pointer;transition:transform .18s cubic-bezier(.2,.8,.2,1),background .2s}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(0)}
.btn-wa{background:var(--bugan);color:#fff}
.btn-wa:hover{background:var(--bugan-2)}
.btn-anil{background:var(--anil);color:var(--on-anil)}
.btn-anil:hover{background:var(--anil-2);color:#fff}
.btn-calce{background:var(--calce);color:var(--anil);}
.btn-line{background:transparent;color:var(--anil-2);box-shadow:inset 0 0 0 2px currentColor}
.btn[disabled]{opacity:.5;cursor:not-allowed;transform:none}

/* testata */
.top{position:sticky;top:0;z-index:40;background:color-mix(in srgb,var(--calce) 92%,transparent);backdrop-filter:saturate(1.2) blur(8px);border-bottom:6px solid var(--sabina)}
.top .wrap{display:flex;align-items:center;gap:20px;min-height:74px}
.logo{display:flex;align-items:center;flex:none}
.logo img{height:40px;width:auto}
.nav{display:flex;gap:4px;margin-left:auto}
.nav a{color:var(--ink);text-decoration:none;font-weight:600;font-size:15.5px;padding:10px 12px;border-radius:var(--r-s)}
.nav a:hover{background:var(--calce-2)}
.nav a[aria-current="page"]{color:var(--anil-2);box-shadow:inset 0 -3px 0 var(--anil-2);border-radius:0}
.lang{position:relative}
.lang summary{list-style:none;cursor:pointer;font-weight:700;font-size:14px;padding:10px 12px;border-radius:var(--r-s);display:flex;gap:6px;align-items:center;color:var(--ink)}
.lang summary::-webkit-details-marker{display:none}
.lang summary:hover{background:var(--calce-2)}
.lang ul{position:absolute;right:0;top:calc(100% + 6px);margin:0;padding:6px;list-style:none;background:var(--calce);border-radius:var(--r-s);min-width:160px;z-index:5}
.lang li a{display:block;padding:9px 12px;border-radius:8px;color:var(--ink);text-decoration:none}
.lang li a:hover,.lang li a[aria-current]{background:var(--anil-tint)}
.top .btn-wa{min-height:44px;padding:.6em 1.1em;font-size:15px}
.burger{display:none;background:none;border:0;color:var(--ink);padding:10px;margin-left:auto;cursor:pointer}
.burger .ico{width:28px;height:28px}
.drawer{position:fixed;inset:0;z-index:60;background:var(--anil);color:var(--on-anil);padding:22px var(--gut) 40px;display:flex;flex-direction:column;gap:6px;transform:translateY(-102%);transition:transform .45s cubic-bezier(.2,.8,.2,1);visibility:hidden;overflow:auto}
.drawer.aperto{transform:none;visibility:visible}
.drawer a{color:var(--on-anil);text-decoration:none;font:400 32px/1.25 var(--f-d);padding:6px 0}
.drawer .chiudi{align-self:flex-end;background:none;border:0;color:var(--on-anil);cursor:pointer;padding:8px}
.drawer .chiudi .ico{width:30px;height:30px}
.drawer .lingue{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.drawer .lingue a{font:700 15px/1 var(--f-b);padding:10px 14px;border-radius:var(--r-s);box-shadow:inset 0 0 0 1.5px var(--on-anil-soft)}
.drawer .btn-wa{margin-top:22px;align-self:flex-start;font-size:17px}
@media (max-width:980px){.nav,.top .lang,.top .btn-wa{display:none}.burger{display:block}}

/* hero: muro bianco + porta ad arco */
.hero{padding:clamp(28px,5vw,64px) 0 clamp(40px,6vw,80px)}
.hero .wrap{display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(24px,5vw,72px);align-items:center}
.insegna{font:400 clamp(18px,2vw,22px)/1 var(--f-d);color:var(--sabina);letter-spacing:.06em;margin:0 0 18px;display:flex;align-items:center;gap:12px}
.insegna::before{content:"";width:34px;height:6px;background:var(--sabina);border-radius:3px}
.hero h1{font-size:clamp(40px,6.2vw,84px)}
.hero .lead{font-size:clamp(17px,1.5vw,20px);color:var(--ink-soft);margin:22px 0 30px;max-width:46ch}
.azioni{display:flex;flex-wrap:wrap;gap:12px}
.dal{margin-top:26px;color:var(--ink-soft);font-size:15px;display:flex;gap:10px;align-items:center}
.dal b{font:400 22px/1 var(--f-d);color:var(--anil-2)}
.arco{position:relative;justify-self:end;width:min(100%,470px);aspect-ratio:4/5.3;padding:14px;background:var(--anil);border-radius:50% 50% 14px 14px/ 38% 38% 14px 14px;margin:0}
.arco img{width:100%;height:100%;object-fit:cover;border-radius:50% 50% 6px 6px/ 36% 36% 6px 6px}
.arco figcaption{position:absolute;left:50%;bottom:-16px;transform:translateX(-50%);background:var(--calce);color:var(--ink);font-weight:700;font-size:14px;padding:8px 16px;border-radius:var(--r-s);white-space:nowrap}
.arco .cred{position:absolute;right:26px;bottom:24px;font-size:11px;color:#fff;opacity:.85;text-shadow:0 1px 2px #000}
@media (max-width:820px){.hero .wrap{grid-template-columns:1fr}.arco{justify-self:center;width:min(86%,400px);order:-1}}

/* trave + porte */
.trave{height:16px;background:var(--sabina);border-radius:4px;margin:0 var(--gut);background-image:repeating-linear-gradient(90deg,transparent 0 140px,rgba(0,0,0,.12) 140px 142px,transparent 142px 300px)}
.porte{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(14px,2.4vw,30px);padding:40px 0 10px}
.porta{position:relative;display:flex;flex-direction:column;text-decoration:none;color:var(--ink)}
.porta .vano{aspect-ratio:3/4;padding:9px;background:var(--anil);border-radius:50% 50% 10px 10px/ 34% 34% 10px 10px;overflow:hidden}
.porta .vano>img{width:100%;height:100%;object-fit:cover;border-radius:50% 50% 5px 5px/ 32% 32% 5px 5px;transition:transform .7s cubic-bezier(.2,.8,.2,1)}
.porta:hover .vano>img{transform:scale(1.05)}
.porta h2{font-size:clamp(20px,2vw,26px);margin:16px 0 4px;display:flex;align-items:center;gap:8px}
.porta p{font-size:15px;color:var(--ink-soft);margin:0}
.porta .vano.app{display:grid;place-items:center;background:var(--sabina)}
@media (max-width:820px){.porte{grid-template-columns:repeat(2,1fr)}}

/* sezioni */
.sez{padding:clamp(56px,8vw,110px) 0}
.sez-h{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:34px;flex-wrap:wrap}
.sez-h h2{font-size:clamp(32px,4.4vw,56px);max-width:18ch}
.sez-h p{margin:12px 0 0;color:var(--ink-soft)}
.link-fr{font-weight:700;text-decoration:none;display:inline-flex;gap:6px;align-items:center}
.link-fr:hover{text-decoration:underline}

.perche{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(30px,6vw,90px);align-items:start}
.perche h2{font-size:clamp(32px,4.2vw,54px)}
.perche .intro{color:var(--ink-soft);font-size:18px;margin-top:18px}
.punti{display:grid;grid-template-columns:1fr 1fr;gap:34px 36px;margin:0;padding:0;list-style:none}
.punti li{display:grid;gap:8px}
.punti .tondo{width:52px;height:52px;border-radius:50% 46% 52% 48%;display:grid;place-items:center;background:var(--anil-tint);color:var(--anil-2)}
.punti .tondo .ico{width:26px;height:26px}
.punti b{font:400 21px/1.2 var(--f-d);color:var(--ink)}
.punti span{color:var(--ink-soft);font-size:16px}
@media (max-width:820px){.perche{grid-template-columns:1fr}.punti{grid-template-columns:1fr}}

/* case */
.scorri{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(260px,320px);gap:24px;overflow-x:auto;padding:6px 4px 26px;scroll-snap-type:x mandatory;scrollbar-width:thin}
.scorri>*{scroll-snap-align:start}
.griglia{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:36px 26px}
.casa{display:flex;flex-direction:column;text-decoration:none;color:var(--ink)}
.casa .foto{position:relative;aspect-ratio:4/4.6;border-radius:50% 50% 12px 12px/ 30% 30% 12px 12px;overflow:hidden;background:var(--calce-2)}
.casa .foto img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.8,.2,1)}
.casa:hover .foto img{transform:scale(1.05)}
.casa .tipo{position:absolute;left:14px;bottom:14px;background:var(--calce);color:var(--anil-2);font-weight:800;font-size:13px;letter-spacing:.02em;padding:6px 12px;border-radius:var(--r-s)}
.casa h3{font-size:25px;margin:16px 0 2px;color:var(--ink)}
.casa .zona{color:var(--ink-soft);font-size:15px;display:flex;gap:6px;align-items:center}
.casa .dati{display:flex;gap:14px;font-size:14.5px;color:var(--ink-soft);margin-top:8px;flex-wrap:wrap}
.casa .dati span{display:inline-flex;gap:5px;align-items:center}
.casa .prezzo{margin-top:10px;font-size:15px;color:var(--ink-soft)}
.casa .prezzo b{font:400 22px/1 var(--f-d);color:var(--anil-2)}
.nascosta{display:none!important}

/* filtri */
.filtri{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:end;margin:0 0 34px;padding:18px;background:var(--calce-2);border-radius:var(--r)}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{border:0;background:var(--calce);color:var(--ink);font:600 15px/1 var(--f-b);padding:11px 16px;border-radius:var(--r-s);cursor:pointer;min-height:44px}
.chip[aria-pressed="true"]{background:var(--anil);color:var(--on-anil)}
.campo{display:grid;gap:6px;font-size:13px;font-weight:700;color:var(--ink-soft)}
.campo select,.campo input,.campo textarea{font:500 16px/1.3 var(--f-b);color:var(--ink);background:var(--calce);border:1.5px solid var(--calce-3);border-radius:var(--r-s);padding:11px 12px;min-height:46px;width:100%}
.campo select:focus,.campo input:focus,.campo textarea:focus{outline:none;border-color:var(--anil-2);box-shadow:0 0 0 3px var(--anil-tint)}
.conta{margin-left:auto;color:var(--ink-soft);font-size:15px;align-self:center}
.vuoto{padding:50px 20px;text-align:center;color:var(--ink-soft);background:var(--calce-2);border-radius:var(--r)}

/* muro blu */
.muro-blu{background:var(--anil);color:var(--on-anil);border-radius:var(--r);padding:clamp(34px,6vw,80px);display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(24px,5vw,70px);align-items:center}
.muro-blu h2{color:var(--on-anil)!important;font-size:clamp(32px,4.2vw,54px)}
.muro-blu h2 em{color:#F3C77A}
.muro-blu p{color:var(--on-anil-soft);font-size:18px;margin-top:16px}
.spunte{list-style:none;margin:0 0 28px;padding:0;display:grid;gap:14px}
.spunte li{display:flex;gap:12px;align-items:flex-start;font-size:17px}
.spunte .ico{margin-top:3px;color:#F3C77A}
@media (max-width:820px){.muro-blu{grid-template-columns:1fr}}

/* linea della stagione */
.stagione{position:relative;margin:10px 0 0;padding:64px 0 14px}
.stagione .filo{position:relative;height:6px;background:var(--calce-3);border-radius:3px}
.stagione .fatto{position:absolute;left:0;top:0;bottom:0;background:var(--anil-2);border-radius:3px;width:0}
.stagione .tacca{position:absolute;top:-34px;transform:translateX(-50%);text-align:center;font-size:13px;line-height:1.2;color:var(--ink-soft);white-space:nowrap}
.stagione .tacca::after{content:"";display:block;width:2px;height:18px;margin:6px auto 0;background:var(--calce-3)}
.stagione .tacca b{display:block;color:var(--ink);font-size:14px}
.stagione .tacca:nth-child(even){top:auto;bottom:-56px}
.stagione .tacca:nth-child(even)::after{position:absolute;top:-24px;left:50%;margin:0}
.stagione .oggi{position:absolute;top:50%;width:22px;height:22px;margin:-11px 0 0 -11px;border-radius:50%;background:var(--bugan);box-shadow:0 0 0 6px color-mix(in srgb,var(--bugan) 25%,transparent);animation:batte 2.4s ease-in-out infinite}
.stagione .oggi span{position:absolute;left:50%;bottom:30px;transform:translateX(-50%);background:var(--bugan);color:#fff;font-weight:800;font-size:12.5px;padding:5px 9px;border-radius:8px;white-space:nowrap}
@keyframes batte{50%{box-shadow:0 0 0 12px color-mix(in srgb,var(--bugan) 0%,transparent)}}
.stagione-wrap{overflow-x:auto;padding:0 30px 60px;margin:0 -30px}
.stagione-wrap .stagione{min-width:760px}
@media (prefers-reduced-motion:reduce){.stagione .oggi{animation:none}*{transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* eventi */
.mese{margin:0 0 46px}
.mese h2{font-size:clamp(28px,3.4vw,40px);margin:0 0 16px;display:flex;align-items:baseline;gap:14px}
.mese h2 small{font:600 15px/1 var(--f-b);color:var(--ink-soft)}
.eventi{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.evento{display:grid;grid-template-columns:96px 1fr auto;gap:20px;align-items:center;padding:16px 18px;background:var(--calce);border-radius:var(--r)}
.evento .data{aspect-ratio:1;border-radius:999px 999px 10px 10px/ 50% 50% 10px 10px;color:#fff;display:grid;place-content:center;text-align:center;line-height:1}
.evento .data b{font:400 24px/1 var(--f-d)}
.evento .data span{font-size:12.5px;font-weight:700;margin-top:5px;text-transform:uppercase;letter-spacing:.04em}
.evento h3{font-size:23px;color:var(--ink)}
.evento .dove{color:var(--anil-2);font-weight:700;font-size:14.5px;margin:4px 0 2px;display:flex;gap:6px;align-items:center}
.evento p{margin:0;color:var(--ink-soft);font-size:15.5px}
.evento.passato{opacity:.62}
.evento .stato{font-size:12.5px;font-weight:800;color:var(--sabina);text-transform:uppercase;letter-spacing:.04em}
@media (max-width:700px){.evento{grid-template-columns:72px 1fr}.evento .btn{grid-column:1/-1}}

/* noleggi */
.mezzi{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:26px}
.mezzo{background:var(--calce);border-radius:var(--r);padding:24px;display:flex;flex-direction:column}
.mezzo .disegno{background:var(--anil-tint);border-radius:999px 999px 14px 14px/ 60% 60% 14px 14px;padding:26px 14px 10px;color:var(--anil-2)}
.mezzo .disegno svg{width:100%;height:auto}
.mezzo h3{font-size:26px;margin:18px 0 4px;color:var(--ink)}
.mezzo .da{color:var(--ink-soft);font-size:15px}
.mezzo .da b{font:400 30px/1 var(--f-d);color:var(--anil-2)}
.mezzo ul{list-style:none;padding:0;margin:14px 0 20px;display:grid;gap:8px;font-size:15.5px}
.mezzo li{display:flex;gap:9px;align-items:center}
.mezzo li .ico{color:var(--anil-2)}
.mezzo .btn{margin-top:auto}

/* scheda casa */
.briciole{font-size:14px;color:var(--ink-soft);padding:22px 0 0}
.briciole a{color:var(--ink-soft)}
.galleria{display:grid;grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr;gap:12px;height:clamp(300px,52vw,560px);margin:20px 0 34px}
.galleria a{display:block;overflow:hidden;border-radius:var(--r-s);background:var(--calce-2)}
.galleria a:first-child{grid-row:1/3;border-radius:var(--r)}
.galleria img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.8,.2,1)}
.galleria a:hover img{transform:scale(1.04)}
.galleria.una{grid-template-columns:1fr}.galleria.una a:first-child{grid-row:auto}
@media (max-width:700px){.galleria{grid-template-columns:1fr;grid-template-rows:auto;height:auto}.galleria a{aspect-ratio:4/3}.galleria a:first-child{grid-row:auto;aspect-ratio:4/4.4}.galleria a:nth-child(n+3){display:none}}
.scheda{display:grid;grid-template-columns:1fr 380px;gap:clamp(30px,5vw,70px);align-items:start;padding-bottom:40px}
.scheda h1{font-size:clamp(38px,5vw,64px)}
.fatti{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 30px}
.fatti span{display:inline-flex;gap:8px;align-items:center;background:var(--calce-2);padding:10px 14px;border-radius:var(--r-s);font-weight:600;font-size:15px}
.fatti .ico{color:var(--anil-2)}
.scheda h2{font-size:28px;margin:34px 0 14px;color:var(--ink)}
.servizi{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:10px 20px}
.servizi li{display:flex;gap:10px;align-items:center}
.servizi .ico{color:var(--anil-2)}
.richiesta{position:sticky;top:100px;background:var(--calce);border-radius:var(--r);padding:26px;display:grid;gap:14px}
.richiesta .da{font-size:15px;color:var(--ink-soft)}
.richiesta .da b{font:400 34px/1 var(--f-d);color:var(--anil-2)}
.richiesta .due{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.richiesta small{color:var(--ink-soft);font-size:13.5px;text-align:center}
@media (max-width:900px){.scheda{grid-template-columns:1fr}.richiesta{position:static}.servizi{grid-template-columns:1fr}}
.lingua-nota{font-size:13.5px;color:var(--ink-soft);font-style:italic}

/* app */
.app-duo{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,3vw,36px)}
.app-blocco{border-radius:var(--r);padding:clamp(26px,4vw,44px);display:grid;grid-template-columns:auto 1fr;gap:26px;align-items:start}
.app-blocco.guida{background:var(--anil);color:var(--on-anil)}
.app-blocco.checkin{background:var(--calce);color:var(--ink)}
.app-blocco.sito{grid-column:1/-1;background:#5A3B24;color:#F6F7F3}
.app-blocco.sito li .ico{color:#F3C77A}
.app-blocco.sito .btn-calce{color:#5A3B24}
.app-blocco.sito .btn-calce:hover{background:#fff}
.esito-app{margin:14px 0 0;font-size:15px;font-weight:600;color:#F3C77A;max-width:52ch}
.app-blocco.sito p{max-width:62ch}
@media (min-width:981px){.app-blocco.sito ul{grid-template-columns:repeat(3,auto);justify-content:start;column-gap:30px}}
.app-blocco h3{font-size:clamp(26px,2.6vw,34px);color:inherit!important}
.app-blocco p{margin:10px 0 18px;font-size:16.5px;opacity:.92}
.app-blocco .icona-app{width:84px;height:84px;border-radius:22px;background:#fff;display:grid;place-items:center;overflow:hidden}
.app-blocco .icona-app img{width:100%;height:100%;object-fit:cover}
.app-blocco ul{list-style:none;padding:0;margin:0 0 22px;display:grid;gap:8px;font-size:15.5px}
.app-blocco li{display:flex;gap:9px;align-items:flex-start}
.app-blocco li .ico{margin-top:3px}
.app-blocco.guida li .ico{color:#F3C77A}
.app-blocco.checkin li .ico{color:var(--anil-2)}
.gratis{display:inline-block;background:var(--bugan);color:#fff;font-weight:800;font-size:13px;padding:5px 10px;border-radius:8px;margin-bottom:12px;letter-spacing:.03em}
.qr{display:flex;gap:16px;align-items:center;margin-top:22px;font-size:14px;opacity:.9}
.qr img{width:104px;height:104px;background:#fff;padding:6px;border-radius:10px}
@media (max-width:980px){.app-duo{grid-template-columns:1fr}}
@media (max-width:520px){.app-blocco{grid-template-columns:1fr}}
.passi{counter-reset:p;list-style:none;padding:0;margin:0;display:grid;gap:14px}
.passi li{counter-increment:p;display:grid;grid-template-columns:40px 1fr;gap:12px;align-items:start}
.passi li::before{content:counter(p);width:40px;height:40px;border-radius:50% 46% 52% 48%;background:var(--anil-tint);color:var(--anil-2);display:grid;place-items:center;font:400 20px/1 var(--f-d)}
.tabs-sist{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:26px}
.tabs-sist h3{font-size:24px;color:var(--ink);margin-bottom:14px;display:flex;gap:10px;align-items:center}

/* isola */
.isola-foto{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.isola-foto figure{margin:0;position:relative}
.isola-foto img{width:100%;aspect-ratio:3/4.2;object-fit:cover;border-radius:50% 50% 12px 12px/ 32% 32% 12px 12px}
.isola-foto figcaption{margin-top:10px;font-weight:700;font-size:15px}
.isola-foto figcaption small{display:block;font-weight:600;color:var(--sabina);font-size:12.5px;text-transform:uppercase;letter-spacing:.06em}
@media (max-width:820px){.isola-foto{grid-template-columns:repeat(2,1fr)}.isola-foto figure:first-child{grid-column:1/-1}.isola-foto figure:first-child img{aspect-ratio:16/10;border-radius:var(--r)}}
.testo-lungo{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(24px,5vw,70px);padding:clamp(40px,6vw,70px) 0;border-top:2px solid var(--calce-3)}
.testo-lungo h2{font-size:clamp(28px,3.4vw,44px)}
.testo-lungo p{font-size:18px}
@media (max-width:820px){.testo-lungo{grid-template-columns:1fr}}
.elenco-punti{list-style:none;padding:0;margin:0;display:grid;gap:12px;font-size:17px}
.elenco-punti li{display:flex;gap:10px;align-items:center}
.elenco-punti .ico{color:var(--anil-2)}

/* contatti */
.linee{display:grid;gap:14px;margin:0;padding:0;list-style:none}
.linea{display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap;background:var(--calce);border-radius:var(--r);padding:18px 22px}
.linea b{font:400 24px/1.1 var(--f-d);color:var(--anil-2)}
.linea span{display:block;color:var(--ink-soft);font-size:15px;margin-top:4px}
.linea .az{display:flex;gap:8px}
.linea .btn{min-height:44px;padding:.6em 1em;font-size:15px}
.form{display:grid;gap:14px;background:var(--calce);border-radius:var(--r);padding:clamp(22px,3vw,34px)}
.form .due{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:560px){.form .due,.richiesta .due{grid-template-columns:1fr}}
.form .nota{font-size:13.5px;color:var(--ink-soft);margin:0}
.dove-info{display:flex;flex-wrap:wrap;gap:12px 30px;margin-top:26px;color:var(--ink-soft);font-size:15px}
.dove-info b{display:block;color:var(--ink);font-size:16px}

/* intestazione pagine interne */
.testata-pag{padding:clamp(30px,5vw,60px) 0 clamp(26px,4vw,40px)}
.testata-pag h1{font-size:clamp(40px,6vw,76px);max-width:16ch}
.testata-pag p{font-size:clamp(17px,1.5vw,20px);color:var(--ink-soft);margin-top:18px}

/* chiusura + piede */
.chiusura{text-align:center;padding:clamp(60px,9vw,120px) 0}
.chiusura h2{font-size:clamp(36px,5.4vw,70px);max-width:15ch;margin:0 auto}
.chiusura p{margin:20px auto 30px;color:var(--ink-soft);font-size:18px}
.chiusura .azioni{justify-content:center}
.piede{background:var(--anil-deep);color:var(--on-anil-soft);padding:60px 0 30px;margin-top:20px;border-top:10px solid var(--sabina)}
.piede .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:30px}
.piede h2,.piede h4{font:400 20px/1.2 var(--f-d);color:#fff;margin:0 0 14px}
.piede ul{list-style:none;margin:0;padding:0;display:grid;gap:8px;font-size:15px}
.piede a{color:var(--on-anil-soft);text-decoration:none}
.piede a:hover{color:#fff;text-decoration:underline}
.piede .tag{font-size:15.5px;max-width:34ch;margin-top:14px}
.piede .logo-b{height:44px;width:auto}
.piede .fondo{display:flex;flex-wrap:wrap;gap:10px 24px;justify-content:space-between;border-top:1px solid rgba(255,255,255,.14);margin-top:44px;padding-top:22px;font-size:13.5px}
.piede .fondo a{text-decoration:underline}
@media (max-width:820px){.piede .cols{grid-template-columns:1fr 1fr}.piede .cols>div:first-child{grid-column:1/-1}}
.wa-fisso{position:fixed;right:16px;bottom:16px;z-index:50;width:60px;height:60px;border-radius:50% 46% 52% 48%;background:var(--bugan);color:#fff;display:none;place-items:center;box-shadow:0 10px 24px -8px rgba(0,0,0,.45)}
.wa-fisso .ico{width:30px;height:30px}
@media (max-width:980px){.wa-fisso{display:grid}}

/* legale */
.legale{max-width:760px;padding-bottom:60px}
.legale h2{font-size:26px;margin:34px 0 10px;color:var(--ink)}
.crediti{font-size:14px;color:var(--ink-soft);columns:2 300px;gap:30px}
.crediti li{break-inside:avoid;margin-bottom:6px}

/* ---- Casa Vacanze: aggiunte ---- */
.salta:focus{position:fixed;left:12px;top:12px;width:auto;height:auto;clip:auto;z-index:99;background:var(--anil);color:#fff;padding:10px 16px;border-radius:var(--r-s)}
.logo{gap:9px;text-decoration:none;color:var(--anil)}
.logo .marchio{width:38px;height:38px}
.logo span{font:400 25px/1 var(--f-d);letter-spacing:-.01em;color:var(--anil)}
.logo span b{font-weight:400;color:var(--bugan)}
.logo-piede span{color:#fff}.logo-piede span b{color:#F59AC8}
:root[data-theme="dark"] .logo span{color:var(--ink)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .logo span{color:var(--ink)}}
.piede .social{display:flex;gap:10px;margin-top:18px}
.piede .social a{width:44px;height:44px;display:grid;place-items:center;border-radius:50% 46% 52% 48%;background:rgba(255,255,255,.08);color:#fff}
.piede .social a:hover{background:var(--bugan)}
.sez-calce{background:var(--calce-2)}
.sez-blu{background:var(--anil);color:var(--on-anil);margin:40px 0}
.sez-blu h2{color:var(--on-anil)!important}.sez-blu h2 em{color:#F3C77A}
.sez-blu p{color:var(--on-anil-soft)}.sez-blu .link-fr{color:#fff}
.club{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:14px}
.club a{display:block;font:400 clamp(26px,3.6vw,46px)/1 var(--f-d);color:var(--on-anil);text-decoration:none;padding:16px 26px;border-radius:50% 50% 12px 12px/ 60% 60% 12px 12px;box-shadow:inset 0 0 0 2px var(--on-anil-soft);transition:background .25s,color .25s}
.club a:hover{background:var(--calce);color:var(--anil)}
.club-chiaro a{color:var(--anil-2);box-shadow:inset 0 0 0 2px var(--anil-tint);font-size:clamp(22px,2.6vw,32px)}
.club-chiaro a:hover{background:var(--anil);color:var(--on-anil)}
.zone{display:grid;grid-template-columns:repeat(4,1fr);gap:26px}
.zona-blocco{text-decoration:none;color:var(--ink);display:flex;flex-direction:column}
.zona-blocco .zfoto{aspect-ratio:4/3.4;overflow:hidden;border-radius:var(--r)}
.zona-blocco img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.8,.2,1)}
.zona-blocco:hover img{transform:scale(1.05)}
.zona-blocco h3{font-size:24px;margin:16px 0 8px;color:var(--ink)}
.zona-blocco p{font-size:15.5px;color:var(--ink-soft);margin:0 0 12px}
.zona-blocco .link-fr{color:var(--anil-2);margin-top:auto}
@media (max-width:980px){.zone{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.zone{grid-template-columns:1fr}}
.gruppo-zona{margin:0 0 64px}
.zona-testa{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:20px 50px;align-items:end;margin-bottom:26px;padding-bottom:18px;border-bottom:6px solid var(--sabina)}
.zona-testa h2{font-size:clamp(28px,3.4vw,42px)}
.zona-testa p{margin:0;color:var(--ink-soft)}
@media (max-width:820px){.zona-testa{grid-template-columns:1fr}}
.icone-app{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;padding:20px}
.icone-app img{width:clamp(56px,7vw,84px);height:auto;border-radius:22%;box-shadow:0 10px 22px -10px rgba(0,0,0,.5)}
.unita{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.unita li{background:var(--calce-2);border-radius:var(--r-s);padding:12px 14px;display:grid}
.unita b{font:400 18px/1.2 var(--f-d);color:var(--anil-2)}
.unita span{font-size:14px;color:var(--ink-soft)}
.nota-piccola{font-size:14.5px;color:var(--ink-soft)}
.tutte-foto{margin:-20px 0 30px}
.richiesta h2{margin:0;font-size:26px}
.richiesta .esito,.form [data-esito]{color:var(--anil-2);font-weight:700}
.lightbox{border:0;padding:0;max-width:none;max-height:none;width:100vw;height:100dvh;background:rgba(8,14,32,.96)}
.lightbox::backdrop{background:rgba(8,14,32,.9)}
.lb-scorri{height:100%;overflow:auto;display:grid;gap:14px;padding:64px 16px 30px;justify-items:center}
.lb-scorri img{max-width:min(1200px,100%);height:auto;border-radius:12px}
.chiudi-lb{position:fixed;top:12px;right:12px;width:48px;height:48px;border-radius:50%;border:0;background:var(--calce);color:var(--anil);cursor:pointer;display:grid;place-items:center;z-index:2}
.chiudi-lb .ico{width:24px;height:24px}
.testo-isola{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(30px,6vw,80px);align-items:start;padding-bottom:30px}
.testo-isola .arco{justify-self:start;position:sticky;top:100px}
@media (max-width:820px){.testo-isola{grid-template-columns:1fr}.testo-isola .arco{position:static;justify-self:center}}
.prosa p{font-size:18px;line-height:1.7}
.prosa{max-width:70ch}
.firma{font:400 22px/1.3 var(--f-d);color:var(--sabina)}
.punti-1{grid-template-columns:1fr 1fr;margin-top:34px}
@media (max-width:560px){.punti-1{grid-template-columns:1fr}}
.guida-testa{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(30px,5vw,70px);align-items:center;padding:28px 0 40px}
.guida-testa .arco{justify-self:start;width:min(100%,420px)}
.guida-testa h1{font-size:clamp(44px,7vw,92px);margin-bottom:22px}
@media (max-width:820px){.guida-testa{grid-template-columns:1fr}.guida-testa .arco{justify-self:center;order:0}}
.fatti-guida{display:grid;gap:12px;margin:0 0 24px}
.fatti-guida div{display:grid;grid-template-columns:150px 1fr;gap:14px;padding-bottom:12px;border-bottom:1.5px solid var(--calce-3)}
.fatti-guida dt{font-weight:800;color:var(--sabina);font-size:14px;text-transform:uppercase;letter-spacing:.05em;padding-top:2px}
.fatti-guida dd{margin:0}
@media (max-width:520px){.fatti-guida div{grid-template-columns:1fr;gap:4px}}
.avviso{background:var(--anil-tint);color:var(--anil-2);font-weight:700;padding:12px 16px;border-radius:var(--r-s)}
.foto-striscia{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;margin:34px 0 10px}
.foto-striscia img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r-s)}
.contatti{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(24px,4vw,60px);align-items:start;padding-bottom:70px}
.contatti-lato h2{font-size:28px;margin-bottom:16px;color:var(--ink)}
@media (max-width:900px){.contatti{grid-template-columns:1fr}}
.estratto{display:block;margin-top:4px;line-height:1.45}
.guida-griglia .casa .foto{aspect-ratio:4/3.6}
.isola-foto a{text-decoration:none;color:var(--ink)}
.sez-h h2{color:inherit}

.icone-app{height:100%;align-content:center}
.scheda p a{display:inline-block;margin-top:18px}
.invito-lingua{position:fixed;left:16px;bottom:16px;z-index:55;display:flex;align-items:center;gap:4px;background:var(--anil);color:#fff;border-radius:var(--r-s);padding:6px 6px 6px 16px;box-shadow:0 14px 30px -12px rgba(0,0,0,.5);animation:entra .5s cubic-bezier(.2,.8,.2,1)}
.invito-lingua a{color:#fff;font-weight:800;text-decoration:none}
.invito-lingua button{background:none;border:0;color:#fff;font-size:22px;width:40px;height:40px;cursor:pointer;border-radius:50%}
.invito-lingua button:hover{background:rgba(255,255,255,.15)}
@keyframes entra{from{transform:translateY(20px);opacity:0}}
@media (max-width:980px){.invito-lingua{right:88px}}

/* fascia tema dimostrativo */
.demo-band{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:center;justify-content:center;padding:8px 16px;background:#0E1630;color:#fff;font:600 13px/1.3 Figtree,system-ui,sans-serif;text-align:center}
.demo-band a{color:#F3C77A;text-decoration:underline;text-underline-offset:3px}
.crediti{list-style:none;padding:0;margin:8px 0 0;font-size:13px;line-height:1.5;color:var(--ink-soft,#556)}
.crediti li{padding:2px 0}
