/*
 * Rose Suites - stile globale del sito
 * Colori: variabili --bbh-* nella sezione PALETTE.
 * Font: Montserrat (caricato dal plugin).
 */
/* ===== PALETTE: cambia qui i colori di tutto il sito ===== */
:root,.bbh,.bbh-header,.bbh-mnav,.bbh-lightbox{
  --bbh-gold:#7B1E2D;        /* bordeaux principale */
  --bbh-gold-dark:#5C1521;   /* bordeaux scuro (hover) */
  --bbh-light:#C7848F;       /* bordeaux chiaro: accenti su fondi scuri */
  --bbh-dark:#2B1318;        /* fondo scuro bordeaux/nero */
  --bbh-cream:#F8EFF0;       /* rosa chiarissimo per sezioni alternate */
  --bbh-text:#4A3B3E;
  --bbh-serif:'Montserrat',Arial,sans-serif;
  --bbh-sans:'Montserrat',Arial,sans-serif;
}


.bbh{font-family:var(--bbh-sans)!important; color:var(--bbh-text); font-size:15px; line-height:1.75;
  width:100%; position:relative; overflow:hidden}
.bbh *,.bbh *::before,.bbh *::after,.bbh-header *,.bbh-mnav *{box-sizing:border-box}
.bbh img{max-width:100%; display:block; border-radius:0!important}
.bbh a,.bbh-header a,.bbh-mnav a{text-decoration:none!important}
.bbh p{margin:0 0 1em}
.bbh-wrap{max-width:1240px; margin:0 auto; padding:0 24px}

.bbh .bbh-title{font-family:var(--bbh-serif)!important; font-weight:400!important; font-size:clamp(30px,4vw,48px)!important;
  line-height:1.15!important; color:var(--bbh-dark)!important; margin:0 0 22px!important; text-transform:none!important; letter-spacing:0!important}
