/* ==========================================================
   SICILY SALES — foglio di stile del sito pubblico
   ========================================================== */
:root{
  --nero:#0B0B0C;
  --fondo:#0F0F11;
  --superficie:#17171A;
  --superficie2:#1E1E22;
  --bordo:#2A2A2F;
  --bordo2:#3A3A41;
  --testo:#F3F2EF;
  --tenue:#A3A2A0;
  --tenue2:#77767A;
  --accento:#2E9E77;
  --accento-scuro:#237A5C;
  --serif:"Instrument Serif",Georgia,"Times New Roman",serif;
  --sans:"Instrument Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  --gut:clamp(16px,4vw,56px);
  --r:10px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
}
body{margin:0;background:var(--fondo);color:var(--testo);font-family:var(--sans);
  font-size:16.5px;line-height:1.62;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.1;margin:0;letter-spacing:-.005em}
:focus-visible{outline:2px solid var(--accento);outline-offset:3px;border-radius:4px}
.ic{width:18px;height:18px;flex:0 0 auto}
.ic--s{width:15px;height:15px}
.ic--g{width:40px;height:40px;opacity:.25}
.salta{position:absolute;left:-9999px;top:0;background:var(--accento);color:#fff;padding:10px 16px;z-index:200}
.salta:focus{left:8px;top:8px}
.cont{max-width:1280px;margin:0 auto;padding:0 var(--gut)}
.cont--stretto{max-width:760px}

/* ---------- testata ---------- */
.testata{position:sticky;top:0;z-index:80;background:rgba(11,11,12,.9);
  backdrop-filter:saturate(150%) blur(12px);border-bottom:1px solid var(--bordo)}
.testata__in{max-width:1280px;margin:0 auto;padding:12px var(--gut);
  display:flex;align-items:center;gap:clamp(12px,3vw,32px)}
.marchio{text-decoration:none;flex:0 0 auto;margin-right:auto}
.marchio__testo{font-family:var(--sans);font-size:clamp(14px,2.6vw,17px);font-weight:600;
  letter-spacing:.22em;text-transform:uppercase;white-space:nowrap}
.menu{display:none;gap:26px}
.menu a{text-decoration:none;font-size:14.5px;color:var(--tenue);transition:color .18s}
.menu a:hover{color:var(--testo)}
@media (min-width:900px){.menu{display:flex}}
.lingue{display:flex;gap:2px;flex:0 0 auto}
.lingue a{text-decoration:none;font-size:12.5px;font-weight:600;letter-spacing:.08em;
  padding:5px 7px;border-radius:5px;color:var(--tenue2);transition:.18s}
.lingue a:hover{color:var(--testo);background:var(--superficie2)}
.lingue a[aria-current="true"]{color:var(--nero);background:var(--testo)}

/* ---------- prima schermata ---------- */
.hero{position:relative;min-height:clamp(440px,78vh,720px);display:flex;align-items:flex-end;
  overflow:hidden;background:var(--nero)}
.hero--senzafoto{min-height:clamp(300px,42vh,420px)}
.hero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  animation:heroIn 1.4s cubic-bezier(.2,.7,.3,1) both}
@keyframes heroIn{from{transform:scale(1.06);opacity:0}to{transform:scale(1);opacity:1}}
/* il velo è ciò che rende leggibile il testo sopra la foto */
.hero__vel{position:absolute;inset:0;background:
  linear-gradient(180deg,rgba(11,11,12,.55) 0%,rgba(11,11,12,.18) 35%,rgba(11,11,12,.82) 78%,rgba(11,11,12,.96) 100%)}
.hero__in{position:relative;z-index:2;width:100%;max-width:1280px;margin:0 auto;
  padding:0 var(--gut) clamp(40px,7vw,76px)}
.hero__titolo{font-family:var(--sans);font-size:clamp(26px,6.2vw,58px);font-weight:600;
  letter-spacing:.16em;text-transform:uppercase;line-height:1.15;
  animation:su .8s .25s cubic-bezier(.2,.7,.3,1) both}
.hero__sub{font-family:var(--serif);font-size:clamp(21px,3.6vw,34px);font-style:italic;
  margin:16px 0 0;max-width:20ch;line-height:1.22;
  animation:su .8s .4s cubic-bezier(.2,.7,.3,1) both}
