
:root{--gold:#c2a15f;--gold-dark:#9b7b3f;--cream:#f7f4ed;--sand:#ebe4d7;--ink:#221e19;--stone:#766f65;--white:#fff}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:Jost,Arial,sans-serif;color:var(--ink);background:var(--cream);line-height:1.7}img{max-width:100%;display:block}a{color:inherit}.container{width:min(92%,1200px);margin:auto}.topbar{height:38px;position:absolute;top:0;left:0;right:0;z-index:90;display:flex;justify-content:space-between;align-items:center;padding:0 3rem;color:#fff;font-size:.72rem;letter-spacing:.09em}.topbar a{text-decoration:none}.topbar__contacts{display:flex;gap:1.5rem}.lang{display:flex;gap:.8rem}.lang a{opacity:.7}.lang a.active{opacity:1;color:var(--gold)}
.header{position:absolute;top:38px;left:0;right:0;z-index:80;height:86px;padding:0 3rem;display:flex;align-items:center;justify-content:space-between;gap:2rem;transition:.3s}.header.scrolled{position:fixed;top:0;background:rgba(34,30,25,.96);box-shadow:0 12px 35px rgba(0,0,0,.2);height:72px}.logo img{height:50px;width:auto}.nav>ul{display:flex;list-style:none;gap:.2rem}.nav li{position:relative}.nav>ul>li>a{display:block;padding:1.2rem .75rem;color:#fff;text-decoration:none;text-transform:uppercase;letter-spacing:.14em;font-size:.72rem}.nav a:hover{color:var(--gold)}.dropdown{display:none;position:absolute;top:100%;left:50%;transform:translateX(-50%);min-width:270px;background:#fff;padding:1rem;box-shadow:0 20px 50px rgba(0,0,0,.25)}.nav li:hover>.dropdown{display:block}.dropdown a{display:block;padding:.65rem .75rem;text-decoration:none;font-size:.9rem;border-bottom:1px solid #eee}.dropdown a:last-child{border:0}.book{background:var(--gold);padding:.8rem 1.35rem;text-decoration:none;text-transform:uppercase;font-size:.72rem;letter-spacing:.16em}.toggle{display:none;background:none;border:0;color:#fff;font-size:1.6rem}.mobile{position:fixed;inset:0;background:var(--ink);z-index:120;padding:5rem 2rem;display:none;overflow:auto}.mobile.open{display:block}.mobile button{position:absolute;right:2rem;top:1.5rem;color:#fff;background:none;border:0;font-size:2rem}.mobile ul{list-style:none}.mobile a{display:block;color:#fff;text-decoration:none;padding:.6rem 0;font-family:'Cormorant Garamond',serif;font-size:1.45rem}.mobile ul ul{padding-left:1rem}.mobile ul ul a{font-family:Jost,sans-serif;font-size:.95rem;color:#d7ccbb}
.hero{min-height:78vh;display:grid;place-items:end start;position:relative;background-size:cover;background-position:center;color:#fff;padding:10rem 0 6rem}.hero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,17,13,.72),rgba(20,17,13,.14)),linear-gradient(0deg,rgba(20,17,13,.45),transparent 55%)}.hero .container{position:relative;z-index:1}.eyebrow{text-transform:uppercase;letter-spacing:.35em;color:var(--gold);font-size:.72rem;margin-bottom:1rem}.hero h1{font:500 clamp(2.8rem,6vw,5.7rem)/.98 'Cormorant Garamond',serif;max-width:900px}.hero h2{font:400 clamp(1.25rem,2.5vw,2rem)/1.25 'Cormorant Garamond',serif;margin-top:1rem;max-width:720px}.hero p{max-width:660px;margin-top:1.6rem;font-size:1.05rem}.cta{display:inline-block;margin-top:2rem;background:var(--gold);padding:1rem 1.6rem;text-decoration:none;text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;color:var(--ink)}
.intro{padding:6rem 0}.intro-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:5rem;align-items:start}.intro h2,.cards-title,.content h2{font:500 clamp(2.2rem,4vw,3.7rem)/1.05 'Cormorant Garamond',serif}.intro p,.content p{font-size:1.05rem;color:#514b43;margin:1rem 0}.cards{padding:1rem 0 6rem}.cards-head{margin-bottom:2.5rem}.cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}.card{position:relative;min-height:420px;overflow:hidden;color:#fff;text-decoration:none}.card img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;transition:.7s}.card:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(20,17,13,.75),transparent 70%)}.card:hover img{transform:scale(1.05)}.card-body{position:absolute;z-index:2;left:1.6rem;right:1.6rem;bottom:1.6rem}.card h3{font:500 2rem 'Cormorant Garamond',serif}.card span{font-size:.72rem;text-transform:uppercase;letter-spacing:.18em;color:var(--gold)}
.content{padding:6rem 0}.content-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}.content-photo{min-height:520px;background-size:cover;background-position:center}.details{margin-top:2rem;padding:1.5rem;border-left:2px solid var(--gold);background:#fff}.details a{display:block;text-decoration:none;margin:.45rem 0}.faq{margin-top:2rem}.faq details{background:#fff;margin:.75rem 0;padding:1rem 1.2rem}.faq summary{cursor:pointer;font-weight:500}.form{display:grid;gap:1rem;margin-top:2rem}.form input,.form textarea,.form select{padding:1rem;border:1px solid #d5cdbf;background:#fff;font:inherit}.form button{border:0;background:var(--gold);padding:1rem;text-transform:uppercase;letter-spacing:.15em}
.footer{background:var(--ink);color:#d9d0c3;padding:5rem 0 2rem}.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:3rem}.footer h3{color:var(--gold);font:500 1.35rem 'Cormorant Garamond',serif;margin-bottom:1rem}.footer ul{list-style:none}.footer a{text-decoration:none}.footer-logo{font:600 2.4rem 'Cormorant Garamond',serif;color:#fff}.footer-bottom{border-top:1px solid #494238;margin-top:3rem;padding-top:1.5rem;font-size:.75rem;display:flex;justify-content:space-between}.side-tab{position:fixed;top:50%;z-index:130;transform:translateY(-50%);writing-mode:vertical-rl;padding:1rem .65rem;border:0;text-transform:uppercase;letter-spacing:.12em;font-size:.68rem;cursor:pointer}.privacy-tab{left:0;background:var(--ink);color:#fff}.chat-tab{right:0;background:var(--gold);color:var(--ink)}
@media(max-width:1000px){.nav,.header>.book,.topbar__contacts{display:none}.toggle{display:block}.header{padding:0 1.2rem}.topbar{padding:0 1.2rem;justify-content:flex-end}.intro-grid,.content-grid{grid-template-columns:1fr;gap:2.5rem}.cards-grid{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr}.hero{min-height:70vh}}
@media(max-width:650px){.cards-grid,.footer-grid{grid-template-columns:1fr}.hero{padding-bottom:4rem}.hero h1{font-size:3rem}.content-photo{min-height:340px}.footer-bottom{display:block}.side-tab{font-size:.6rem}}


/* Componenti originali Boffenigo */

  :root{
    /* Palette "golden hour" */
    --gold:#c2a15f;
    --gold-dark:#a8874a;
    --cream:#f7f4ed;
    --sand:#efe9dd;
    --ink:#221e19;
    --stone:#7d7568;
    --white:#ffffff;
    --overlay:rgba(24,20,15,.38);
    --slide-duration:6000ms;
  }
  *{margin:0;padding:0;box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{font-family:'Jost',sans-serif;background:var(--cream);color:var(--ink)}
  img{display:block;max-width:100%}

  .container{width:min(92%,1200px);margin:0 auto}
  .eyebrow{
    font-size:.72rem;letter-spacing:.42em;text-transform:uppercase;
    color:var(--gold);margin-bottom:.9rem;
  }
  .section-title{
    font-family:'Cormorant Garamond',serif;font-weight:500;
    font-size:clamp(1.8rem,3.6vw,2.7rem);line-height:1.15;
  }
  .section-title em{font-style:italic;font-weight:400}

  /* ===== HEADER + MEGA MENU ===== */
  .site-header{
    position:absolute;top:38px;left:0;right:0;z-index:50;
    display:flex;align-items:center;justify-content:space-between;
    gap:2rem;padding:1.1rem 3rem;
    transition:background .35s ease, box-shadow .35s ease, padding .35s ease;
  }
  .site-header.is-scrolled{
    position:fixed;
    top:0;
    background:rgba(34,30,25,.94);
    backdrop-filter:blur(8px);
    box-shadow:0 8px 30px rgba(24,20,15,.25);
    padding:.7rem 3rem;
  }
  .site-header__logo{
    font-family:'Cormorant Garamond',serif;font-weight:600;
    font-size:1.6rem;color:var(--cream);text-decoration:none;
    line-height:1;white-space:nowrap;
  }
  .site-header__logo img{height:52px;width:auto;display:block;transition:height .35s ease}
  .site-header.is-scrolled .site-header__logo img{height:40px}
  .site-nav{display:flex;align-items:center;height:100%}
  .site-nav > ul{display:flex;list-style:none;gap:.4rem}
  .site-nav > ul > li > a{
    display:block;padding:1rem .9rem;
    font-size:.8rem;letter-spacing:.22em;text-transform:uppercase;
    color:var(--cream);text-decoration:none;position:relative;
    transition:color .3s;
  }
  .site-nav > ul > li > a::after{
    content:"";position:absolute;left:50%;bottom:.45rem;
    width:5px;height:5px;background:var(--gold);
    transform:translateX(-50%) rotate(45deg) scale(0);
    transition:transform .35s ease;
  }
  .site-nav > ul > li:hover > a{color:var(--gold)}
  .site-nav > ul > li:hover > a::after{transform:translateX(-50%) rotate(45deg) scale(1)}

  .site-nav > ul > li.is-open .mega{
    opacity:1;visibility:visible;transform:none;pointer-events:auto;
    z-index:2;transition-delay:0s,0s,0s;
  }
  .site-nav > ul > li.is-open > a{color:var(--gold)}
  .site-nav > ul > li.is-open > a::after{transform:translateX(-50%) rotate(45deg) scale(1)}
  .site-nav > ul > li.is-open .mega__photo{opacity:1}
  .site-nav > ul > li.is-open .mega__links > *{opacity:1;transform:none}

  .site-header__book{
    font-size:.75rem;letter-spacing:.26em;text-transform:uppercase;
    color:var(--ink);background:var(--gold);text-decoration:none;
    padding:.85rem 1.8rem;border:1px solid var(--gold);
    white-space:nowrap;transition:background .3s,color .3s;
  }
  .site-header__book:hover{background:transparent;color:var(--cream)}

  /* Pannello mega menu — versione elegante scura */
  .mega{
    position:absolute;left:0;right:0;top:100%;
    background:rgba(30,26,21,.97);
    backdrop-filter:blur(10px);
    box-shadow:0 40px 90px rgba(0,0,0,.4);
    border-top:1px solid rgba(194,161,95,.35);
    opacity:0;visibility:hidden;transform:translateY(8px);
    /* Chiusura ritardata anti-sfarfallio */
    transition:opacity .25s ease .28s, transform .25s ease .28s, visibility 0s linear .55s;
    pointer-events:none;
    z-index:1;
  }
  /* Ponte invisibile fra la voce e il pannello */
  .mega::before{
    content:"";
    position:absolute;
    left:0;right:0;
    top:-36px;height:36px;
  }
  .site-nav > ul > li{position:static}
  .site-nav > ul > li:hover .mega,
  .site-nav > ul > li:focus-within .mega{
    opacity:1;visibility:visible;transform:none;pointer-events:auto;
    z-index:2;
    transition-delay:0s, 0s, 0s;
  }
  .site-nav > ul > li:hover > a,
  .site-nav > ul > li:focus-within > a{color:var(--gold)}
  .site-nav > ul > li:hover > a::after,
  .site-nav > ul > li:focus-within > a::after{transform:translateX(-50%) rotate(45deg) scale(1)}

  .mega__inner{
    display:grid;grid-template-columns:420px 1fr;
    max-width:1160px;margin:0 auto;min-height:340px;
  }
  /* Foto con cornice dorata interna */
  .mega__photo{
    position:relative;overflow:hidden;background:#191511;
    opacity:0;transition:opacity .5s ease;
  }
  .site-nav > ul > li:hover .mega__photo,
  .site-nav > ul > li:focus-within .mega__photo{opacity:1;transition-delay:.08s}
  .mega__photo img{
    position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
    opacity:0;transform:scale(1.05);
    transition:opacity .45s ease, transform 1.1s ease;
  }
  .mega__photo img.is-visible{opacity:1;transform:scale(1)}
  .mega__photo::after{
    content:"";position:absolute;inset:14px;z-index:2;
    border:1px solid rgba(194,161,95,.45);
    pointer-events:none;
  }
  .mega__photo .mega__caption{
    position:absolute;z-index:3;left:2rem;bottom:1.8rem;
    font-family:'Cormorant Garamond',serif;font-style:italic;
    font-size:1.25rem;color:var(--cream);
    text-shadow:1px 1px 8px rgba(0,0,0,.5);
  }
  .mega__links{
    padding:3.2rem 4rem;display:flex;flex-direction:column;gap:.2rem;
    justify-content:center;
    border-left:1px solid rgba(247,244,237,.08);
  }
  .mega__title{
    font-size:.66rem;letter-spacing:.42em;text-transform:uppercase;
    color:var(--gold);margin-bottom:1.6rem;
  }
  .mega__title::after{
    content:"";display:block;width:44px;height:1px;
    background:rgba(194,161,95,.5);margin-top:.9rem;
  }
  .mega__links a{
    position:relative;display:block;padding:.6rem 0;
    font-family:'Cormorant Garamond',serif;font-weight:500;
    font-size:1.5rem;color:var(--cream);text-decoration:none;
    transition:color .35s, padding-left .35s;
  }
  .mega__links a::before{
    content:"";position:absolute;left:0;top:1.35rem;
    height:1px;width:0;background:var(--gold);
    transition:width .35s ease;
  }
  .mega__links a span{
    display:block;font-family:'Jost',sans-serif;font-weight:300;
    font-size:.78rem;letter-spacing:.06em;
    color:rgba(247,244,237,.5);margin-top:.15rem;
    transition:color .35s;
  }
  .mega__links a:hover{color:var(--gold);padding-left:2.2rem}
  .mega__links a:hover::before{width:1.5rem}
  .mega__links a:hover span{color:rgba(247,244,237,.75)}
  /* Ingresso scalato delle voci all'apertura */
  .mega__links > *{
    opacity:0;transform:translateY(14px);
    transition:opacity .45s ease, transform .45s ease,
               color .35s, padding-left .35s;
  }
  .site-nav > ul > li:hover .mega__links > *,
  .site-nav > ul > li:focus-within .mega__links > *{opacity:1;transform:none}
  .site-nav > ul > li:hover .mega__links > *:nth-child(1){transition-delay:.08s}
  .site-nav > ul > li:hover .mega__links > *:nth-child(2){transition-delay:.15s}
  .site-nav > ul > li:hover .mega__links > *:nth-child(3){transition-delay:.22s}
  .site-nav > ul > li:hover .mega__links > *:nth-child(4){transition-delay:.29s}
  .site-nav > ul > li:hover .mega__links > *:nth-child(5){transition-delay:.36s}

  .site-header__lang{display:flex;gap:.3rem;margin-right:.4rem}
  .site-header__lang a{
    font-size:.68rem;letter-spacing:.18em;color:rgba(247,244,237,.6);
    text-decoration:none;padding:.35rem .5rem;border:1px solid transparent;
    transition:color .3s,border-color .3s;
  }
  .site-header__lang a:hover{color:var(--cream)}
  .site-header__lang a.is-active{color:var(--gold);border-color:var(--gold)}

  /* Hamburger + menu mobile */
  .site-header__toggle{
    display:none;width:44px;height:44px;background:none;border:none;
    cursor:pointer;flex-direction:column;justify-content:center;gap:6px;
  }
  .site-header__toggle span{
    display:block;width:26px;height:1.5px;background:var(--cream);margin:0 auto;
    transition:transform .3s, opacity .3s;
  }
  .mobile-nav{
    position:fixed;inset:0;z-index:60;background:var(--ink);
    padding:5.5rem 2rem 2rem;overflow-y:auto;
    transform:translateX(100%);transition:transform .4s ease;
  }
  .mobile-nav.is-open{transform:none}
  .mobile-nav__close{
    position:absolute;top:1.2rem;right:1.4rem;width:44px;height:44px;
    background:none;border:1px solid rgba(247,244,237,.3);border-radius:50%;
    color:var(--cream);font-size:1.1rem;cursor:pointer;
  }
  .mobile-nav ul{list-style:none}
  .mobile-nav > ul > li{border-bottom:1px solid rgba(247,244,237,.1)}
  .mobile-nav > ul > li > a{
    display:block;padding:1.1rem 0;
    font-family:'Cormorant Garamond',serif;font-size:1.5rem;font-weight:500;
    color:var(--cream);text-decoration:none;
  }
  .mobile-nav ul ul{padding:0 0 1rem 1rem}
  .mobile-nav ul ul a{
    display:block;padding:.45rem 0;font-weight:300;font-size:.95rem;
    letter-spacing:.06em;color:rgba(247,244,237,.75);text-decoration:none;
  }
  .mobile-nav ul ul a:hover{color:var(--gold)}

  @media (max-width:1080px){
    .topbar{padding:0 1.4rem}
    .site-header{padding:1rem 1.4rem}
    .site-header.is-scrolled{padding:.7rem 1.4rem}
    .site-nav, .site-header__book{display:none}
    .site-header__toggle{display:flex}
  }

  /* ===== HERO SLIDER ===== */
  .hero{position:relative;height:100vh;height:100svh;min-height:560px;overflow:hidden;background:var(--ink)}
  .hero__slide{position:absolute;inset:0;opacity:0;transition:opacity 1.2s ease;pointer-events:none}
  .hero__slide.is-active{opacity:1;pointer-events:auto}
  .hero__slide img,.hero__slide video{width:100%;height:100%;object-fit:cover;display:block}
  .hero__slide img{transform:scale(1.06);transition:transform 8s ease}
  .hero__slide.is-active img{transform:scale(1)}
  .hero__slide::after{
    content:"";position:absolute;inset:0;
    background:linear-gradient(to top, rgba(24,20,15,.72) 0%, var(--overlay) 45%, rgba(24,20,15,.12) 100%);
  }
  .hero__content{
    position:absolute;z-index:5;left:50%;bottom:14vh;transform:translateX(-50%);
    text-align:center;width:min(90%,860px);color:var(--cream);
  }
  .hero__eyebrow{font-size:.78rem;letter-spacing:.42em;text-transform:uppercase;color:var(--gold);margin-bottom:1.1rem}
  .hero__title{
    font-family:'Cormorant Garamond',serif;font-weight:500;
    font-size:clamp(2.4rem,6vw,4.6rem);line-height:1.08;margin-bottom:1.2rem;
  }
  .hero__title em{font-style:italic;font-weight:400}
  .hero__caption{
    font-weight:300;font-size:clamp(.95rem,1.4vw,1.1rem);letter-spacing:.04em;
    opacity:.9;max-width:560px;margin:0 auto 1.8rem;
  }
  .hero__cta{
    display:inline-block;font-size:.8rem;letter-spacing:.3em;text-transform:uppercase;
    color:var(--ink);background:var(--gold);text-decoration:none;
    padding:.95rem 2.4rem;border:1px solid var(--gold);
    transition:background .3s,color .3s;
  }
  .hero__cta:hover{background:transparent;color:var(--cream)}
  .hero__content > *{opacity:0;transform:translateY(18px);transition:opacity .8s ease, transform .8s ease}
  .hero.is-ready .hero__content > *{opacity:1;transform:none}
  .hero__content > *:nth-child(2){transition-delay:.12s}
  .hero__content > *:nth-child(3){transition-delay:.24s}
  .hero__content > *:nth-child(4){transition-delay:.36s}

  .hero__nav{
    position:absolute;z-index:6;top:50%;transform:translateY(-50%);
    width:52px;height:52px;display:grid;place-items:center;
    background:transparent;border:1px solid rgba(247,244,237,.35);border-radius:50%;
    color:var(--cream);cursor:pointer;transition:background .3s,border-color .3s;
  }
  .hero__nav:hover{background:rgba(247,244,237,.12);border-color:rgba(247,244,237,.7)}
  .hero__nav svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.4}
  .hero__nav--prev{left:2rem}
  .hero__nav--next{right:2rem}

  .hero__dots{
    position:absolute;z-index:6;bottom:3.2vh;left:50%;transform:translateX(-50%);
    display:flex;gap:14px;align-items:center;
  }
  .hero__dot{
    position:relative;width:44px;height:2px;background:rgba(247,244,237,.3);
    border:none;cursor:pointer;overflow:hidden;
  }
  .hero__dot span{position:absolute;inset:0;background:var(--gold);transform:scaleX(0);transform-origin:left}
  .hero__dot.is-active span{animation:fill linear forwards;animation-duration:var(--dur, var(--slide-duration))}
  @keyframes fill{to{transform:scaleX(1)}}

  .hero__counter{
    position:absolute;z-index:6;bottom:3.2vh;right:2.4rem;
    font-family:'Cormorant Garamond',serif;font-size:1.05rem;letter-spacing:.12em;
    color:rgba(247,244,237,.85);
  }
  .hero__counter b{font-weight:600;color:var(--gold)}

  .hero__mute{
    position:absolute;z-index:6;bottom:3.2vh;left:2.4rem;width:44px;height:44px;
    display:none;place-items:center;background:transparent;
    border:1px solid rgba(247,244,237,.35);border-radius:50%;color:var(--cream);cursor:pointer;
  }
  .hero__mute.is-visible{display:grid}
  .hero__mute svg{width:18px;height:18px;fill:currentColor}

  .hero__poster{
    position:absolute;inset:0;width:100%;height:100%;
    object-fit:cover;display:block;
  }
  .hero__slides{position:absolute;inset:0}
  .hero__moment{
    position:absolute;z-index:5;left:5vw;bottom:14vh;
    color:var(--cream);text-shadow:2px 2px 12px rgba(24,20,15,.5);
  }
  .hero__moment-time{
    font-family:'Playfair Display',serif;font-weight:600;
    font-size:clamp(3rem,6.6vw,5.3rem);line-height:1;
  }
  .hero__moment-label{
    margin-top:.7rem;
    font-size:clamp(.85rem,1.3vw,1.05rem);
    letter-spacing:.34em;text-transform:uppercase;
    color:var(--gold);font-weight:400;
  }
  .hero__moment > *{
    opacity:0;transform:translateY(20px);
    transition:opacity .7s ease, transform .7s ease;
  }
  .hero__moment-label{transition-delay:.12s}
  .hero.is-ready .hero__moment > *{opacity:1;transform:none}

  /* ===== TIMELINE DELLA GIORNATA ===== */
  .daytime{background:var(--white);padding:3.2rem 0 3.8rem;border-bottom:1px solid var(--sand)}
  .daytime__track-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .daytime__track-wrap::-webkit-scrollbar{display:none}
  .daytime__track{
    position:relative;
    display:flex;
    justify-content:space-between;
    min-width:860px;
    width:100%;
    margin:0;
    padding:0 4vw 1.4rem;
  }
  .daytime__line{position:absolute;left:4vw;right:4vw;bottom:0;height:1px;background:var(--sand)}
  .daytime__line-fill{
    position:absolute;left:0;top:0;height:100%;width:100%;background:var(--gold);
    transform:scaleX(0);transform-origin:left;
    transition:transform .8s cubic-bezier(.4,0,.2,1);
  }
  .daytime__item{
    position:relative;flex:1;background:none;border:none;color:var(--ink);
    cursor:pointer;padding:0 .5rem;text-align:center;font-family:inherit;
  }
  .daytime__time{
    display:block;font-family:'Playfair Display',serif;
    font-size:clamp(1.6rem,2.3vw,2.15rem);font-weight:600;
    color:#756b5e;margin-bottom:.5rem;transition:color .4s, transform .4s;
  }
  .daytime__label{
    display:block;font-size:.88rem;letter-spacing:.24em;text-transform:uppercase;
    color:#756b5e;font-weight:400;transition:color .4s;
  }
  .daytime__item::after{
    content:"";position:absolute;left:50%;bottom:calc(-1.4rem - 3.5px);transform:translateX(-50%);
    width:7px;height:7px;border-radius:50%;background:var(--white);border:1px solid var(--gold);
    transition:background .4s,transform .4s;
  }
  .daytime__item:hover .daytime__time,
  .daytime__item:hover .daytime__label{color:var(--ink)}
  .daytime__item.is-active .daytime__time{color:var(--gold-dark);transform:translateY(-4px)}
  .daytime__item.is-active .daytime__label{color:var(--ink)}
  .daytime__item.is-active::after{background:var(--gold);transform:translateX(-50%) scale(1.5)}
  .daytime__item:focus-visible{outline:1px solid var(--gold);outline-offset:6px}
  /* Barra di avanzamento: visibile solo nella versione mobile a card */
  .daytime__prog{display:none}
  @keyframes progFill{from{transform:scaleX(0)}to{transform:scaleX(1)}}
  .daytime__desc{text-align:center;max-width:620px;margin:2.4rem auto 0;padding:0 1.5rem;min-height:3.2em}
  .daytime__desc p{
    font-weight:300;font-size:1rem;letter-spacing:.03em;line-height:1.7;color:var(--stone);
    opacity:0;transform:translateY(10px);transition:opacity .5s ease, transform .5s ease;
  }
  .daytime__desc p.is-visible{opacity:1;transform:none}
  /* Media a tema del momento selezionato */
  .daytime__media{
    max-width:900px;
    margin:2.2rem auto 0;
    padding:0 1.5rem;
  }
  .daytime__media-frame{
    position:relative;
    aspect-ratio:16/7;
    overflow:hidden;
    background:var(--sand);
  }
  .daytime__media-frame img,
  .daytime__media-frame video{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    opacity:0;
    transform:scale(1.04);
    transition:opacity .6s ease, transform 1.2s ease;
  }
  .daytime__media-frame img.is-visible,
  .daytime__media-frame video.is-visible{
    opacity:1;
    transform:scale(1);
  }


  /* ===== INTRO ===== */
  .intro{padding:5.5rem 0 4.5rem;text-align:center}
  .intro h1{
    font-family:'Cormorant Garamond',serif;font-weight:500;
    font-size:clamp(2rem,4.4vw,3.2rem);line-height:1.12;margin-bottom:.8rem;
  }
  .intro h2{
    font-family:'Cormorant Garamond',serif;font-weight:400;font-style:italic;
    font-size:clamp(1.15rem,2.2vw,1.5rem);color:var(--gold-dark);margin-bottom:2.2rem;
  }
  .intro p{
    max-width:680px;margin:0 auto;font-weight:300;font-size:1.02rem;
    line-height:1.85;letter-spacing:.02em;color:#4c463d;
  }
  .intro p + p{margin-top:1.2rem}
  .intro strong{font-weight:500;color:var(--ink)}

  /* ===== GRIGLIA SERVIZI ===== */
  .features{padding:1rem 0 5rem}
  .features__grid{
    display:grid;
    grid-template-columns:repeat(12,1fr);
    gap:14px;
    width:calc(100% - 28px);
    margin:0 auto;
  }
  .feature{
    position:relative;display:block;overflow:hidden;text-decoration:none;
    background:var(--ink);
  }
  /* Prima riga: 3 card grandi — seconda riga: 4 card */
  .feature:nth-child(-n+3){grid-column:span 4;aspect-ratio:16/10}
  .feature:nth-child(n+4){grid-column:span 3;aspect-ratio:4/3.4}
  .feature img{
    width:100%;height:100%;object-fit:cover;
    transition:transform .9s cubic-bezier(.25,.8,.25,1);
  }
  .feature:hover img{transform:scale(1.07)}
  /* Velo dorato che sale dal basso (effetto roll) */
  .feature__veil{
    position:absolute;inset:0;z-index:1;
    background:linear-gradient(to top, rgba(194,161,95,.85), rgba(194,161,95,.55));
    transform:translateY(101%);
    transition:transform .55s cubic-bezier(.4,0,.2,1);
  }
  .feature:hover .feature__veil{transform:translateY(0)}
  /* Titolo: nascosto, rolla verso l'alto al passaggio */
  .feature h3{
    position:absolute;inset:0;z-index:2;
    display:grid;place-items:center;
    font-family:'Jost',sans-serif;font-weight:400;
    font-size:1.05rem;letter-spacing:.28em;text-transform:uppercase;
    color:var(--white);text-align:center;padding:0 1rem;
    overflow:hidden;
  }
  .feature h3 span{
    display:block;
    transform:translateY(140%);
    opacity:0;
    transition:transform .55s cubic-bezier(.4,0,.2,1) .08s, opacity .4s ease .08s;
  }
  .feature:hover h3 span{transform:translateY(0);opacity:1}
  .feature:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
  .feature:focus-visible .feature__veil{transform:translateY(0)}
  .feature:focus-visible h3 span{transform:translateY(0);opacity:1}

  /* ===== OFFERTE & LIFESTYLE ===== */
  .offers{background:var(--sand);padding:5rem 0 5.5rem}
  .offers__head{text-align:center;margin-bottom:3rem}
  .offers__head p.sub{margin-top:.8rem;font-weight:300;color:var(--stone);letter-spacing:.03em}
  .offers__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem}
  .offer{background:var(--white);text-decoration:none;color:var(--ink);display:flex;flex-direction:column;transition:transform .35s ease, box-shadow .35s ease}
  .offer:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(24,20,15,.12)}
  .offer__img{aspect-ratio:4/3;overflow:hidden}
  .offer__img img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease}
  .offer:hover .offer__img img{transform:scale(1.07)}
  .offer__body{padding:1.4rem 1.4rem 1.6rem;flex:1;display:flex;flex-direction:column}
  .offer__body h3{
    font-family:'Cormorant Garamond',serif;font-weight:600;font-size:1.25rem;
    letter-spacing:.05em;text-transform:uppercase;margin-bottom:.9rem;
  }
  .offer__tags{margin-top:auto;display:flex;gap:.5rem;flex-wrap:wrap}
  .offer__tags span{
    font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;
    color:var(--gold-dark);border:1px solid var(--gold);padding:.35rem .7rem;
  }

  /* ===== RECENSIONI ===== */
  .reviews{padding:5.5rem 0;text-align:center}
  .reviews__quote{max-width:720px;margin:0 auto}
  .reviews__quote blockquote{
    font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:400;
    font-size:clamp(1.3rem,2.6vw,1.8rem);line-height:1.5;color:var(--ink);
    opacity:0;transform:translateY(12px);transition:opacity .6s, transform .6s;
  }
  .reviews__quote blockquote.is-visible{opacity:1;transform:none}
  .reviews__author{
    margin-top:1.2rem;font-size:.75rem;letter-spacing:.3em;text-transform:uppercase;color:var(--stone);
  }
  .reviews__score{
    margin-top:2.8rem;display:inline-flex;align-items:center;gap:1rem;
    padding:1rem 2rem;border:1px solid var(--sand);background:var(--white);
  }
  .reviews__score .stars{color:var(--gold);letter-spacing:.2em;font-size:1rem}
  .reviews__score b{font-family:'Cormorant Garamond',serif;font-size:1.4rem;font-weight:600}
  .reviews__score small{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--stone)}

  /* ===== SOCIAL ===== */
  .social{background:var(--white);padding:4.5rem 0 0;border-top:1px solid var(--sand)}
  .social__head{text-align:center;margin-bottom:2.4rem}
  /* Griglia a tutta larghezza: 5 colonne x 2 righe */
  .social__grid{
    display:grid;grid-template-columns:repeat(5,1fr);gap:6px;
    width:100%;
  }
  .social__grid a{
    position:relative;display:block;overflow:hidden;aspect-ratio:1;
    background:var(--sand);
  }
  .social__grid img{
    width:100%;height:100%;object-fit:cover;
    transition:transform .7s ease;
  }
  .social__grid a:hover img{transform:scale(1.07)}
  /* Overlay stile Instagram con i like al passaggio */
  .social__grid a::after{
    content:"";position:absolute;inset:0;
    background:rgba(34,30,25,.45);
    opacity:0;transition:opacity .35s ease;
  }
  .social__grid a:hover::after{opacity:1}
  .social__likes{
    position:absolute;z-index:2;inset:0;
    display:grid;place-items:center;
    color:var(--white);font-weight:300;font-size:1.05rem;letter-spacing:.08em;
    opacity:0;transform:translateY(8px);
    transition:opacity .35s ease, transform .35s ease;
    pointer-events:none;
  }
  .social__grid a:hover .social__likes{opacity:1;transform:none}

  /* ===== FOOTER ===== */
  .footer{background:var(--ink);color:rgba(247,244,237,.8);padding:4.5rem 0 0}
  .footer__grid{
    display:grid;grid-template-columns:1.2fr 1fr 1fr 1.2fr;gap:2.5rem;
    padding-bottom:3.5rem;border-bottom:1px solid rgba(247,244,237,.12);
  }
  .footer h3{
    font-size:.72rem;letter-spacing:.3em;text-transform:uppercase;
    color:var(--gold);margin-bottom:1.3rem;font-weight:500;
  }
  .footer__brand .logo{
    font-family:'Cormorant Garamond',serif;font-size:1.7rem;font-weight:600;
    color:var(--cream);margin-bottom:.4rem;
  }
  .footer__brand .tagline{
    font-style:italic;font-family:'Cormorant Garamond',serif;
    color:var(--gold);margin-bottom:1.4rem;
  }
  .footer ul{list-style:none}
  .footer li{margin-bottom:.6rem}
  .footer a{color:rgba(247,244,237,.8);text-decoration:none;font-weight:300;font-size:.92rem;transition:color .3s}
  .footer a:hover{color:var(--gold)}
  .footer p{font-weight:300;font-size:.92rem;line-height:1.8}
  .footer__social{display:flex;gap:.8rem;margin-top:.5rem}
  .footer__social a{
    width:40px;height:40px;display:grid;place-items:center;
    border:1px solid rgba(247,244,237,.25);border-radius:50%;
    font-size:.7rem;letter-spacing:.08em;
  }
  .footer__social a:hover{border-color:var(--gold)}
  .footer__lang{display:flex;gap:.6rem;margin-top:1.4rem}
  .footer__lang a{
    font-size:.72rem;letter-spacing:.2em;border:1px solid rgba(247,244,237,.25);
    padding:.4rem .8rem;
  }
  .footer__lang a:hover{border-color:var(--gold)}
  .footer__bottom{
    display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;
    padding:1.6rem 0;font-size:.78rem;letter-spacing:.06em;color:rgba(247,244,237,.65);
  }

  .skip-link{
    position:fixed;top:-100%;left:1rem;z-index:100;
    background:var(--gold);color:var(--ink);
    padding:.8rem 1.4rem;text-decoration:none;
    font-size:.85rem;letter-spacing:.1em;transition:top .3s;
  }
  .skip-link:focus{top:1rem}

  /* ===== TOPBAR ===== */
  .topbar{
    position:absolute;top:0;left:0;right:0;z-index:51;height:38px;
    display:flex;align-items:center;justify-content:space-between;
    padding:0 3rem;
    background:rgba(24,20,15,.55);backdrop-filter:blur(6px);
    border-bottom:1px solid rgba(247,244,237,.12);
  }
  .topbar__contacts{display:flex;gap:1.6rem}
  .topbar a{
    font-size:.68rem;letter-spacing:.16em;color:rgba(247,244,237,.65);
    text-decoration:none;transition:color .3s;
  }
  .topbar a:hover{color:var(--gold)}
  .topbar .site-header__lang{margin:0}

  /* ===== FRECCIA SCORRI NELLA HERO ===== */
  .hero__scroll{
    position:absolute;z-index:5;left:50%;bottom:3vh;transform:translateX(-50%);
    width:44px;height:44px;display:grid;place-items:center;
    color:var(--cream);opacity:.8;transition:opacity .3s,color .3s;
  }
  .hero__scroll:hover{opacity:1;color:var(--gold)}
  .hero__scroll svg{
    width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.4;
    animation:scrollBounce 2s ease-in-out infinite;
  }
  @keyframes scrollBounce{0%,100%{transform:translateY(0)}50%{transform:translateY(7px)}}

  /* ===== INDICATORE VIVO SULLA TIMELINE ===== */
  .daytime__line-runner{
    position:absolute;top:-4.5px;left:-5px;
    width:10px;height:10px;border-radius:50%;
    background:var(--gold);
    box-shadow:0 0 0 4px rgba(194,161,95,.22);
  }

  /* ===== FILIGRANA "GOLDEN HOUR" NELL'INTRO ===== */
  .intro{position:relative;overflow:hidden}
  .intro::before{
    content:"Golden Hour";
    position:absolute;left:50%;top:1.5rem;transform:translateX(-50%);
    font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:500;
    font-size:clamp(3.2rem,11vw,11rem);line-height:1;
    color:rgba(194,161,95,.10);white-space:nowrap;
    pointer-events:none;
  }
  .intro .container{position:relative;z-index:1}

  /* ===== VIRGOLETTE DECORATIVE SULLE RECENSIONI ===== */
  .reviews__quote{position:relative;padding-top:3.6rem}
  .reviews__quote::before{
    content:"\201C";
    position:absolute;left:50%;top:-1.2rem;transform:translateX(-50%);
    font-family:'Cormorant Garamond',serif;
    font-size:7rem;line-height:1;color:rgba(194,161,95,.4);
    pointer-events:none;
  }

  /* ===== CONTATTO RAPIDO NEL MEGA MENU ===== */
  .mega__contact{
    margin-top:1.4rem;padding-top:1.1rem;
    border-top:1px solid rgba(247,244,237,.1);
    font-size:.78rem;letter-spacing:.14em;color:rgba(247,244,237,.55);
  }
  .mega__contact a{color:rgba(247,244,237,.7);text-decoration:none;transition:color .3s}
  .mega__contact a:hover{color:var(--gold)}
  .mega__contact span{margin:0 .6rem;color:var(--gold)}
  .site-nav > ul > li:hover .mega__links > *:nth-child(6){transition-delay:.4s}

  /* Ken Burns sulla foto del mega menu aperto */
  @keyframes megaKen{to{transform:scale(1.08)}}
  .site-nav > ul > li:hover .mega__photo img.is-visible{animation:megaKen 9s ease forwards}

  /* ===== MENU MOBILE: INGRESSO SCALATO + CONTATTI ===== */
  .mobile-nav > ul > li{
    opacity:0;transform:translateX(28px);
    transition:opacity .45s ease, transform .45s ease;
  }
  .mobile-nav.is-open > ul > li{opacity:1;transform:none}
  .mobile-nav.is-open > ul > li:nth-child(1){transition-delay:.06s}
  .mobile-nav.is-open > ul > li:nth-child(2){transition-delay:.12s}
  .mobile-nav.is-open > ul > li:nth-child(3){transition-delay:.18s}
  .mobile-nav.is-open > ul > li:nth-child(4){transition-delay:.24s}
  .mobile-nav.is-open > ul > li:nth-child(5){transition-delay:.30s}
  .mobile-nav.is-open > ul > li:nth-child(6){transition-delay:.36s}
  .mobile-nav.is-open > ul > li:nth-child(7){transition-delay:.42s}
  .mobile-nav.is-open > ul > li:nth-child(8){transition-delay:.48s}
  .mobile-nav__lang{display:flex;gap:.6rem;margin-top:1.8rem}
  .mobile-nav__lang a{
    font-size:.75rem;letter-spacing:.2em;color:rgba(247,244,237,.6);
    text-decoration:none;padding:.45rem .7rem;border:1px solid rgba(247,244,237,.2);
  }
  .mobile-nav__lang a.is-active{color:var(--gold);border-color:var(--gold)}
  .mobile-nav__contact{
    margin-top:2rem;padding-top:1.4rem;
    border-top:1px solid rgba(247,244,237,.12);
    display:flex;flex-direction:column;gap:.5rem;
    opacity:0;transition:opacity .5s ease .5s;
  }
  .mobile-nav.is-open .mobile-nav__contact{opacity:1}
  .mobile-nav__contact a{color:var(--gold);text-decoration:none;font-size:.95rem;letter-spacing:.08em}

  /* ===== SCROLL REVEAL ===== */
  .reveal{opacity:0;transform:translateY(34px);transition:opacity .9s ease, transform .9s ease}
  .reveal.is-inview{opacity:1;transform:none}

  /* ===== NEWSLETTER NEL FOOTER ===== */
  .newsletter{max-width:560px;margin:0 auto;padding:2.8rem 0 2.4rem;text-align:center}
  .newsletter h3{
    font-size:.72rem;letter-spacing:.3em;text-transform:uppercase;
    color:var(--gold);margin-bottom:1.2rem;font-weight:500;
  }
  .newsletter form{display:flex;gap:.6rem}
  .newsletter input{
    flex:1;background:transparent;border:1px solid rgba(194,161,95,.5);
    color:var(--cream);padding:.85rem 1.1rem;font-family:inherit;font-size:.9rem;
  }
  .newsletter input::placeholder{color:rgba(247,244,237,.4)}
  .newsletter input:focus{outline:none;border-color:var(--gold)}
  .newsletter button{
    background:var(--gold);color:var(--ink);border:1px solid var(--gold);
    padding:.85rem 1.6rem;font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;
    cursor:pointer;transition:background .3s,color .3s;
  }
  .newsletter button:hover{background:transparent;color:var(--gold)}
  .newsletter__thanks{
    color:var(--gold);font-family:'Cormorant Garamond',serif;
    font-style:italic;font-size:1.2rem;
  }

  /* ===== FINITURE GLOBALI ===== */
  ::selection{background:var(--gold);color:var(--ink)}
  ::-webkit-scrollbar{width:9px}
  ::-webkit-scrollbar-track{background:var(--cream)}
  ::-webkit-scrollbar-thumb{background:var(--gold);border-radius:4px}
  ::-webkit-scrollbar-thumb:hover{background:var(--gold-dark)}

  /* ===== WIDGET FLOTTANTI: chat e preferenze cookie =====
     Uno per angolo, sopra la barra dei contatti, in modo che non si
     accavallino mai. Compaiono in dissolvenza quando si inizia a
     scorrere; il banner del consenso resta invece immediato. */
  [id*="hotelbot"], [class*="hotelbot"],
  [id*="aibot"], [class*="aibot"],
  [id*="inspairon"], [class*="inspairon"],
  iframe[src*="inspairon"],
  .iubenda-tp-btn, [class*="iubenda-tp-btn"]{
    transition:opacity .45s ease, transform .45s ease, visibility .45s;
  }
  html:not(.ui-reveal) [id*="hotelbot"],
  html:not(.ui-reveal) [class*="hotelbot"],
  html:not(.ui-reveal) [id*="aibot"],
  html:not(.ui-reveal) [class*="aibot"],
  html:not(.ui-reveal) [id*="inspairon"],
  html:not(.ui-reveal) [class*="inspairon"],
  html:not(.ui-reveal) iframe[src*="inspairon"],
  html:not(.ui-reveal) .iubenda-tp-btn,
  html:not(.ui-reveal) [class*="iubenda-tp-btn"]{
    opacity:0 !important;visibility:hidden !important;
    pointer-events:none !important;transform:translateY(16px) !important;
  }
  /* preferenze cookie: bordo sinistro, a metà altezza */
  .iubenda-tp-btn, [class*="iubenda-tp-btn"]{
    top:50% !important;bottom:auto !important;
    left:10px !important;right:auto !important;
    transform:translateY(-50%) !important;
  }
  html:not(.ui-reveal) .iubenda-tp-btn,
  html:not(.ui-reveal) [class*="iubenda-tp-btn"]{
    transform:translateY(calc(-50% + 16px)) !important;
  }


  /* ===== ORARIO NELLA HERO: barra di avanzamento (mobile) ===== */
  .hero__moment-bar{display:none}

  /* ===== BARRA FISSA IN BASSO (mobile) ===== */
  .bottombar{display:none}

  /* ===== MOBILE: un momento alla volta, come sul sito originale ===== */
  @media (max-width:760px){
    /* la striscia di orari lascia il posto al momento corrente nella hero */
    .daytime{display:none}

    .hero__moment{
      left:0;right:0;text-align:center;
      bottom:calc(96px + env(safe-area-inset-bottom, 0px));
      padding:0 1.2rem;
    }
    .intro{padding:3.4rem 0 2.6rem}
    .intro::before{top:.6rem;opacity:.9}
    .intro p{font-size:.98rem;line-height:1.75}
    .hero__moment-time{font-size:clamp(2.6rem,13vw,3.6rem)}
    .hero__moment-bar{
      display:block;position:relative;
      width:min(78%,340px);height:3px;margin:.9rem auto .7rem;
      background:rgba(247,244,237,.3);overflow:hidden;
    }
    .hero__moment-bar span{
      display:block;height:100%;background:var(--gold);
      transform:scaleX(0);transform-origin:left;
      animation:progFill linear forwards;
      animation-duration:var(--dur,8000ms);
    }
    .hero__moment-label{
      font-size:.82rem;letter-spacing:.24em;color:var(--cream);
      text-shadow:1px 1px 8px rgba(24,20,15,.6);
    }

    /* barra fissa con contatti, prenotazione e telefono */
    .bottombar{
      position:fixed;left:0;right:0;bottom:0;z-index:60;
      display:flex;align-items:center;justify-content:space-around;
      height:58px;padding-bottom:env(safe-area-inset-bottom, 0px);
      background:#bd985e;box-shadow:0 -4px 20px rgba(24,20,15,.18);
    }
    .bottombar a{
      flex:1;display:grid;place-items:center;height:100%;
      color:var(--white);text-decoration:none;
    }
    .bottombar a:active{background:rgba(255,255,255,.14)}
    .bottombar svg{width:24px;height:24px;fill:currentColor}
    /* il contenuto non finisce sotto la barra */
    body{padding-bottom:58px}
    .footer{padding-bottom:1rem}
    /* chat a destra e preferenze cookie a sinistra, sopra la barra */
    [id*="hotelbot"], [class*="hotelbot"],
    [id*="aibot"], [class*="aibot"],
    [id*="inspairon"], [class*="inspairon"],
    iframe[src*="inspairon"]{
      bottom:calc(68px + env(safe-area-inset-bottom, 0px)) !important;
      right:8px !important;
    }
    .iubenda-tp-btn, [class*="iubenda-tp-btn"]{
      top:50% !important;bottom:auto !important;left:6px !important;
    }
  }

  @media (prefers-reduced-motion:reduce){
    .hero__moment-bar span,
    .daytime__prog span{animation:none;transform:scaleX(1)}
  }

  /* ===== POSIZIONE DELL'ASSISTENTE AI (widget HotelBot) ===== */
  /* Il widget si inietta da solo: qui lo ancoriamo in basso a destra,
     rispettando la safe-area dei telefoni con barra gestuale. */
  [id*="hotelbot"], [class*="hotelbot"],
  [id*="aibot"], [class*="aibot"],
  [id*="inspairon"], [class*="inspairon"],
  iframe[src*="inspairon"]{
    bottom:calc(14px + env(safe-area-inset-bottom, 0px)) !important;
    top:auto !important;
    right:14px !important;
    left:auto !important;
  }
  @media (max-width:640px){
    [id*="hotelbot"], [class*="hotelbot"],
    [id*="aibot"], [class*="aibot"],
    [id*="inspairon"], [class*="inspairon"],
    iframe[src*="inspairon"]{
      bottom:calc(10px + env(safe-area-inset-bottom, 0px)) !important;
      right:10px !important;
    }
  }

  /* ===== PERFORMANCE: rendering pigro delle sezioni sotto la piega ===== */
  .features{content-visibility:auto;contain-intrinsic-size:auto 900px}
  .offers{content-visibility:auto;contain-intrinsic-size:auto 800px}
  .reviews{content-visibility:auto;contain-intrinsic-size:auto 520px}
  .social{content-visibility:auto;contain-intrinsic-size:auto 900px}

  /* ===== RESPONSIVE ===== */
  @media (max-width:980px){
    .feature:nth-child(-n+3){grid-column:span 6}
    .feature:nth-child(n+4){grid-column:span 6}
    .offers__grid{grid-template-columns:repeat(2,1fr)}
    .social__grid{grid-template-columns:repeat(3,1fr)}
    .footer__grid{grid-template-columns:1fr 1fr}
  }
  @media (max-width:640px){
    .topbar{display:none}
    .site-header{top:0}
    .hero__scroll{display:none}
    .newsletter form{flex-direction:column}
    .hero__nav{display:none}
    .hero__counter{display:none}
    .hero__content{bottom:16vh}
    .hero__moment{
      left:1.4rem;right:1.4rem;
      bottom:calc(11vh + env(safe-area-inset-bottom, 0px));
    }
    .hero__moment-time{font-size:clamp(2.8rem,16vw,4.2rem)}
    .hero__moment-label{font-size:.72rem;letter-spacing:.26em;margin-top:.5rem}
    /* il pulsante audio lascia libero l'angolo dei widget */
    .hero__mute{top:4.6rem;right:1rem;left:auto;bottom:auto}
    .daytime__media-frame{aspect-ratio:4/3}
    .feature:nth-child(-n+3),
    .feature:nth-child(n+4){grid-column:span 12;aspect-ratio:16/10}
    .offers__grid{grid-template-columns:1fr}
    .social__grid{grid-template-columns:repeat(2,1fr)}
    .footer__grid{grid-template-columns:1fr}
  }
  @media (prefers-reduced-motion:reduce){
    .hero__slide{transition:opacity .3s}
    .hero__slide img{transition:none;transform:none}
    .hero__content > *{transition:none}
    .daytime__line-fill{transition:none}
    .hero__scroll svg{animation:none}
    .daytime__line-runner{display:none}
    .site-nav > ul > li:hover .mega__photo img.is-visible{animation:none}
    .hero__moment > *{transition:none}
  }