.bbh .bbh-title strong{display:block; font-weight:600}
.bbh .bbh-title em{font-style:italic; color:var(--bbh-gold)}
.bbh .bbh-title.light{color:#fff!important}
.bbh .bbh-kicker{display:inline-block; font-size:12px; letter-spacing:.25em; text-transform:uppercase; color:var(--bbh-gold); margin-bottom:14px; font-weight:500}

.bbh-btn{display:inline-block; padding:15px 34px; font-family:var(--bbh-sans)!important; font-size:12px!important; font-weight:600!important;
  letter-spacing:.18em; text-transform:uppercase; border:1px solid var(--bbh-gold); background:var(--bbh-gold); color:#fff!important;
  transition:.3s; cursor:pointer; line-height:1.2; border-radius:0!important}
.bbh-btn:hover{background:var(--bbh-gold-dark); border-color:var(--bbh-gold-dark)}
.bbh-btn.ghost{background:transparent; color:var(--bbh-gold)!important}
.bbh-btn.ghost:hover{background:var(--bbh-gold); color:#fff!important}
.bbh-btn.ghost-light{background:transparent; border-color:#fff; color:#fff!important}
.bbh-btn.ghost-light:hover{background:#fff; color:var(--bbh-dark)!important}

/* ---------- HEADER ---------- */
.bbh-header{position:fixed; top:0; left:0; right:0; z-index:9999; font-family:var(--bbh-sans); transition:background .4s, padding .4s, box-shadow .4s; padding:22px 0}
.admin-bar .bbh-header{top:32px}
.bbh-header.is-scrolled{background:var(--bbh-dark); padding:10px 0; box-shadow:0 6px 30px rgba(0,0,0,.25)}
.bbh-header-in{max-width:1400px; margin:0 auto; padding:0 30px; display:flex; align-items:center; gap:30px}
.bbh-logo img{height:64px; width:auto; transition:height .4s; display:block}
.bbh-header.is-scrolled .bbh-logo img{height:48px}
.bbh-menu{display:flex; gap:4px; list-style:none; margin:0 0 0 auto; padding:0}
.bbh-menu > li{position:relative; margin:0}
.bbh-menu > li > a{display:block; padding:12px 14px; color:#fff!important; font-size:12px; font-weight:500; letter-spacing:.16em; text-transform:uppercase}
.bbh-menu > li > a:hover,.bbh-menu > li.is-current > a{color:var(--bbh-gold)!important}
.bbh-menu > li.has-sub > a::after{content:""; display:inline-block; width:5px; height:5px; border-right:1px solid currentColor; border-bottom:1px solid currentColor; transform:rotate(45deg); margin:0 0 3px 8px}
.bbh-sub{position:absolute; top:100%; left:0; min-width:250px; background:#fff; list-style:none; margin:0; padding:12px 0; box-shadow:0 20px 40px rgba(0,0,0,.15);
  opacity:0; visibility:hidden; transform:translateY(10px); transition:.25s; border-top:2px solid var(--bbh-gold)}
.bbh-menu > li:hover .bbh-sub{opacity:1; visibility:visible; transform:none}
.bbh-sub li{margin:0}
.bbh-sub a{display:block; padding:8px 22px; color:var(--bbh-dark)!important; font-size:13px}
.bbh-sub a:hover{color:var(--bbh-gold)!important; background:var(--bbh-cream)}
.bbh-lang{position:relative}
.bbh-lang-btn{background:none; border:1px solid rgba(255,255,255,.4); color:#fff; font:600 12px var(--bbh-sans); letter-spacing:.12em; padding:9px 12px; cursor:pointer; display:flex; align-items:center; gap:6px}
.bbh-lang-btn::after{content:""; width:5px; height:5px; border-right:1px solid #fff; border-bottom:1px solid #fff; transform:rotate(45deg); margin-bottom:3px}
.bbh-lang ul{position:absolute; right:0; top:calc(100% + 8px); background:#fff; list-style:none; margin:0; padding:8px 0; min-width:150px; box-shadow:0 20px 40px rgba(0,0,0,.15); display:none}
.bbh-lang.is-open ul{display:block}
.bbh-lang li{margin:0}
.bbh-lang a{display:flex; gap:10px; padding:7px 18px; color:var(--bbh-dark)!important; font-size:13px}
.bbh-lang a b{width:24px; color:var(--bbh-gold)}
.bbh-lang a:hover{background:var(--bbh-cream)}
.bbh-header .bbh-btn{padding:13px 24px}
.bbh-burger{display:none; background:none; border:0; width:44px; height:44px; padding:10px; cursor:pointer; margin-left:auto}
.bbh-burger span{display:block; height:1px; background:#fff; margin:6px 0}

/* off-canvas mobile */
.bbh-mnav{position:fixed; inset:0; z-index:10000; background:var(--bbh-dark); transform:translateX(100%); transition:transform .4s; overflow-y:auto; padding:90px 30px 40px; font-family:var(--bbh-sans)}
.bbh-mnav.is-open{transform:none}
.bbh-mnav-close{position:absolute; top:20px; right:20px; background:none; border:0; color:#fff; font-size:36px; cursor:pointer; line-height:1}
.bbh-mnav ul{list-style:none; margin:0; padding:0}
.bbh-mnav > ul > li{border-bottom:1px solid rgba(255,255,255,.1); margin:0}
.bbh-mnav > ul > li > a,.bbh-mnav .bbh-acc{display:flex; justify-content:space-between; width:100%; padding:16px 0; color:#fff!important; font:500 14px var(--bbh-sans); letter-spacing:.15em; text-transform:uppercase; background:none; border:0; cursor:pointer; text-align:left}
.bbh-mnav .bbh-acc::after{content:"+"; color:var(--bbh-gold); font-size:20px; line-height:1}
.bbh-mnav li.is-open .bbh-acc::after{content:"–"}
.bbh-mnav .bbh-msub{display:none; padding:0 0 14px 12px}
.bbh-mnav li.is-open .bbh-msub{display:block}
.bbh-mnav .bbh-msub a{display:block; padding:7px 0; color:rgba(255,255,255,.75)!important; font-size:14px}
.bbh-mnav-langs{display:flex; gap:10px; margin:30px 0}
.bbh-mnav-langs a{border:1px solid rgba(255,255,255,.3); color:#fff!important; padding:8px 12px; font-size:12px; font-weight:600; letter-spacing:.1em}
.bbh-mnav-langs a.is-active{border-color:var(--bbh-gold); color:var(--bbh-gold)!important}

/* ---------- HERO ---------- */
.bbh-hero{position:relative; height:100vh; min-height:600px; max-height:980px; background:var(--bbh-dark)}
.bbh-hero-slide{position:absolute; inset:0; background-size:cover; background-position:center; opacity:0; transform:scale(1.06); transition:opacity 1.4s ease, transform 7s ease}
.bbh-hero-slide.is-active{opacity:1; transform:scale(1)}
.bbh-hero::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(0,0,0,.5) 0%,rgba(0,0,0,.2) 40%,rgba(0,0,0,.65) 100%)}
.bbh-hero-content{position:absolute; z-index:2; left:0; right:0; bottom:20%; text-align:center; color:#fff; padding:0 24px}
.bbh .bbh-hero-kicker{font-size:13px; letter-spacing:.3em; text-transform:uppercase; color:#fff; margin-bottom:16px; display:block}
.bbh .bbh-hero h2{font-family:var(--bbh-serif)!important; font-size:clamp(36px,5.5vw,70px)!important; font-weight:400!important; line-height:1.08!important;
  color:#fff!important; margin:0 0 30px!important; text-transform:none!important; text-shadow:0 2px 20px rgba(0,0,0,.3)}
.bbh .bbh-hero h2 strong{display:block; font-weight:600}
.bbh-hero-arrows{position:absolute; z-index:3; bottom:90px; right:40px; display:flex; gap:10px}
.bbh-arrow{width:48px; height:48px; border:1px solid rgba(255,255,255,.6); background:transparent; color:#fff; font-size:20px; cursor:pointer; transition:.3s; display:flex; align-items:center; justify-content:center; padding:0}
.bbh-arrow:hover{background:var(--bbh-gold); border-color:var(--bbh-gold)}
.bbh-arrow.dark{border-color:var(--bbh-gold); color:var(--bbh-gold)}
.bbh-arrow.dark:hover{color:#fff}

/* ---------- BOOKING ---------- */
.bbh-booking{position:relative; z-index:5; margin-top:-60px}
.bbh-booking form{background:#fff; box-shadow:0 20px 50px rgba(0,0,0,.12); display:grid; grid-template-columns:auto 1fr 1fr 1fr auto; margin:0}
.bbh-booking-label{background:var(--bbh-dark); color:#fff; padding:22px 28px; display:flex; flex-direction:column; justify-content:center}
.bbh-booking-label span{font-family:var(--bbh-serif); font-size:22px; line-height:1.1}
.bbh-booking-label small{font-size:10px; letter-spacing:.2em; text-transform:uppercase; color:var(--bbh-gold)}
.bbh-field{padding:16px 22px; border-right:1px solid #eee; display:flex; flex-direction:column; justify-content:center}
.bbh-field label{font-size:10px; letter-spacing:.2em; text-transform:uppercase; color:var(--bbh-gold); margin:0 0 4px; font-weight:600}
.bbh .bbh-field input,.bbh .bbh-field select{border:0!important; padding:0!important; height:auto!important; min-height:0!important; font-family:var(--bbh-sans)!important;
  font-size:15px!important; color:var(--bbh-dark)!important; background:transparent!important; box-shadow:none!important; outline:none; width:100%}
.bbh-booking .bbh-btn{display:flex; align-items:center; justify-content:center; padding:0 40px}
.bbh-booking-note{text-align:center; font-size:13px; margin:18px 0 0; color:var(--bbh-text)}
.bbh-booking-note b{color:var(--bbh-gold)}

/* ---------- INTRO ---------- */
.bbh-intro{padding:120px 0 110px}
.bbh-intro-grid{display:grid; grid-template-columns:1.1fr .9fr; gap:80px; align-items:center}
.bbh .bbh-intro h1{font-family:var(--bbh-serif)!important; font-size:clamp(42px,5vw,66px)!important; font-weight:600!important; color:var(--bbh-dark)!important; line-height:1!important; margin:0 0 10px!important; text-transform:none!important}
.bbh .bbh-intro h1 span{display:block; font-weight:400; font-style:italic; color:var(--bbh-gold); font-size:.5em; margin-top:12px}
.bbh .bbh-intro h3{font-family:var(--bbh-serif)!important; font-size:24px!important; font-weight:400!important; font-style:italic; color:var(--bbh-text)!important; margin:20px 0 26px!important; text-transform:none!important}
.bbh-intro-img{position:relative}
.bbh-intro-img img{width:100%; aspect-ratio:3/4; object-fit:cover}
.bbh-intro-img::before{content:""; position:absolute; top:30px; left:-30px; right:30px; bottom:-30px; border:1px solid var(--bbh-gold); z-index:-1}

/* ---------- 5 MOTIVI ---------- */
.bbh-why{background:var(--bbh-dark); padding:90px 0; color:#fff; text-align:center}
.bbh-why-grid{display:grid; grid-template-columns:repeat(5,1fr); gap:20px; margin-top:20px}
.bbh-why-item{border:1px solid rgba(199,132,143,.4); padding:34px 16px; transition:.3s}
.bbh-why-item:hover{background:rgba(199,132,143,.12)}
.bbh-why-item svg{width:38px; height:38px; stroke:var(--bbh-gold); fill:none; stroke-width:1.2; margin:0 auto 14px; display:block}
.bbh-why-item span{font-size:12px; letter-spacing:.14em; text-transform:uppercase; line-height:1.6; display:block}

/* ---------- SUITE ---------- */
.bbh-rooms{padding:120px 0}
.bbh-rooms-head{display:flex; justify-content:space-between; align-items:flex-end; gap:40px; margin-bottom:50px; flex-wrap:wrap}
.bbh-rooms-head > div{max-width:620px}
.bbh-rooms-track{display:grid; grid-auto-flow:column; grid-auto-columns:calc((100% - 60px)/3); gap:30px; overflow-x:auto; scroll-snap-type:x mandatory; scroll-behavior:smooth; scrollbar-width:none}
.bbh-rooms-track::-webkit-scrollbar{display:none}
.bbh-room{scroll-snap-align:start; background:#fff; border:1px solid #eee; display:flex; flex-direction:column}
.bbh-room-img{overflow:hidden; position:relative; display:block}
.bbh-room-img img{width:100%; aspect-ratio:4/3; object-fit:cover; transition:transform .8s}
.bbh-room:hover .bbh-room-img img{transform:scale(1.07)}
.bbh-room-tag{position:absolute; top:18px; left:18px; z-index:1; background:var(--bbh-dark); color:#fff; font-size:11px; letter-spacing:.15em; text-transform:uppercase; padding:6px 12px}
.bbh-room-body{padding:30px 30px 34px; display:flex; flex-direction:column; flex:1}
.bbh .bbh-room h3{font-family:var(--bbh-serif)!important; font-size:28px!important; font-weight:600!important; color:var(--bbh-dark)!important; margin:0 0 6px!important; text-transform:none!important}
.bbh-room-meta{font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:var(--bbh-gold); margin-bottom:14px; font-weight:600}
.bbh-room-body p{font-size:14px; flex:1}
.bbh-room-link{font-size:12px; letter-spacing:.18em; text-transform:uppercase; color:var(--bbh-dark)!important; font-weight:600; border-bottom:1px solid var(--bbh-gold); align-self:flex-start; padding-bottom:4px}
.bbh-room-link:hover{color:var(--bbh-gold)!important}

/* ---------- PERCHE SEI A BARI ---------- */
.bbh-reasons{background:var(--bbh-cream); padding:120px 0}
.bbh-reasons-head{text-align:center; max-width:700px; margin:0 auto 50px}
.bbh-reasons-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px}
.bbh-reason{position:relative; overflow:hidden; aspect-ratio:4/3; display:block}
.bbh-reason img{width:100%; height:100%; object-fit:cover; transition:transform .8s}
.bbh-reason::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(0,0,0,0) 30%,rgba(43,19,24,.85) 100%)}
.bbh-reason:hover img{transform:scale(1.07)}
.bbh-reason-body{position:absolute; z-index:1; left:0; right:0; bottom:0; padding:26px 28px; color:#fff}
.bbh-reason-body b{display:block; font-family:var(--bbh-serif); font-size:28px; font-weight:600; line-height:1.1; margin-bottom:6px}
.bbh-reason-body span{font-size:13px; color:rgba(255,255,255,.85); display:block}
.bbh-reason-body i{font-style:normal; font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--bbh-gold); display:inline-block; margin-top:10px; font-weight:600}

/* ---------- RECENSIONI ---------- */
.bbh-reviews{padding:110px 0}
.bbh-reviews-grid{display:grid; grid-template-columns:.9fr 1.1fr; gap:80px; align-items:center}
.bbh-gscore{background:var(--bbh-cream); padding:30px; display:flex; align-items:center; gap:24px; margin-top:30px; max-width:380px}
.bbh-gscore b{font-family:var(--bbh-serif); font-size:60px; color:var(--bbh-dark); line-height:1; font-weight:600}
.bbh-stars{color:#F4B400; font-size:20px; letter-spacing:2px}
.bbh-gscore small{display:block; font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--bbh-text)}
.bbh-review-slider{position:relative; min-height:280px}
.bbh-review{position:absolute; inset:0; opacity:0; visibility:hidden; transition:opacity .8s}
.bbh-review.is-active{position:relative; opacity:1; visibility:visible}
.bbh-review::before{content:"\201C"; font-family:var(--bbh-serif); font-size:120px; line-height:.6; color:var(--bbh-gold); display:block; margin-bottom:10px}
.bbh-review p{font-family:var(--bbh-serif); font-size:24px; line-height:1.45; font-style:italic; color:var(--bbh-dark)}
.bbh-review cite{font-style:normal; font-size:12px; letter-spacing:.18em; text-transform:uppercase; color:var(--bbh-gold); font-weight:600}
.bbh-review-nav{display:flex; gap:10px; margin-top:30px}

/* ---------- POSIZIONE ---------- */
.bbh-location{display:grid; grid-template-columns:1fr 1fr; min-height:560px}
.bbh-location-text{background:var(--bbh-cream); padding:100px 8%; display:flex; flex-direction:column; justify-content:center}
.bbh-places{list-style:none; padding:0; margin:10px 0 34px; columns:2; column-gap:30px}
.bbh-places li{padding:9px 0 9px 18px; font-size:14px; margin:0; position:relative; break-inside:avoid; border-bottom:1px solid #ecdadd}
.bbh-places li::before{content:""; position:absolute; left:0; top:18px; width:6px; height:6px; background:var(--bbh-gold); transform:rotate(45deg)}
.bbh-location-btns{display:flex; gap:12px; flex-wrap:wrap}
.bbh-location iframe{width:100%; height:100%; min-height:420px; border:0; filter:grayscale(.85) contrast(1.05); display:block}

/* ---------- GALLERY ---------- */
.bbh-gallery{padding:120px 0}
.bbh-gallery-head{text-align:center; margin-bottom:50px}
.bbh-gallery-grid{display:grid; grid-template-columns:repeat(4,1fr); grid-auto-rows:240px; gap:10px}
.bbh-gallery-grid a{position:relative; overflow:hidden; display:block}
.bbh-gallery-grid a:nth-child(1){grid-column:span 2; grid-row:span 2}
.bbh-gallery-grid a:nth-child(6){grid-column:span 2}
.bbh-gallery-grid img{width:100%; height:100%; object-fit:cover; transition:transform .8s}
.bbh-gallery-grid a::after{content:"+"; position:absolute; inset:0; display:flex; align-items:center; justify-content:center; font-size:44px; font-weight:300; color:#fff; background:rgba(43,19,24,.45); opacity:0; transition:.4s}
.bbh-gallery-grid a:hover::after{opacity:1}
.bbh-gallery-grid a:hover img{transform:scale(1.06)}
.bbh-lightbox{position:fixed; inset:0; z-index:100000; background:rgba(30,12,16,.94); display:none; align-items:center; justify-content:center}
.bbh-lightbox.is-open{display:flex}
.bbh-lightbox img{max-width:90vw; max-height:85vh; object-fit:contain}
.bbh-lightbox button{position:absolute; background:none; border:0; color:#fff; font-size:38px; cursor:pointer; padding:20px; line-height:1}
.bbh-lb-close{top:10px; right:16px}
.bbh-lb-prev{left:10px; top:50%; transform:translateY(-50%)}
.bbh-lb-next{right:10px; top:50%; transform:translateY(-50%)}

/* ---------- CTA ---------- */
.bbh-cta{position:relative; padding:110px 0; text-align:center; color:#fff; background-size:cover; background-position:center; background-attachment:fixed}
.bbh-cta::before{content:""; position:absolute; inset:0; background:rgba(43,19,24,.78)}
.bbh-cta .bbh-wrap{position:relative}
.bbh-cta p{color:rgba(255,255,255,.85); max-width:600px; margin:0 auto 30px}
.bbh-cta-actions{display:flex; gap:16px; justify-content:center; flex-wrap:wrap}

/* ---------- FOOTER ---------- */
.bbh-footer{background:var(--bbh-dark); color:rgba(255,255,255,.75); padding:90px 0 0; font-size:14px}
.bbh-footer-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:50px; padding-bottom:60px}
.bbh-footer img{height:70px; width:auto; margin-bottom:22px}
.bbh-footer h5{font-family:var(--bbh-sans)!important; font-size:12px!important; letter-spacing:.22em; text-transform:uppercase; color:var(--bbh-gold)!important; margin:0 0 20px!important; font-weight:600!important}
.bbh-footer ul{list-style:none; margin:0; padding:0}
.bbh-footer li{margin:0 0 10px}
.bbh-footer a{color:rgba(255,255,255,.75)!important; transition:.2s}
.bbh-footer a:hover{color:var(--bbh-gold)!important}
.bbh-contact-line{display:flex; gap:12px; margin-bottom:12px; align-items:flex-start}
.bbh-contact-line svg{width:18px; height:18px; stroke:var(--bbh-gold); fill:none; stroke-width:1.5; flex:none; margin-top:3px}
.bbh-social{display:flex; gap:10px; margin-top:22px}
.bbh-social a{width:40px; height:40px; border:1px solid rgba(255,255,255,.25); display:flex; align-items:center; justify-content:center}
.bbh-social a:hover{border-color:var(--bbh-gold)}
.bbh-social svg{width:16px; height:16px; fill:currentColor}
.bbh-footer-bottom{border-top:1px solid rgba(255,255,255,.1); padding:22px 0; font-size:12px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px}

/* Accenti chiari su fondi scuri */
.bbh .bbh-title.light em,.bbh-why .bbh-kicker,.bbh-cta .bbh-kicker,.bbh .bbh-reason-body i{color:var(--bbh-light)!important}
.bbh-why-item svg{stroke:var(--bbh-light)}
.bbh-booking-label small,.bbh-footer h5{color:var(--bbh-light)!important}
.bbh-footer .bbh-contact-line svg{stroke:var(--bbh-light)}
.bbh-footer a:hover,.bbh-menu > li > a:hover,.bbh-menu > li.is-current > a{color:var(--bbh-light)!important}
.bbh-mnav .bbh-acc::after{color:var(--bbh-light)}
.bbh-mnav-langs a.is-active{border-color:var(--bbh-light); color:var(--bbh-light)!important}
.bbh-header .bbh-btn{background:var(--bbh-gold); border-color:var(--bbh-gold)}


/* ---------- RESPONSIVE ---------- */
@media (max-width:1080px){
  .bbh-menu,.bbh-header .bbh-lang,.bbh-header .bbh-btn{display:none}
  .bbh-burger{display:block}
}
@media (max-width:1024px){
  .bbh-booking form{grid-template-columns:1fr 1fr 1fr}
  .bbh-booking-label{grid-column:1/-1; flex-direction:row; align-items:center; gap:14px; padding:16px 22px}
  .bbh-booking .bbh-btn{grid-column:1/-1; padding:18px}
  .bbh-intro-grid,.bbh-reviews-grid{grid-template-columns:1fr; gap:60px}
  .bbh-rooms-track{grid-auto-columns:calc((100% - 30px)/2)}
  .bbh-why-grid{grid-template-columns:repeat(3,1fr)}
  .bbh-reasons-grid{grid-template-columns:repeat(2,1fr)}
  .bbh-footer-grid{grid-template-columns:1fr 1fr}
  .bbh-cta{background-attachment:scroll}
}
@media (max-width:782px){ .admin-bar .bbh-header{top:46px} }
@media (max-width:680px){
  .bbh-header{padding:14px 0}
  .bbh-header-in{padding:0 18px}
  .bbh-logo img{height:50px}
  .bbh-hero{height:88vh}
  .bbh-hero-arrows{display:none}
  .bbh-booking{margin-top:-40px}
  .bbh-booking form{grid-template-columns:1fr 1fr}
  .bbh-field:nth-of-type(4){grid-column:1/-1}
  .bbh-intro,.bbh-reviews,.bbh-rooms,.bbh-gallery,.bbh-reasons{padding:80px 0}
  .bbh-intro-img::before{left:-14px; top:14px; right:14px; bottom:-14px}
  .bbh-rooms-track{grid-auto-columns:85%}
  .bbh-why-grid{grid-template-columns:1fr 1fr}
  .bbh-reasons-grid{grid-template-columns:1fr}
  .bbh-location{grid-template-columns:1fr}
  .bbh-location-text{padding:70px 24px}
  .bbh-places{columns:1}
  .bbh-gallery-grid{grid-template-columns:repeat(2,1fr); grid-auto-rows:170px}
  .bbh-gallery-grid a:nth-child(6){grid-column:span 1}
  .bbh-footer-grid{grid-template-columns:1fr}
  .bbh-review p{font-size:20px}
}
/* ================= PAGINA SUITE ================= */
.bbh-phero{position:relative; height:62vh; min-height:440px; max-height:640px; background-size:cover; background-position:center; display:flex; align-items:flex-end}
.bbh-phero::before{content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(43,19,24,.55) 0%,rgba(43,19,24,.25) 45%,rgba(43,19,24,.75) 100%)}
.bbh-phero .bbh-wrap{position:relative; width:100%; padding-bottom:110px; text-align:center; color:#fff}
.bbh .bbh-phero h1{font-family:var(--bbh-serif)!important; font-size:clamp(44px,6vw,78px)!important; font-weight:600!important; color:#fff!important; line-height:1!important; margin:0 0 14px!important; text-transform:none!important}
.bbh .bbh-phero h1 em{display:block; font-weight:400; font-size:.42em; color:#fff; margin-top:12px; letter-spacing:.02em}
.bbh-crumbs{font-size:11px; letter-spacing:.22em; text-transform:uppercase; color:rgba(255,255,255,.8)}
.bbh-crumbs a{color:#fff!important}
.bbh-crumbs span{color:var(--bbh-light); margin:0 8px}
.bbh-badge{display:inline-block; border:1px solid rgba(255,255,255,.5); padding:7px 16px; font-size:11px; letter-spacing:.22em; text-transform:uppercase; margin-bottom:22px}

.bbh-sintro{padding:120px 0 100px}
.bbh-sintro-grid{display:grid; grid-template-columns:.95fr 1.05fr; gap:70px; align-items:center}
.bbh-mosaic{display:grid; grid-template-columns:repeat(3,1fr); grid-template-rows:auto auto; gap:10px}
.bbh-mosaic a{position:relative; overflow:hidden; display:block}
.bbh-mosaic a:first-child{grid-column:1/-1}
.bbh-mosaic a:first-child img{aspect-ratio:16/10}
.bbh-mosaic img{width:100%; aspect-ratio:1/1; object-fit:cover; transition:transform .8s}
.bbh-mosaic a:hover img{transform:scale(1.06)}
.bbh-mosaic a::after{content:"Apri foto"; position:absolute; inset:0; display:flex; align-items:center; justify-content:center; color:#fff; font-size:11px; letter-spacing:.2em; text-transform:uppercase; background:rgba(43,19,24,.5); opacity:0; transition:.4s}
.bbh-mosaic a:hover::after{opacity:1}

.bbh-amen{background:var(--bbh-cream); padding:100px 0}
.bbh-amen-head{text-align:center; max-width:720px; margin:0 auto 50px}
.bbh-amen-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:#e8d6d9; border:1px solid #e8d6d9}
.bbh-amen-item{background:#fff; padding:26px 22px; display:flex; align-items:center; gap:14px; font-size:13px; letter-spacing:.06em; text-transform:uppercase; color:var(--bbh-dark); font-weight:500}
.bbh-amen-item svg{width:28px; height:28px; stroke:var(--bbh-gold); fill:none; stroke-width:1.3; flex:none}
.bbh-amen-item small{display:block; text-transform:none; letter-spacing:0; font-weight:400; color:var(--bbh-text); font-size:12px}
.bbh-amen-note{text-align:center; font-size:13px; margin-top:22px}

.bbh-slist{padding:120px 0 60px}
.bbh-slist-head{text-align:center; max-width:720px; margin:0 auto 70px}
.bbh-srow{display:grid; grid-template-columns:1.15fr .85fr; gap:0; align-items:center; margin-bottom:90px}
.bbh-srow:nth-child(even){grid-template-columns:.85fr 1.15fr}
.bbh-srow:nth-child(even) .bbh-srow-media{order:2}
.bbh-srow-media{position:relative; overflow:hidden; display:block}
.bbh-srow-media img{width:100%; aspect-ratio:4/3; object-fit:cover; transition:transform 1s}
.bbh-srow:hover .bbh-srow-media img{transform:scale(1.04)}
.bbh-srow-num{position:absolute; top:24px; left:24px; z-index:1; font-family:var(--bbh-serif); font-size:64px; line-height:1; color:#fff; text-shadow:0 2px 20px rgba(0,0,0,.35)}
.bbh-srow-body{background:#fff; padding:56px 54px; margin-left:-80px; position:relative; z-index:2; box-shadow:0 30px 60px rgba(43,19,24,.12)}
.bbh-srow:nth-child(even) .bbh-srow-body{margin-left:0; margin-right:-80px}
.bbh .bbh-srow h3{font-family:var(--bbh-serif)!important; font-size:clamp(32px,3.2vw,42px)!important; font-weight:600!important; color:var(--bbh-dark)!important; margin:0 0 8px!important; line-height:1.05!important; text-transform:none!important}
.bbh-srow-meta{display:flex; flex-wrap:wrap; gap:8px 20px; margin:0 0 20px; padding:0 0 20px; border-bottom:1px solid #eedfe2; list-style:none}
.bbh-srow-meta li{margin:0; font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:var(--bbh-gold); font-weight:600; display:flex; align-items:center; gap:8px}
.bbh-srow-meta svg{width:18px; height:18px; stroke:var(--bbh-gold); fill:none; stroke-width:1.5}
.bbh-srow-body p{font-size:15px}
.bbh-chips{display:flex; flex-wrap:wrap; gap:8px; margin:6px 0 30px; padding:0; list-style:none}
.bbh-chips li{margin:0; font-size:12px; padding:6px 12px; background:var(--bbh-cream); color:var(--bbh-dark)}
.bbh-srow-btns{display:flex; gap:12px; flex-wrap:wrap}

@media (max-width:1024px){
  .bbh-sintro-grid{grid-template-columns:1fr; gap:50px}
  .bbh-amen-grid{grid-template-columns:repeat(2,1fr)}
  .bbh-srow,.bbh-srow:nth-child(even){grid-template-columns:1fr}
  .bbh-srow:nth-child(even) .bbh-srow-media{order:0}
  .bbh-srow-body,.bbh-srow:nth-child(even) .bbh-srow-body{margin:-60px 24px 0}
}
@media (max-width:680px){
  .bbh-phero .bbh-wrap{padding-bottom:80px}
  .bbh-sintro,.bbh-amen,.bbh-slist{padding:80px 0}
  .bbh-amen-grid{grid-template-columns:1fr}
  .bbh-srow{margin-bottom:60px}
  .bbh-srow-body,.bbh-srow:nth-child(even) .bbh-srow-body{margin:-40px 12px 0; padding:34px 26px}
  .bbh-srow-num{font-size:46px}
}

/* ================= PAGINA SINGOLA SUITE ================= */
.bbh-shero{position:relative; height:82vh; min-height:520px; max-height:860px; background:var(--bbh-dark); overflow:hidden}
.bbh-shero .bbh-hero-slide{position:absolute; inset:0; background-size:cover; background-position:center; opacity:0; transform:scale(1.05); transition:opacity 1.2s ease, transform 6s ease}
.bbh-shero .bbh-hero-slide.is-active{opacity:1; transform:scale(1)}
.bbh-shero::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(43,19,24,.5) 0%,rgba(43,19,24,.1) 40%,rgba(43,19,24,.8) 100%); pointer-events:none}
.bbh-shero-cap{position:absolute; z-index:2; left:0; right:0; bottom:150px; color:#fff}
.bbh .bbh-shero h1{font-family:var(--bbh-serif)!important; font-size:clamp(48px,7vw,92px)!important; font-weight:600!important; color:#fff!important; line-height:.95!important; margin:0 0 14px!important; text-transform:none!important}
.bbh .bbh-shero h1 em{display:block; font-weight:400; font-size:.34em; margin-top:14px; color:#fff}
.bbh-shero .bbh-hero-arrows{bottom:150px}
.bbh-thumbs{position:absolute; z-index:3; left:0; right:0; bottom:28px}
.bbh-thumbs .bbh-wrap{display:flex; gap:10px; overflow-x:auto; scrollbar-width:none}
.bbh-thumbs .bbh-wrap::-webkit-scrollbar{display:none}
.bbh-thumb{flex:0 0 110px; height:72px; padding:0; border:2px solid transparent; background:none; cursor:pointer; opacity:.6; transition:.3s}
.bbh-thumb img{width:100%; height:100%; object-fit:cover}
.bbh-thumb.is-active,.bbh-thumb:hover{opacity:1; border-color:var(--bbh-light)}
.bbh-counter{position:absolute; z-index:3; top:130px; right:40px; color:#fff; font-family:var(--bbh-serif); font-size:20px; letter-spacing:.1em}
.bbh-counter b{font-size:34px; font-weight:600}

.bbh-facts{background:var(--bbh-dark); color:#fff}
.bbh-facts-grid{display:grid; grid-template-columns:repeat(4,1fr)}
.bbh-fact{padding:34px 20px; text-align:center; border-right:1px solid rgba(255,255,255,.1)}
.bbh-fact:last-child{border-right:0}
.bbh-fact svg{width:34px; height:34px; stroke:var(--bbh-light); fill:none; stroke-width:1.2; margin:0 auto 10px; display:block}
.bbh-fact b{display:block; font-family:var(--bbh-serif); font-size:24px; font-weight:600; line-height:1.1}
.bbh-fact span{font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:rgba(255,255,255,.65)}

.bbh-sdesc{padding:120px 0 100px}
.bbh-sdesc-grid{display:grid; grid-template-columns:1.05fr .95fr; gap:80px; align-items:start}
.bbh .bbh-sdesc h4{font-family:var(--bbh-serif)!important; font-size:26px!important; font-weight:600!important; font-style:italic; color:var(--bbh-gold)!important; margin:28px 0 12px!important; text-transform:none!important; line-height:1.2!important}
.bbh-sdesc-media{position:relative; position:sticky; top:110px}
.bbh-sdesc-media img{width:100%; aspect-ratio:4/5; object-fit:cover}
.bbh-sdesc-media::before{content:""; position:absolute; top:30px; right:-30px; left:30px; bottom:-30px; border:1px solid var(--bbh-gold); z-index:-1}

.bbh-quote{background:var(--bbh-cream); padding:110px 0}
.bbh-quote-grid{display:grid; grid-template-columns:.9fr 1.1fr; gap:80px; align-items:center}
.bbh-quote-media{display:grid; grid-template-columns:1fr 1fr; gap:10px}
.bbh-quote-media a{display:block; overflow:hidden}
.bbh-quote-media a:first-child{grid-row:span 2}
.bbh-quote-media img{width:100%; height:100%; object-fit:cover; min-height:200px; transition:transform .8s}
.bbh-quote-media a:hover img{transform:scale(1.06)}
.bbh-pull{font-family:var(--bbh-serif); font-size:clamp(24px,2.4vw,30px); font-style:italic; line-height:1.4; color:var(--bbh-dark); border-left:2px solid var(--bbh-gold); padding:6px 0 6px 28px; margin:30px 0 0}

.bbh-serv{padding:120px 0}
.bbh-serv-head{text-align:center; max-width:700px; margin:0 auto 50px}
.bbh-serv-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:#ecdadd; border:1px solid #ecdadd; margin-bottom:50px}
.bbh-serv-item{background:#fff; padding:30px 28px; display:flex; align-items:center; gap:20px; transition:.3s}
.bbh-serv-item:hover{background:var(--bbh-cream)}
.bbh-serv-item img{width:44px; height:44px; object-fit:contain; flex:none}
.bbh-serv-item b{display:block; font-size:13px; letter-spacing:.12em; text-transform:uppercase; color:var(--bbh-dark); font-weight:600}
.bbh-serv-item small{font-size:13px; color:var(--bbh-text)}

.bbh-others{background:var(--bbh-cream); padding:100px 0}
.bbh-others-head{text-align:center; margin-bottom:46px}
.bbh-others-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px}
.bbh-other{position:relative; display:block; overflow:hidden; aspect-ratio:4/3}
.bbh-other img{width:100%; height:100%; object-fit:cover; transition:transform .8s}
.bbh-other:hover img{transform:scale(1.06)}
.bbh-other::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 40%,rgba(43,19,24,.85))}
.bbh-other div{position:absolute; z-index:1; left:26px; bottom:22px; color:#fff}
.bbh-other b{display:block; font-family:var(--bbh-serif); font-size:28px; font-weight:600; line-height:1.1}
.bbh-other span{font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--bbh-light)}

@media (max-width:1024px){
  .bbh-sdesc-grid,.bbh-quote-grid{grid-template-columns:1fr; gap:60px}
  .bbh-sdesc-media{position:relative; top:0}
  .bbh-serv-grid{grid-template-columns:repeat(2,1fr)}
  .bbh-facts-grid{grid-template-columns:repeat(2,1fr)}
  .bbh-fact:nth-child(2){border-right:0}
  .bbh-fact{border-bottom:1px solid rgba(255,255,255,.1)}
  .bbh-others-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:680px){
  .bbh-shero{height:78vh}
  .bbh-shero-cap{bottom:120px}
  .bbh-thumb{flex-basis:76px; height:52px}
  .bbh-counter{top:100px; right:20px}
  .bbh-sdesc,.bbh-quote,.bbh-serv,.bbh-others{padding:80px 0}
  .bbh-sdesc-media::before{right:-14px; left:14px; top:14px; bottom:-14px}
  .bbh-serv-grid,.bbh-others-grid{grid-template-columns:1fr}
}

/* ================= PAGINA CONTATTI ================= */
.bbh-phero{position:relative; height:62vh; min-height:440px; max-height:640px; background-size:cover; background-position:center; display:flex; align-items:flex-end}
.bbh-cwrap{padding:110px 0}
.bbh-cgrid{display:grid; grid-template-columns:.9fr 1.1fr; gap:70px; align-items:start}
.bbh-ccards{display:grid; gap:14px; margin-top:30px}
.bbh-ccard{display:flex; gap:18px; align-items:center; padding:22px 24px; background:var(--bbh-cream); border-left:2px solid var(--bbh-gold); transition:.3s; color:var(--bbh-dark)!important}
a.bbh-ccard:hover{background:#f1e2e5; transform:translateX(4px)}
.bbh-ccard svg{width:30px; height:30px; stroke:var(--bbh-gold); fill:none; stroke-width:1.4; flex:none}
.bbh-ccard.wa svg{fill:#25D366; stroke:none}
.bbh-ccard small{display:block; font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:var(--bbh-gold); font-weight:600; margin-bottom:2px}
.bbh-ccard b{font-family:var(--bbh-serif); font-size:22px; font-weight:600; line-height:1.2; word-break:break-word}
.bbh-cform{background:#fff; box-shadow:0 30px 60px rgba(43,19,24,.12); padding:50px 46px; border-top:3px solid var(--bbh-gold)}
.bbh-cform .bbh-title{font-size:clamp(28px,3vw,38px)!important}
.bbh-frow{display:grid; grid-template-columns:1fr 1fr; gap:16px}
.bbh-fgroup{margin-bottom:16px}
.bbh-fgroup label{display:block; font-size:10px; letter-spacing:.2em; text-transform:uppercase; color:var(--bbh-gold); font-weight:600; margin:0 0 6px}
.bbh .bbh-fgroup input,.bbh .bbh-fgroup select,.bbh .bbh-fgroup textarea{width:100%; border:1px solid #e6d3d7!important; background:#fdfafa!important; padding:13px 14px!important; height:auto!important; font:15px var(--bbh-sans)!important; color:var(--bbh-dark)!important; border-radius:0!important; box-shadow:none!important; outline:none; transition:border-color .2s}
.bbh .bbh-fgroup input:focus,.bbh .bbh-fgroup select:focus,.bbh .bbh-fgroup textarea:focus{border-color:var(--bbh-gold)!important; background:#fff!important}
.bbh .bbh-fgroup textarea{min-height:130px; resize:vertical}
.bbh-privacy{display:flex; gap:10px; align-items:flex-start; font-size:12px; line-height:1.5; margin:6px 0 22px}
.bbh .bbh-privacy input{width:16px!important; height:16px!important; margin:2px 0 0!important; flex:none; accent-color:var(--bbh-gold)}
.bbh-privacy a{color:var(--bbh-gold)!important; text-decoration:underline!important}
.bbh-fbtns{display:flex; gap:12px; flex-wrap:wrap}
.bbh-fbtns .bbh-btn{flex:1; text-align:center}
.bbh-fmsg{display:none; margin-top:16px; padding:14px 16px; background:var(--bbh-cream); font-size:14px; color:var(--bbh-dark)}
.bbh-fmsg.is-show{display:block}

.bbh-reach{background:var(--bbh-cream); padding:110px 0}
.bbh-reach-head{text-align:center; max-width:700px; margin:0 auto 50px}
.bbh-reach-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px}
.bbh-reach-item{background:#fff; padding:40px 34px}
.bbh-reach-item svg{width:40px; height:40px; stroke:var(--bbh-gold); fill:none; stroke-width:1.2; margin-bottom:18px; display:block}
.bbh .bbh-reach-item h3{font-family:var(--bbh-serif)!important; font-size:26px!important; font-weight:600!important; color:var(--bbh-dark)!important; margin:0 0 10px!important; text-transform:none!important}
.bbh-reach-item p{font-size:14px; margin:0 0 16px}
.bbh-reach-item a{font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--bbh-gold)!important; font-weight:600; border-bottom:1px solid var(--bbh-gold); padding-bottom:3px}
.bbh-cmap iframe{display:block; width:100%; height:480px; border:0; filter:grayscale(.85) contrast(1.05)}

@media (max-width:1024px){
  .bbh-cgrid{grid-template-columns:1fr; gap:50px}
  .bbh-reach-grid{grid-template-columns:1fr}
}
@media (max-width:680px){
  .bbh-cwrap,.bbh-reach{padding:80px 0}
  .bbh-cform{padding:36px 22px}
  .bbh-frow{grid-template-columns:1fr; gap:0}
  .bbh-ccard b{font-size:19px}
  .bbh-cmap iframe{height:360px}
}

/* ================= PAGINA TRENI E AUTOBUS ================= */
.bbh-phero{position:relative; height:62vh; min-height:440px; max-height:640px; background-size:cover; background-position:center; display:flex; align-items:flex-end}
.bbh-tintro{padding:110px 0 90px}
.bbh-tintro-grid{display:grid; grid-template-columns:1.1fr .9fr; gap:70px; align-items:center}
.bbh-tintro-img{position:relative}
.bbh-tintro-img img{width:100%; aspect-ratio:4/3; object-fit:cover}
.bbh-tintro-img::before{content:""; position:absolute; top:26px; left:-26px; right:26px; bottom:-26px; border:1px solid var(--bbh-gold); z-index:-1}
.bbh-dist{display:grid; grid-template-columns:repeat(4,1fr); background:var(--bbh-dark); color:#fff}
.bbh-dist div{padding:32px 18px; text-align:center; border-right:1px solid rgba(255,255,255,.1)}
.bbh-dist div:last-child{border-right:0}
.bbh-dist b{display:block; font-family:var(--bbh-serif); font-size:34px; font-weight:600; line-height:1; color:#fff}
.bbh-dist b small{font-size:.5em; font-weight:400; margin-left:4px}
.bbh-dist span{display:block; margin-top:8px; font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--bbh-light)}

.bbh-tsec{padding:110px 0}
.bbh-tsec.alt{background:var(--bbh-cream)}
.bbh-tsec-head{display:flex; justify-content:space-between; align-items:flex-end; gap:40px; flex-wrap:wrap; margin-bottom:46px}
.bbh-tsec-head > div{max-width:640px}
.bbh-ops{display:grid; grid-template-columns:repeat(4,1fr); gap:20px}
.bbh-op{background:#fff; border:1px solid #efe1e4; padding:34px 28px 30px; display:flex; flex-direction:column; transition:.3s}
.bbh-tsec.alt .bbh-op{border-color:#fff}
.bbh-op:hover{box-shadow:0 24px 50px rgba(43,19,24,.1); transform:translateY(-4px)}
.bbh-op-tag{align-self:flex-start; font-size:10px; letter-spacing:.2em; text-transform:uppercase; font-weight:600; color:#fff; background:var(--bbh-gold); padding:5px 10px; margin-bottom:18px}
.bbh .bbh-op h3{font-family:var(--bbh-serif)!important; font-size:26px!important; font-weight:600!important; color:var(--bbh-dark)!important; margin:0 0 10px!important; line-height:1.1!important; text-transform:none!important}
.bbh-op p{font-size:14px; margin:0 0 14px}
.bbh-op ul{list-style:none; margin:0 0 20px; padding:0; flex:1}
.bbh-op li{font-size:13px; padding:6px 0 6px 16px; position:relative; border-bottom:1px solid #f3e8ea; margin:0}
.bbh-op li::before{content:""; position:absolute; left:0; top:13px; width:5px; height:5px; background:var(--bbh-gold); transform:rotate(45deg)}
.bbh-op a{font-size:11px; letter-spacing:.18em; text-transform:uppercase; font-weight:600; color:var(--bbh-gold)!important; border-bottom:1px solid var(--bbh-gold); align-self:flex-start; padding-bottom:3px}

.bbh-air{display:grid; grid-template-columns:1fr 1fr; min-height:620px}
.bbh-air-img{background-size:cover; background-position:center; position:relative}
.bbh-air-img::after{content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(43,19,24,0) 60%,rgba(43,19,24,.35))}
.bbh-air-body{background:var(--bbh-dark); color:rgba(255,255,255,.85); padding:90px 7%}
.bbh-steps{list-style:none; margin:30px 0 26px; padding:0; counter-reset:s}
.bbh-steps li{position:relative; padding:0 0 26px 64px; margin:0; counter-increment:s}
.bbh-steps li::before{content:counter(s,decimal-leading-zero); position:absolute; left:0; top:-4px; font-family:var(--bbh-serif); font-size:36px; color:var(--bbh-light); line-height:1}
.bbh-steps li::after{content:""; position:absolute; left:20px; top:40px; bottom:6px; width:1px; background:rgba(255,255,255,.15)}
.bbh-steps li:last-child::after{display:none}
.bbh-steps b{display:block; color:#fff; font-size:13px; letter-spacing:.14em; text-transform:uppercase; margin-bottom:4px}
.bbh-steps span{font-size:14px}
.bbh-steps em{font-style:normal; color:var(--bbh-light); font-weight:600}
.bbh-note{font-size:12px; color:rgba(255,255,255,.55); border-top:1px solid rgba(255,255,255,.12); padding-top:16px}

.bbh-tickets{display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:#ecdadd; border:1px solid #ecdadd; margin-top:40px}
.bbh-ticket{background:#fff; padding:26px 22px; text-align:center}
.bbh-ticket b{display:block; font-family:var(--bbh-serif); font-size:34px; color:var(--bbh-gold); line-height:1; font-weight:600}
.bbh-ticket span{display:block; font-size:12px; letter-spacing:.1em; text-transform:uppercase; margin-top:8px; color:var(--bbh-dark)}
.bbh-small{font-size:12px; text-align:center; margin-top:14px}

.bbh-trips{display:grid; grid-template-columns:repeat(3,1fr); gap:24px}
.bbh-trip{position:relative; overflow:hidden; aspect-ratio:4/3; display:block}
.bbh-trip img{width:100%; height:100%; object-fit:cover; transition:transform .8s}
.bbh-trip:hover img{transform:scale(1.06)}
.bbh-trip::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(43,19,24,0) 35%,rgba(43,19,24,.88))}
.bbh-trip div{position:absolute; z-index:1; left:26px; right:26px; bottom:22px; color:#fff}
.bbh-trip b{display:block; font-family:var(--bbh-serif); font-size:30px; font-weight:600; line-height:1.05}
.bbh-trip span{display:block; font-size:13px; color:rgba(255,255,255,.85); margin-top:4px}
.bbh-trip i{font-style:normal; display:inline-block; margin-top:10px; font-size:10px; letter-spacing:.2em; text-transform:uppercase; font-weight:600; background:var(--bbh-gold); padding:4px 9px}

.bbh-tips{display:grid; grid-template-columns:repeat(3,1fr); gap:24px}
.bbh-tip{border-top:2px solid var(--bbh-gold); padding:26px 0 0}
.bbh-tip svg{width:34px; height:34px; stroke:var(--bbh-gold); fill:none; stroke-width:1.3; margin-bottom:14px; display:block}
.bbh .bbh-tip h3{font-family:var(--bbh-serif)!important; font-size:24px!important; font-weight:600!important; color:var(--bbh-dark)!important; margin:0 0 8px!important; text-transform:none!important}
.bbh-tip p{font-size:14px; margin:0}

@media (max-width:1024px){
  .bbh-tintro-grid,.bbh-air{grid-template-columns:1fr; gap:50px}
  .bbh-air{gap:0}
  .bbh-air-img{min-height:340px}
  .bbh-ops,.bbh-tickets{grid-template-columns:repeat(2,1fr)}
  .bbh-dist{grid-template-columns:repeat(2,1fr)}
  .bbh-dist div{border-bottom:1px solid rgba(255,255,255,.1)}
  .bbh-trips,.bbh-tips{grid-template-columns:1fr 1fr}
}
@media (max-width:680px){
  .bbh-tintro,.bbh-tsec{padding:80px 0}
  .bbh-tintro-img::before{left:-14px; top:14px; right:14px; bottom:-14px}
  .bbh-ops,.bbh-trips,.bbh-tips{grid-template-columns:1fr}
  .bbh-air-body{padding:70px 24px}
}

/* ================= PAGINA GALLERY ================= */
.bbh-phero{position:relative; height:62vh; min-height:440px; max-height:640px; background-size:cover; background-position:center; display:flex; align-items:flex-end}
.bbh-gal{padding:100px 0 110px}
.bbh-gal-head{text-align:center; max-width:720px; margin:0 auto 40px}
.bbh-filters{display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin:0 0 40px; padding:0; list-style:none}
.bbh-filters li{margin:0}
.bbh-filters button{background:#fff; border:1px solid #e6d3d7; color:var(--bbh-dark); font:600 11px/1 var(--bbh-sans); letter-spacing:.16em; text-transform:uppercase; padding:13px 18px; cursor:pointer; transition:.25s; display:flex; align-items:center; gap:8px}
.bbh-filters button small{font-size:10px; color:var(--bbh-gold); letter-spacing:0}
.bbh-filters button:hover{border-color:var(--bbh-gold); color:var(--bbh-gold)}
.bbh-filters button.is-active{background:var(--bbh-gold); border-color:var(--bbh-gold); color:#fff}
.bbh-filters button.is-active small{color:#fff; opacity:.8}
.bbh-gal-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:14px}
.bbh-gal-item{position:relative; overflow:hidden; display:block; aspect-ratio:4/3; background:var(--bbh-cream)}
.bbh-gal-item.is-hidden{display:none}
.bbh-gal-item img{width:100%; height:100%; object-fit:cover; transition:transform .8s}
.bbh-gal-item:hover img{transform:scale(1.06)}
.bbh-gal-item::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 45%,rgba(43,19,24,.8)); opacity:0; transition:.4s}
.bbh-gal-item:hover::after{opacity:1}
.bbh-gal-cap{position:absolute; z-index:1; left:20px; right:20px; bottom:16px; color:#fff; font-size:11px; letter-spacing:.18em; text-transform:uppercase; font-weight:600; opacity:0; transform:translateY(8px); transition:.4s}
.bbh-gal-item:hover .bbh-gal-cap{opacity:1; transform:none}
.bbh-gal-zoom{position:absolute; z-index:1; top:16px; right:16px; width:40px; height:40px; border-radius:50%!important; background:#fff; color:var(--bbh-gold); display:flex; align-items:center; justify-content:center; font-size:22px; opacity:0; transition:.4s}
.bbh-gal-item:hover .bbh-gal-zoom{opacity:1}
.bbh-lb-cap{position:absolute; left:0; right:0; bottom:22px; text-align:center; color:#fff; font:500 13px/1.5 var(--bbh-sans); padding:0 70px}
.bbh-lb-cap b{color:var(--bbh-light); margin-right:10px; font-weight:700}
@media (max-width:1024px){ .bbh-gal-grid{grid-template-columns:repeat(2,1fr)} }
@media (max-width:680px){
  .bbh-gal{padding:70px 0 80px}
  .bbh-gal-grid{grid-template-columns:1fr 1fr; gap:8px}
  .bbh-filters button{padding:11px 13px}
  .bbh-gal-cap,.bbh-gal-zoom{display:none}
}

/* ===== TIPOGRAFIA: SOLO MONTSERRAT (Bold solo nei titoli) ===== */
.bbh,.bbh-header,.bbh-mnav,.bbh-lightbox{--bbh-serif:'Montserrat',Arial,sans-serif}
.bbh em,.bbh i,.bbh cite,.bbh .bbh-title em,.bbh .bbh-intro h3,.bbh .bbh-sdesc h4,.bbh-review p,.bbh-pull{font-style:normal!important}
.bbh .bbh-title{font-size:clamp(26px,3.1vw,40px)!important; line-height:1.2!important; letter-spacing:-.01em!important}
.bbh .bbh-title strong{font-weight:700}
.bbh .bbh-title em{font-weight:400}
.bbh .bbh-hero h2{font-size:clamp(30px,4.4vw,56px)!important; font-weight:400!important; line-height:1.15!important; letter-spacing:-.01em}
.bbh .bbh-hero h2 strong{font-weight:700}
.bbh .bbh-intro h1{font-size:clamp(34px,4.2vw,54px)!important; font-weight:700!important; letter-spacing:-.02em}
.bbh .bbh-intro h1 span{font-weight:400; font-size:.42em; letter-spacing:0}
.bbh .bbh-intro h3{font-size:19px!important; font-weight:500!important}
.bbh .bbh-phero h1{font-size:clamp(36px,5vw,62px)!important; font-weight:700!important; letter-spacing:-.02em}
.bbh .bbh-phero h1 em{font-weight:400; font-size:.4em; letter-spacing:0}
.bbh .bbh-shero h1{font-size:clamp(40px,6vw,74px)!important; font-weight:700!important; letter-spacing:-.02em}
.bbh .bbh-shero h1 em{font-weight:400; font-size:.3em; letter-spacing:0}
.bbh .bbh-room h3{font-size:22px!important; font-weight:700!important}
.bbh .bbh-srow h3{font-size:clamp(26px,2.6vw,34px)!important; font-weight:700!important; letter-spacing:-.01em}
.bbh .bbh-sdesc h4{font-size:19px!important; font-weight:700!important}
.bbh .bbh-reach-item h3,.bbh .bbh-op h3{font-size:21px!important; font-weight:700!important}
.bbh .bbh-tip h3{font-size:19px!important; font-weight:700!important}
.bbh-review p{font-size:19px; line-height:1.6; font-weight:400}
.bbh-pull{font-size:clamp(18px,1.8vw,22px)!important; font-weight:500}
.bbh-reason-body b,.bbh-other b,.bbh-trip b{font-size:22px!important; font-weight:700!important}
.bbh-booking-label span{font-size:17px!important; font-weight:700!important}
.bbh-ccard b{font-size:17px!important; font-weight:700!important}
.bbh-fact b{font-size:19px!important; font-weight:700!important}
.bbh-dist b{font-size:30px!important; font-weight:700!important}
.bbh-ticket b{font-size:28px!important; font-weight:700!important}
.bbh-gscore b{font-size:48px!important; font-weight:700!important}
.bbh-score b{font-size:34px!important; font-weight:700!important}
.bbh-srow-num{font-size:48px!important; font-weight:700!important}
.bbh-counter{font-size:16px!important}
.bbh-counter b{font-size:28px!important; font-weight:700!important}
.bbh-steps li::before{font-size:30px!important; font-weight:700!important}
.bbh-review::before{font-size:100px!important; font-weight:700!important}

/* ===== SWITCHER LINGUE CON BANDIERINE ===== */
.bbh-flag{width:22px; height:15px; display:inline-block; flex:none; overflow:hidden; box-shadow:0 0 0 1px rgba(0,0,0,.18)}
.bbh-flag svg{width:100%; height:100%; display:block}
.bbh-lang-btn{gap:8px!important}
.bbh-lang-btn b{font-weight:600}
.bbh-lang ul{min-width:0!important; width:100px}
.bbh-lang a{align-items:center; gap:10px!important; padding:8px 18px!important}
.bbh-lang a b{width:auto!important; color:var(--bbh-dark)!important; font-weight:600; letter-spacing:.08em}
.bbh-lang a:hover b{color:var(--bbh-gold)!important}
.bbh-mnav-langs{flex-wrap:wrap}
.bbh-mnav-langs a{display:flex!important; align-items:center; gap:8px}

/* ===== v2: 5 MOTIVI piu luminosi ===== */
.bbh-why{position:relative; background-size:cover; background-position:center; background-attachment:fixed; padding:110px 0!important}
.bbh-why::before{content:""; position:absolute; inset:0; background:linear-gradient(135deg,rgba(123,30,45,.88),rgba(92,21,33,.80))}
.bbh-why .bbh-wrap{position:relative}
.bbh-why .bbh-kicker,.bbh-why .bbh-title.light em{color:#fff!important; opacity:.85}
.bbh-why-grid{gap:22px!important; margin-top:30px!important}
.bbh-why-item{background:rgba(255,255,255,.12)!important; border:1px solid rgba(255,255,255,.28)!important; padding:40px 18px 34px!important;
  -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px); transition:transform .3s, background .3s!important}
.bbh-why-item:hover{background:rgba(255,255,255,.2)!important; transform:translateY(-6px)}
.bbh-why-ico{width:88px; height:88px; border-radius:50%!important; background:#fff; display:flex; align-items:center; justify-content:center; margin:0 auto 20px; box-shadow:0 12px 30px rgba(43,19,24,.25)}
.bbh-why-item .bbh-why-ico svg{width:46px!important; height:46px!important; stroke:var(--bbh-gold)!important; stroke-width:1.5!important; margin:0!important}
.bbh-why-item span{font-size:13px!important; font-weight:600; letter-spacing:.1em!important; color:#fff}

/* ===== v2: frecce del carosello ai lati ===== */
.bbh-carousel{position:relative}
.bbh-carousel-btn{position:absolute; z-index:4; top:var(--bbh-arrow-top,40%); transform:translateY(-50%); width:54px; height:54px; border-radius:50%!important;
  background:#fff; border:0; color:var(--bbh-gold); font-size:22px; line-height:1; cursor:pointer; display:flex; align-items:center; justify-content:center;
  box-shadow:0 10px 30px rgba(43,19,24,.22); transition:background .25s, color .25s, opacity .25s; padding:0}
.bbh-carousel-btn:hover{background:var(--bbh-gold); color:#fff}
.bbh-carousel-btn.prev{left:-27px}
.bbh-carousel-btn.next{right:-27px}
.bbh-carousel-btn[disabled]{opacity:0; pointer-events:none}
.bbh-dots{display:flex; justify-content:center; gap:8px; margin-top:26px}
.bbh-dots button{width:8px; height:8px; padding:0; border:0; border-radius:50%!important; background:#e3cdd1; cursor:pointer; transition:.25s}
.bbh-dots button.is-active{background:var(--bbh-gold); width:26px; border-radius:4px!important}

/* ===== v2: recensioni Google + Booking ===== */
.bbh-rev-av.bk{background:#003580}
.bbh-rev-title{font-size:14px; color:var(--bbh-dark); font-weight:700; line-height:1.3}
.bbh-reviews{background:var(--bbh-cream)}
.bbh-reviews-head{display:flex; justify-content:space-between; align-items:flex-end; gap:30px; flex-wrap:wrap; margin-bottom:44px}
.bbh-badges{display:flex; gap:14px; flex-wrap:wrap}
.bbh-badge-src{display:flex; align-items:center; gap:14px; background:#fff; padding:16px 22px; box-shadow:0 8px 24px rgba(43,19,24,.06)}
.bbh-badge-src .bbh-src-logo{width:34px; height:34px}
.bbh-badge-src b{display:block; font-size:24px; font-weight:700; color:var(--bbh-dark); line-height:1}
.bbh-badge-src small{font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--bbh-text)}
.bbh-badge-src .bbh-stars{font-size:13px; letter-spacing:1px}
.bbh-rev-track{display:grid; grid-auto-flow:column; grid-auto-columns:calc((100% - 48px)/3); gap:24px; overflow-x:auto; scroll-snap-type:x mandatory; scroll-behavior:smooth; scrollbar-width:none; padding:4px 2px 10px}
.bbh-rev-track::-webkit-scrollbar{display:none}
.bbh-rev{scroll-snap-align:start; background:#fff; padding:30px 30px 28px; display:flex; flex-direction:column; box-shadow:0 10px 30px rgba(43,19,24,.06)}
.bbh-rev-top{display:flex; align-items:center; gap:12px; margin-bottom:16px}
.bbh-rev-av{width:44px; height:44px; border-radius:50%!important; background:var(--bbh-gold); color:#fff; display:flex; align-items:center; justify-content:center; font-weight:700; font-size:17px; flex:none}
.bbh-rev-who{flex:1; min-width:0}
.bbh-rev-who b{display:block; font-size:15px; color:var(--bbh-dark); white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.bbh-rev-who small{font-size:12px; color:var(--bbh-text)}
.bbh-src-logo{width:26px; height:26px; flex:none; display:block}
.bbh-src-logo.booking{background:#003580; color:#fff; font:700 15px/26px Arial,sans-serif; text-align:center; border-radius:4px!important}
.bbh-src-logo.booking i{font-style:normal; color:#009fe3}
.bbh-badge-src .bbh-src-logo.booking{font-size:19px; line-height:34px}
.bbh-rev-score{display:flex; align-items:center; gap:10px; margin-bottom:12px}
.bbh-stars{color:#F4B400; font-size:16px; letter-spacing:2px}
.bbh-bk-score{background:#003580; color:#fff; font-weight:700; font-size:13px; padding:4px 8px; border-radius:6px 6px 6px 0!important}
.bbh-rev p{font-size:14.5px; line-height:1.7; margin:0; flex:1; color:var(--bbh-text)}
.bbh-rev-foot{margin-top:18px; padding-top:14px; border-top:1px solid #f1e4e6; font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--bbh-gold); font-weight:600}

@media (max-width:1024px){
  .bbh-rev-track{grid-auto-columns:calc((100% - 24px)/2)}
}
@media (max-width:1024px){ .bbh-why{background-attachment:scroll} }
@media (max-width:680px){
  .bbh-why-item{padding:30px 12px 26px!important}
  .bbh-why-ico{width:72px; height:72px}
  .bbh-why-item .bbh-why-ico svg{width:38px!important; height:38px!important}
  .bbh-carousel-btn{width:44px; height:44px; font-size:18px}
  .bbh-carousel-btn.prev{left:-8px}
  .bbh-carousel-btn.next{right:-8px}
  .bbh-rev-track{grid-auto-columns:88%}
}

/* ===== MAPPA: struttura + stazione ===== */
.bbh-map{width:100%; height:100%; min-height:460px; background:#efe7e8; position:relative; z-index:1}
.bbh-cmap .bbh-map{height:520px}
.bbh .leaflet-container img,.bbh .leaflet-container svg{max-width:none!important; max-height:none!important}
.bbh .leaflet-container{font-family:var(--bbh-sans)!important}
.bbh .leaflet-tile-pane{filter:grayscale(.9) contrast(.92) brightness(1.04)}
.bbh-pin{display:flex; flex-direction:column; align-items:center; transform:translateY(-6px)}
.bbh-pin-dot{width:46px; height:46px; border-radius:50% 50% 50% 0!important; transform:rotate(-45deg); display:flex; align-items:center; justify-content:center; box-shadow:0 8px 20px rgba(43,19,24,.35); border:3px solid #fff}
.bbh-pin-dot svg{width:22px; height:22px; transform:rotate(45deg); stroke:#fff; fill:none; stroke-width:1.8}
.bbh-pin.home .bbh-pin-dot{background:var(--bbh-gold)}
.bbh-pin.station .bbh-pin-dot{background:#2B1318}
.bbh-pin-label{margin-top:8px; background:#fff; color:var(--bbh-dark); font:700 11px/1 var(--bbh-sans); letter-spacing:.08em; text-transform:uppercase; padding:7px 10px; white-space:nowrap; box-shadow:0 6px 16px rgba(43,19,24,.18)}
.bbh-pin.home .bbh-pin-label{background:var(--bbh-gold); color:#fff}
.bbh-dist-tag{display:inline-block; background:#fff; border:2px solid var(--bbh-gold); color:var(--bbh-gold); font:700 12px/1 var(--bbh-sans); padding:8px 12px; white-space:nowrap; box-shadow:0 6px 16px rgba(43,19,24,.18)}
.bbh-dist-tag b{color:var(--bbh-dark)}
.bbh-map-btn{position:absolute; z-index:500; left:16px; bottom:16px; background:#fff; color:var(--bbh-dark)!important; font:700 11px/1 var(--bbh-sans); letter-spacing:.12em; text-transform:uppercase; padding:13px 16px; box-shadow:0 8px 20px rgba(43,19,24,.2); display:flex; align-items:center; gap:8px}
.bbh-map-btn:hover{background:var(--bbh-gold); color:#fff!important}
.bbh-map-btn svg{width:16px; height:16px; stroke:currentColor; fill:none; stroke-width:2}
@media (max-width:680px){ .bbh-map{min-height:380px} .bbh-cmap .bbh-map{height:420px} }

/* ==========================================================================
   PLUGIN: layout, menu WordPress, contenuti Gutenberg, articoli
   ========================================================================== */
html{scroll-behavior:smooth}
body.rs-layout{margin:0; background:#fff}
body.rs-layout .bbh-main{display:block; min-height:40vh}
.bbh-site-footer{width:100%}
.bbh-site-footer .bbh-footer{margin:0}
.rs-solid-header .bbh-header{background:var(--bbh-dark); padding:10px 0; box-shadow:0 6px 30px rgba(0,0,0,.25)}
.rs-solid-header .bbh-header .bbh-logo img{height:48px}
.rs-solid-header .bbh-main{padding-top:84px}
.admin-bar.rs-solid-header .bbh-main{padding-top:84px}
.bbh-menu .sub-menu{list-style:none}
.bbh-mnav ul.bbh-msub{list-style:none}
.bbh-skip{position:absolute; left:-9999px; top:0; z-index:100001; background:#fff; color:var(--bbh-dark); padding:10px 16px}
.bbh-skip:focus{left:10px; top:10px}
.bbh a:focus-visible,.bbh button:focus-visible,.bbh-header a:focus-visible,.bbh-header button:focus-visible{outline:2px solid var(--bbh-light); outline-offset:2px}

/* titolo automatico per pagine senza intestazione (es. Privacy) */
.bbh-ptitle{background:var(--bbh-cream); padding:150px 0 60px; text-align:center}
.bbh .bbh-ptitle h1{font-size:clamp(30px,4vw,48px)!important; font-weight:700!important; color:var(--bbh-dark)!important; margin:0!important; letter-spacing:-.02em; text-transform:none!important}
.rs-solid-header .bbh-ptitle{padding-top:70px}

/* contenuti scritti con l'editor (articoli, pagine semplici, pattern) */
.bbh-entry{max-width:820px; margin:0 auto; padding:70px 24px 90px; font-size:16px; line-height:1.8}
.bbh-main > p,.bbh-main > h2,.bbh-main > h3,.bbh-main > h4,.bbh-main > ul,.bbh-main > ol,.bbh-main > blockquote,.bbh-main > figure:not(.alignfull):not(.alignwide),
.bbh-main > .wp-block-buttons,.bbh-main > .wp-block-table,.bbh-main > .wp-block-details,.bbh-main > .wp-block-separator{max-width:820px; margin-left:auto!important; margin-right:auto!important; padding-left:24px; padding-right:24px}
.bbh-main > .alignwide,.bbh-entry .alignwide{max-width:1240px; margin-left:auto; margin-right:auto; padding-left:24px; padding-right:24px}
.bbh-main > .alignfull{max-width:none; width:100%}
.bbh-main > p:first-child,.bbh-main > h2:first-child{margin-top:60px}
.bbh .bbh-entry h2,.bbh .bbh-main > h2,.bbh .bbh-p h2{font-size:clamp(24px,2.6vw,32px)!important; font-weight:700!important; color:var(--bbh-dark)!important; line-height:1.25!important; margin:1.6em 0 .6em!important; letter-spacing:-.01em; text-transform:none!important}
.bbh .bbh-entry h3,.bbh .bbh-main > h3,.bbh .bbh-p h3{font-size:20px!important; font-weight:700!important; color:var(--bbh-dark)!important; margin:1.4em 0 .5em!important; text-transform:none!important}
.bbh .bbh-entry a:not(.bbh-btn):not(.wp-block-button__link),.bbh .bbh-main > p a{color:var(--bbh-gold)!important; text-decoration:underline!important; text-underline-offset:3px}
.bbh .bbh-entry ul,.bbh .bbh-main > ul{padding-left:1.2em}
.bbh .bbh-entry li{margin:.3em 0}
.bbh .bbh-entry blockquote,.bbh .bbh-main > blockquote{border-left:3px solid var(--bbh-gold); margin:2em 0; padding:.4em 0 .4em 24px; font-size:19px; font-weight:500; color:var(--bbh-dark)}
.bbh .bbh-entry img{height:auto}
.bbh .bbh-entry figure{margin:2em 0}
.bbh .bbh-entry figcaption{font-size:13px; color:#8a7a7d; margin-top:8px}
.bbh .wp-block-button__link{display:inline-block; padding:15px 34px; background:var(--bbh-gold); color:#fff!important; font-size:12px; font-weight:600; letter-spacing:.18em; text-transform:uppercase; border-radius:0!important; text-decoration:none!important; border:1px solid var(--bbh-gold)}
.bbh .wp-block-button__link:hover{background:var(--bbh-gold-dark)}
.bbh .is-style-outline .wp-block-button__link{background:transparent; color:var(--bbh-gold)!important}
.bbh .wp-block-buttons{display:flex; flex-wrap:wrap; gap:12px}
.bbh .wp-block-image img{height:auto}
.bbh .wp-block-columns{display:flex; gap:28px; flex-wrap:wrap}
.bbh .wp-block-column{flex:1 1 0; min-width:220px}
.bbh .wp-block-details{border-bottom:1px solid #ecdadd; padding:16px 0}
.bbh .wp-block-details summary{cursor:pointer; font-weight:700; color:var(--bbh-dark); list-style-position:outside}
.bbh .wp-block-details[open] summary{color:var(--bbh-gold)}
.bbh .wp-block-separator{border:0; border-top:1px solid #ecdadd; margin:3em auto}
.bbh .wp-block-table table{width:100%; border-collapse:collapse}
.bbh .wp-block-table td,.bbh .wp-block-table th{border-bottom:1px solid #ecdadd; padding:10px 8px; text-align:left}

/* ---- SEZIONI PRONTE (pattern Gutenberg) ---- */
.bbh .bbh-p{padding:100px 24px}
.bbh .bbh-p > *{max-width:1240px; margin-left:auto; margin-right:auto}
.bbh .bbh-p.has-cream{background:var(--bbh-cream)}
.bbh .bbh-p-kicker{font-size:12px!important; letter-spacing:.25em; text-transform:uppercase; color:var(--bbh-gold)!important; font-weight:600; margin:0 0 12px!important}
.bbh .bbh-p .bbh-p-title{font-size:clamp(26px,3.1vw,40px)!important; line-height:1.2!important; margin:0 0 22px!important; font-weight:400!important; color:var(--bbh-gold)!important; letter-spacing:-.01em}
.bbh .bbh-p .bbh-p-title strong{display:block; color:var(--bbh-dark); font-weight:700}
.bbh .bbh-p-center{text-align:center}
.bbh .bbh-p-center .wp-block-buttons{justify-content:center}
/* intestazione pagina */
.bbh .bbh-p-hero{position:relative; min-height:62vh; display:flex; flex-direction:column; justify-content:flex-end; align-items:center; text-align:center; padding:160px 24px 100px; color:#fff; overflow:hidden; background:var(--bbh-dark)}
.bbh .bbh-p-hero > .wp-block-image{position:absolute; inset:0; margin:0; max-width:none; z-index:0}
.bbh .bbh-p-hero > .wp-block-image img{width:100%; height:100%; object-fit:cover}
.bbh .bbh-p-hero::after{content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(180deg,rgba(43,19,24,.55) 0%,rgba(43,19,24,.25) 45%,rgba(43,19,24,.78) 100%)}
.bbh .bbh-p-hero > :not(.wp-block-image){position:relative; z-index:2}
.bbh .bbh-p-hero .bbh-p-kicker{color:#fff!important; opacity:.85}
.bbh .bbh-p-hero h1{font-size:clamp(36px,5vw,62px)!important; font-weight:700!important; color:#fff!important; margin:0 0 12px!important; letter-spacing:-.02em; line-height:1.05!important}
.bbh .bbh-p-hero p:not(.bbh-p-kicker){font-size:18px; color:#fff; max-width:640px}
.bbh .bbh-p-hero .wp-block-buttons{justify-content:center; margin-top:14px}
/* testo + immagine */
.bbh .bbh-p-split .wp-block-columns{align-items:center; gap:70px}
.bbh .bbh-p-split .wp-block-image{position:relative; margin:0}
.bbh .bbh-p-split .wp-block-image img{width:100%; aspect-ratio:4/3; object-fit:cover}
/* schede */
.bbh .bbh-p-cards .wp-block-column{background:#fff; border:1px solid #efe1e4; padding:0 0 26px; transition:.3s}
.bbh .bbh-p-cards .wp-block-column:hover{box-shadow:0 24px 50px rgba(43,19,24,.1); transform:translateY(-4px)}
.bbh .bbh-p-cards .wp-block-column > *:not(.wp-block-image){padding-left:26px; padding-right:26px}
.bbh .bbh-p-cards .wp-block-image{margin:0 0 22px}
.bbh .bbh-p-cards .wp-block-image img{width:100%; aspect-ratio:4/3; object-fit:cover}
.bbh .bbh-p-cards h3{margin-top:0!important}
/* elenco servizi */
.bbh .bbh-p-list ul{list-style:none!important; padding:0!important; display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:#ecdadd; border:1px solid #ecdadd}
.bbh .bbh-p-list li{background:#fff; margin:0!important; padding:20px 22px 20px 48px; position:relative; font-weight:500; color:var(--bbh-dark)}
.bbh .bbh-p-list li::before{content:""; position:absolute; left:22px; top:27px; width:8px; height:8px; background:var(--bbh-gold); transform:rotate(45deg)}
/* domande frequenti */
.bbh .bbh-p-faq > .wp-block-details{max-width:820px}
/* invito alla prenotazione */
.bbh .bbh-p-cta{background:var(--bbh-dark); color:rgba(255,255,255,.85); text-align:center}
.bbh .bbh-p-cta .bbh-p-title{color:var(--bbh-light)!important}
.bbh .bbh-p-cta .bbh-p-title strong{color:#fff}
.bbh .bbh-p-cta .wp-block-buttons{justify-content:center}
.bbh .bbh-p-cta .is-style-outline .wp-block-button__link{border-color:#fff; color:#fff!important}

/* ---- ARTICOLI E ARCHIVIO BLOG ---- */
.bbh-post-meta{font-size:12px; letter-spacing:.18em; text-transform:uppercase; color:rgba(255,255,255,.85); margin-top:6px}
.bbh-posts{display:grid; grid-template-columns:repeat(3,1fr); gap:28px; padding:80px 0 100px}
.bbh-post-card{background:#fff; border:1px solid #efe1e4; display:flex; flex-direction:column; transition:.3s}
.bbh-post-card:hover{box-shadow:0 24px 50px rgba(43,19,24,.1); transform:translateY(-4px)}
.bbh-post-card .bbh-post-img{display:block; overflow:hidden; aspect-ratio:4/3; background:var(--bbh-cream)}
.bbh-post-card .bbh-post-img img{width:100%; height:100%; object-fit:cover}
.bbh-post-card-body{padding:26px 26px 30px; display:flex; flex-direction:column; flex:1}
.bbh .bbh-post-card h2{font-size:20px!important; font-weight:700!important; margin:0 0 10px!important; line-height:1.3!important; color:var(--bbh-dark)!important; text-transform:none!important}
.bbh-post-card h2 a{color:inherit!important}
.bbh-post-card p{font-size:14px; flex:1}
.bbh-post-card small{font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--bbh-gold); font-weight:600; margin-bottom:10px}
.bbh-pagination{display:flex; justify-content:center; gap:8px; padding-bottom:90px}
.bbh-pagination .page-numbers{padding:10px 15px; border:1px solid #ecdadd; color:var(--bbh-dark)}
.bbh-pagination .page-numbers.current{background:var(--bbh-gold); color:#fff; border-color:var(--bbh-gold)}

/* ---- DOVE SIAMO ---- */
.bbh-near{padding:110px 0; background:var(--bbh-cream)}
.bbh-near-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px}
.bbh-near-col{background:#fff; padding:34px 30px}
.bbh-near-col svg{width:34px; height:34px; stroke:var(--bbh-gold); fill:none; stroke-width:1.3; display:block; margin-bottom:14px}
.bbh .bbh-near-col h3{font-size:19px!important; font-weight:700!important; color:var(--bbh-dark)!important; margin:0 0 14px!important; text-transform:none!important}
.bbh-near-col ul{list-style:none; margin:0; padding:0}
.bbh-near-col li{display:flex; justify-content:space-between; gap:14px; padding:10px 0; border-bottom:1px solid #f1e4e6; font-size:14px; margin:0}
.bbh-near-col li b{color:var(--bbh-gold); font-weight:700; white-space:nowrap}
.bbh-near-note{font-size:12px; color:#8a7a7d; margin-top:18px; text-align:center}
.bbh-rules{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:#ecdadd; border:1px solid #ecdadd}
.bbh-rule{background:#fff; padding:26px 24px; display:flex; gap:16px; align-items:flex-start}
.bbh-rule svg{width:30px; height:30px; stroke:var(--bbh-gold); fill:none; stroke-width:1.4; flex:none}
.bbh-rule b{display:block; font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--bbh-dark); margin-bottom:4px}
.bbh-rule span{font-size:14px}

/* ---- Elementi del tema WoodMart aggiunti in fondo alla pagina: nascosti sul layout Rose Suites ---- */
body.rs-layout > .wd-close-side,body.rs-layout > .mobile-nav,body.rs-layout > .wd-side-hidden,body.rs-layout > .scrollToTop,
body.rs-layout > .wd-toolbar,body.rs-layout > .wd-search-full-screen,body.rs-layout > .wd-fs-menu,body.rs-layout > .website-wrapper > .whb-header,
body.rs-layout .wd-sticky-social,body.rs-layout .wd-promo-popup,body.rs-layout .login-form-side,body.rs-layout .cart-widget-side{display:none!important}

/* ---- HEADER blindato contro gli stili del tema ---- */
.bbh-header .bbh-burger{display:none!important}
.bbh-header .bbh-menu{display:flex!important}
.bbh-header .bbh-lang,.bbh-header [data-bbh-cta]{display:block!important}
@media (max-width:1080px){
  .bbh-header .bbh-burger{display:block!important}
  .bbh-header .bbh-menu,.bbh-header .bbh-lang,.bbh-header [data-bbh-cta]{display:none!important}
}
.bbh-mnav{display:block!important}
.bbh-mnav:not(.is-open){visibility:hidden}
.bbh-mnav.is-open{visibility:visible}

/* ---- PULSANTI blindati contro gli stili globali del tema (es. WoodMart: button{min-height;padding;radius}) ---- */
:where(.bbh,.bbh-header,.bbh-mnav,.bbh-lightbox) button{min-height:0!important; min-width:0!important; box-shadow:none!important; text-shadow:none!important; line-height:1!important; font-family:var(--bbh-sans)!important}
.bbh .bbh-dots{display:flex!important; justify-content:center; align-items:center; gap:8px; margin-top:26px; line-height:0}
.bbh .bbh-dots button{display:block!important; width:8px!important; height:8px!important; padding:0!important; margin:0!important; border:0!important; border-radius:50%!important;
  background:#e3cdd1!important; font-size:0!important; color:transparent!important; flex:none; cursor:pointer; transition:width .25s, background .25s, border-radius .25s!important; outline-offset:3px}
.bbh .bbh-dots button:hover{background:var(--bbh-light)!important}
.bbh .bbh-dots button.is-active{width:26px!important; border-radius:4px!important; background:var(--bbh-gold)!important}
.bbh .bbh-carousel-btn{width:54px!important; height:54px!important; padding:0!important; border:0!important; border-radius:50%!important; background:var(--bbh-gold)!important; color:#fff!important; font-size:22px!important; text-transform:none!important; letter-spacing:0!important; box-shadow:0 10px 24px rgba(43,19,24,.25)!important}
.bbh .bbh-carousel-btn:hover{background:var(--bbh-gold-dark)!important; color:#fff!important}
.bbh .bbh-arrow{padding:0!important; border-radius:0!important; text-transform:none!important; letter-spacing:0!important; font-size:20px!important; background:transparent!important}
.bbh .bbh-arrow:hover{background:var(--bbh-gold)!important}
.bbh .bbh-thumb{padding:0!important; border-radius:0!important; background:none!important}
.bbh-lightbox button{background:none!important; border:0!important; border-radius:0!important; padding:20px!important; color:#fff!important}
.bbh-header .bbh-lang-btn{padding:9px 12px!important; border-radius:0!important; background:none!important; text-transform:none!important}
.bbh-header .bbh-burger{padding:10px!important; background:none!important; border:0!important; border-radius:0!important}
.bbh-mnav .bbh-acc{padding:16px 0!important; background:none!important; border:0!important; border-radius:0!important}
.bbh .bbh-filters button{border-radius:0!important; min-height:0!important}
@media (max-width:680px){ .bbh .bbh-carousel-btn{width:44px!important; height:44px!important; font-size:18px!important} }

/* ---- FRECCE CAROSELLO: ai lati, posizione blindata ---- */
.bbh .bbh-carousel{position:relative!important}
.bbh .bbh-carousel > .bbh-carousel-btn{position:absolute!important; top:var(--bbh-arrow-top,40%)!important; bottom:auto!important; transform:translateY(-50%)!important;
  margin:0!important; float:none!important; z-index:5!important; display:flex!important; align-items:center; justify-content:center; opacity:1; visibility:visible!important}
.bbh .bbh-carousel > .bbh-carousel-btn.prev{left:-76px!important; right:auto!important}
.bbh .bbh-carousel > .bbh-carousel-btn.next{right:-76px!important; left:auto!important}
.bbh .bbh-carousel > .bbh-carousel-btn[disabled]{opacity:.35!important; pointer-events:none}
@media (max-width:1400px){
  .bbh .bbh-carousel > .bbh-carousel-btn.prev{left:-20px!important}
  .bbh .bbh-carousel > .bbh-carousel-btn.next{right:-20px!important}
}
@media (max-width:680px){
  .bbh .bbh-carousel > .bbh-carousel-btn.prev{left:-6px!important}
  .bbh .bbh-carousel > .bbh-carousel-btn.next{right:-6px!important}
}

/* ---- MENU MOBILE: X di chiusura in alto a destra, blindata ---- */
.bbh-mnav .bbh-mnav-close{position:absolute!important; top:18px!important; right:18px!important; left:auto!important; bottom:auto!important; margin:0!important;
  width:48px!important; height:48px!important; padding:0!important; display:flex!important; align-items:center; justify-content:center;
  background:transparent!important; border:1px solid rgba(255,255,255,.25)!important; border-radius:50%!important; color:#fff!important;
  font-size:30px!important; font-weight:300!important; line-height:1!important; box-shadow:none!important; cursor:pointer; z-index:2; transition:border-color .2s, color .2s}
.bbh-mnav .bbh-mnav-close:hover{border-color:var(--bbh-light)!important; color:var(--bbh-light)!important}
.bbh-mnav .bbh-acc{display:flex!important; align-items:center!important; justify-content:space-between!important; width:100%!important; line-height:1.4!important}
.admin-bar .bbh-mnav{padding-top:110px}
.admin-bar .bbh-mnav .bbh-mnav-close{top:58px!important}

/* ---- BARRA SOCIAL LATERALE ---- */
.bbh-sticky-social{position:fixed; right:0; top:50%; transform:translateY(-50%); z-index:9990; display:flex; flex-direction:column; gap:2px; font-family:var(--bbh-sans)}
.bbh-sticky-social a{position:relative; width:46px; height:46px; display:flex; align-items:center; justify-content:center; background:var(--bbh-gold); color:#fff!important; text-decoration:none!important; transition:background .25s, width .25s}
.bbh-sticky-social a:hover{background:var(--bbh-gold-dark); width:52px}
.bbh-sticky-social svg{width:18px; height:18px; fill:#fff}
.bbh-sticky-social a span{position:absolute; right:100%; top:50%; transform:translateY(-50%); margin-right:8px; background:var(--bbh-dark); color:#fff; font-size:11px; letter-spacing:.12em; text-transform:uppercase; padding:6px 10px; white-space:nowrap; opacity:0; pointer-events:none; transition:opacity .2s}
.bbh-sticky-social a:hover span{opacity:1}
@media (max-width:768px){ .bbh-sticky-social{display:none} }

/* ---- FOOTER a 4 colonne ---- */
.bbh-footer-note{opacity:.7}

/* ---- PAGINA SUITE: barra prenotazione sotto i dati rapidi ---- */
.bbh-facts{padding-bottom:36px}
.bbh-facts + .bbh-booking{margin-top:-36px}
/* niente corsivo finto: solo Montserrat dritto */
.bbh .bbh-intro h1 span,.bbh .bbh-intro h3,.bbh-review p{font-style:normal!important}

/* ---- SERVIZI SUITE (icone in linea) ---- */
.bbh-serv-item > svg{width:40px; height:40px; stroke:var(--bbh-gold); fill:none; stroke-width:1.4; flex:none}

/* ---- GALLERY: senza JavaScript mostra solo le prime 8 in home ---- */
[data-bbh-random] > a:nth-child(n+9){display:none}

@media (max-width:1024px){
  .bbh-posts,.bbh-near-grid{grid-template-columns:1fr 1fr}
  .bbh-rules{grid-template-columns:1fr 1fr}
  .bbh .bbh-p-list ul{grid-template-columns:1fr 1fr}
}
@media (max-width:782px){ .admin-bar.rs-solid-header .bbh-main{padding-top:84px} }
@media (max-width:680px){
  .bbh .bbh-p{padding:70px 20px}
  .bbh-posts,.bbh-near-grid,.bbh-rules{grid-template-columns:1fr}
  .bbh .bbh-p-list ul{grid-template-columns:1fr}
  .bbh .wp-block-columns{flex-direction:column}
  .bbh-near{padding:80px 0}
}

/* =========================================================================
 * POPUP
 * ====================================================================== */
html.bbh-popup-lock,html.bbh-popup-lock body{overflow:hidden!important}
.bbh.bbh-popup{position:fixed!important; inset:0!important; width:auto!important; height:auto!important; box-sizing:border-box!important; overflow:hidden!important; z-index:100000!important; display:flex!important; align-items:center; justify-content:center;
  padding:20px!important; margin:0!important; background:none!important; opacity:0; transition:opacity .3s ease}
.bbh.bbh-popup[hidden]{display:none!important}
.bbh.bbh-popup.is-open{opacity:1}
.bbh-popup-bg{position:absolute; inset:0; background:rgba(43,19,24,.72); backdrop-filter:blur(3px); cursor:pointer}
.bbh-popup-box{position:relative; box-sizing:border-box; width:100%; max-width:720px; max-height:calc(100vh - 40px); max-height:calc(100dvh - 40px); overflow:hidden; display:flex; flex-direction:column;
  background:#fff; border-radius:6px; box-shadow:0 30px 80px rgba(0,0,0,.35); transform:translateY(24px) scale(.98); transition:transform .35s ease}
.bbh-popup.is-open .bbh-popup-box{transform:none}
.bbh-popup--s .bbh-popup-box{max-width:480px}
.bbh-popup--l .bbh-popup-box{max-width:980px}
.bbh .bbh-popup-x{position:absolute!important; top:12px!important; right:12px!important; left:auto!important; margin:0!important; z-index:3; width:44px!important; height:44px!important;
  min-width:0!important; min-height:0!important; padding:0!important; border:0!important; border-radius:50%!important; background:var(--bbh-gold)!important; color:#fff!important;
  font:400 28px/44px var(--bbh-sans)!important; text-align:center!important; cursor:pointer; box-shadow:0 4px 14px rgba(0,0,0,.25)!important; display:block!important}
.bbh .bbh-popup-x:hover{background:var(--bbh-gold-dark)!important}
.bbh .bbh-popup-body.bbh-entry{max-width:none; margin:0; padding:44px 40px 40px; font-size:15px; line-height:1.7; overflow:auto; overflow-x:hidden;
  -webkit-overflow-scrolling:touch; overscroll-behavior:contain; flex:1 1 auto; min-height:0}
.bbh .bbh-popup-body > :first-child{margin-top:0!important}
.bbh .bbh-popup-body > :last-child{margin-bottom:0!important}
.bbh .bbh-popup-body h2{margin-top:0!important}
.bbh .bbh-popup-body figure{margin:0 0 1.2em}
.bbh .bbh-popup-body img{display:block; max-width:100%; height:auto}
/* immagine a tutta larghezza in cima: aggiungi la classe "popup-cover" al blocco Immagine */
.bbh .bbh-popup-body .popup-cover{margin:-44px -40px 28px!important}
.bbh .bbh-popup-body .popup-cover img{width:100%; max-height:320px; object-fit:cover}
.bbh .bbh-popup-body .wp-block-buttons{gap:10px}
.bbh .bbh-popup-body .wp-block-columns{margin-bottom:0}
@media (max-width:600px){
  .bbh.bbh-popup{padding:12px!important; align-items:flex-end}
  .bbh-popup-box{max-height:calc(100dvh - 24px)}
  .bbh .bbh-popup-body.bbh-entry{padding:40px 22px 26px}
  .bbh .bbh-popup-body .popup-cover{margin:-40px -22px 22px!important}
  .bbh .bbh-popup-body .popup-cover img{max-height:200px}
  .bbh .bbh-popup-body .wp-block-columns{flex-direction:column}
}
