:root{
  --bg:#0B0B0D;
  --bg-soft:#121013;
  --surface:#17130F;
  --surface-2:#1E1813;
  --text:#F5F1EA;
  --muted:rgba(245,241,234,.62);
  --faint:rgba(245,241,234,.40);
  --border:rgba(245,241,234,.10);
  --border-strong:rgba(245,241,234,.18);
  --accent:#C4603A;
  --accent-hover:#A85030;
  --accent-dark:#a34d2e;
  --accent-glow:#E0824F;
  --on-accent:#FFFFFF;
  --paper:#FAFAF7;
  --paper-2:#F3EFE8;
  --ink:#0E0E0E;
  --font-display:'Cormorant Garamond',serif;
  --font-body:'Jost',sans-serif;
  --shadow-night:0 18px 48px rgba(0,0,0,.55);
  --glow:0 8px 30px rgba(224,130,79,.28);
  --glow-strong:0 10px 38px rgba(224,130,79,.42);
}

nav.scrolled{
  background:rgba(11,11,13,.86);
  -webkit-backdrop-filter:blur(14px);
  backdrop-filter:blur(14px);
  border-bottom:1px solid var(--border);
}
nav.scrolled .nav-logo{color:var(--text);}
nav.scrolled .nav-links a{color:var(--text);}
nav.scrolled .lang-btn{color:var(--muted)!important;}
nav.scrolled .lang-btn.active{color:var(--text)!important;}
nav.scrolled .lang-btn:not(.active):hover{color:var(--text)!important;}
nav.scrolled .lang-sep{color:var(--faint);}
nav.scrolled .hamburger{color:var(--text);}
.nav-links a::after{background:var(--accent-glow);}
.nav-cta{background:var(--accent-hover);}
.nav-cta:hover{background:var(--accent-dark)!important;box-shadow:var(--glow);}

.bw-btn{background:var(--accent-hover);box-shadow:var(--glow);}
.bw-btn:hover{background:var(--accent-dark);box-shadow:var(--glow-strong);}
.cookie-btn.accept{background:var(--accent-hover);}
.cookie-btn.accept:hover{background:var(--accent-dark);}

