/* =====================================================================
   SOLE LUNA B&B - aspetto del sito (colori, caratteri, impaginazione)
   ===================================================================== */

/* Caratteri ospitati sul sito: nessuna richiesta a Google, nessun cookie */
@font-face{font-family:"Fraunces";font-style:normal;font-weight:300 700;font-display:swap;src:url(font/fraunces-latin.woff2) format("woff2");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:"Fraunces";font-style:normal;font-weight:300 700;font-display:swap;src:url(font/fraunces-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,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:"Nunito";font-style:normal;font-weight:300 800;font-display:swap;src:url(font/nunito-latin.woff2) format("woff2");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:"Nunito";font-style:normal;font-weight:300 800;font-display:swap;src:url(font/nunito-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

:root{--notte:#16213A;--notte-2:#0E1628;--oro:#C6A15B;--oro-chiaro:#E4CD98;--pietra:#EDE7DC;--pietra-2:#E2D9CA;--testo:#232838;--testo-2:#4F5566;
--serif:"Fraunces",Georgia,"Times New Roman",serif;--sans:"Nunito",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--colonna:48rem;
box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);color-scheme:light}
*,*::before,*::after{box-sizing:inherit}
[hidden]{display:none!important}
html{scroll-padding-top:env(safe-area-inset-top,0px);overflow-x:clip}
body{margin:0;background:var(--pietra);color:var(--testo);font:400 1.17rem/1.8 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:clip}
h1,h2,h3,summary,.marchio b,.dist b,.stagioni b,.card b{font-variation-settings:"SOFT" 100,"WONK" 0}
img{max-width:100%;display:block}
a{color:inherit}
:focus-visible{outline:2px solid var(--oro);outline-offset:3px;border-radius:2px}
p{margin:0 0 1.25rem}
strong{color:var(--notte);font-weight:700}
.avviso-operatore{position:sticky;top:0;z-index:99;background:#3A2748;color:#fff;font:700 .95rem/1.4 var(--sans);padding:.6rem 1rem;text-align:center}
.avviso-operatore a{color:#E8DEF3}

/* --- barra delle lingue --- */
.lingue{background:var(--notte-2);border-bottom:1px solid rgba(198,161,91,.25)}
.lingue ul{list-style:none;margin:0 auto;padding:0 clamp(1rem,4vw,3rem);max-width:1200px;display:flex;gap:.2rem;overflow-x:auto;scrollbar-width:none;justify-content:flex-end}
.lingue ul::-webkit-scrollbar{display:none}
.lingue a{display:block;padding:.55rem .8rem;font:600 .92rem/1 var(--sans);color:rgba(255,255,255,.72);white-space:nowrap;border-bottom:2px solid transparent;text-decoration:none}
.lingue a:hover{color:#fff}
.lingue a[aria-current="true"]{color:var(--oro-chiaro);border-bottom-color:var(--oro)}

/* --- menu --- */
.menu{position:sticky;top:0;z-index:20;background:var(--notte);box-shadow:0 1px 0 rgba(198,161,91,.3)}
.menu .riga{max-width:1200px;margin:0 auto;padding:0 clamp(1rem,4vw,3rem);display:flex;align-items:center;gap:1.5rem;min-height:76px}
.marchio{display:flex;align-items:center;gap:.75rem;color:#fff;text-decoration:none}
.emblema{width:52px;height:52px;flex:none}
.marchio b{font:600 1.3rem/1 var(--serif)}
.marchio b span{color:var(--oro-chiaro)}
.sezioni{margin-left:auto}
.voci{display:flex;list-style:none;margin:0;padding:0;gap:.1rem;overflow-x:auto;scrollbar-width:none}
.voci::-webkit-scrollbar{display:none}
.voci a{display:block;padding:1.55rem .85rem 1.35rem;color:rgba(255,255,255,.85);font:600 1.02rem/1 var(--sans);white-space:nowrap;border-bottom:3px solid transparent;text-decoration:none}
.voci a:hover{color:#fff}
.voci a[aria-current="page"]{color:var(--oro-chiaro);border-bottom-color:var(--oro)}
.prenota-menu{margin-left:1rem}

/* --- pulsanti e riquadro 2030 --- */
.btn-oro{display:inline-block;background:var(--oro);color:var(--notte);font:700 1.02rem/1 var(--sans);padding:.85rem 1.4rem;border-radius:3px;white-space:nowrap;text-decoration:none;border:0;cursor:pointer}
.btn-oro:hover{background:var(--oro-chiaro)}
.btn-linea{display:inline-block;padding:.9rem 1.8rem;border:1.5px solid var(--oro);border-radius:3px;color:var(--notte);text-decoration:none;font:700 1.05rem/1 var(--sans);background:transparent}
.btn-linea:hover{background:var(--oro)}
.chiusura .btn-linea,.fascia-scura .btn-linea{color:#fff}
.chiusura .btn-linea:hover,.fascia-scura .btn-linea:hover{color:var(--notte)}
.badge{display:inline-block;background:var(--notte);color:var(--oro-chiaro);font:700 1.02rem/1 var(--sans);padding:.75rem 1.1rem;border-radius:3px}
.chiusura .badge,.fascia-scura .badge{background:var(--oro);color:var(--notte)}

/* --- foto: la pagina decide le proporzioni e ritaglia, qualunque misura abbia il file --- */
img.f-apertura,img.f-verticale,img.f-larga,img.f-scheda,img.f-fascia,.foto-mancante{width:100%;height:auto;object-fit:cover;object-position:50% 50%;background:var(--pietra-2);display:block}
img.f-verticale,.foto-mancante.f-verticale{aspect-ratio:4/5}
img.f-larga,.foto-mancante.f-larga{aspect-ratio:3/2}
img.f-scheda,.foto-mancante.f-scheda{aspect-ratio:4/3}
img.f-fascia,.foto-mancante.f-fascia{aspect-ratio:16/9}
.figura{margin:2.4rem 0}
.figura img,.figura .foto-mancante{border-radius:4px}
.figura figcaption{font-size:.95rem;line-height:1.5;color:var(--testo-2);margin-top:.55rem}

/* --- impaginazione generale --- */
.contenitore{max-width:1100px;margin:0 auto;padding:0 clamp(1.2rem,4vw,3rem)}
.colonna{max-width:var(--colonna);margin:0 auto}
section.colonna{margin:4.5rem auto}
h2{font:600 clamp(1.7rem,3.2vw,2.4rem)/1.15 var(--serif);color:var(--notte);margin:0 0 1.1rem;text-wrap:balance}
h2.linea::before{content:"";display:block;width:2.6rem;height:2px;background:var(--oro);margin-bottom:1rem}
h3{font:600 1.25rem/1.3 var(--serif);color:var(--notte);margin:1.8rem 0 .3rem}
.intro{font-size:1.3rem;line-height:1.7;color:var(--notte)}
.apertura-testo{max-width:var(--colonna);margin:4.5rem auto 0}
.pratico{background:var(--pietra-2);border-left:3px solid var(--oro);padding:1rem 1.2rem;margin:1.4rem 0;border-radius:0 6px 6px 0}
.pratico p:last-child{margin:0}
ul.elenco{list-style:none;padding:0;margin:1rem 0}
ul.elenco li{padding:1rem 0;border-top:1px solid rgba(22,33,58,.14)}
ul.elenco li:last-child{border-bottom:1px solid rgba(22,33,58,.14)}

/* --- apertura con foto a tutta larghezza e sfumatura --- */
.hero{position:relative;display:flex;color:#fff;overflow:hidden;background:var(--notte-2)}
.hero>img,.hero>.foto-mancante{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto}
.hero-testo{position:relative;z-index:2;width:100%;max-width:1100px;margin:0 auto}
.hero h1{font:600 clamp(2.1rem,5vw,3.9rem)/1.08 var(--serif);margin:0 0 1rem;max-width:21ch;text-wrap:balance}
.hero p{max-width:38rem;margin:0;font-size:1.25rem;color:rgba(255,255,255,.92)}
.hero .credito{position:absolute;right:clamp(1rem,4vw,3rem);bottom:1rem;z-index:2;font-size:.86rem;color:rgba(255,255,255,.8)}
.hero-alta{min-height:min(92vh,860px);align-items:flex-start}
.hero-alta::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,22,40,.8) 0%,rgba(14,22,40,.45) 32%,rgba(14,22,40,0) 55%,rgba(14,22,40,0) 85%,rgba(14,22,40,.55) 100%)}
.hero-alta .hero-testo{padding:clamp(3.5rem,9vh,6rem) clamp(1.2rem,4vw,3rem) 0}
.hero-bassa{min-height:min(58vh,560px);align-items:flex-end}
.hero-bassa::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,22,40,.15) 0%,rgba(14,22,40,.35) 45%,rgba(14,22,40,.9) 100%)}
.hero-bassa .hero-testo{padding:0 clamp(1.2rem,4vw,3rem) clamp(2rem,5vh,3.2rem)}

/* --- home --- */
.benvenuti{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4rem);align-items:center;max-width:1200px;margin:0 auto;padding:clamp(2.5rem,6vh,4rem) clamp(1.2rem,4vw,3rem)}
.emblema-grande{width:min(170px,40vw);height:auto;margin-bottom:1.2rem;filter:drop-shadow(0 8px 20px rgba(22,33,58,.25))}
.benvenuti h1{font:500 clamp(3.4rem,8vw,6.2rem)/.95 var(--serif);color:var(--notte);margin:0}
.benvenuti h1 .sotto{display:block;margin-top:.8rem;font:700 1.02rem/1.3 var(--sans);letter-spacing:.06em;color:#7A5A22}
.benvenuti .frase{margin:1.3rem 0 1.6rem;max-width:30em;font-size:1.22rem}
.azioni{display:flex;flex-wrap:wrap;gap:1rem;align-items:center}
.benvenuti figure{margin:0;position:relative;border-radius:6px;overflow:hidden;background:var(--notte)}
.benvenuti figure img{object-position:40% 60%}
.benvenuti figcaption{position:absolute;left:1rem;bottom:1rem;right:1rem;display:flex;justify-content:space-between;align-items:flex-end;gap:1rem}
.etichetta-foto{background:rgba(22,33,58,.88);color:#EDE7DC;padding:.7rem 1rem;border-radius:4px;font-size:1rem;line-height:1.4}
.foto-di{font-size:.85rem;color:rgba(255,255,255,.9);text-shadow:0 1px 3px rgba(0,0,0,.6)}
.fascia{background:var(--pietra-2);padding:4.5rem 0}
.fascia p{max-width:var(--colonna)}
.anteprime{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;margin-top:2rem}
.card{display:block;text-decoration:none;background:var(--pietra);border-radius:5px;overflow:hidden;box-shadow:0 1px 0 rgba(22,33,58,.08)}
.card div{padding:1rem 1.1rem 1.2rem}
.card b{display:block;font:600 1.25rem/1.25 var(--serif);color:var(--notte);margin-bottom:.3rem}
.card span{font-size:1rem;line-height:1.5;color:var(--testo-2)}
.card:hover b{text-decoration:underline;text-decoration-color:var(--oro);text-underline-offset:.2em}
.dove{margin:5rem auto}
.dove p{max-width:var(--colonna)}
.fascia-scura{background:var(--notte);color:#fff;text-align:center;padding:4.5rem clamp(1.2rem,4vw,3rem)}
.fascia-scura h2{color:var(--oro-chiaro)}
.fascia-scura p{font-size:1.2rem;max-width:34rem;margin:0 auto 1.4rem}
.fascia-scura .azioni,.chiusura .azioni{flex-direction:column}

/* --- cosa vedere --- */
.coppia{display:grid;grid-template-columns:1.25fr 1fr;gap:1.2rem;align-items:end;margin:2.6rem auto;max-width:1100px}
.coppia .figura{margin:0}
.sera{position:relative;margin:6rem 0 0;min-height:70vh;display:flex;align-items:flex-end;color:#fff;overflow:hidden}
.sera>img,.sera>.foto-mancante{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto}
.sera::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,22,40,.9) 0%,rgba(14,22,40,.55) 42%,rgba(14,22,40,0) 70%)}
.sera .dentro{position:relative;z-index:2;max-width:1100px;width:100%;margin:0 auto;padding:3rem clamp(1.2rem,4vw,3rem)}
.sera h2{color:#fff;max-width:14ch}
.sera p{max-width:30rem;color:rgba(255,255,255,.92)}
.stagioni{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:rgba(22,33,58,.14);border:1px solid rgba(22,33,58,.14);margin-top:1.4rem}
.stagioni div{background:var(--pietra);padding:1.2rem 1.3rem}
.stagioni b{display:block;font:600 1.25rem/1.25 var(--serif);color:var(--notte);margin-bottom:.3rem}
details{border-top:1px solid rgba(22,33,58,.14);padding:.2rem 0}
details:last-of-type{border-bottom:1px solid rgba(22,33,58,.14)}
summary{cursor:pointer;list-style:none;padding:.9rem 2rem .9rem 0;font:600 1.22rem/1.35 var(--serif);color:var(--notte);position:relative}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";position:absolute;right:.2rem;top:.7rem;color:var(--oro);font:400 1.6rem/1 var(--sans);transition:transform .2s}
details[open] summary::after{transform:rotate(45deg)}
details p{margin:0 0 1rem}

/* --- contatti e come arrivare --- */
.contatti{max-width:var(--colonna);margin:-2.2rem auto 0;position:relative;z-index:3;background:#fff;border-radius:6px;padding:1.6rem 1.8rem;box-shadow:0 10px 30px rgba(14,22,40,.12);border-top:3px solid var(--oro)}
.contatti h2{font-size:1.5rem;margin-bottom:.8rem}
.contatti dl{margin:0 0 1.2rem;display:grid;grid-template-columns:max-content 1fr;gap:.5rem 1.2rem}
.contatti dt{font-weight:700;color:var(--notte)}
.contatti dd{margin:0}
.contatti+section{margin-top:3.5rem}
.dist{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(22,33,58,.14);border:1px solid rgba(22,33,58,.14);margin:1.6rem 0 0}
.dist div{background:var(--pietra);padding:1.1rem 1.2rem}
.dist b{display:block;font:600 1.5rem/1.1 var(--serif);color:var(--notte)}
.dist span{font-size:1rem;line-height:1.4;color:var(--testo-2);display:block;margin-top:.3rem}
.posizione{max-width:1100px;margin:4.5rem auto}
.posizione h2{max-width:var(--colonna);margin-left:auto;margin-right:auto}
.cartina{display:grid;grid-template-columns:1.1fr 1fr;gap:2.4rem;align-items:start}
.cartina-svg{width:100%;height:auto;border-radius:6px;display:block}
.m-mare{font:italic 600 26px/1 "Fraunces",Georgia,serif;fill:#5E7690}
.m-luogo{font:700 22px/1 "Nunito",system-ui,sans-serif;fill:#16213A}
.m-strada{font:700 20px/1 "Nunito",system-ui,sans-serif;fill:#7A5A22}
.m-qui{font:800 27px/1 "Nunito",system-ui,sans-serif;fill:#16213A;paint-order:stroke;stroke:#EDE7DC;stroke-width:6px}
.copia{background:#fff;border-radius:6px;padding:1.3rem 1.4rem;border-top:3px solid var(--oro)}
.copia h3{margin-top:0}
.copia small{display:block;color:var(--testo-2);font-size:.95rem;line-height:1.5;margin-bottom:.6rem}
.nav-etichetta{margin:.8rem 0 0;font-weight:700}
.valore{font:700 1.1rem/1.4 var(--sans);color:var(--notte);background:var(--pietra);padding:.7rem .9rem;border-radius:4px;margin:.4rem 0 .6rem;word-break:break-word;user-select:all}
.copia button{font:700 1rem/1 var(--sans);background:var(--notte);color:#fff;border:0;border-radius:3px;padding:.75rem 1rem;cursor:pointer;margin-bottom:.4rem}
.copia button:hover{background:#24345A}

/* --- pagine semplici --- */
.semplice{max-width:calc(var(--colonna) + 2rem);margin:0 auto;padding:4.5rem clamp(1.2rem,4vw,3rem) 1rem}
.titolo-semplice{font:600 clamp(2rem,4vw,3rem)/1.1 var(--serif);color:var(--notte);margin:0 0 1rem;font-variation-settings:"SOFT" 100,"WONK" 0}

/* --- chiusura e piede --- */
.chiusura{background:var(--notte);color:#fff;text-align:center;padding:4.5rem clamp(1.2rem,4vw,3rem);margin-top:5rem}
.chiusura p{font:400 clamp(1.25rem,2.6vw,1.7rem)/1.5 var(--sans);max-width:34rem;margin:0 auto 1.2rem}
.corso{color:var(--oro-chiaro);text-decoration:underline;text-decoration-color:var(--oro);text-underline-offset:.2em;text-decoration-thickness:1px}
footer{background:var(--notte-2);color:rgba(255,255,255,.68);font-size:.95rem;padding:1.8rem clamp(1.2rem,4vw,3rem)}
footer .riga{max-width:1100px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}
.luna{display:inline-grid;place-items:center;width:44px;height:44px;opacity:.5}
.luna:hover,.luna:focus-visible{opacity:1}
.luna span{width:14px;height:14px;border-radius:50%;box-shadow:-3px 2px 0 0 #8D97AE}

/* --- manutenzione --- */
.pag-manutenzione{background:var(--notte);color:#fff;min-height:100vh;display:grid;place-items:center}
.manutenzione{text-align:center;padding:3rem 1.5rem;max-width:34rem}
.manutenzione img{margin:0 auto 1.2rem}
.manutenzione h1{font:600 2.4rem/1.1 var(--serif);color:var(--oro-chiaro);margin:0 0 1rem}

/* --- tablet e telefono --- */
@media (max-width:980px){
  .menu .riga{flex-wrap:wrap;row-gap:0;padding-top:.65rem}
  .marchio{margin-right:auto}
  .sezioni{order:3;flex-basis:100%;margin:.65rem calc(-1*clamp(1rem,4vw,3rem)) 0;padding:0 clamp(.4rem,3vw,2.2rem);border-top:1px solid rgba(198,161,91,.22)}
  .voci a{padding:.85rem .85rem}
  .prenota-menu{margin-left:0}
  .lingue ul{justify-content:flex-start;-webkit-mask-image:linear-gradient(90deg,#000 88%,transparent);mask-image:linear-gradient(90deg,#000 88%,transparent)}
  .lingue a{padding-left:.6rem;padding-right:.6rem}
  .anteprime{grid-template-columns:1fr 1fr}
}
@media (max-width:760px){
  .benvenuti,.cartina,.coppia{grid-template-columns:1fr}
  .stagioni{grid-template-columns:1fr}
  .dist{grid-template-columns:1fr 1fr}
  .contatti{padding:1.3rem 1.2rem}.contatti dl{grid-template-columns:1fr;gap:.1rem}.contatti dd{margin-bottom:.6rem}
  .sera::after{background:linear-gradient(0deg,rgba(14,22,40,.95) 0%,rgba(14,22,40,.6) 50%,rgba(14,22,40,.1) 100%)}
}
@media (max-width:480px){
  .anteprime{grid-template-columns:1fr}
  .voci{justify-content:space-between;gap:0}
  .voci a{font-size:.9rem;padding:.8rem .42rem;letter-spacing:-.01em}
  .sezioni{padding:0 .4rem}
  .marchio b{font-size:1.12rem}
  .btn-oro{padding:.75rem 1rem}
  .benvenuti figure img{aspect-ratio:1/1}
  .benvenuti figcaption{flex-direction:column;align-items:flex-start;gap:.5rem}
  .etichetta-foto{font-size:.9rem;padding:.5rem .75rem}
  .emblema-grande{width:120px}
  section.colonna{margin:3.5rem auto}
}
@media (max-width:370px){.voci a{font-size:.84rem;padding:.8rem .33rem}}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
section.blocco{margin:4.5rem 0}
@media (max-width:400px){.prenota-menu{font-size:.92rem;padding:.7rem .8rem}.emblema{width:44px;height:44px}.marchio{gap:.55rem}}