/* Complete editorial inner pages */
.page-hero{min-height:78vh;display:flex;align-items:flex-end;position:relative;background-size:cover;background-position:center;color:#fff;padding:180px 0 90px}.page-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.18),rgba(0,0,0,.64))}.page-hero .container{position:relative;z-index:1}.page-hero h1{font-family:"Cormorant Garamond",serif;font-size:clamp(58px,9vw,128px);font-weight:400;line-height:.86;margin:12px 0}.page-hero p{max-width:700px;font-size:20px}.editorial{padding:110px 0;background:#f7f2e9}.editorial--white{background:#fff}.editorial-grid{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}.editorial-copy h2,.feature-intro h2{font-family:"Cormorant Garamond",serif;font-size:clamp(42px,5vw,72px);font-weight:400;line-height:1;margin:0 0 28px}.editorial-copy p{font-size:18px;line-height:1.75}.editorial-image{min-height:620px;background-size:cover;background-position:center}.feature-intro{text-align:center;max-width:900px;margin:0 auto 60px}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.feature-card{background:#fff;padding:42px 34px;min-height:290px}.feature-card h3{font-family:"Cormorant Garamond",serif;font-size:34px;font-weight:500;margin:0 0 16px}.feature-card p{line-height:1.7}.spa-gallery{display:grid;grid-template-columns:1.25fr .75fr;grid-template-rows:360px 360px;gap:18px}.spa-gallery figure{margin:0;overflow:hidden}.spa-gallery figure:first-child{grid-row:1/3}.spa-gallery img{width:100%;height:100%;object-fit:cover;display:block}.info-band{background:#c5a062;padding:80px 0;color:#17130e}.info-band__grid{display:grid;grid-template-columns:1.2fr repeat(3,1fr);gap:40px}.info-band h2{font-family:"Cormorant Garamond",serif;font-size:48px;font-weight:400;margin:0}.info-band h3{font-size:14px;text-transform:uppercase;letter-spacing:.16em}.info-band p{line-height:1.65}.closing-cta{min-height:620px;display:grid;place-items:center;text-align:center;color:#fff;background-size:cover;background-position:center;position:relative}.closing-cta:before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.46)}.closing-cta__inner{position:relative;z-index:1;max-width:760px;padding:30px}.closing-cta h2{font-family:"Cormorant Garamond",serif;font-size:clamp(48px,7vw,88px);font-weight:400;line-height:1;margin:0 0 22px}.closing-cta p{font-size:19px;line-height:1.7}.button-gold{display:inline-block;margin-top:22px;padding:16px 30px;background:#c5a062;color:#15110b;text-decoration:none;text-transform:uppercase;letter-spacing:.12em;font-size:13px}.eyebrow{letter-spacing:.22em;text-transform:uppercase;font-size:12px}
@media(max-width:900px){.editorial-grid{grid-template-columns:1fr;gap:35px}.editorial-image{min-height:440px}.feature-grid{grid-template-columns:1fr}.spa-gallery{grid-template-columns:1fr;grid-template-rows:auto}.spa-gallery figure:first-child{grid-row:auto}.spa-gallery img{height:360px}.info-band__grid{grid-template-columns:1fr}.page-hero{min-height:68vh;padding-bottom:60px}}

/* Aurum SPA — immagine con pannello editoriale sovrapposto */
.spa-treatment-showcase{
  position:relative;
  padding:80px 0 95px;
  background:#fbfaf7;
  overflow:hidden;
}
.spa-treatment-showcase__pattern{
  position:absolute;
  inset:0 auto 0 0;
  width:45%;
  opacity:.52;
  pointer-events:none;
  background-color:#fbfaf7;
  background-image:
    radial-gradient(ellipse at 15px 10px, transparent 0 15px, rgba(197,160,98,.26) 16px 17px, transparent 18px),
    radial-gradient(ellipse at 45px 35px, transparent 0 15px, rgba(197,160,98,.22) 16px 17px, transparent 18px);
  background-size:60px 50px;
}
.spa-treatment-showcase__inner{
  position:relative;
  min-height:665px;
  display:flex;
  align-items:center;
}
.spa-treatment-showcase__media{
  width:72%;
  height:665px;
  margin:0;
  overflow:hidden;
  border-radius:22px;
  box-shadow:0 24px 70px rgba(35,28,19,.12);
}
.spa-treatment-showcase__media img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.spa-treatment-showcase__panel{
  position:absolute;
  z-index:2;
  right:0;
  width:46%;
  padding:58px 54px;
  background:rgba(248,248,247,.90);
  border:1px solid rgba(197,160,98,.62);
  backdrop-filter:blur(7px);
  -webkit-backdrop-filter:blur(7px);
  box-shadow:0 18px 50px rgba(24,20,15,.08);
}
.spa-treatment-showcase__panel h2{
  margin:0 0 30px;
  font-family:"Jost",sans-serif;
  font-size:clamp(34px,3.3vw,54px);
  line-height:1.12;
  font-weight:300;
  color:#536171;
}
.spa-treatment-showcase__panel p{
  margin:0 0 24px;
  font-size:18px;
  line-height:1.65;
  color:#536171;
}
.spa-treatment-showcase__panel strong{color:#17283d;font-weight:500}
.spa-treatment-showcase__link{
  display:inline-block;
  margin-top:13px;
  color:#10243b;
  text-decoration:none;
  font-size:14px;
  font-weight:600;
  letter-spacing:.08em;
  text-transform:uppercase;
  border-bottom:1px solid transparent;
  transition:border-color .2s ease,transform .2s ease;
}
.spa-treatment-showcase__link:hover{
  border-color:currentColor;
  transform:translateY(-2px);
}
@media(max-width:1050px){
  .spa-treatment-showcase__inner{display:block;min-height:0}
  .spa-treatment-showcase__media{width:88%;height:560px}
  .spa-treatment-showcase__panel{position:relative;width:70%;margin:-95px 0 0 auto;right:auto}
}
@media(max-width:720px){
  .spa-treatment-showcase{padding:55px 0 65px}
  .spa-treatment-showcase__pattern{width:100%;height:44%}
  .spa-treatment-showcase__media{width:100%;height:430px;border-radius:16px}
  .spa-treatment-showcase__panel{width:calc(100% - 24px);margin:-48px 0 0 auto;padding:34px 26px}
  .spa-treatment-showcase__panel h2{font-size:34px;margin-bottom:22px}
  .spa-treatment-showcase__panel p{font-size:16px}
}


/* ===== BOFFENIGO LIGHT MENUS + SHARED MOBILE ACTIONS ===== */
/* Mega menu desktop: palette crema, sabbia e oro */
.mega{
  background:rgba(247,244,237,.985);
  color:var(--ink);
  border-top:1px solid rgba(168,135,74,.35);
  box-shadow:0 34px 80px rgba(65,50,28,.22);
  backdrop-filter:blur(12px);
}
.mega__photo{background:#ddd2bf}
.mega__photo::after{border-color:rgba(255,255,255,.58)}
.mega__links{
  background:linear-gradient(135deg,#f7f4ed 0%,#eee4d3 100%);
  border-left:1px solid rgba(168,135,74,.22);
}
.mega__title{color:var(--gold-dark)}
.mega__title::after{background:rgba(168,135,74,.55)}
.mega__links a{color:#3d352c}
.mega__links a span{color:#7d7162}
.mega__links a:hover{color:var(--gold-dark)}
.mega__links a:hover span{color:#574d42}
.mega__contact,
.mega__contact a{color:#695e51!important}
.mega__caption{color:#fff!important}

/* Menu mobile: fondo chiaro come il riferimento grafico */
.mobile-nav{
  background:linear-gradient(155deg,#f7f4ed 0%,#eadfcf 100%);
  color:#312a23;
}
.mobile-nav__close{
  color:#342c24;
  border-color:rgba(92,72,43,.35);
  background:rgba(255,255,255,.35);
}
.mobile-nav > ul > li{border-bottom-color:rgba(108,85,50,.18)}
.mobile-nav > ul > li > a{color:#332c25}
.mobile-nav ul ul a{color:#6e6254}
.mobile-nav ul ul a:hover{color:var(--gold-dark)}
.mobile-nav__lang,
.mobile-nav__contact{border-top:1px solid rgba(108,85,50,.18)}
.mobile-nav__lang a,
.mobile-nav__contact a{color:#554a3e}
.mobile-nav__lang a.is-active{color:var(--gold-dark)}

/* Barra inferiore mobile condivisa */
.shared-mobile-actions{display:none}
@media (max-width:1080px){
  .shared-mobile-actions{
    position:fixed;left:0;right:0;bottom:0;z-index:125;
    display:grid;grid-template-columns:repeat(3,1fr);
    min-height:64px;padding-bottom:env(safe-area-inset-bottom,0px);
    background:#c6a15e;
    box-shadow:0 -8px 28px rgba(53,40,20,.2);
    border-top:1px solid rgba(255,255,255,.28);
  }
  .shared-mobile-actions a{
    min-width:0;display:flex;align-items:center;justify-content:center;
    flex-direction:column;gap:2px;color:#fff;text-decoration:none;
    border-right:1px solid rgba(255,255,255,.25);
    padding:8px 4px 7px;
  }
  .shared-mobile-actions a:last-child{border-right:0}
  .shared-mobile-actions svg{
    width:25px;height:25px;fill:none;stroke:currentColor;
    stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;
  }
  .shared-mobile-actions span{
    max-width:100%;font-size:.58rem;letter-spacing:.08em;
    text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  }
  body{padding-bottom:calc(64px + env(safe-area-inset-bottom,0px))}
  .privacy-tab,.chat-tab{top:50%!important;bottom:auto!important}
  .footer{padding-bottom:2rem}
  .bottombar{display:none!important}
}

/* ===== CORREZIONE HEADER DESKTOP ORO ===== */
@media (min-width:1081px){
  .topbar{
    background:#b58f53;
    color:#2f281f;
    border-bottom:1px solid rgba(75,57,31,.18);
  }
  .topbar a{color:#2f281f}
  .topbar a:hover{color:#fff}

  .site-header,
  .site-header.is-scrolled{
    background:#c6a15e;
    color:#2d261e;
    backdrop-filter:none;
    box-shadow:0 5px 20px rgba(66,47,20,.16);
    border-bottom:1px solid rgba(255,255,255,.22);
  }
  .site-header.is-scrolled{top:0}

  .site-nav > ul > li > a{
    color:#2f281f;
    font-weight:500;
  }
  .site-nav > ul > li:hover > a,
  .site-nav > ul > li:focus-within > a,
  .site-nav > ul > li.is-open > a{
    color:#fff;
  }
  .site-nav > ul > li > a::after{background:#fff}

  .site-header__book{
    background:#f5eee2;
    border-color:#f5eee2;
    color:#342b21;
  }
  .site-header__book:hover{
    background:#fff;
    color:#342b21;
    border-color:#fff;
  }

  .site-header__lang a{
    color:#3c3227;
    border-color:rgba(60,50,39,.28);
  }
  .site-header__lang a:hover,
  .site-header__lang a.is-active{
    color:#fff;
    border-color:#fff;
  }
}


/* ===== HEADER GOLD OVERRIDE DEFINITIVO =====
   Caricato dal componente layout dopo gli stili incorporati nelle home. */
@media (min-width:1081px){
  html body #shared-header .topbar{
    background:#b89258 !important;
    color:#2d261e !important;
    border-bottom:1px solid rgba(70,50,25,.18) !important;
  }
  html body #shared-header .topbar a{color:#2d261e !important}
  html body #shared-header .topbar a:hover{color:#fff !important}

  html body #shared-header #siteHeader.site-header,
  html body #shared-header #siteHeader.site-header.is-scrolled{
    background:#c6a15e !important;
    color:#2d261e !important;
    box-shadow:0 6px 22px rgba(67,48,21,.18) !important;
    border-bottom:1px solid rgba(255,255,255,.25) !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
  }
  html body #shared-header .site-nav > ul > li > a{
    color:#2d261e !important;
    text-shadow:none !important;
  }
  html body #shared-header .site-nav > ul > li:hover > a,
  html body #shared-header .site-nav > ul > li:focus-within > a,
  html body #shared-header .site-nav > ul > li.is-open > a{
    color:#fff !important;
  }
  html body #shared-header .site-nav > ul > li > a::after{background:#fff !important}
  html body #shared-header .site-header__book{
    background:#f7efe1 !important;
    border-color:#f7efe1 !important;
    color:#30271d !important;
  }
  html body #shared-header .site-header__book:hover{
    background:#fff !important;
    border-color:#fff !important;
    color:#30271d !important;
  }
  html body #shared-header .site-header__lang a{
    color:#3b3025 !important;
    border-color:rgba(59,48,37,.30) !important;
  }
  html body #shared-header .site-header__lang a:hover,
  html body #shared-header .site-header__lang a.is-active{
    color:#fff !important;
    border-color:#fff !important;
  }
}

/* ===== MEGA MENU: TRASPARENZA LEGGERA E SFOCATURA ===== */
@media (min-width:1081px){
  html body #shared-header .mega{
    background:rgba(247,244,237,.91) !important;
    -webkit-backdrop-filter:blur(15px) saturate(112%) !important;
    backdrop-filter:blur(15px) saturate(112%) !important;
    border-top:1px solid rgba(198,161,94,.36) !important;
    box-shadow:0 30px 70px rgba(48,36,20,.19) !important;
  }
  html body #shared-header .mega__inner{
    background:transparent !important;
  }
  html body #shared-header .mega__links{
    background:rgba(250,248,243,.97) !important;
    -webkit-backdrop-filter:blur(8px) !important;
    backdrop-filter:blur(8px) !important;
  }
  html body #shared-header .mega__photo{
    background-color:rgba(230,220,202,.72) !important;
  }
}

/* ===== FIX DEFINITIVO HERO PAGINE INTERNE: UNA SOLA FOTO ===== */
main > section.hero[style*="background-image"]{
  background-repeat:no-repeat !important;
  background-position:center center !important;
  background-size:cover !important;
  background-attachment:scroll !important;
  width:100% !important;
  max-width:none !important;
  overflow:hidden !important;
}
main > section.hero[style*="background-image"]::before{
  background-repeat:no-repeat !important;
  background-size:100% 100% !important;
}
.content-photo[style*="background-image"],
.page-hero[style*="background-image"],
.editorial-image[style*="background-image"],
.closing-cta[style*="background-image"]{
  background-repeat:no-repeat !important;
  background-position:center center !important;
  background-size:cover !important;
}

/* ================================================================
   HERO PAGINE INTERNE — componente isolato
   Non usa la classe .hero della home, quindi non può essere alterato
   dallo slider o dagli stili incorporati nelle quattro home.
   ================================================================ */
.page-hero{
  --page-hero-image:none;
  --page-hero-position:center center;
  position:relative;
  isolation:isolate;
  width:100%;
  min-height:clamp(560px,78vh,900px);
  overflow:hidden;
  display:flex;
  align-items:flex-end;
  color:#fff;
  background:#17130f;
}
.page-hero__media{
  position:absolute;
  inset:0;
  z-index:-3;
  background-image:var(--page-hero-image);
  background-repeat:no-repeat !important;
  background-position:var(--page-hero-position) !important;
  background-size:cover !important;
  transform:scale(1.001);
}
.page-hero__shade{
  position:absolute;
  inset:0;
  z-index:-2;
  background:
    linear-gradient(90deg,rgba(15,12,9,.66) 0%,rgba(15,12,9,.20) 58%,rgba(15,12,9,.16) 100%),
    linear-gradient(0deg,rgba(15,12,9,.58) 0%,rgba(15,12,9,0) 58%);
}
.page-hero__content{
  position:relative;
  z-index:1;
  width:100%;
  padding-top:10rem;
  padding-bottom:clamp(4rem,8vh,7rem);
}
.page-hero__eyebrow{
  margin-bottom:1rem;
  color:var(--gold,#c2a15f);
  font-size:.72rem;
  letter-spacing:.35em;
  text-transform:uppercase;
}
.page-hero__title{
  max-width:900px;
  margin:0;
  font:500 clamp(3rem,6vw,5.8rem)/.98 'Cormorant Garamond',serif;
  color:#fff;
}
.page-hero__subtitle{
  max-width:760px;
  margin:1rem 0 0;
  font:400 clamp(1.3rem,2.5vw,2.1rem)/1.25 'Cormorant Garamond',serif;
  color:#fff;
}
@media (max-width:760px){
  .page-hero{min-height:70svh;min-height:520px}
  .page-hero__content{padding:8rem 1.25rem 4.5rem}
  .page-hero__media{background-position:var(--page-hero-position) !important}
  .page-hero__title{font-size:clamp(2.7rem,13vw,4rem)}
  .page-hero__subtitle{font-size:clamp(1.2rem,6vw,1.7rem)}
}

/* Barra mobile condivisa: le vecchie implementazioni non devono comparire */
.shared-mobile-actions:not(#boffenigo-mobile-actions),
.bottombar { display:none !important; }


/* Galleria automatica a cartella */
.folder-gallery{padding:72px 0;background:#f7f3ea}
.folder-gallery h2{margin:0 0 30px;text-align:center;font-family:"Cormorant Garamond",serif;font-size:clamp(36px,5vw,64px);font-weight:500;color:#2f2a22}
.folder-gallery__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.folder-gallery__item{margin:0;overflow:hidden;border-radius:18px;background:#ded8cc;aspect-ratio:4/3;cursor:zoom-in}
.folder-gallery__item img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.folder-gallery__item:hover img{transform:scale(1.035)}
.folder-gallery__lightbox{position:fixed;inset:0;z-index:2147483600;background:rgba(12,10,8,.9);display:flex;align-items:center;justify-content:center;padding:30px}
.folder-gallery__lightbox img{max-width:min(1400px,94vw);max-height:90vh;object-fit:contain;border-radius:10px}
.folder-gallery__lightbox button{position:fixed;top:18px;right:22px;border:0;background:transparent;color:#fff;font-size:48px;line-height:1;cursor:pointer}
@media(max-width:900px){.folder-gallery{padding:48px 0}.folder-gallery__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}
@media(max-width:560px){.folder-gallery__grid{grid-template-columns:1fr}.folder-gallery__item{aspect-ratio:16/11}}

/* =========================================================
   MEGA MENU GLASS — trasparenza nelle aree libere + blur
   Modifica isolata: 25/07/2026
   ========================================================= */
@media (min-width:1081px){
  /* Il pannello a tutta larghezza lascia intravedere la pagina sottostante. */
  html body #shared-header .mega{
    background:rgba(247,244,237,.93) !important;
    -webkit-backdrop-filter:blur(10px) saturate(104%) !important;
    backdrop-filter:blur(10px) saturate(104%) !important;
    border-top:1px solid rgba(198,161,94,.30) !important;
    box-shadow:0 28px 65px rgba(46,35,21,.16) !important;
  }

  html body #shared-header .mega__inner{
    background:transparent !important;
  }

  /* La colonna del testo resta un po' più coprente per la leggibilità. */
  html body #shared-header .mega__links{
    background:rgba(250,248,243,.97) !important;
    -webkit-backdrop-filter:blur(8px) saturate(102%) !important;
    backdrop-filter:blur(8px) saturate(102%) !important;
    border-left:1px solid rgba(168,135,74,.18) !important;
  }

  /* La zona fotografica non riceve un fondale opaco quando la foto è caricata. */
  html body #shared-header .mega__photo{
    background-color:rgba(244,239,230,.82) !important;
  }

  /* Migliora la leggibilità senza creare un rettangolo pieno. */
  html body #shared-header .mega__links a,
  html body #shared-header .mega__title,
  html body #shared-header .mega__contact{
    text-shadow:0 1px 0 rgba(255,255,255,.55) !important;
  }
}


/* ===== Ottimizzazione accessibilità e prestazioni 2026 ===== */
.skip-link{position:fixed;left:1rem;top:1rem;z-index:2147483647;padding:.8rem 1rem;background:#111;color:#fff;border-radius:.25rem;transform:translateY(-180%);transition:transform .15s ease;text-decoration:none}.skip-link:focus{transform:translateY(0)}
:focus-visible{outline:3px solid #0b5fff!important;outline-offset:3px!important}
[hidden]{display:none!important}
img{max-width:100%;height:auto}
main{display:block}
.site-header__toggle,.mobile-nav__close,.site-header__book,a,button,input,select,textarea{touch-action:manipulation}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}video[autoplay]{animation:none!important}}
@media (forced-colors:active){a,button{forced-color-adjust:auto}.mega,.mobile-nav{border:1px solid CanvasText}}
@media print{.topbar,.site-header,.mobile-nav,.footer,#boffenigo-mobile-actions,.privacy-tab,.chat-tab{display:none!important}main{padding:0!important}.page-hero{min-height:auto!important;color:#000!important;background:none!important}}

/* =========================================================
   MEGA MENU DESKTOP COMPATTO
   Riduce l'impatto visivo senza modificare struttura o JS.
   ========================================================= */
@media (min-width:1081px){
  html body #shared-header .mega{
    background:rgba(250,248,243,.965) !important;
    -webkit-backdrop-filter:blur(8px) saturate(102%) !important;
    backdrop-filter:blur(8px) saturate(102%) !important;
    box-shadow:0 18px 42px rgba(46,35,21,.13) !important;
  }

  html body #shared-header .mega__inner{
    grid-template-columns:340px minmax(0,1fr) !important;
    max-width:1040px !important;
    min-height:260px !important;
    max-height:310px !important;
  }

  html body #shared-header .mega__photo{
    min-height:260px !important;
  }

  html body #shared-header .mega__photo::after{
    inset:10px !important;
  }

  html body #shared-header .mega__photo .mega__caption{
    left:1.35rem !important;
    bottom:1.15rem !important;
    font-size:1.08rem !important;
  }

  html body #shared-header .mega__links{
    padding:1.7rem 2.6rem !important;
    gap:0 !important;
    justify-content:center !important;
    background:rgba(250,248,243,.975) !important;
  }

  html body #shared-header .mega__title{
    margin-bottom:.75rem !important;
    font-size:.6rem !important;
    letter-spacing:.34em !important;
  }

  html body #shared-header .mega__title::after{
    width:34px !important;
    margin-top:.55rem !important;
  }

  html body #shared-header .mega__links a{
    padding:.34rem 0 !important;
    font-size:1.24rem !important;
    line-height:1.05 !important;
  }

  html body #shared-header .mega__links a span{
    margin-top:.08rem !important;
    font-size:.68rem !important;
    line-height:1.25 !important;
  }

  html body #shared-header .mega__links a:hover{
    padding-left:1.6rem !important;
  }

  html body #shared-header .mega__links a::before{
    top:.95rem !important;
  }

  html body #shared-header .mega__links a:hover::before{
    width:1rem !important;
  }

  html body #shared-header .mega__contact{
    margin-top:.7rem !important;
    padding-top:.7rem !important;
    font-size:.7rem !important;
  }
}