.direct-cta-bar{
  background:linear-gradient(135deg,#150E09 0%,#1E130C 45%,var(--bg) 100%)!important;
  border-color:var(--border)!important;
}
.direct-cta-bar a[href="/prenota"]{background:var(--accent-hover)!important;box-shadow:var(--glow);}
.direct-cta-bar a[href="/prenota"]:hover{box-shadow:var(--glow-strong);}

.explore-card:hover{background:var(--paper-2);}
.explore-card-num{color:var(--accent-dark);}
.explore-card:hover .explore-card-num{color:var(--accent);}
.explore-card .card-link{color:var(--accent-dark);}

.section-review{background:linear-gradient(180deg,var(--bg) 0%,#120D0A 100%);}
.review-stars{color:var(--accent-glow);}
.review-arrow:hover{border-color:var(--accent-glow);color:var(--accent-glow);}

.site-footer{background:linear-gradient(180deg,#0E0D0C 0%,var(--bg) 100%);}
.footer-ticker{border-bottom-color:var(--border);}
.ticker-item .t-dot{color:var(--accent-glow);}
.footer-col a:hover{color:var(--accent-glow);}
.footer-legal-links a:hover{color:var(--accent-glow);}

#fx-progress{position:fixed;top:0;left:0;height:2px;width:0;z-index:2000;background:linear-gradient(90deg,var(--accent),var(--accent-glow));transition:width .08s linear;}

.reveal{transition:opacity 1s cubic-bezier(.16,1,.3,1),transform 1.1s cubic-bezier(.16,1,.3,1);}
.js-ready .reveal{transform:translateY(46px);}

.fx{opacity:0;transform:translateY(34px);transition:opacity .9s cubic-bezier(.16,1,.3,1),transform 1s cubic-bezier(.16,1,.3,1);}
.fx.in{opacity:1;transform:none;}
.fx-head{opacity:0;transform:translateY(28px);transition:opacity 1s cubic-bezier(.16,1,.3,1),transform 1.1s cubic-bezier(.16,1,.3,1);}
.fx-head.in{opacity:1;transform:none;}
.fx-d1{transition-delay:.1s;}
.fx-d2{transition-delay:.2s;}
.fx-d3{transition-delay:.3s;}

.section-stats{background:var(--bg);border-top:1px solid var(--border);border-bottom:1px solid var(--border);}
.stat-number{color:var(--text);}
.stat-label{color:var(--muted);}
.stat+.stat{border-left-color:var(--border);}

.trust-strip{background:var(--bg-soft);border-bottom:1px solid var(--border);}
.trust-inner{max-width:1200px;margin:0 auto;padding:26px 48px;display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap;}
.trust-item{display:flex;align-items:center;gap:14px;color:var(--text);}
.trust-score{font-family:var(--font-display);font-size:2.3rem;line-height:1;color:var(--accent-glow);}
.trust-score span{font-size:.85rem;color:var(--muted);}
.trust-ico{width:34px;height:34px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border:1px solid var(--border-strong);border-radius:50%;color:var(--accent-glow);font-size:.78rem;}
.trust-label{font-size:.78rem;line-height:1.35;color:var(--muted);letter-spacing:.03em;}
.trust-label b{color:var(--text);font-weight:400;}

.section-mosaic{background:var(--bg);}
.mosaic-head{padding:84px 48px 36px;text-align:center;}
.mosaic-head .section-tag{color:var(--accent-glow);}
.mosaic-head h2{font-family:var(--font-display);font-weight:300;font-size:clamp(2rem,4vw,3.4rem);color:var(--text);line-height:1.05;}
.mosaic-head h2 em{font-style:italic;color:var(--accent-glow);}
.mosaic{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:200px;gap:3px;padding:0 3px;}
.mosaic a{position:relative;display:block;overflow:hidden;}
.mosaic picture,.evoc-image picture{display:contents;}
.mosaic img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.16,1,.3,1);}
.mosaic a:hover img{transform:scale(1.06);}
.mosaic a::after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 70%,rgba(11,11,13,.26));pointer-events:none;}
.m-cap{position:absolute;left:14px;bottom:12px;z-index:2;font-size:.55rem;letter-spacing:.2em;text-transform:uppercase;color:#fff;background:rgba(11,11,13,.52);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:6px 12px;border:1px solid rgba(255,255,255,.16);}
.m-big{grid-column:span 2;grid-row:span 2;}
.m-wide{grid-column:span 2;}


.fx-spot{position:relative;}
.fx-spot::before{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;opacity:0;transition:opacity .45s ease;background:radial-gradient(340px circle at var(--mx,50%) var(--my,50%),rgba(224,130,79,.16),transparent 62%);}
.fx-spot:hover::before{opacity:1;}

.section-dintorni{background:var(--paper);padding:88px 48px;}
.dintorni-inner{max-width:900px;margin:0 auto;text-align:center;}
.dintorni-inner .section-tag{color:var(--accent-dark);}
.dintorni-inner h2{font-family:var(--font-display);font-weight:300;font-size:clamp(2rem,4vw,3.2rem);color:var(--ink);margin-bottom:36px;}
.dintorni-chips{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;}
.chip{display:inline-flex;align-items:baseline;gap:10px;border:1px solid rgba(14,14,14,.14);border-radius:999px;padding:12px 22px;font-size:.8rem;color:var(--ink);transition:border-color .3s ease,background .3s ease;}
.chip:hover{border-color:var(--accent);background:rgba(196,96,58,.06);}
.chip b{font-family:var(--font-display);font-size:1.15rem;color:var(--accent-dark);}

.bookbar{position:fixed;left:0;right:0;bottom:0;z-index:950;background:rgba(11,11,13,.93);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top:1px solid var(--border);transform:translateY(115%);transition:transform .5s cubic-bezier(.16,1,.3,1);}
.bookbar.in{transform:none;}
.bookbar-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 48px;}
.bookbar-info{display:flex;align-items:baseline;gap:12px;color:var(--text);font-size:.8rem;}
.bookbar-info b{font-family:var(--font-display);font-size:1.5rem;color:var(--accent-glow);line-height:1;}
.bookbar-info span{color:var(--muted);}
.bookbar-cta{background:var(--accent-hover);color:#fff;text-decoration:none;padding:13px 30px;font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;box-shadow:var(--glow);transition:background .3s ease,box-shadow .3s ease;white-space:nowrap;}
.bookbar-cta:hover{background:var(--accent-hover);box-shadow:var(--glow-strong);}
.bc-short{display:none;}
body.bookbar-open .wa-btn{bottom:88px;}

@media(max-width:860px){
  .trust-inner{display:grid;grid-template-columns:1fr 1fr;max-width:640px;padding:0 8px;gap:0;}
  .trust-item{align-items:flex-start;gap:10px;padding:16px 12px;}
  .trust-item:first-child{flex-direction:column;gap:8px;}
  .trust-item:nth-child(odd){border-right:1px solid var(--border);}
  .trust-item:nth-child(-n+2){border-bottom:1px solid var(--border);}
  .trust-score{font-size:1.9rem;}
  .trust-ico{width:30px;height:30px;font-size:.72rem;}
  .mosaic-head{padding:64px 20px 28px;}
  .mosaic{grid-template-columns:repeat(2,1fr);grid-auto-rows:150px;}
  .section-dintorni{padding:64px 20px;}
  .bookbar-inner{padding:12px 20px;gap:12px;}
  .bookbar-info{flex-direction:column;align-items:flex-start;gap:3px;min-width:0;}
  .bookbar-info b{font-size:1.3rem;}
  .bookbar-info span{display:block;font-size:.6rem;letter-spacing:.05em;white-space:nowrap;}
  .bookbar-cta{padding:11px 16px;font-size:.62rem;letter-spacing:.14em;}
  .bc-full{display:none;}
  .bc-short{display:inline;}
}

.seo-cta-btn,.btn-primary,.btn-prenota,.btn-home,.btn-send{background:var(--accent-hover);}
.seo-cta-btn:hover,.btn-primary:hover,.btn-prenota:hover,.btn-home:hover,.btn-send:hover{background:var(--accent-dark);box-shadow:var(--glow);}
.seo-cta-box,.cta-section{background:linear-gradient(135deg,#150E09 0%,#1E130C 45%,var(--bg) 100%)!important;}
.seo-cta-box a{background:var(--accent-hover);box-shadow:var(--glow);}
.seo-cta-box a:hover{background:var(--accent-dark);box-shadow:var(--glow-strong);}
.float-cta{background:var(--accent-hover)!important;box-shadow:var(--glow);}
.seo-hero{background:linear-gradient(160deg,#150E09 0%,#1E130C 42%,var(--bg) 100%)!important;border-top-color:var(--accent)!important;}
.seo-hero::before{background:radial-gradient(ellipse at 20% 60%,rgba(224,130,79,.16) 0%,transparent 55%)!important;}
.seo-eyebrow{color:var(--accent-glow)!important;}
.seo-h1{color:var(--text)!important;}
.seo-h1 em{color:var(--muted)!important;}
.seo-lead{color:var(--muted)!important;}

.section-mosaic{background:#fff;padding-bottom:72px;}
.mosaic-head h2{color:var(--ink);}
.mosaic-head h2 em{color:var(--accent);}
.mosaic-head .section-tag{color:var(--accent-dark);}
.mosaic{padding:0 48px;gap:8px;}

.hero-title,.hero-location,.booking-widget{opacity:1!important;animation:none!important;}
.hero .scroll-hint{display:none!important;}
.hero-content{align-self:stretch;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;}
.hero .booking-widget{position:absolute;left:50%;bottom:clamp(88px,14vh,160px);transform:translateX(-50%);z-index:3;}

@media(max-width:860px){
  .mosaic{padding:0 20px;gap:6px;}
}
@media(max-width:767px){
  .hero .booking-widget{position:static;left:auto;bottom:auto;transform:none;margin:0 auto;}
}

.steps-bar{border-bottom-color:rgba(14,14,14,.10);}
.step-circle.done{background:var(--accent-hover);color:#fff;}
.step-circle.active{background:var(--ink);color:#fff;}
.step-circle.done ~ .step-label{color:var(--accent-dark);}
.step-line.done{background:var(--accent);}

.summary-panel{background:linear-gradient(160deg,#150E09 0%,#1E130C 42%,var(--bg) 100%);border-right-color:var(--border);}
.sum-title{color:var(--accent-glow);}
.sum-key{color:var(--muted);}
.sum-val{color:var(--text);}
.sum-total .sum-key{color:var(--muted);}
.sum-total .sum-val{color:var(--text);}
.policy-note,.price-table{color:var(--muted);}
.policy-note strong{color:var(--text);}

.form-panel{background:var(--paper);}
.form-section-title{color:var(--ink);}
.form-section-title em{color:var(--accent);}
.form-grid{border-color:rgba(14,14,14,.12);}
.ff{border-color:rgba(14,14,14,.10);}
.ff label{color:var(--accent-dark);}
.ff input,.ff select,.ff textarea{color:var(--ink);}
.ff input::placeholder,.ff textarea::placeholder{color:rgba(14,14,14,.34);}
.form-error{color:var(--accent-dark);}

.success-overlay{background:var(--bg);}
.success-title{color:var(--text);}
.success-title em{color:var(--accent-glow);}
.success-sub{color:var(--muted);}
.success-back{color:var(--accent-glow);border-bottom-color:var(--accent);}
.success-icon{background:var(--accent);}

.cookie-actions .cookie-btn.essential{background:rgba(250,250,247,.10);color:#F5F1EA;border:1px solid rgba(250,250,247,.35);}
.cookie-actions .cookie-btn.essential:hover{background:rgba(250,250,247,.20);border-color:rgba(250,250,247,.55);}
.cookie-btn.prefs{background:transparent;border:none;color:rgba(250,250,247,.85);text-decoration:underline;text-underline-offset:3px;padding:10px 8px;letter-spacing:.14em;}
.cookie-btn.prefs:hover{color:#fff;}
.prefs-overlay{position:fixed;inset:0;z-index:9000;background:rgba(11,11,13,.72);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:20px;}
.prefs-overlay[hidden]{display:none;}
.prefs-box{background:#17130F;border:1px solid rgba(245,241,234,.14);max-width:520px;width:100%;padding:28px;color:#F5F1EA;max-height:90vh;overflow:auto;}
.prefs-box h3{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:1.5rem;margin-bottom:10px;color:#F5F1EA;}
.prefs-intro{font-size:.82rem;color:rgba(245,241,234,.62);line-height:1.7;margin-bottom:8px;}
.pref-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 0;border-bottom:1px solid rgba(245,241,234,.10);}
.pref-row b{display:block;font-size:.9rem;color:#F5F1EA;font-weight:400;}
.pref-desc{display:block;font-size:.78rem;color:rgba(245,241,234,.55);margin-top:4px;line-height:1.5;}
.pref-lock{font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:#E0824F;white-space:nowrap;}
#prefAnalytics{width:20px;height:20px;accent-color:#C4603A;flex-shrink:0;}
.prefs-actions{display:flex;gap:12px;justify-content:flex-end;flex-wrap:wrap;margin-top:22px;}
.prefs-actions .cookie-btn.essential{background:rgba(245,241,234,.10);color:#F5F1EA;border:1px solid rgba(245,241,234,.35);}
.prefs-actions .cookie-btn.essential:hover{background:rgba(245,241,234,.20);}
@media(max-width:767px){.prefs-actions{flex-direction:column-reverse;}.prefs-actions .cookie-btn{width:100%;text-align:center;}}

::selection{background:#C4603A;color:#F5F1EA;}
::-webkit-scrollbar{width:10px;}
::-webkit-scrollbar-track{background:#0E0E0E;}
::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#C4603A,#E0824F);border-radius:8px;border:2px solid #0E0E0E;}
*{scrollbar-width:thin;scrollbar-color:#C4603A #0E0E0E;}
:focus-visible{outline:2px solid #E0824F;outline-offset:2px;}

.section-tag::before,.seo-eyebrow::before,.page-tag::before{content:'';display:inline-block;width:26px;height:1px;background:var(--accent);margin-right:12px;vertical-align:middle;}

.stat-number{text-shadow:0 0 26px rgba(224,130,79,.22);}
.stat-number span{color:var(--accent-glow)!important;}

.bw-btn,.btn-prenota,.btn-home,.btn-send,.seo-cta-btn,.btn-primary,.bookbar-cta{position:relative;overflow:hidden;}
.bw-btn::after,.btn-prenota::after,.btn-home::after,.btn-send::after,.seo-cta-btn::after,.btn-primary::after,.bookbar-cta::after{content:'';position:absolute;top:0;left:-70%;width:40%;height:100%;background:linear-gradient(105deg,transparent,rgba(255,255,255,.35),transparent);transform:skewX(-20deg);transition:left .55s ease;pointer-events:none;}
.bw-btn:hover::after,.btn-prenota:hover::after,.btn-home:hover::after,.btn-send:hover::after,.seo-cta-btn:hover::after,.btn-primary:hover::after,.bookbar-cta:hover::after{left:130%;}

#cookieBanner .cookie-text{color:rgba(250,250,247,.74);}
.site-footer{position:relative;}