.hero__testo{margin:14px 0 0;max-width:48ch;color:#DAD9D6;font-size:clamp(15px,1.7vw,17.5px);
  animation:su .8s .55s cubic-bezier(.2,.7,.3,1) both}
.hero .btn{margin-top:26px;animation:su .8s .7s cubic-bezier(.2,.7,.3,1) both}
@keyframes su{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}

/* ---------- pulsanti ---------- */
.btn{display:inline-flex;align-items:center;gap:9px;padding:12px 22px;border-radius:99px;
  text-decoration:none;font-size:15px;font-weight:600;border:1px solid var(--bordo2);
  transition:.2s;background:transparent}
.btn:hover{border-color:var(--testo)}
.btn--chiaro{background:var(--testo);color:var(--nero);border-color:var(--testo)}
.btn--chiaro:hover{background:#fff;border-color:#fff}
.btn--pieno{background:var(--accento);border-color:var(--accento);color:#fff;width:100%;
  justify-content:center;padding:14px 22px;font-size:15.5px}
.btn--pieno:hover{background:var(--accento-scuro);border-color:var(--accento-scuro)}

/* ---------- sezioni ---------- */
.sez{padding:clamp(48px,7vw,92px) 0}
.sez--prov{padding-bottom:clamp(24px,3vw,40px)}
.sez--chi{background:var(--superficie);border-block:1px solid var(--bordo)}
.sez--contatti{background:var(--superficie);border-top:1px solid var(--bordo)}
.sez__testa{margin-bottom:clamp(22px,3vw,36px)}
.sez__testa h2,.sez h1{font-size:clamp(26px,3.6vw,40px)}
.sez__nota{color:var(--tenue);font-size:14.5px;max-width:52ch;margin:10px 0 0}
.prosa{color:#DEDDDA;max-width:68ch}
.prosa--lunga{font-size:16px}
.prosa a{color:var(--accento)}

/* ---------- indice province ---------- */
.provlista{border-top:1px solid var(--bordo)}
.prov{display:flex;align-items:center;gap:14px;width:100%;text-align:left;
  padding:clamp(13px,1.9vw,19px) 2px;border-bottom:1px solid var(--bordo);
  transition:padding-left .24s cubic-bezier(.2,.7,.3,1),background .2s}
.prov:hover,.prov:focus-visible{padding-left:14px;background:rgba(46,158,119,.07)}
.prov__nome{font-family:var(--serif);font-size:clamp(24px,4.4vw,40px);flex:1;min-width:0;
  line-height:1.1}
.prov__linea{width:0;height:2px;background:var(--accento);border-radius:2px;flex:0 0 auto;
  transition:width .26s cubic-bezier(.2,.7,.3,1)}
.prov:hover .prov__linea{width:clamp(20px,5vw,56px)}
.prov__n{font-size:13.5px;color:var(--tenue2);flex:0 0 auto;font-variant-numeric:tabular-nums}

/* ---------- filtri ---------- */
.filtri{margin-bottom:clamp(22px,3vw,34px)}
.filtri__riga{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;
  padding:2px 0 8px;-webkit-overflow-scrolling:touch}
.filtri__riga::-webkit-scrollbar{display:none}
.chip{white-space:nowrap;padding:7px 15px;border:1px solid var(--bordo2);border-radius:99px;
  font-size:14px;font-weight:500;color:var(--tenue);flex:0 0 auto;transition:.18s}
.chip:hover{color:var(--testo);border-color:var(--tenue2)}
.chip[aria-pressed="true"]{background:var(--accento);border-color:var(--accento);color:#fff}
.chip--t[aria-pressed="true"]{background:transparent;border-color:var(--accento);color:var(--accento)}
.filtri__meta{font-size:13.5px;color:var(--tenue2);margin:6px 0 0}
.filtri__meta button{color:var(--accento);font-weight:600;text-decoration:underline;font-size:inherit}

/* ---------- griglia immobili ---------- */
.griglia{display:grid;gap:clamp(20px,2.6vw,32px);grid-template-columns:1fr}
@media (min-width:560px){.griglia{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1000px){.griglia{grid-template-columns:repeat(3,1fr)}}
.scheda{background:var(--superficie);border:1px solid var(--bordo);border-radius:var(--r);
  overflow:hidden;transition:transform .22s cubic-bezier(.2,.7,.3,1),border-color .22s}
.scheda:hover{transform:translateY(-3px);border-color:var(--bordo2)}
.scheda[hidden]{display:none}
.scheda__link{display:block;text-decoration:none;color:inherit}
.scheda__foto{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;background:var(--superficie2)}
.scheda__foto img{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.2,.7,.3,1)}
.scheda:hover .scheda__foto img{transform:scale(1.04)}
.scheda__nofoto{position:absolute;inset:0;display:grid;place-items:center;color:var(--tenue2)}
.tag{position:absolute;font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  padding:5px 11px;border-radius:99px;display:inline-flex;align-items:center;gap:5px}
.tag--prov{right:10px;top:10px;background:var(--accento);color:#fff}
.tag--ev{left:10px;top:10px;background:rgba(11,11,12,.82);color:#F0C64E;backdrop-filter:blur(6px)}
.tag--ev svg{fill:currentColor;stroke:none}
.scheda__corpo{display:block;padding:15px 16px 17px}
/* prezzo e metri sulla stessa riga senza mai spezzarsi */
.scheda__riga1{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:nowrap}
.scheda__prezzo{font-family:var(--serif);font-size:clamp(21px,2.6vw,26px);white-space:nowrap;
  font-variant-numeric:tabular-nums}
.scheda__mq{font-size:14px;color:var(--tenue);white-space:nowrap;flex:0 0 auto;
  font-variant-numeric:tabular-nums}
.scheda__titolo{font-size:19px;margin:8px 0 6px;line-height:1.25}
/* l'indirizzo resta su una riga sola e viene troncato: niente più una parola per riga */
.scheda__ind{display:flex;gap:6px;align-items:flex-start;color:var(--tenue);font-size:13.5px}
.scheda__ind span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.scheda__ind svg{margin-top:3px}
.scheda__specs{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:12px;padding-top:12px;
  border-top:1px solid var(--bordo);font-size:13px;color:var(--tenue2)}
.vuoto{text-align:center;color:var(--tenue2);padding:52px 0}

/* ---------- chi siamo / contatti ---------- */
.contatti__grid{display:grid;gap:clamp(28px,4vw,52px);grid-template-columns:1fr}
@media (min-width:880px){.contatti__grid{grid-template-columns:1fr minmax(360px,.9fr);align-items:start}}
.diretti{display:flex;flex-direction:column;gap:10px;margin-top:24px}
.diretti a{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--testo);
  font-size:15.5px;width:fit-content;border-bottom:1px solid var(--bordo2);padding-bottom:3px}
.diretti a:hover{border-color:var(--accento);color:var(--accento)}

/* ---------- modulo ---------- */
.modulo{background:var(--fondo);border:1px solid var(--bordo);border-radius:var(--r);
  padding:clamp(20px,3vw,28px)}
.modulo h3{font-size:23px}
.modulo__sub{color:var(--tenue);font-size:14px;margin:6px 0 18px}
.modulo__rif{font-size:13px;color:var(--tenue);background:var(--superficie2);
  padding:9px 12px;border-radius:7px;margin:0 0 14px}
.campi2{display:grid;gap:12px;grid-template-columns:1fr}
@media (min-width:420px){.campi2{grid-template-columns:1fr 1fr}}
.campo{display:block;margin-bottom:12px}
.campo span{display:block;font-size:13px;color:var(--tenue);margin-bottom:5px}
.campo input,.campo textarea{width:100%;padding:11px 13px;background:var(--superficie2);
  border:1px solid var(--bordo2);border-radius:8px;color:var(--testo);font:inherit;font-size:15.5px;
  transition:border-color .18s}
.campo input:focus,.campo textarea:focus{outline:none;border-color:var(--accento)}
.campo textarea{resize:vertical;min-height:110px}
.consenso{display:flex;gap:11px;align-items:flex-start;font-size:13px;color:var(--tenue);
  line-height:1.5;margin:6px 0 16px}
.consenso input{width:18px;height:18px;flex:0 0 auto;margin-top:2px;accent-color:var(--accento)}
.consenso a{color:var(--accento)}
.trappola{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.avviso{display:flex;align-items:flex-start;gap:9px;padding:12px 14px;border-radius:8px;
  font-size:14px;margin:0 0 16px;line-height:1.45}
.avviso--ok{background:rgba(46,158,119,.16);border:1px solid var(--accento);color:#B9E8D3}
.avviso--ko{background:rgba(214,142,58,.14);border:1px solid #B87A2E;color:#F0D2A6}
.modulo__pie{margin-top:16px;padding-top:16px;border-top:1px solid var(--bordo);
  font-size:14px;color:var(--tenue);display:flex;flex-direction:column;gap:6px}
.modulo__pie a{color:var(--testo);text-decoration:none;border-bottom:1px solid var(--bordo2);width:fit-content}
.modulo__pie a:hover{border-color:var(--accento)}

/* ---------- scheda immobile ---------- */
.pagina-immobile{padding-bottom:clamp(50px,7vw,90px)}
.indietro{display:inline-flex;align-items:center;gap:8px;text-decoration:none;color:var(--tenue);
  font-size:14.5px;font-weight:600;padding:20px 0 12px}
.indietro:hover{color:var(--accento)}
.galleria{margin-bottom:clamp(24px,3vw,36px)}
.galleria__palco{position:relative;aspect-ratio:16/10;background:var(--nero);
  border-radius:var(--r);overflow:hidden}
@media (max-width:600px){.galleria__palco{aspect-ratio:4/3}}
/* le foto riempiono sempre il riquadro: niente più bande grigie ai lati */
.galleria__palco img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  opacity:0;transition:opacity .4s ease}
.galleria__palco img.attiva{opacity:1}
.gnav{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;
  background:rgba(11,11,12,.6);border:1px solid rgba(255,255,255,.18);border-radius:50%;
  display:grid;place-items:center;z-index:3;transition:.18s;backdrop-filter:blur(6px)}
.gnav:hover{background:rgba(11,11,12,.9)}
.gnav--p{left:12px}.gnav--n{right:12px}
.galleria__conta{position:absolute;left:12px;bottom:12px;z-index:3;background:rgba(11,11,12,.72);
  padding:5px 12px;border-radius:99px;font-size:12.5px;font-variant-numeric:tabular-nums;
  backdrop-filter:blur(6px)}
.galleria__zoom{position:absolute;right:12px;bottom:12px;z-index:3;width:36px;height:36px;
  background:rgba(11,11,12,.72);border-radius:8px;display:grid;place-items:center;backdrop-filter:blur(6px)}
.galleria__mini{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding-top:8px}
.galleria__mini::-webkit-scrollbar{display:none}
.galleria__mini button{width:96px;height:66px;flex:0 0 auto;border-radius:7px;overflow:hidden;
  opacity:.45;border:1px solid transparent;transition:.2s}
.galleria__mini button.attiva,.galleria__mini button:hover{opacity:1;border-color:var(--accento)}
.galleria__mini img{width:100%;height:100%;object-fit:cover}

.dett{display:grid;gap:clamp(28px,4vw,54px);grid-template-columns:1fr;align-items:start}
@media (min-width:980px){.dett{grid-template-columns:minmax(0,1.6fr) minmax(340px,1fr)}}
.dett__prov{color:var(--accento);font-size:12.5px;font-weight:700;letter-spacing:.12em;
  text-transform:uppercase;margin:0 0 10px}
.dett__titolo{font-size:clamp(28px,4.2vw,46px);line-height:1.08}
.dett__ind{display:flex;gap:8px;align-items:flex-start;color:var(--tenue);margin:12px 0 0;font-size:15px}
.dett__ind svg{margin-top:4px}
.dett__prezzo{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin-top:20px;
  padding-top:20px;border-top:1px solid var(--bordo)}
.dett__prezzo strong{font-family:var(--serif);font-size:clamp(28px,4vw,40px);font-weight:400;
  font-variant-numeric:tabular-nums}
.dett__prezzo span{color:var(--tenue);font-size:16px;font-variant-numeric:tabular-nums}
.dett__rif{font-size:12.5px;color:var(--tenue2);letter-spacing:.06em;margin:6px 0 0}
.dett__lato{position:static}
@media (min-width:980px){.dett__lato{position:sticky;top:82px}}
.blocco{margin-top:clamp(30px,4vw,46px)}
.blocco h2{font-size:22px;padding-bottom:10px;border-bottom:1px solid var(--bordo);margin-bottom:16px}
.sotto{font-size:18px;margin:24px 0 10px}

.dati{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1px;
  background:var(--bordo);border:1px solid var(--bordo);border-radius:var(--r);overflow:hidden;margin:0}
.dati>div{background:var(--superficie);padding:14px 16px;display:flex;gap:11px;align-items:flex-start}
.dati svg{color:var(--accento);margin-top:2px}
.dati dt{font-size:12px;color:var(--tenue2);margin:0}
.dati dd{margin:2px 0 0;font-weight:600;font-size:16px}
.dotazioni{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:9px}
.dotazioni li{display:flex;align-items:center;gap:8px;font-size:14px;padding:8px 14px;
  background:var(--superficie);border:1px solid var(--bordo);border-radius:99px}
.dotazioni svg{color:var(--accento)}
.planim img{border-radius:var(--r);border:1px solid var(--bordo);background:#fff}

.mappa{height:380px;border-radius:var(--r);overflow:hidden;border:1px solid var(--bordo);
  background:var(--superficie2)}
.mappa__link{display:flex;gap:18px;flex-wrap:wrap;margin-top:14px}
.mappa__link a{display:inline-flex;align-items:center;gap:7px;text-decoration:none;
  color:var(--accento);font-size:14.5px;font-weight:600}
.mappa__link a:hover{text-decoration:underline}
.leaflet-container{background:var(--superficie2)!important;font-family:var(--sans)!important}

/* ---------- lightbox ---------- */
.lightbox{position:fixed;inset:0;z-index:150;background:rgba(8,8,9,.96);
  display:grid;place-items:center;padding:clamp(12px,4vw,48px)}
.lightbox[hidden]{display:none}
.lightbox img{max-width:100%;max-height:88vh;object-fit:contain;border-radius:6px}
.lightbox button{position:absolute;width:48px;height:48px;border-radius:50%;
  background:rgba(255,255,255,.1);display:grid;place-items:center;transition:.18s}
.lightbox button:hover{background:rgba(255,255,255,.2)}
.lightbox__x{top:16px;right:16px}
.lightbox__p{left:12px;top:50%;transform:translateY(-50%)}
.lightbox__n{right:12px;top:50%;transform:translateY(-50%)}

/* ---------- piè di pagina ---------- */
.pie{background:var(--nero);border-top:1px solid var(--bordo);padding:clamp(34px,5vw,56px) 0 34px;
  color:var(--tenue);font-size:14px}
.pie__in{max-width:1280px;margin:0 auto;padding:0 var(--gut);display:grid;gap:22px;
  grid-template-columns:1fr}
@media (min-width:760px){.pie__in{grid-template-columns:1fr 1fr 1fr}}
.pie p{margin:0 0 5px}
.pie a{color:var(--tenue);text-decoration:none;border-bottom:1px solid var(--bordo2)}
.pie a:hover{color:var(--testo);border-color:var(--accento)}
.pie__nome{color:var(--testo);font-weight:600}
.pie__copy{color:var(--tenue2);font-size:13px}
@media (min-width:760px){.pie__copy{text-align:right}}

/* elementi contenitore: min-width:0 impedisce che un testo lungo
   sfondi la griglia — è esattamente il difetto che spezzava le schede */
.dett__main{min-width:0}
.dett__lato{min-width:0}
.scheda__corpo{min-width:0}

/* ==========================================================
   ADATTAMENTO AI DISPOSITIVI
   ========================================================== */

/* Su iPhone un campo con testo sotto i 16px fa ingrandire la pagina
   a ogni tocco, e poi resta ingrandita. Sotto i 16px non si scende. */
@media (max-width:820px){
  .campo input,.campo textarea{font-size:16px}
}

/* Dita invece del mouse: aree toccabili di almeno 44px */
@media (pointer:coarse){
  .chip{padding:11px 17px}
  .lingue a{padding:13px 11px;min-height:44px;display:inline-flex;align-items:center}
  .menu a{padding:10px 4px}
  .diretti a{padding-bottom:8px}
  .mappa__link a{padding:6px 0}
  .galleria__mini button{width:104px;height:72px}
  .gnav{width:48px;height:48px}
}

/* L'altezza dello schermo sui telefoni cambia quando compare o sparisce
   la barra dell'indirizzo: dvh tiene conto di quella reale. */
@supports (height:100dvh){
  .hero{min-height:clamp(440px,78dvh,720px)}
  .hero--senzafoto{min-height:clamp(300px,42dvh,420px)}
  .lightbox img{max-height:88dvh}
}

/* Telefono in orizzontale: lo schermo è basso, l'hero non deve occuparlo tutto */
@media (orientation:landscape) and (max-height:520px){
  .hero{min-height:300px}
  .hero--senzafoto{min-height:220px}
  .hero__titolo{font-size:clamp(22px,4.5vw,34px)}
  .hero__sub{font-size:clamp(18px,2.8vw,24px);margin-top:10px}
  .hero__testo{display:none}
  .hero .btn{margin-top:16px}
  .galleria__palco{aspect-ratio:16/9}
}

/* Telefoni con la tacca o i bordi curvi */
@supports (padding:max(0px)){
  .testata__in,.cont,.hero__in,.pie__in{
    padding-left:max(var(--gut),env(safe-area-inset-left));
    padding-right:max(var(--gut),env(safe-area-inset-right));
  }
  .pie{padding-bottom:max(34px,env(safe-area-inset-bottom))}
}

/* Il menu resta raggiungibile anche da telefono, su una seconda riga */
@media (max-width:899px){
  .testata__in{flex-wrap:wrap;row-gap:6px}
  .marchio{order:1}
  .lingue{order:2}
  .menu{order:3;display:flex;width:100%;gap:16px;overflow-x:auto;
    scrollbar-width:none;padding-bottom:2px}
  .menu::-webkit-scrollbar{display:none}
  .menu a{white-space:nowrap;font-size:14px}
}

/* Schermi molto stretti */
@media (max-width:359px){
  :root{--gut:14px}
  .marchio__testo{font-size:13px;letter-spacing:.16em}
  .scheda__prezzo{font-size:19px}
  .dotazioni li{font-size:13px;padding:7px 11px}
  .dati{grid-template-columns:1fr 1fr}
}

/* Una parola lunghissima non deve sfondare il riquadro */
.prosa,.scheda__titolo,.dett__titolo,.dett__ind,.modulo__pie a,.contatto__msg{overflow-wrap:anywhere}

/* Chi preferisce meno movimento */
@media (prefers-reduced-motion:reduce){
  .hero__img,.hero__titolo,.hero__sub,.hero__testo,.hero .btn{animation:none}
  .scheda:hover{transform:none}
  .scheda:hover .scheda__foto img{transform:none}
}

/* Stampa: una scheda immobile deve poter essere stampata o salvata in PDF */
@media print{
  .testata,.pie,.modulo,.gnav,.galleria__mini,.galleria__zoom,.indietro,
  .filtri,.mappa,.mappa__link,.lightbox{display:none!important}
  body{background:#fff;color:#000}
  .dett{display:block}
  .galleria__palco{aspect-ratio:16/9;page-break-inside:avoid}
  a[href^="http"]::after{content:" (" attr(href) ")";font-size:11px;color:#555}
}

/* ---------- logo, anteprime, testo breve ---------- */
.marchio__logo{height:clamp(26px,4.6vw,38px);width:auto;object-fit:contain}
.hero__img{transition:opacity .4s ease}

/* le miniature sotto la copertina nell'elenco */
.scheda__ant{display:grid;grid-template-columns:repeat(4,1fr);gap:3px;padding:3px 3px 0;background:var(--superficie)}
.scheda__ant span{display:block;aspect-ratio:4/3;overflow:hidden;border-radius:3px;background:var(--superficie2)}
.scheda__ant img{width:100%;height:100%;object-fit:cover}
.scheda__breve{display:block;margin-top:9px;color:var(--tenue);font-size:13.8px;line-height:1.5;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.dett__breve{font-family:var(--serif);font-size:clamp(18px,2.2vw,23px);line-height:1.4;color:#E6E5E2;
  margin:24px 0 0;padding-left:16px;border-left:2px solid var(--accento);max-width:60ch}

/* ---------- logo nelle sue tre posizioni ---------- */
.marchio__logo{height:clamp(28px,4.8vw,42px);width:auto;max-width:190px;object-fit:contain;display:block}
.modulo__logo{height:34px;width:auto;max-width:150px;object-fit:contain;margin:0 0 14px;opacity:.9}
.pie__logo{height:32px;width:auto;max-width:150px;object-fit:contain;margin:0 0 10px;opacity:.75}
@media (max-width:420px){
  .marchio__logo{max-width:130px}
}