/* =========================================================
   MEGA MENU DESKTOP — CORREZIONE PROPORZIONI E ALLINEAMENTO
   Elimina il gradino, riduce gli spazi vuoti e mantiene il
   fondale quasi bianco con una sfocatura leggera.
   ========================================================= */
@media (min-width:1081px){
  html body #shared-header .mega{
    box-sizing:border-box !important;
    padding:14px 24px 18px !important;
    background:rgba(250,248,243,.90) !important;
    -webkit-backdrop-filter:blur(9px) saturate(102%) !important;
    backdrop-filter:blur(9px) saturate(102%) !important;
    border-top:1px solid rgba(176,139,73,.22) !important;
    box-shadow:0 18px 42px rgba(46,35,21,.12) !important;
    overflow:visible !important;
  }

  html body #shared-header .mega__inner{
    width:min(980px,calc(100vw - 64px)) !important;
    max-width:none !important;
    min-height:320px !important;
    height:320px !important;
    max-height:320px !important;
    margin:0 auto !important;
    display:grid !important;
    grid-template-columns:390px minmax(0,1fr) !important;
    align-items:stretch !important;
    overflow:hidden !important;
    background:rgba(252,250,246,.97) !important;
    border:1px solid rgba(176,139,73,.20) !important;
    box-shadow:0 12px 30px rgba(52,40,24,.10) !important;
  }

  html body #shared-header .mega__photo,
  html body #shared-header .mega__links{
    box-sizing:border-box !important;
    height:320px !important;
    min-height:320px !important;
    max-height:320px !important;
    margin:0 !important;
    align-self:stretch !important;
  }

  html body #shared-header .mega__photo{
    width:100% !important;
    background:#e8e0d3 !important;
  }

  html body #shared-header .mega__photo img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center !important;
  }

  html body #shared-header .mega__links{
    overflow:hidden !important;
    padding:1.55rem 2.45rem !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    gap:0 !important;
    background:rgba(252,250,246,.985) !important;
    border-left:1px solid rgba(176,139,73,.16) !important;
  }

  html body #shared-header .mega__title{
    margin:0 0 .65rem !important;
    font-size:.61rem !important;
    line-height:1.2 !important;
    letter-spacing:.34em !important;
  }

  html body #shared-header .mega__title::after{
    margin-top:.5rem !important;
  }

  html body #shared-header .mega__links a{
    padding:.31rem 0 !important;
    font-size:1.22rem !important;
    line-height:1.06 !important;
  }

  html body #shared-header .mega__links a span{
    margin-top:.06rem !important;
    font-size:.67rem !important;
    line-height:1.2 !important;
  }

  html body #shared-header .mega__contact{
    flex:0 0 auto !important;
    margin:.62rem 0 0 !important;
    padding:.62rem 0 0 !important;
    line-height:1.4 !important;
  }
}


