/* Final composition layer: one grid and consistent type scale. */
:root{--paper:#F8F4ED;--ink:#431820;--line:#d5cfc4}
main>.section{padding:90px 8vw;background:var(--paper)}main>section h2{font:400 clamp(31px,3.5vw,51px)/1.07 Switzer,Arial,sans-serif;letter-spacing:-.05em}main>section p{font-size:14px;line-height:1.65}.eyebrow{font-size:10px!important;letter-spacing:.16em}main .asset-note{font-size:10px;color:#716963;line-height:1.6}
.section-button{display:inline-flex;justify-content:space-between;align-items:center;gap:26px;background:#e6dfd3;color:var(--ink);border:1px solid transparent;border-radius:7px;padding:17px 24px;font:700 12px/1.3 Switzer,Arial,sans-serif;letter-spacing:.035em;text-transform:uppercase;transition:background .2s,transform .2s}.section-button:hover{background:#dcd2c2;transform:translateY(-2px)}.section-button span{font-size:21px;line-height:1}.section-button:focus-visible{outline:2px solid var(--ink);outline-offset:5px}
main>.place{display:block}.place>h2{margin:20px 0 45px}.floor-rows{display:grid;gap:45px}.floor-row{display:grid;grid-template-columns:1fr 1fr;gap:6vw;align-items:start}.floor-row figure{position:relative;margin:0;height:355px;overflow:hidden}.floor-row figure:after,.spa-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 65%,#21181065);pointer-events:none}.floor-row figure img{width:100%;height:100%;object-fit:cover}.floor-row figcaption,.spa-photo figcaption{position:absolute;z-index:1;bottom:25px;left:25px;color:#F8F4ED;font:400 clamp(22px,2.4vw,33px)/1.1 Switzer,Arial,sans-serif;letter-spacing:-.04em}.floor-copy{padding-top:20px}.floor-copy h3{font:400 clamp(26px,2.6vw,38px)/1.12 Switzer,Arial,sans-serif;letter-spacing:-.04em;margin:0 0 25px}.floor-copy p{max-width:400px}.floor-row-reverse figure{grid-column:2;grid-row:1}.floor-row-reverse .floor-copy{grid-column:1;grid-row:1}
main>.head-spa{display:grid;grid-template-columns:1fr 1fr;gap:6vw;align-items:start;overflow:visible;min-height:0}.spa-photo{position:relative;margin:0;height:620px;overflow:hidden}.spa-photo>img{width:100%;height:100%;object-fit:cover;object-position:70% center}.spa-copy{padding-top:22px;position:relative;min-height:620px;padding-bottom:140px}.spa-copy h2{margin:24px 0 32px}.spa-copy>p:not(.eyebrow){max-width:410px}.spa-copy .section-button{margin-top:22px}.spa-flower{position:absolute;width:125px;height:125px;object-fit:contain;bottom:0;right:15px;filter:drop-shadow(-10px 12px 8px #6a54331a)}
main>.care{display:block}.products-heading{margin-bottom:35px}.products-heading h2{margin:18px 0 25px}.products-heading>p:last-child{max-width:760px}.products-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.product-scene{position:relative;margin:0;aspect-ratio:1.12;background-image:url('assets/product-scenes.webp');background-size:200% 200%;background-repeat:no-repeat;overflow:hidden}.scene-0{background-position:left top}.scene-1{background-position:right top}.scene-2{background-position:left bottom}.scene-3{background-position:right bottom}.product-scene:after{content:'';position:absolute;inset:65% 0 0;background:linear-gradient(transparent,#20180f40)}.product-scene figcaption{position:absolute;z-index:1;bottom:22px;left:24px;font:400 19px/1.2 Switzer,Arial,sans-serif;color:#fff}.products-bottom{margin-top:30px;display:flex;align-items:center;justify-content:space-between;gap:25px}
main>.gift{padding-top:100px;padding-bottom:105px;grid-template-columns:1fr 1fr;gap:6vw;display:grid}.gift-copy{position:relative;z-index:2}.gift-copy h2{margin:20px 0 25px}.gift-copy .section-button{margin:22px 0 75px}.gift-resting{min-height:380px}.gift-resting img{transform:rotate(-7deg) rotateX(12deg)}.gift-word{font-size:22vw;bottom:25px;left:7vw}.philosophy-photo img{height:420px}.welcome-grid{gap:6vw}.moments .section-heading{grid-template-columns:1fr 1fr;gap:6vw}.worlds{gap:24px}.world{height:400px}.world-copy p{font-size:12px}
@media(min-width:1500px){main>.section{padding-left:max(8vw,calc((100vw - 1320px)/2));padding-right:max(8vw,calc((100vw - 1320px)/2))}.spa-photo{height:670px}}
@media(max-width:1000px) and (min-width:701px){.floor-row figure{height:310px}.spa-photo{height:550px}.spa-copy{min-height:550px}.spa-copy h2{font-size:36px}.spa-copy>p:not(.eyebrow){font-size:13px}.world{height:365px}.floor-copy h3{font-size:29px}}
@media(max-width:700px){main>.section{padding:55px 7vw}.floor-rows{gap:40px}.floor-row{display:flex;flex-direction:column;gap:20px}.floor-row figure{width:100%;height:270px}.floor-copy{padding:0}.floor-copy h3{font-size:29px;margin-bottom:17px}.floor-copy h3 br{display:none}.floor-copy p{margin-bottom:0;font-size:13px}.floor-row figcaption,.spa-photo figcaption{font-size:24px;left:20px;bottom:22px}.place>h2{margin-bottom:30px}main>.head-spa{display:block}.spa-photo{height:410px}.spa-copy{min-height:0;padding:25px 0 70px}.spa-copy h2{font-size:35px;margin:20px 0 25px}.spa-copy>p:not(.eyebrow){font-size:13px}.spa-copy .section-button{margin-top:15px}.spa-flower{width:80px;height:80px;right:-5px;bottom:0}.products-heading h2{font-size:34px}.products-heading>p:last-child{font-size:13px}.products-grid{gap:12px}.product-scene{aspect-ratio:.9}.product-scene figcaption{font-size:13px;left:12px;right:8px;bottom:15px}.products-bottom{flex-direction:column;gap:12px;align-items:start;margin-top:20px}.section-button{font-size:11px;padding:15px 19px;gap:23px}main>.gift{display:flex;gap:10px;padding-top:55px;padding-bottom:80px}.gift-copy .section-button{margin-bottom:15px}.gift-resting{min-height:240px;width:90%}.gift-word{bottom:25px;font-size:28vw;left:5vw}.philosophy-photo img{height:330px}.moments .section-heading{grid-template-columns:.75fr 1.25fr;gap:20px}.world{height:auto}.worlds{gap:24px 16px}}

main>.head-spa{color:var(--ink)}

.intro-caption{position:fixed;top:auto;bottom:25px;left:8vw;right:8vw;z-index:5}.static-intro .intro-caption{display:none}

/* Gift: separate photographic scene and physical card layer. */
main>.gift{align-items:center;gap:8vw;padding-bottom:120px}.gift-copy .section-button{margin-bottom:0}.gift-layered{position:relative;margin:0 2vw 20px 0;isolation:isolate}.gift-scene{display:block;width:100%;height:520px;object-fit:cover;object-position:center}.gift-card-layer{position:absolute;z-index:2;width:93%;max-width:none;height:auto;right:-8%;bottom:-6%;transform:rotate(-9deg);transform-origin:50% 65%;box-shadow:-10px 18px 15px #38291c35,0 3px 5px #38291c22;border-radius:1px}.gift-layered:after{content:'';position:absolute;z-index:1;left:20%;right:-6%;bottom:-3%;height:36%;background:#3c2b1a20;filter:blur(18px);transform:rotate(-9deg);pointer-events:none}
@media(max-width:1000px) and (min-width:701px){.gift-scene{height:430px}}
@media(max-width:700px){main>.gift{gap:35px;padding-bottom:95px}.gift-layered{margin:0 7vw 25px 0;width:calc(100% - 7vw);align-self:start}.gift-scene{height:390px}.gift-card-layer{width:98%;right:-12%;bottom:-5%}}

/* Linked location map, opens Google Maps directly. */
.location-section{padding:20px 8vw 85px;background:var(--paper)}.location-heading{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:28px}.location-heading h2{margin:15px 0 0}.location-heading>p{margin:0;font-size:13px}.location-map{height:410px;position:relative;background:#e9e7de;border:1px solid #d5cfc4;border-radius:7px;overflow:hidden}.location-map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;pointer-events:none}.map-open-overlay{position:absolute;inset:0;z-index:1;display:flex;align-items:end;padding:24px}.map-location-card{display:flex;align-items:center;justify-content:space-between;gap:35px;background:#f8f4edf5;box-shadow:0 4px 22px #31261916;padding:20px 23px;border-radius:7px;color:var(--ink);min-width:min(460px,100%)}.map-location-card strong{display:block;font:400 22px/1.15 Switzer,Arial,sans-serif;letter-spacing:-.035em}.map-location-card small{display:block;margin-top:8px;font-size:11px}.map-open-button{display:inline-flex;align-items:center;gap:15px;font-size:11px;font-weight:700;text-transform:uppercase}.map-open-overlay:hover .map-open-button{text-decoration:underline;text-underline-offset:5px}.map-open-overlay:focus-visible{outline:3px solid var(--ink);outline-offset:-5px}.location-section .map-note{font-size:10px;color:#716963;margin-top:12px}
@media(max-width:700px){.location-section{padding:0 7vw 55px}.location-heading{gap:20px}.location-heading h2{font-size:33px}.location-heading>p{font-size:11px}.location-map{height:350px}.map-open-overlay{padding:14px}.map-location-card{width:100%;min-width:0;display:block;padding:17px}.map-location-card strong{font-size:20px}.map-open-button{margin-top:15px;font-size:10px}}

/* Warm panna stone surface, continuous across the page. */
:root{--paper:#F3E8D6;--line:#d4c3a8}
body,main,.bv-footer{background-color:#F3E8D6!important;background-image:linear-gradient(#f3e8d699,#f3e8d699),url('assets/panna-marble.webp')!important;background-size:auto,1100px 1100px!important;background-repeat:repeat!important}
main>.section,.location-section{background:transparent!important}
.bv-footer{--paper:#F3E8D6!important;--wine:#F3E8D6!important;--bg:#F3E8D6!important}.bv-footer .desktop-card,.bv-footer .mobile-card{background:transparent!important}
.menu-overlay{background-color:#F3E8D6!important;background-image:linear-gradient(#f3e8d6b3,#f3e8d6b3),url('assets/panna-marble.webp')!important;background-size:auto,1100px 1100px}
.floor-row figure .floor-video{display:block;width:100%;height:100%;object-fit:cover;background:#e4d4bc}
.floor-video::-webkit-media-controls{display:none!important}.floor-video::-webkit-media-controls-start-playback-button{display:none!important;-webkit-appearance:none}
@media(max-width:700px){body,main,.bv-footer,.menu-overlay{background-size:auto,780px 780px!important}}

/* Head Spa art direction: natural photography and fine crystal plum. */
.spa-photo>img{object-position:50% 48%}.spa-flower{width:185px;height:155px;right:-2px;bottom:0;filter:drop-shadow(-9px 13px 7px #80634320)}
@media(max-width:700px){.spa-photo{height:440px}.spa-copy{padding-bottom:115px}.spa-flower{width:145px;height:115px;right:0;bottom:-5px}}

/* Head Spa prova integrata: fotografia e botanica indipendenti. */
main>.head-spa{align-items:start}
.spa-photo{height:auto;aspect-ratio:4/5}
.spa-photo>img{display:block;object-position:center}
.spa-copy{min-height:0;padding-bottom:0}
.spa-flower{position:static;display:block;width:330px;max-width:90%;height:auto;margin:28px auto 0;filter:none}
@media(max-width:700px){.spa-photo{height:auto;aspect-ratio:4/5}.spa-copy{padding-bottom:0}.spa-flower{width:265px;height:auto;margin:25px auto 0}}

/* Head Spa: titolo protagonista e botanica vicina al contenuto. */
.spa-copy{padding-top:0}
.spa-copy h2.spa-title{font-size:clamp(64px,7.5vw,112px);line-height:.95;letter-spacing:-.045em;margin:0 0 22px}
.spa-copy .spa-subtitle{font-size:clamp(22px,2.2vw,32px);line-height:1.2;margin:0 0 24px}
.spa-copy>p:not(.eyebrow):not(.spa-subtitle){margin-bottom:18px}
.spa-copy .section-button{margin-top:4px}
.spa-copy .spa-flower{width:290px;margin:12px auto 0}
@media(max-width:700px){.spa-copy{padding-top:28px}.spa-copy h2.spa-title{font-size:64px;margin-bottom:18px}.spa-copy .spa-subtitle{font-size:25px;margin-bottom:22px}.spa-copy .spa-flower{width:235px;margin:10px auto 0}}

/* Head Spa: taglio fotografico più verticale. */
.head-spa .spa-photo{aspect-ratio:2/3;height:auto}
.head-spa .spa-photo>img{object-position:58% center}
@media(max-width:700px){.head-spa .spa-photo{aspect-ratio:3/4;height:auto}}

/* Riquadri video dei due piani in formato 16:9. */
.place .floor-row figure{width:100%;height:auto;aspect-ratio:16/9;overflow:hidden}
.place .floor-row figure .floor-video{width:100%;height:100%;object-fit:cover}

/* MIRYCE: immagine dedicata e nome leggibile sull’acqua chiara. */
.products-grid .product-miryce{background-image:url('assets/miryce-acqua-v2.png');background-size:cover;background-position:center}
.products-grid .product-miryce:after{display:none}
.products-grid .product-miryce figcaption{color:#431820;text-shadow:none;background:none;left:0;right:0;bottom:0;padding:42px 24px 22px;font-weight:500;letter-spacing:.06em;z-index:2}
@media(max-width:700px){.products-grid .product-miryce figcaption{padding:28px 12px 14px}}

/* Correzioni buono, header e footer — 20 ottobre. */
.gift-card-layer{box-shadow:none!important;filter:none!important;width:82%;right:7%;bottom:15%;transform:rotate(-7deg)}
.gift-layered:after{display:none!important}
#siteHeader .book-button,#siteHeader .book-button:hover,#siteHeader .book-button:focus-visible{background:#431820!important;border-color:#431820!important;color:#F3E8D6!important}
#siteHeader .book-button:focus-visible{outline:2px solid #431820;outline-offset:4px}
.bv-footer{--wine-deep:#431820;--ivory:#431820;--gold:#431820;color:#431820}
.bv-footer .desktop-card,.bv-footer .mobile-card{color:#431820}
.bv-footer .brand-cap,.bv-footer .footer-label,.bv-footer .left-menu nav a,.bv-footer .right-info a,.bv-footer .right-info p,.bv-footer .center-address,.bv-footer .legal,.bv-footer .legal-mobile,.bv-footer .mobile-col,.bv-footer .mobile-col a,.bv-footer .mobile-address{color:#431820!important}
.bv-footer .butterfly-desktop img,.bv-footer .butterfly-mobile img{filter:none!important;opacity:1!important}
.bv-footer .footer-label{font-size:clamp(13px,1.15vw,18px)}
.bv-footer .left-menu nav a,.bv-footer .right-info a{font-size:clamp(17px,2.15vw,32px)}
.bv-footer .center-address{font-size:clamp(14px,1.25vw,20px)}
.bv-footer .store-button,.bv-footer .store-button:hover,.bv-footer .store-button:focus-visible{background:#431820!important;border-color:#431820!important;color:#F3E8D6!important;min-height:58px;padding:0 28px;font-size:17px}
.bv-footer .store-button-label{height:1.25em;line-height:1.25}
.bv-footer .store-button-icon{width:24px;height:24px}
.bv-footer .top-rule{background:#43182033}
@media(max-width:700px){.gift-card-layer{width:84%;right:6%;bottom:17%}.bv-footer .mobile-col a,.bv-footer .mobile-col p{font-size:15px}.bv-footer .footer-label{font-size:13px}.bv-footer .mobile-address{font-size:15px}.bv-footer .store-button{min-height:54px;font-size:16px;padding:0 24px}.bv-footer .legal-mobile{font-size:12px}}

/* Buono: retro nella scena e fronte originale appoggiato in basso a destra. */
.gift-layered .gift-scene{height:auto;aspect-ratio:4/5;object-fit:cover}
.gift-layered .gift-card-layer{width:69%;right:-7%;bottom:-5%;transform:rotate(-7deg);box-shadow:none!important;filter:none!important}
@media(max-width:700px){.gift-layered .gift-card-layer{width:73%;right:-9%;bottom:-5%}}

/* Ombra di contatto leggera sul fronte separato. */
.gift-layered .gift-card-layer{box-shadow:-2px 4px 6px #38291c24,0 1px 2px #38291c14!important}

.gift-layered{margin:0;width:100%}.gift-layered:after{display:none!important}

/* Foto reale principale del centro. */
.photo-hero picture img,.photo-hero>picture>img{object-position:50% 43%}
@media(max-width:700px){.photo-hero picture img,.photo-hero>picture>img{object-position:50% 45%}}

/* Gerarchie, azioni e contatti coordinati. */
.photo-hero .photo-hero-copy h1{font-family:Switzer,Arial,sans-serif;font-weight:400;letter-spacing:-.055em}
.moments .section-heading{display:block}
.moments .section-heading #moments-title{font-family:Switzer,Arial,sans-serif;font-weight:400;font-size:clamp(34px,4vw,58px);line-height:1.08;letter-spacing:-.045em;max-width:none;margin:0}
.section-button,.bv-footer .store-button{font-family:Switzer,Arial,sans-serif!important;min-height:52px!important;padding:0 18px!important;gap:11px!important;border-radius:7px!important;border:1px solid #431820!important;background:#431820!important;color:#F3E8D6!important;font-size:14px!important;line-height:1!important;font-weight:700!important;letter-spacing:.055em!important;text-transform:uppercase}
.section-button:hover,.section-button:focus-visible{background:#431820!important;color:#F3E8D6!important}
.contact-details{display:grid;grid-template-columns:1fr 1fr;gap:5vw;margin-top:44px;max-width:980px}
.contact-details>div{display:flex;flex-direction:column;align-items:flex-start;gap:15px}
.contact-details .footer-label{font-family:Switzer,Arial,sans-serif;font-size:13px;letter-spacing:.12em;margin-bottom:8px;color:#431820}
.contact-details a{font-family:Switzer,Arial,sans-serif;font-size:clamp(17px,2.1vw,30px);font-weight:400;line-height:1.2;letter-spacing:-.025em;color:#431820;text-decoration:none}
.contact-details a:hover{text-decoration:underline;text-underline-offset:5px}
@media(max-width:700px){.contact-details{grid-template-columns:1fr;gap:34px;margin-top:30px}.contact-details a{font-size:20px}.moments .section-heading #moments-title{font-size:35px}}

/* Head Spa: lettura prima della foto su tablet e mobile. */
@media(max-width:1000px){main>.head-spa{display:flex;flex-direction:column;gap:28px}.head-spa>.spa-copy{order:1;width:100%;padding-top:0}.head-spa>.spa-photo{order:2;width:100%;margin:0}.head-spa .spa-copy h2.spa-title{margin-top:0}}

/* Tablet e mobile: titolo, foto, poi contenuti Head Spa. */
@media(max-width:1000px){
 main>.head-spa{display:flex;flex-direction:column;gap:0}
 .head-spa>.spa-copy{display:contents}
 .head-spa .spa-copy>.spa-title{order:0;width:100%;margin-bottom:28px}
 .head-spa>.spa-photo{order:1;width:100%;margin:0 0 28px}
 .head-spa .spa-copy>:not(.spa-title){order:2}
 .head-spa .spa-copy>.spa-subtitle{margin-top:0}
 .head-spa .spa-copy>.section-button{align-self:flex-start}
 .head-spa .spa-copy>.spa-flower{align-self:center}
}

/* Seconda marca: Research, immagine fornita. */
.products-grid .product-research{background-image:url('assets/research-composizione-v3.png');background-size:cover;background-position:center}
.products-grid .product-research:after{display:none}
.products-grid .product-research figcaption{color:#431820;text-shadow:none;background:none;left:0;right:0;bottom:0;padding:42px 24px 22px;font-weight:500;letter-spacing:.06em;z-index:2}
@media(max-width:700px){.products-grid .product-research figcaption{padding:28px 12px 14px}}

/* Terza marca: Dr. Pepti. */
.products-grid .product-dr-pepti{background-image:url('assets/dr-pepti-composizione-v2.png');background-size:cover;background-position:center}
.products-grid .product-dr-pepti:after{display:none}
.products-grid .product-dr-pepti figcaption{color:#431820;text-shadow:none;background:none;left:0;right:0;bottom:0;padding:42px 24px 22px;font-weight:500;letter-spacing:.06em;z-index:2}
@media(max-width:700px){.products-grid .product-dr-pepti figcaption{padding:28px 12px 14px}}

.products-grid .product-anua{background-image:url('assets/anua-composizione-v4.png');background-size:cover;background-position:center}
.products-grid .product-anua:after{display:none}
.products-grid .product-anua figcaption{color:#431820;text-shadow:none;background:none;left:0;right:0;bottom:0;padding:42px 24px 22px;font-weight:500;letter-spacing:.06em;z-index:2}
@media(max-width:700px){.products-grid .product-anua figcaption{padding:28px 12px 14px}}

/* Contatti come nel footer, in orizzontale. */
.contact-details.contact-horizontal{display:block;max-width:none}
.contact-horizontal nav{display:flex;flex-wrap:wrap;gap:20px 40px;margin-top:22px}
.contact-horizontal nav a{font-family:Switzer,Arial,sans-serif;font-weight:700;font-size:clamp(20px,2.15vw,32px);line-height:1.2}
/* Buono: titolo, immagine e poi descrizione su schermi compatti. */
@media(max-width:1000px){
 main>.gift{display:flex;flex-direction:column;align-items:stretch;gap:0}
 .gift>.gift-copy{display:contents}
 .gift .gift-copy>.eyebrow{order:0}
 .gift .gift-copy>h2{order:1}
 .gift>.gift-layered{order:2;margin:0 0 28px;width:100%}
 .gift .gift-copy>.body-copy{order:3}
 .gift .gift-copy>.section-button{order:4;align-self:flex-start;margin-top:20px}
}
/* Tablet: pruno a destra dei paragrafi, azione sotto. */
@media(min-width:701px) and (max-width:1000px){
 main>.head-spa{display:grid;grid-template-columns:minmax(0,1fr) 240px;column-gap:28px;align-items:start}
 .head-spa .spa-copy>.spa-title{grid-column:1/-1;grid-row:1}
 .head-spa>.spa-photo{grid-column:1/-1;grid-row:2}
 .head-spa .spa-copy>.spa-subtitle{grid-column:1;grid-row:3}
 .head-spa .spa-copy>p:not(.spa-subtitle){grid-column:1}
 .head-spa .spa-copy>p:nth-of-type(2){grid-row:4}
 .head-spa .spa-copy>p:nth-of-type(3){grid-row:5}
 .head-spa .spa-copy>.spa-flower{grid-column:2;grid-row:3/6;width:240px;max-width:100%;margin:0;align-self:center}
 .head-spa .spa-copy>.section-button{grid-column:1/-1;grid-row:6;justify-self:start;margin-top:20px}
}

/* Porpora identitario unico, coordinato al footer. */
:root{--ink:#431820;--wine:#431820;--wine-deep:#431820}
main h1,main h2,main h3,main .eyebrow,main .text-link,main .contact-details a{color:#431820}
.contact-horizontal nav a{text-transform:uppercase;letter-spacing:.055em}

.photo-hero .photo-hero-copy h1,.photo-hero .photo-hero-copy .eyebrow{color:#F3E8D6}

.reviews-section{padding-top:65px;padding-bottom:65px}.reviews-section>.text-link{display:inline-block;margin-top:24px}

/* Ripristino della tavola sagomata del footer approvato. */
.bv-footer{--wine:#431820!important;--wine-deep:#351218;--ivory:#F3E8D6;--gold:#F3E8D6;--line:#f3e8d647;color:#F3E8D6}
.bv-footer .desktop-card,.bv-footer .mobile-card{background:#431820!important;color:#F3E8D6}
.bv-footer .brand-cap,.bv-footer .footer-label,.bv-footer .left-menu nav a,.bv-footer .right-info a,.bv-footer .right-info p,.bv-footer .center-address,.bv-footer .mobile-col,.bv-footer .mobile-col a,.bv-footer .mobile-address{color:#F3E8D6!important}
.bv-footer .top-rule{background:#f3e8d647}
.bv-footer .store-button,.bv-footer .store-button:hover,.bv-footer .store-button:focus-visible{border-color:#F3E8D6!important}

/* Oro caldo durante il flip e sui pulsanti interattivi. */
.bv-footer{--gold:#C8A46B}
.bv-footer .flip-link .flip-line--bottom .flip-char{color:#C8A46B}
.bv-footer .left-menu nav a:hover,.bv-footer .left-menu nav a:focus-visible,.bv-footer .right-info a:hover,.bv-footer .right-info a:focus-visible,.bv-footer .mobile-col a:hover,.bv-footer .mobile-col a:focus-visible,.bv-footer .mobile-socials a:hover,.bv-footer .mobile-socials a:focus-visible{color:#C8A46B!important}
#siteHeader .book-button,.section-button,.bv-footer .store-button{transition:background-color .25s ease,border-color .25s ease,color .25s ease}
#siteHeader .book-button:hover,#siteHeader .book-button:focus-visible,.section-button:hover,.section-button:focus-visible,.bv-footer .store-button:hover,.bv-footer .store-button:focus-visible{background:#C8A46B!important;border-color:#C8A46B!important;color:#431820!important}

/* Tutte le CTA condividono il comportamento di PRENOTA. */
.section-button .cta-flip-label{display:block;position:relative;height:1.15em;overflow:hidden;line-height:1.15}
.section-button .cta-flip-line{display:flex;align-items:center;justify-content:center;height:1.15em;white-space:nowrap}
.section-button .cta-flip-line--bottom{position:absolute;inset:0}
.section-button .cta-flip-char{display:inline-block;transition:transform 300ms cubic-bezier(.22,.61,.36,1);transition-delay:calc(var(--i)*25ms)}
.section-button .cta-flip-line--bottom .cta-flip-char{transform:translateY(135%)}
.section-button:hover .cta-flip-line--top .cta-flip-char,.section-button:focus-visible .cta-flip-line--top .cta-flip-char{transform:translateY(-135%)}
.section-button:hover .cta-flip-line--bottom .cta-flip-char,.section-button:focus-visible .cta-flip-line--bottom .cta-flip-char{transform:translateY(0)}
#siteHeader .book-button,.section-button,.bv-footer .store-button{transition:background-color 280ms ease,color 280ms ease,border-color 280ms ease,transform 280ms ease}
#siteHeader .book-button:hover,#siteHeader .book-button:focus-visible,.section-button:hover,.section-button:focus-visible,.bv-footer .store-button:hover,.bv-footer .store-button:focus-visible{transform:translateY(-2px)}
.section-button .cta-icon{display:inline-block;transform-origin:50% 55%;transition:transform 300ms cubic-bezier(.22,.61,.36,1)}
.section-button:hover .cta-icon,.section-button:focus-visible .cta-icon,.bv-footer .store-button:hover .store-button-icon,.bv-footer .store-button:focus-visible .store-button-icon{transform:rotate(-9deg) translateY(-1px)}
@media(prefers-reduced-motion:reduce){.section-button .cta-flip-char{transition:none;transition-delay:0ms}.section-button .cta-flip-line--bottom{display:none}.section-button:hover .cta-flip-line--top .cta-flip-char,.section-button:focus-visible .cta-flip-line--top .cta-flip-char{transform:none}}

/* Servizi esterni caricati solo su richiesta del visitatore. */
.external-choice{padding:28px;border:1px solid #43182033;color:#431820;background:#F3E8D6;display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap;text-align:center}
.external-choice p{flex-basis:100%;max-width:650px;margin:0;font:16px/1.6 Switzer,Arial,sans-serif}
.external-choice a{font:13px/1.5 Switzer,Arial,sans-serif;color:inherit}
.external-load{border:1px solid #431820;border-radius:7px;background:#431820;color:#F3E8D6;padding:16px 20px;cursor:pointer;font:700 14px/1 Switzer,Arial,sans-serif}
.external-load:hover,.external-load:focus-visible{background:#C8A46B;border-color:#C8A46B;color:#431820}
.external-choice[hidden]{display:none}
.location-map .map-choice{position:absolute;inset:0;z-index:3}

.bv-footer .company-details{max-width:1400px;margin:24px auto 0;padding:0 6vw 25px;text-align:center;color:#431820;font:13px/1.7 Switzer,Arial,sans-serif;font-weight:400}
.bv-footer .company-details p{margin:5px 0}.bv-footer .company-details a{color:inherit;text-underline-offset:3px}.contact-horizontal .opening-hours{margin:0 0 24px;font:16px/1.5 Switzer,Arial,sans-serif;color:#431820}
@media(max-width:700px){.bv-footer .company-details{font-size:12px;text-align:left;padding-left:7vw;padding-right:7vw}}

/* Preferenze uniche per i due servizi esterni. */
.privacy-preferences-link{border:0;padding:0;background:none;color:inherit;text-decoration:underline;text-underline-offset:3px;font:inherit;cursor:pointer}
.privacy-dialog{width:min(700px,calc(100% - 32px));box-sizing:border-box;max-height:90svh;padding:30px;border:1px solid #43182033;border-radius:12px;color:#431820;background:#F3E8D6;box-shadow:0 18px 70px #210d1633}
.privacy-dialog::backdrop{background:#210d1670;backdrop-filter:blur(4px)}
.privacy-dialog-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.privacy-dialog .eyebrow{margin:0;font:700 11px/1.5 Switzer,Arial,sans-serif;letter-spacing:.12em}
.privacy-close{background:none;border:0;font-size:28px;color:inherit;cursor:pointer;padding:3px 8px}
.privacy-dialog h2{font:500 clamp(28px,4vw,40px)/1.15 Switzer,Arial,sans-serif;margin:12px 0 18px}
.privacy-dialog p{font:14px/1.6 Switzer,Arial,sans-serif;margin:0 0 18px}.privacy-dialog a{color:inherit;text-underline-offset:3px}
.privacy-service{border-top:1px solid #43182026;padding-top:16px;margin-top:16px}.privacy-service label{display:flex;align-items:center;gap:12px;cursor:pointer;font:16px/1.5 Switzer,Arial,sans-serif}.privacy-service input{width:20px;height:20px;accent-color:#431820;flex-shrink:0}.privacy-service p{margin:8px 0 12px 32px}
.privacy-dialog .privacy-choice-note{font-size:12px;margin-top:18px}.privacy-actions{display:flex;gap:10px;flex-wrap:wrap}
.privacy-actions button{flex:1;min-height:52px;padding:12px;border:1px solid #431820;border-radius:7px;background:#431820;color:#F3E8D6;font:700 12px/1.25 Switzer,Arial,sans-serif;text-transform:uppercase;cursor:pointer;transition:background .28s,color .28s,transform .28s}
.privacy-actions button:hover,.privacy-actions button:focus-visible{background:#C8A46B;color:#431820;border-color:#C8A46B;transform:translateY(-2px)}
.privacy-dialog button:focus-visible,.privacy-preferences-link:focus-visible{outline:2px solid #431820;outline-offset:3px}
.privacy-storage-status:empty{display:none}.privacy-dialog .privacy-storage-status{margin-top:15px}
@media(max-width:550px){.privacy-dialog{padding:20px}.privacy-actions{flex-direction:column}.privacy-service p{margin-left:0}.privacy-dialog p{font-size:13px}}

/* Contact links share the footer letter animation and gold hover. */
.contact-horizontal nav a.flip-link:hover,.contact-horizontal nav a.flip-link:focus-visible{text-decoration:none;color:#C8A46B}
.contact-horizontal nav a.flip-link .flip-line--bottom .flip-char{color:#C8A46B}
.contact-horizontal nav a.flip-link:focus-visible{outline-color:#431820}

.contact-horizontal nav a.flip-link{position:relative;display:inline-block!important;overflow:hidden!important;height:1.2em!important;min-height:1.2em!important;line-height:1.2!important;white-space:nowrap}
.contact-horizontal nav a.flip-link .flip-line{display:flex;align-items:center;height:1.2em;line-height:1.2;width:max-content}
.contact-horizontal nav a.flip-link .flip-line--top{position:relative!important;inset:auto!important}
.contact-horizontal nav a.flip-link .flip-line--bottom{position:absolute!important;inset:0!important}

.contact-horizontal nav a.flip-link .flip-char{display:inline-block;transform:translateY(0);transition:transform 300ms cubic-bezier(.22,.61,.36,1),color 300ms ease;transition-delay:calc(var(--i)*25ms)}
.contact-horizontal nav a.flip-link .flip-line--bottom .flip-char{transform:translateY(135%)}
.contact-horizontal nav a.flip-link:hover .flip-line--top .flip-char,.contact-horizontal nav a.flip-link:focus-visible .flip-line--top .flip-char{transform:translateY(-135%)}
.contact-horizontal nav a.flip-link:hover .flip-line--bottom .flip-char,.contact-horizontal nav a.flip-link:focus-visible .flip-line--bottom .flip-char{transform:translateY(0)}
@media(prefers-reduced-motion:reduce){.contact-horizontal nav a.flip-link .flip-char{transition:none}.contact-horizontal nav a.flip-link .flip-line--bottom{display:none}.contact-horizontal nav a.flip-link:hover .flip-line--top .flip-char,.contact-horizontal nav a.flip-link:focus-visible .flip-line--top .flip-char{transform:none}}

body.menu-open #siteHeader{--header-ink:#431820!important;--header-opposite:#F3E8D6!important;--book-bg:#431820!important;--book-fg:#F3E8D6!important}
body.menu-open #siteHeader .header-logo{color:#431820!important}
body.menu-open #siteHeader .header-logo path{fill:#431820!important}

#menuOverlay .menu-link,#menuOverlay .menu-secondary-link{grid-template-columns:minmax(0,1fr)!important;gap:0!important}
#menuOverlay .menu-label{grid-column:1!important;min-width:0;width:100%}
#menuOverlay .menu-link::after{left:0}

#menuOverlay{--menu-gold:#C8A46B}
#menuOverlay .menu-flip-line--bottom .menu-flip-char{color:#C8A46B!important}
#menuOverlay .menu-link:hover,#menuOverlay .menu-link:focus-visible,#menuOverlay .menu-secondary-link:hover,#menuOverlay .menu-secondary-link:focus-visible{color:#C8A46B!important}
#menuOverlay .menu-link:hover .menu-label,#menuOverlay .menu-link:focus-visible .menu-label,#menuOverlay .menu-secondary-link:hover .menu-label,#menuOverlay .menu-secondary-link:focus-visible .menu-label{color:#C8A46B!important}

.location-map.location-map-local{height:auto;aspect-ratio:1200/620;background:#eee8dc}.location-map-local>a,.location-map-local img{display:block;width:100%;height:100%}.location-map-local a:focus-visible{outline:3px solid #431820;outline-offset:-4px}.location-map-local img{object-fit:contain}.local-map-caption{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:14px;font:13px/1.5 Switzer,Arial,sans-serif}.local-map-caption a{color:#431820;text-underline-offset:4px}.local-map-caption a:hover{color:#9b733b}

.location-map-local>[hidden],.map-consent-actions>[hidden]{display:none!important}
.location-map-local iframe{pointer-events:auto!important}
.map-consent-copy{margin-top:22px;max-width:900px}.map-consent-copy p,.map-preferences p{font:14px/1.65 Switzer,Arial,sans-serif}.map-consent-copy a,.map-preferences a{color:inherit;text-underline-offset:3px}
.map-consent-actions{display:flex;align-items:center;flex-wrap:wrap;gap:16px;margin-top:18px}.map-consent-actions button{cursor:pointer}.map-consent-actions .section-button{font-size:14px;min-height:52px}
.map-revoke,.cookie-preferences-link{border:0;background:none;padding:0;color:inherit;font:inherit;text-decoration:underline;text-underline-offset:4px;cursor:pointer}.map-consent-status:empty{display:none}.map-consent-status{font-size:13px!important}
.map-preferences{box-sizing:border-box;width:min(650px,calc(100% - 32px));max-height:85vh;overflow:auto;border:1px solid #d5c3a9;border-radius:12px;padding:34px;background:#F3E8D6;color:#431820}.map-preferences::backdrop{background:#25111680}.map-preferences h2{font:400 32px/1.1 Switzer,Arial,sans-serif;margin:0 30px 24px 0}.map-preferences-close{position:absolute;right:18px;top:14px;background:none;border:0;font-size:30px;color:inherit;cursor:pointer}.map-preferences-option{display:flex;gap:12px;align-items:start;font:600 16px/1.5 Switzer,Arial,sans-serif}.map-preferences input{accent-color:#431820;width:20px;height:20px;flex-shrink:0}.map-preferences .map-consent-actions button{background:#431820;color:#F3E8D6;border:1px solid #431820;border-radius:6px;padding:14px 18px;font:600 14px Switzer,Arial,sans-serif}.map-preferences .map-consent-actions button:hover{background:#C8A46B;color:#431820}.map-preferences button:focus-visible,.cookie-preferences-link:focus-visible,.map-revoke:focus-visible{outline:2px solid #431820;outline-offset:4px}

.location-map.location-map-local{height:410px;aspect-ratio:auto;background:#eee6d9}.location-map-local .map-placeholder{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:24px;padding:24px;box-sizing:border-box}.location-map-local .map-placeholder[hidden]{display:none!important}.map-placeholder-title{font:400 28px/1.2 Switzer,Arial,sans-serif;letter-spacing:-.035em}.map-placeholder .section-button{font-size:14px;text-align:center}.map-consent-copy{margin-top:14px}.map-consent-copy p{font-size:12px;line-height:1.6}.local-map-caption{margin-top:12px}@media(max-width:700px){.location-map.location-map-local{height:320px}.map-placeholder .section-button{max-width:100%;font-size:12px;padding-left:18px;padding-right:18px}}
