:root{--ink:#0d1824;--ink2:#162739;--cream:#f5f0e7;--paper:#fffdfa;--gold:#c9a463;--gold2:#ead3a5;--red:#be1e2d;--blue:#064c65;--muted:#66717d;--line:rgba(13,24,36,.13);--shadow:0 22px 70px rgba(5,12,20,.14);--radius:22px;--container:min(1180px,calc(100% - 40px));font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.65;-webkit-font-smoothing:antialiased}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.container{width:var(--container);margin-inline:auto}.skip-link{position:fixed;left:20px;top:-100px;background:#fff;padding:12px 16px;z-index:9999}.skip-link:focus{top:20px}.topline{background:var(--ink);color:#fff;font-size:.82rem}.topline-inner{min-height:34px;display:flex;align-items:center;justify-content:space-between;gap:18px;letter-spacing:.03em}.topline-contact{display:flex;align-items:center;justify-content:flex-end;gap:18px;white-space:nowrap}.topline a{color:var(--gold2)}.site-header{position:sticky;top:0;z-index:100;background:rgba(255,253,250,.94);backdrop-filter:blur(16px);border-bottom:1px solid var(--line);transition:.3s}.site-header.scrolled{box-shadow:0 10px 30px rgba(5,12,20,.08)}.nav-wrap{min-height:98px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:inline-flex;align-items:center;flex:0 0 auto}.brand-logo{display:block;width:158px;height:auto;object-fit:contain}.brand-footer .brand-logo{width:190px;background:#fff;border-radius:14px;padding:7px 9px}.mainnav{display:flex;align-items:center;gap:21px;font-size:.93rem}.mainnav>a:not(.btn){position:relative}.mainnav>a:not(.btn)::after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:1px;background:var(--gold);transition:.25s}.mainnav>a:hover::after,.mainnav>a.active::after,.mainnav>a[aria-current=page]::after{right:0}.mainnav .lang{font-weight:800;color:var(--red)}.nav-toggle{display:none;background:none;border:0;width:48px;height:48px;padding:10px}.nav-toggle span{display:block;height:2px;background:var(--ink);margin:5px 0}.nav-toggle b{font-size:.65rem}.btn{display:inline-flex;justify-content:center;align-items:center;border:1px solid var(--gold);background:var(--gold);color:var(--ink);padding:13px 20px;border-radius:999px;font-weight:800;line-height:1.1;box-shadow:0 8px 22px rgba(201,164,99,.18);transition:.25s}.btn:hover{transform:translateY(-2px);background:var(--gold2)}.btn-outline{background:transparent;color:#fff;border-color:rgba(255,255,255,.65);box-shadow:none}.btn-dark{background:var(--ink);color:#fff;border-color:var(--ink)}.btn-small{padding:10px 15px;font-size:.84rem}.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:.77rem;font-weight:900;color:var(--red);display:block;margin-bottom:14px}.display{font-family:Georgia,"Times New Roman",serif;line-height:1.05;letter-spacing:-.035em;font-size:clamp(2.7rem,6vw,6.4rem);margin:0}.section-title{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2rem,4vw,3.6rem);line-height:1.12;margin:0 0 20px;letter-spacing:-.025em}.lead{font-size:clamp(1.05rem,1.6vw,1.28rem);color:#4a5662;max-width:740px}.hero{min-height:calc(100vh - 132px);position:relative;display:grid;align-items:end;color:#fff;overflow:hidden}.hero picture,.hero>picture img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,10,17,.84) 0%,rgba(4,10,17,.48) 50%,rgba(4,10,17,.12) 100%),linear-gradient(0deg,rgba(4,10,17,.58),transparent 50%)}.hero-content{position:relative;z-index:2;padding:clamp(70px,11vh,130px) 0 80px;max-width:840px}.hero .eyebrow{color:var(--gold2)}.hero p{max-width:650px;font-size:1.18rem;color:rgba(255,255,255,.86);margin:25px 0 30px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.hero-facts{display:grid;grid-template-columns:repeat(4,1fr);max-width:720px;border-top:1px solid rgba(255,255,255,.25);margin-top:46px;padding-top:20px}.hero-facts strong{display:block;font-family:Georgia,serif;font-size:1.55rem}.hero-facts span{font-size:.82rem;color:rgba(255,255,255,.7)}.section{padding:100px 0}.section-sm{padding:70px 0}.section-cream{background:var(--cream)}.section-dark{background:var(--ink);color:#fff}.section-dark .lead{color:#c8d0d7}.intro-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center}.image-card{position:relative;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.image-card img{aspect-ratio:4/3;object-fit:cover}.image-card::after{content:"";position:absolute;inset:0;border:1px solid rgba(255,255,255,.3);border-radius:inherit;pointer-events:none}.floating-note{position:absolute;right:-26px;bottom:28px;background:var(--ink);color:#fff;padding:22px;border-radius:18px;max-width:230px;box-shadow:var(--shadow)}.floating-note strong{font-family:Georgia,serif;font-size:1.4rem}.floating-note span{display:block;color:var(--gold2);font-size:.82rem}.feature-list{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:30px 0}.feature{display:flex;gap:12px;align-items:flex-start;border-top:1px solid var(--line);padding:15px 0}.feature i{font-style:normal;color:var(--red);font-weight:900}.stats-strip{background:var(--ink);color:#fff}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);text-align:center;padding:28px 0}.stats-grid div+div{border-left:1px solid rgba(255,255,255,.18)}.stats-grid strong{display:block;font-family:Georgia,serif;font-size:2rem;color:var(--gold2)}.stats-grid span{font-size:.83rem;color:#cbd1d7}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:.3s}.card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.card img{aspect-ratio:4/3;object-fit:cover}.card-body{padding:25px}.card h3{font-family:Georgia,serif;font-size:1.55rem;margin:0 0 8px}.card p{color:var(--muted);margin:0}.amenities{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.amenity{padding:24px;border:1px solid rgba(255,255,255,.16);border-radius:18px;background:rgba(255,255,255,.04)}.amenity b{display:block;font-family:Georgia,serif;font-size:1.18rem;margin:12px 0 4px}.amenity span{font-size:.88rem;color:#bbc5cd}.amenity-icon{font-size:1.5rem;color:var(--gold2)}.gallery-preview{display:grid;grid-template-columns:1.3fr .7fr .7fr;grid-template-rows:300px 300px;gap:12px}.gallery-preview a{overflow:hidden;border-radius:15px}.gallery-preview a:first-child{grid-row:1/3}.gallery-preview img{width:100%;height:100%;object-fit:cover;transition:.5s}.gallery-preview a:hover img{transform:scale(1.04)}.location-band{position:relative;overflow:hidden}.location-band picture,.location-band img{width:100%;height:550px;object-fit:cover}.location-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,12,20,.88),rgba(5,12,20,.2));display:grid;align-items:center;color:#fff}.location-box{max-width:620px}.chips{display:flex;gap:9px;flex-wrap:wrap;margin:25px 0}.chip{border:1px solid rgba(255,255,255,.3);padding:8px 13px;border-radius:999px;font-size:.84rem}.reviews{display:grid;grid-template-columns:1fr 1fr;gap:24px}.review{border:1px solid var(--line);padding:32px;border-radius:var(--radius);background:#fff}.review blockquote{font-family:Georgia,serif;font-size:1.3rem;margin:0 0 18px}.review cite{font-style:normal;font-weight:900;color:var(--red)}.cta{padding:70px 0;background:linear-gradient(120deg,var(--red),#82101d);color:#fff}.cta-grid{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center}.cta h2{font-family:Georgia,serif;font-size:clamp(2rem,4vw,4rem);margin:0 0 10px}.cta p{margin:0;color:rgba(255,255,255,.82)}.page-hero{padding:90px 0 70px;background:var(--cream);border-bottom:1px solid var(--line)}.page-hero .breadcrumbs{margin-bottom:30px}.breadcrumbs{display:flex;gap:9px;align-items:center;font-size:.83rem;color:var(--muted);flex-wrap:wrap}.breadcrumbs a:hover{color:var(--red)}.split{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.prose h2,.prose h3{font-family:Georgia,serif;line-height:1.2}.prose h2{font-size:2.1rem;margin-top:45px}.prose h3{font-size:1.4rem}.prose p,.prose li{color:#4d5965}.prose a{color:var(--red);text-decoration:underline}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.gallery-grid button{padding:0;border:0;background:none;border-radius:14px;overflow:hidden}.gallery-grid img{aspect-ratio:4/3;object-fit:cover;width:100%;transition:.4s}.gallery-grid button:hover img{transform:scale(1.035)}.lightbox{border:0;padding:0;background:transparent;max-width:min(95vw,1300px)}.lightbox::backdrop{background:rgba(0,0,0,.88)}.lightbox img{max-height:88vh;max-width:94vw}.lightbox-close{position:fixed;right:25px;top:18px;border:0;background:#fff;width:44px;height:44px;border-radius:50%;font-size:1.7rem}.booking-layout{display:grid;grid-template-columns:1fr .7fr;gap:42px;align-items:start}.booking-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:30px;box-shadow:var(--shadow);position:sticky;top:135px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}.field label{font-weight:800;font-size:.88rem}.field input,.field select,.field textarea{width:100%;border:1px solid #cfd5d9;background:#fff;border-radius:12px;padding:13px 14px;color:var(--ink)}.field input:focus,.field select:focus,.field textarea:focus{outline:3px solid rgba(201,164,99,.25);border-color:var(--gold)}.form-note{font-size:.82rem;color:var(--muted)}.status{padding:13px 15px;border-radius:12px;background:var(--cream);margin:16px 0}.status.success{background:#e7f5ed;color:#165f3b}.status.error{background:#fff0f0;color:#8d1721}.price-note{background:var(--ink);color:#fff;border-radius:18px;padding:24px;margin-top:24px}.price-note strong{color:var(--gold2)}.contact-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(225px,1fr));gap:18px}.contact-card{border:1px solid var(--line);border-radius:18px;padding:25px;background:#fff;min-width:0}.contact-card h3{font-family:Georgia,serif;margin:8px 0;font-size:clamp(1.22rem,2vw,1.55rem);overflow-wrap:anywhere}.contact-card p{overflow-wrap:anywhere}.contact-value{color:var(--ink);font-weight:800;overflow-wrap:anywhere;word-break:break-word}.contact-value:hover{color:var(--red)}.contact-cards-three{grid-template-columns:repeat(3,minmax(0,1fr))}.faq{max-width:900px}.faq details{border-top:1px solid var(--line);padding:20px 0}.faq summary{font-family:Georgia,serif;font-size:1.24rem;font-weight:700;cursor:pointer}.faq details p{color:var(--muted)}.article-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.article-card{display:grid;grid-template-columns:180px 1fr;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fff}.article-card img{height:100%;object-fit:cover}.article-card div{padding:22px}.article-card h3{font-family:Georgia,serif;margin:0 0 8px}.article-meta{font-size:.78rem;color:var(--red);font-weight:800;text-transform:uppercase;letter-spacing:.08em}.site-footer{background:#08111b;color:#dce2e7;padding:70px 0 22px}.footer-grid{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:50px}.brand-footer{color:#fff;margin-bottom:18px}.footer-grid h2{font-size:.83rem;text-transform:uppercase;letter-spacing:.14em;color:var(--gold2);margin:0 0 16px}.footer-grid a,.footer-grid span{display:block;margin:8px 0;color:#c5ced5;font-size:.9rem}.footer-grid p{color:#99a7b2;max-width:330px}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:45px;padding-top:20px;display:flex;justify-content:space-between;color:#8897a3;font-size:.78rem}.link-button{background:none;border:0;color:#c5ced5;padding:0}.mobile-book{display:none}.cookie-banner{position:fixed;z-index:500;left:20px;right:20px;bottom:20px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px 20px;box-shadow:var(--shadow);display:flex;align-items:center;justify-content:space-between;gap:20px}.cookie-banner[hidden]{display:none}.cookie-banner p{margin:2px 0;color:var(--muted);font-size:.88rem}.cookie-actions{display:flex;gap:8px;flex-wrap:wrap}.cookie-actions button:not(.btn){border:0;background:var(--cream);padding:10px 13px;border-radius:999px}.cookie-dialog{border:0;border-radius:20px;max-width:560px;width:calc(100% - 30px);padding:0;box-shadow:var(--shadow)}.cookie-dialog::backdrop{background:rgba(0,0,0,.6)}.cookie-dialog form{padding:30px}.dialog-close{position:absolute;right:15px;top:12px;background:none;border:0;font-size:1.8rem}.switch-row{display:flex;justify-content:space-between;gap:20px;padding:18px 0;border-top:1px solid var(--line)}.switch-row small{display:block;color:var(--muted)}.dialog-actions{display:flex;justify-content:flex-end;gap:10px}.dialog-actions button:not(.btn){border:0;background:var(--cream);padding:12px 18px;border-radius:999px}
@media(max-width:980px){.nav-toggle{display:block}.mainnav{position:fixed;inset:132px 0 auto 0;background:var(--paper);padding:25px 30px 40px;display:none;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line);box-shadow:var(--shadow)}.mainnav.open{display:flex}.intro-grid,.split,.booking-layout{grid-template-columns:1fr}.booking-card{position:static}.cards{grid-template-columns:1fr 1fr}.amenities{grid-template-columns:1fr 1fr}.gallery-preview{grid-template-columns:1fr 1fr;grid-template-rows:320px 220px 220px}.gallery-preview a:first-child{grid-column:1/3;grid-row:auto}.gallery-grid{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr}.article-grid{grid-template-columns:1fr}.floating-note{right:15px}.hero-facts{grid-template-columns:repeat(2,1fr);gap:20px}.stats-grid{grid-template-columns:repeat(2,1fr);gap:20px}.stats-grid div+div{border:0}.contact-cards,.contact-cards-three{grid-template-columns:1fr}.cta-grid{grid-template-columns:1fr}}
@media(max-width:640px){:root{--container:min(100% - 28px,1180px)}.topline-inner>span,.topline-email{display:none}.topline-inner{justify-content:flex-end}.topline-contact{width:100%;justify-content:space-between;gap:12px;font-size:.77rem}.nav-wrap{min-height:84px}.mainnav{inset:118px 0 auto 0}.brand-logo{width:132px}.hero{min-height:740px}.hero::after{background:linear-gradient(0deg,rgba(4,10,17,.9) 0%,rgba(4,10,17,.42) 78%,rgba(4,10,17,.18))}.hero-content{padding-bottom:100px}.display{font-size:clamp(2.8rem,15vw,4.5rem)}.hero-facts{grid-template-columns:1fr 1fr}.section{padding:72px 0}.intro-grid{gap:36px}.feature-list,.cards,.amenities,.reviews,.gallery-grid,.footer-grid,.form-grid{grid-template-columns:1fr}.floating-note{position:relative;right:auto;bottom:auto;margin:-25px 15px 0}.gallery-preview{display:flex;overflow:auto;scroll-snap-type:x mandatory}.gallery-preview a,.gallery-preview a:first-child{min-width:86%;height:360px;scroll-snap-align:center}.location-band img{height:650px}.cta{padding-bottom:100px}.article-card{grid-template-columns:1fr}.article-card img{height:220px;width:100%}.footer-bottom{flex-direction:column;gap:5px}.mobile-book{position:fixed;z-index:120;left:0;right:0;bottom:0;height:62px;background:#fff;display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}.mobile-book a{display:grid;place-items:center;font-weight:900}.mobile-book a:last-child{background:var(--gold)}.cookie-banner{bottom:75px;flex-direction:column;align-items:stretch}.cookie-actions{display:grid;grid-template-columns:1fr 1fr}.cookie-actions .btn{grid-column:1/-1}.site-footer{padding-bottom:90px}.page-hero{padding-top:65px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* v1.3 — calendario disponibilità e galleria fotografica */
.hero-content{max-width:980px}
.hero-availability{margin-top:30px;padding:14px;border:1px solid rgba(255,255,255,.28);border-radius:20px;background:rgba(8,17,27,.72);backdrop-filter:blur(14px);display:grid;grid-template-columns:1.25fr 1fr 1fr .8fr auto;gap:10px;align-items:end;box-shadow:0 22px 55px rgba(0,0,0,.25)}
.hero-availability-title{align-self:center;padding:0 8px}.hero-availability-title span{display:block;color:var(--gold2);font-size:.7rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.hero-availability-title strong{display:block;font-family:Georgia,serif;font-size:1.12rem;line-height:1.2;margin-top:2px}.hero-availability label{display:flex;flex-direction:column;gap:4px;color:#fff}.hero-availability label span{font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.72);font-weight:800}.hero-availability input,.hero-availability select{height:46px;border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.96);color:var(--ink);border-radius:12px;padding:0 11px;min-width:0}.hero-availability .btn{height:46px;padding-inline:19px}.hero-availability-status{grid-column:1/-1;font-size:.73rem;color:rgba(255,255,255,.75);display:flex;align-items:center;gap:7px;padding:0 8px 2px}.hero-availability-status i,.availability-live i{width:8px;height:8px;border-radius:50%;background:#48c78e;box-shadow:0 0 0 4px rgba(72,199,142,.15);flex:0 0 auto}.hero-availability-status.success{color:#c8f6df}.hero-availability-status.error{color:#ffd1d5}.hero-availability-status.loading i{background:var(--gold);animation:availabilityPulse 1.1s infinite}
@keyframes availabilityPulse{50%{opacity:.35;transform:scale(.75)}}

.availability-page-hero{padding:54px 0 76px;background:radial-gradient(circle at 86% 12%,rgba(190,30,45,.32),transparent 34%),radial-gradient(circle at 12% 92%,rgba(201,164,99,.18),transparent 30%),var(--ink);color:#fff;overflow:hidden}.availability-page-hero .breadcrumbs{color:rgba(255,255,255,.62);margin-bottom:32px}.availability-page-hero .breadcrumbs a:hover{color:var(--gold2)}.availability-page-hero .eyebrow{color:var(--gold2)}.availability-page-hero .lead{color:rgba(255,255,255,.78)}.availability-hero-grid{display:grid;grid-template-columns:minmax(0,.78fr) minmax(620px,1.22fr);gap:54px;align-items:center}.availability-copy .display{font-size:clamp(3rem,5.3vw,5.8rem)}.availability-points{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:34px 0 22px}.availability-points div{border-top:1px solid rgba(255,255,255,.22);padding-top:15px}.availability-points strong{font-family:Georgia,serif;color:var(--gold2);font-size:1.45rem;display:block}.availability-points span{font-size:.8rem;color:rgba(255,255,255,.68)}.availability-small{font-size:.82rem;color:rgba(255,255,255,.58);max-width:580px}
.availability-widget{background:#fff;color:var(--ink);border-radius:26px;padding:24px;box-shadow:0 35px 90px rgba(0,0,0,.32);border:1px solid rgba(255,255,255,.5)}.availability-widget-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.availability-widget-head h2{font-family:Georgia,serif;font-size:1.75rem;line-height:1.1;margin:7px 0 0}.availability-live{display:flex;align-items:center;gap:8px;color:#28704d;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.09em}.calendar-nav{display:flex;gap:7px}.calendar-nav button{width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:var(--cream);color:var(--ink);font-size:1.65rem;line-height:1}.calendar-nav button:hover:not(:disabled){background:var(--ink);color:#fff}.calendar-nav button:disabled{opacity:.35;cursor:not-allowed}.calendar-sync{font-size:.75rem;color:var(--muted);margin:12px 0 15px;min-height:1.2em}.calendar-sync.error{color:#9d202c}.calendar-months{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.calendar-month{min-width:0}.calendar-month-title{text-align:center;font-family:Georgia,serif;font-weight:700;font-size:1.05rem;margin-bottom:10px;text-transform:capitalize}.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.calendar-weekdays span{text-align:center;font-size:.62rem;text-transform:uppercase;font-weight:900;color:#8a949c;padding:5px 0}.calendar-day{position:relative;aspect-ratio:1;border:0;border-radius:10px;background:transparent;color:var(--ink);display:grid;place-items:center;font-size:.79rem;font-weight:750;padding:0;transition:.18s}.calendar-day:not(.is-empty):not(.is-past):not(.is-blocked):hover{background:var(--cream);transform:translateY(-1px)}.calendar-day.is-empty{visibility:hidden}.calendar-day.is-past{color:#c4c9cd;cursor:not-allowed}.calendar-day.is-blocked{color:#a7adb2;background:repeating-linear-gradient(135deg,#f3f3f3,#f3f3f3 4px,#e7e7e7 4px,#e7e7e7 8px);cursor:not-allowed;text-decoration:line-through}.calendar-day.is-today::after{content:"";position:absolute;bottom:4px;width:4px;height:4px;border-radius:50%;background:var(--red)}.calendar-day.is-range{background:#f2e6ca;border-radius:0}.calendar-day.is-start,.calendar-day.is-end{background:var(--ink);color:#fff;border-radius:10px;z-index:1;box-shadow:0 6px 16px rgba(13,24,36,.22)}.calendar-day.is-start::before,.calendar-day.is-end::before{content:"";position:absolute;inset:3px;border:1px solid var(--gold);border-radius:8px}.calendar-day.is-checkout-option{cursor:pointer;text-decoration:none;color:var(--red);outline:1px dashed rgba(190,30,45,.35)}.calendar-legend{display:flex;gap:15px;flex-wrap:wrap;border-top:1px solid var(--line);margin-top:16px;padding-top:13px;font-size:.7rem;color:var(--muted)}.calendar-legend span{display:flex;align-items:center;gap:6px}.calendar-legend i{width:13px;height:13px;border-radius:4px;border:1px solid var(--line)}.legend-available{background:#fff}.legend-selected{background:var(--ink)!important;border-color:var(--ink)!important}.legend-blocked{background:repeating-linear-gradient(135deg,#f3f3f3,#f3f3f3 3px,#ddd 3px,#ddd 6px)!important}.calendar-selection{display:grid;grid-template-columns:1fr auto 1fr;gap:13px;align-items:center;background:var(--cream);border-radius:15px;padding:13px 15px;margin-top:15px}.calendar-selection div{min-width:0}.calendar-selection small{display:block;color:var(--muted);font-size:.62rem;text-transform:uppercase;letter-spacing:.1em;font-weight:900}.calendar-selection strong{display:block;font-family:Georgia,serif;font-size:1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.selection-arrow{color:var(--gold);font-size:1.2rem}.calendar-message{font-size:.76rem;color:var(--muted);min-height:1.35em;margin:11px 0}.calendar-message.success{color:#28704d}.calendar-message.error{color:#9d202c}.availability-continue{width:100%}.availability-continue.is-disabled{opacity:.48;pointer-events:none}

.booking-layout-modern{grid-template-columns:minmax(0,1fr) minmax(400px,.82fr);gap:70px}.booking-info-panel{padding-top:15px}.booking-benefits{display:grid;gap:13px;margin:30px 0}.booking-benefits>div{display:grid;grid-template-columns:34px 1fr;gap:12px;align-items:start;border-top:1px solid var(--line);padding-top:14px}.booking-benefits>div>span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#e5f4eb;color:#17613d;font-weight:900}.booking-benefits p{margin:0;color:var(--muted)}.booking-benefits strong{color:var(--ink)}.stay-summary{display:grid;grid-template-columns:repeat(3,1fr);border-radius:18px;background:var(--ink);color:#fff;overflow:hidden;margin-top:28px}.stay-summary div{padding:18px}.stay-summary div+div{border-left:1px solid rgba(255,255,255,.13)}.stay-summary small{display:block;color:var(--gold2);font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;font-weight:900}.stay-summary strong{font-size:.84rem}.booking-card-modern{padding:0;overflow:hidden;top:128px}.booking-card-title{display:flex;align-items:center;justify-content:space-between;gap:15px;background:var(--ink);color:#fff;padding:20px 26px}.booking-card-title span{font-family:Georgia,serif;font-size:1.35rem}.booking-card-title small{color:var(--gold2);font-weight:800}.booking-card-modern form{padding:26px}.date-field input{font-weight:800}.optional{font-weight:500;color:var(--muted);font-size:.75rem}.privacy-check label{display:flex;flex-direction:row;align-items:flex-start;gap:9px;font-weight:500}.privacy-check input{width:auto;margin-top:5px}.privacy-check a{color:var(--red);text-decoration:underline}.booking-submit{width:100%;min-height:50px;margin-top:18px}.booking-card-modern .status{margin-bottom:0}.gallery-grid-curated button:nth-child(1),.gallery-grid-curated button:nth-child(8),.gallery-grid-curated button:nth-child(15){grid-column:span 2}.gallery-grid-curated button:nth-child(1) img,.gallery-grid-curated button:nth-child(8) img,.gallery-grid-curated button:nth-child(15) img{aspect-ratio:2/1}

@media(max-width:1100px){.availability-hero-grid{grid-template-columns:1fr;gap:34px}.availability-copy{max-width:760px}.availability-widget{max-width:820px;width:100%}.hero-availability{grid-template-columns:1fr 1fr 1fr auto}.hero-availability-title{grid-column:1/-1}.booking-layout-modern{grid-template-columns:1fr}.booking-card-modern{position:static}.stay-summary{max-width:720px}}
@media(max-width:760px){.hero-availability{grid-template-columns:1fr 1fr;margin-top:24px}.hero-availability-title{grid-column:1/-1}.hero-availability label:nth-of-type(3){grid-column:1/2}.hero-availability .btn{grid-column:2/3}.calendar-months{grid-template-columns:1fr}.availability-page-hero{padding:38px 0 55px}.availability-points{grid-template-columns:1fr 1fr 1fr}.availability-widget{padding:18px;border-radius:20px}.calendar-month:nth-child(n+2){display:none}.calendar-day{border-radius:9px}.gallery-grid-curated button:nth-child(n){grid-column:auto}.gallery-grid-curated button:nth-child(n) img{aspect-ratio:4/3}}
@media(max-width:520px){.hero{min-height:860px}.hero-content{padding-bottom:88px}.hero-availability{display:grid;grid-template-columns:1fr 1fr;padding:12px;gap:9px}.hero-availability-title{padding:0 2px 4px}.hero-availability-title strong{font-size:1rem}.hero-availability label:nth-of-type(3){grid-column:1/2}.hero-availability .btn{grid-column:2/3;padding-inline:10px}.hero-availability input,.hero-availability select,.hero-availability .btn{height:44px;font-size:.82rem}.hero-availability-status{font-size:.66rem;padding-inline:2px}.availability-copy .display{font-size:clamp(2.65rem,14vw,4rem)}.availability-points{gap:8px}.availability-points span{font-size:.69rem}.availability-widget-head h2{font-size:1.45rem}.calendar-nav button{width:38px;height:38px}.calendar-months{gap:0}.calendar-day{font-size:.75rem}.calendar-selection{padding:12px 10px;gap:8px}.calendar-selection strong{font-size:.9rem}.booking-layout-modern{gap:38px}.stay-summary{grid-template-columns:1fr}.stay-summary div+div{border-left:0;border-top:1px solid rgba(255,255,255,.13)}.booking-card-modern form{padding:20px}.booking-card-title{padding:18px 20px}.availability-page-hero .breadcrumbs{margin-bottom:22px}}
.quick-status-link{margin-left:auto;color:#fff;text-decoration:underline;font-weight:900;white-space:nowrap}.hero-availability-status.error .quick-status-link{color:#ffd1d5}@media(max-width:520px){.quick-status-link{margin-left:0}}

/* v1.4 — disponibilità, ospiti e prevenzione overflow */
html,body{max-width:100%;overflow-x:hidden}.availability-copy,.availability-widget,.booking-info-panel,.booking-card-modern,.booking-card-title,.field{min-width:0}.availability-hero-grid{grid-template-columns:minmax(340px,.82fr) minmax(560px,1.18fr);gap:44px}.availability-copy .display{font-size:clamp(3rem,4.6vw,5rem);max-width:7.6em;text-wrap:balance}.availability-copy .lead,.availability-small,.booking-info-panel p,.booking-card-title span,.booking-card-title small{overflow-wrap:anywhere}.availability-widget{width:100%}.calendar-selection strong{max-width:100%}.field-help{display:block;color:var(--muted);font-size:.72rem;line-height:1.35;margin-top:-1px}.occupancy-field select{font-weight:750}.child-ages{padding:16px;border:1px solid var(--line);background:var(--cream);border-radius:16px;gap:13px}.child-ages[hidden]{display:none!important}.child-ages-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:14px}.child-ages-heading label{font-family:Georgia,serif;font-size:1.08rem}.child-ages-heading small{color:var(--muted);font-size:.72rem;text-align:right}.child-age-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.child-age-field{display:flex;flex-direction:column;gap:6px;min-width:0}.child-age-field span{font-size:.74rem;font-weight:850;color:var(--muted)}.child-age-field select{width:100%;border:1px solid #cfd5d9;background:#fff;border-radius:12px;padding:12px 13px;color:var(--ink)}.guest-summary{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:14px;padding:12px 15px;border-radius:14px;background:#eef5f1;border:1px solid #cee2d7;color:#17613d}.guest-summary span{font-size:.82rem;font-weight:800;overflow-wrap:anywhere}.guest-summary strong{font-family:Georgia,serif;font-size:1.1rem;white-space:nowrap}.guest-summary.is-limit{background:#fff7e5;border-color:#ead3a5;color:#74531d}.booking-card-modern .status{overflow-wrap:anywhere}.booking-card-modern .status .btn{max-width:100%;white-space:normal;text-align:center}.contact-value,.footer-grid a,.footer-grid span{overflow-wrap:anywhere;word-break:break-word}
@media(max-width:1390px){.availability-hero-grid{grid-template-columns:1fr;gap:34px}.availability-copy{max-width:860px}.availability-copy .display{max-width:900px}.availability-widget{max-width:900px}}
@media(max-width:760px){.availability-copy .display{font-size:clamp(2.7rem,12vw,4rem);max-width:none}.availability-points{grid-template-columns:1fr;gap:12px}.availability-points div{display:grid;grid-template-columns:34px 1fr;align-items:start;gap:10px}.availability-points strong{line-height:1}.child-ages-heading{align-items:flex-start;flex-direction:column;gap:3px}.child-ages-heading small{text-align:left}.child-age-grid{grid-template-columns:1fr}.booking-card-title{align-items:flex-start;flex-direction:column;gap:3px}.booking-card-title small{white-space:normal}.calendar-selection{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}}
@media(max-width:420px){.availability-widget{padding:15px}.calendar-weekdays,.calendar-days{gap:2px}.calendar-day{font-size:.72rem}.calendar-selection{padding:11px 8px}.calendar-selection strong{font-size:.82rem}.guest-summary{align-items:flex-start;flex-direction:column;gap:2px}}
.status.warning{background:#fff7e5;color:#74531d;border:1px solid #ead3a5}.booking-submit:disabled,.btn:disabled{opacity:.66;cursor:wait;transform:none}.status .btn{margin-top:2px}

/* v1.6 — SEO hub, guide editoriali e leggibilità responsive */
.display,.section-title,.guide-card h2,.guide-card h3,.article-sidebar-card h2{text-wrap:balance;overflow-wrap:anywhere}.guide-hub-hero{background:linear-gradient(120deg,#f5f0e7 0%,#fffdfa 62%,#f0e2d3 100%)}.guide-hub-hero .display{max-width:920px}.guide-topic-list{display:flex;gap:9px;flex-wrap:wrap;margin-top:30px}.guide-topic-list span{border:1px solid var(--line);background:rgba(255,255,255,.72);border-radius:999px;padding:8px 13px;font-size:.78rem;font-weight:800;color:var(--ink2)}.guide-hub-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.7fr);gap:55px;align-items:end;margin-bottom:42px}.guide-hub-intro .lead{margin:0}.guide-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.guide-card{display:flex;flex-direction:column;min-width:0;border:1px solid var(--line);border-radius:20px;overflow:hidden;background:#fff;transition:transform .25s,box-shadow .25s,border-color .25s}.guide-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:rgba(201,164,99,.55)}.guide-card picture{display:block}.guide-card img{width:100%;aspect-ratio:16/10;object-fit:cover}.guide-card>div{display:flex;flex-direction:column;align-items:flex-start;flex:1;padding:24px}.guide-card h2,.guide-card h3{font-family:Georgia,"Times New Roman",serif;line-height:1.18;margin:9px 0 10px;font-size:clamp(1.35rem,2vw,1.72rem)}.guide-card p{color:var(--muted);margin:0 0 18px}.guide-card .text-link{margin-top:auto;color:var(--red);font-weight:900}.guide-card-grid-wide{grid-template-columns:repeat(3,minmax(0,1fr))}.guide-hero{padding-bottom:80px}.guide-hero .display{max-width:1000px;font-size:clamp(2.7rem,5.4vw,5.5rem)}.article-byline{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:25px;color:var(--muted);font-size:.78rem;font-weight:700}.article-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:70px;align-items:start}.article-prose{max-width:790px}.article-prose>section:first-of-type h2{margin-top:24px}.article-prose h2{scroll-margin-top:135px}.article-intro{font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.22rem,2vw,1.52rem);line-height:1.55;color:var(--ink)!important;margin:0 0 35px}.article-trust{margin-top:50px;padding:24px 26px;border-left:4px solid var(--gold);background:var(--cream);border-radius:0 16px 16px 0}.article-trust strong{font-family:Georgia,"Times New Roman",serif;font-size:1.25rem}.article-trust p{margin:7px 0 0}.article-sidebar{display:grid;gap:18px;position:sticky;top:132px}.article-sidebar .image-card img{aspect-ratio:4/3}.article-sidebar-card{padding:25px;border-radius:20px;background:var(--ink);color:#fff;box-shadow:var(--shadow)}.article-sidebar-card .eyebrow{color:var(--gold2);margin-bottom:8px}.article-sidebar-card h2{font-family:Georgia,"Times New Roman",serif;font-size:1.75rem;line-height:1.15;margin:0 0 10px}.article-sidebar-card p{color:#c7d0d7;margin:0 0 20px}.article-sidebar-card .btn{width:100%}.property-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:30px 0;background:var(--line);border:1px solid var(--line);border-radius:16px;overflow:hidden}.property-facts div{min-width:0;background:#fff;padding:16px}.property-facts dt{font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;font-weight:900;color:var(--muted)}.property-facts dd{margin:4px 0 0;font-weight:800;overflow-wrap:anywhere}.text-link{display:inline-flex;align-items:center;gap:5px;color:var(--red);font-weight:900}.guide-all-link{margin-top:30px}.mainnav{min-width:0}.mainnav a{white-space:nowrap}
@media(max-width:1180px){.mainnav{display:none;position:absolute;left:20px;right:20px;top:100%;background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:var(--shadow);flex-direction:column;align-items:stretch;gap:0}.mainnav.open{display:flex}.mainnav a{padding:10px 8px}.mainnav .btn{margin-top:8px}.nav-toggle{display:block}.guide-card-grid,.guide-card-grid-wide{grid-template-columns:repeat(2,minmax(0,1fr))}.article-layout{grid-template-columns:minmax(0,1fr) 300px;gap:42px}}
@media(max-width:900px){.guide-hub-intro{grid-template-columns:1fr;gap:12px}.article-layout{grid-template-columns:1fr}.article-prose{max-width:none}.article-sidebar{position:static;grid-template-columns:minmax(0,.8fr) minmax(280px,1fr)}.guide-hero{padding-bottom:60px}}
@media(max-width:680px){.guide-card-grid,.guide-card-grid-wide{grid-template-columns:1fr}.guide-card>div{padding:21px}.article-sidebar{grid-template-columns:1fr}.article-byline{align-items:flex-start}.property-facts{grid-template-columns:1fr}.guide-topic-list{gap:7px}.guide-topic-list span{font-size:.72rem}.guide-hub-hero,.guide-hero{padding-top:55px}.topline-inner>span{display:none}.topline-contact{width:100%;justify-content:center}.topline-email{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
.nav-wrap{position:relative}@media(max-width:1180px){.mainnav{z-index:20;top:calc(100% - 1px)}}
.article-grid>.guide-all-link{grid-column:1/-1;display:flex;justify-content:center;margin-top:12px}


/* v1.6.5.1 — booking hero: tipografia più pulita e leggibile */
@media(min-width:1391px){
  .availability-hero-grid{grid-template-columns:minmax(430px,.92fr) minmax(560px,1.08fr);gap:46px}
}
.availability-copy .availability-main-title{
  font-size:clamp(3rem,3.8vw,4.35rem);
  line-height:.98;
  letter-spacing:-.035em;
  max-width:9.2em;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
  text-wrap:balance;
}
.availability-main-title span{display:block}
.availability-copy .lead{max-width:560px;line-height:1.58;margin-top:24px}
.availability-points span{line-height:1.45}
.availability-small{line-height:1.55}
@media(max-width:1390px){
  .availability-copy .availability-main-title{max-width:780px;font-size:clamp(3rem,6vw,4.6rem)}
}
@media(max-width:760px){
  .availability-copy .availability-main-title{font-size:clamp(2.55rem,11vw,3.75rem);line-height:1.02;letter-spacing:-.025em}
  .availability-main-title span{display:inline}
  .availability-main-title span+span::before{content:" "}
  .availability-copy .lead{margin-top:18px}
}
@media(max-width:420px){
  .availability-copy .availability-main-title{font-size:clamp(2.35rem,12vw,3.25rem)}
}

/* v1.6.6 — local location content, isolated from booking/core UI */
.location-hero .display{max-width:1050px}.proximity-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:38px}.proximity-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:26px;box-shadow:0 12px 30px rgba(5,12,20,.05);display:flex;flex-direction:column;min-height:330px}.proximity-card h3{font-family:Georgia,"Times New Roman",serif;font-size:1.55rem;line-height:1.1;margin:9px 0 12px}.proximity-card p{color:var(--muted);font-size:.95rem;margin:0 0 18px}.proximity-card .text-link{margin-top:auto;font-weight:800;font-size:.88rem;color:var(--red)}.proximity-kicker{text-transform:uppercase;letter-spacing:.12em;font-size:.7rem;font-weight:900;color:var(--red)}.proximity-time{font-family:Georgia,"Times New Roman",serif;font-size:2rem;line-height:1;color:var(--ink);margin-top:18px}.location-connections{display:grid;grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr);gap:70px;align-items:start}.connection-list{border-top:1px solid var(--line)}.connection-item{display:grid;grid-template-columns:105px 1fr;gap:22px;padding:22px 0;border-bottom:1px solid var(--line);align-items:start}.connection-item>strong{font-family:Georgia,"Times New Roman",serif;font-size:1.35rem;color:var(--red);white-space:nowrap}.connection-item b{display:block;font-size:1rem;color:var(--ink)}.connection-item small{display:block;color:var(--muted);font-size:.86rem;margin-top:3px}.location-more-guides{display:flex;justify-content:center;margin:34px 0 0}
@media(max-width:1100px){.proximity-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.location-connections{grid-template-columns:1fr;gap:36px}}
@media(max-width:640px){.location-hero .display{font-size:clamp(2.55rem,13vw,4rem)}.proximity-grid{grid-template-columns:1fr;gap:14px;margin-top:28px}.proximity-card{min-height:0;padding:22px}.proximity-time{font-size:1.7rem}.connection-item{grid-template-columns:88px 1fr;gap:14px;padding:18px 0}.connection-item>strong{font-size:1.08rem}.location-more-guides{justify-content:stretch}.location-more-guides .btn{width:100%}}