/* ===== COMPONENTI ATTIVABILI A CARTELLA ===== */
.optional-block{padding:clamp(56px,8vw,110px) 0;background:#f7f3eb;color:#353029}
.optional-block:nth-of-type(even){background:#fff}
.optional-block__title{margin:0 0 38px;text-align:center;font:500 clamp(2.4rem,5vw,4.6rem)/1 'Cormorant Garamond',serif;color:#4c5663}
.optional-services__grid,.optional-downloads__grid,.optional-offers__grid,.optional-places__grid,.optional-reviews__grid,.optional-info__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.optional-service{padding:32px;border:1px solid rgba(198,161,94,.35);background:rgba(255,255,255,.72);text-align:center}
.optional-service__icon{display:grid;place-items:center;width:54px;height:54px;margin:0 auto 18px;border-radius:50%;background:#c6a15e;color:#fff;font-size:24px}
.optional-service h3,.optional-offers__card h3,.optional-places__card h3{font:500 1.7rem 'Cormorant Garamond',serif;margin:.2rem 0 .6rem}
.optional-feature{background:#f6f1e8}.optional-feature--reverse{background:#fff}
.optional-feature__grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);align-items:center;gap:0}
.optional-feature--reverse .optional-feature__media{order:2}.optional-feature--reverse .optional-feature__copy{order:1}
.optional-feature__media{margin:0;min-height:520px;overflow:hidden;border-radius:22px}.optional-feature__media img{width:100%;height:100%;min-height:520px;object-fit:cover;display:block}
.optional-feature__copy{position:relative;margin-left:-70px;padding:58px;background:rgba(250,248,244,.94);border:1px solid rgba(198,161,94,.42);backdrop-filter:blur(8px)}
.optional-feature--reverse .optional-feature__copy{margin:0 -70px 0 0;z-index:1}.optional-feature__copy h2{font:500 clamp(2.4rem,4vw,4rem)/1 'Cormorant Garamond',serif;color:#4c5663}.optional-feature__copy p{font-size:1.05rem;line-height:1.8}
.optional-slider__frame{position:relative;min-height:clamp(420px,62vw,720px);overflow:hidden;border-radius:22px;background:#221b15}.optional-slider__slide{position:absolute;inset:0;margin:0;opacity:0;transition:opacity .55s ease}.optional-slider__slide.is-active{opacity:1}.optional-slider__slide img{width:100%;height:100%;object-fit:cover}.optional-slider__slide figcaption{position:absolute;left:30px;bottom:26px;padding:10px 16px;background:rgba(20,15,10,.62);color:#fff}.optional-slider__prev,.optional-slider__next{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;border:1px solid rgba(255,255,255,.7);border-radius:50%;background:rgba(0,0,0,.28);color:#fff;font-size:38px;z-index:2}.optional-slider__prev{left:20px}.optional-slider__next{right:20px}
.optional-video__wrap{max-width:1100px;margin:auto}.optional-video video{display:block;width:100%;max-height:70vh;background:#17130f;border-radius:18px}.optional-video__wrap>p{text-align:center;font-size:1.08rem}
.optional-download{display:grid;grid-template-columns:50px 1fr;gap:2px 14px;align-items:center;padding:22px;border:1px solid rgba(198,161,94,.45);background:#fff;color:#30291f;text-decoration:none}.optional-download>span{grid-row:1/3;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#c6a15e;color:#fff;font-size:25px}.optional-download small{color:#756b5e}
.optional-faq__list{max-width:980px;margin:auto;border-top:1px solid #d8c7aa}.optional-faq details{border-bottom:1px solid #d8c7aa}.optional-faq summary{cursor:pointer;padding:22px 4px;font:500 1.55rem 'Cormorant Garamond',serif}.optional-faq details div{padding:0 4px 20px;line-height:1.75}
.optional-offers__card,.optional-places__card{display:block;overflow:hidden;background:#fff;color:inherit;text-decoration:none;border:1px solid rgba(198,161,94,.3)}.optional-offers__card img,.optional-places__card img{width:100%;aspect-ratio:16/10;object-fit:cover}.optional-offers__card div,.optional-places__card div{padding:24px}.optional-offers__card small,.optional-places__card small{color:#a47e3f;text-transform:uppercase;letter-spacing:.12em}
.optional-reviews blockquote{margin:0;padding:30px;background:#fff;border-left:3px solid #c6a15e;font:400 1.35rem/1.55 'Cormorant Garamond',serif}.optional-reviews blockquote footer{margin-top:18px;font:400 .8rem 'Jost',sans-serif;text-transform:uppercase;letter-spacing:.12em;color:#806b4b}
.optional-info__grid>div{padding:28px;background:#efe6d7}.optional-info h3{text-transform:capitalize;font:500 1.5rem 'Cormorant Garamond',serif}.optional-info p{line-height:1.7}
.optional-cta{min-height:500px;display:flex;align-items:center;text-align:center;color:#fff;background:#594631 center/cover no-repeat}.optional-cta .container{width:100%}.optional-cta__copy{max-width:850px;margin:auto;padding:40px}.optional-cta h2{font:500 clamp(3rem,6vw,5.5rem)/1 'Cormorant Garamond',serif}.optional-cta p{font-size:1.15rem}
.components-intro{padding:70px 0;background:#f7f3eb;text-align:center}.components-intro h1{font:500 clamp(3.2rem,7vw,6rem)/.95 'Cormorant Garamond',serif;color:#4c5663}.components-intro p{max-width:900px;margin:20px auto;line-height:1.8}
@media(max-width:900px){.optional-services__grid,.optional-downloads__grid,.optional-offers__grid,.optional-places__grid,.optional-reviews__grid,.optional-info__grid{grid-template-columns:1fr 1fr}.optional-feature__grid{grid-template-columns:1fr}.optional-feature__media,.optional-feature__media img{min-height:420px}.optional-feature__copy,.optional-feature--reverse .optional-feature__copy{order:2;margin:-55px 20px 0;padding:35px}.optional-feature--reverse .optional-feature__media{order:1}}
@media(max-width:600px){.optional-services__grid,.optional-downloads__grid,.optional-offers__grid,.optional-places__grid,.optional-reviews__grid,.optional-info__grid{grid-template-columns:1fr}.optional-block{padding:48px 0}.optional-feature__copy,.optional-feature--reverse .optional-feature__copy{margin:-35px 10px 0;padding:27px}.optional-slider__frame{min-height:360px}.optional-slider__prev,.optional-slider__next{width:42px;height:42px}.optional-feature__media,.optional-feature__media img{min-height:360px}}

