/* =========================================================
   BHB Rooms & Suites – Aman Lux Detail + Anfrage
   Background: #191104 (no gradients)
   ========================================================= */

:root{
  --bhb-bg: #191104;
  --bhb-gold: #bea069;
  --bhb-gold2: #a88d5c;

  --bhb-text: rgba(255,255,255,.88);
  --bhb-muted: rgba(255,255,255,.62);

  --bhb-line: rgba(255,255,255,.10);
  --bhb-panel: rgba(255,255,255,.04);

  --bhb-radius: 22px;
  --bhb-radius2: 16px;

  --bhb-shadow: 0 20px 70px rgba(0,0,0,.58);
  --bhb-shadow-soft: 0 14px 40px rgba(0,0,0,.45);
}

/* ===== hard reset just for this module ===== */
.bhb-lux-body .bhb-rs-hero,
.bhb-lux-body .bhb-rs-section,
.bhb-lux-body .bhb-rs-nav,
.bhb-lux-body .bhb-qf-wrap{
  box-sizing: border-box;
}
.bhb-lux-body .bhb-rs-hero *,
.bhb-lux-body .bhb-rs-section *,
.bhb-lux-body .bhb-rs-nav *,
.bhb-lux-body .bhb-qf-wrap *{
  box-sizing: border-box;
}

body.bhb-lux-body{ background: var(--bhb-bg); }

/* wrapper */
.bhb-rs-wrap{
  width: min(1180px, calc(100% - 48px));
  margin: 0 auto;
}
@media (max-width: 560px){
  .bhb-rs-wrap{ width: calc(100% - 26px); }
}

/* ================================
   HERO — fullscreen on load
   ================================ */
.bhb-rs-hero{
  position: relative;
  min-height: 100vh;        /* Fallback */
  min-height: 100svh;       /* iOS/modern */
  overflow: hidden;
  border-bottom: 1px solid rgba(255,255,255,.10);
  background: #191104;
}
.bhb-rs-hero-media{ position:absolute; inset:0; background:#000; }
.bhb-rs-hero-media img{
  width:100%;
  height:100%;
  object-fit: cover;
  display:block;
  transform: scale(1.02);
  filter: saturate(.95) contrast(1.02);
}
.bhb-rs-hero-overlay{
  position:absolute;
  inset:0;
  background:
    radial-gradient(80% 60% at 28% 45%, rgba(0,0,0,.16), rgba(0,0,0,.62) 56%, rgba(0,0,0,.86) 100%),
    linear-gradient(to bottom, rgba(0,0,0,.18), rgba(0,0,0,.74));
  pointer-events:none;
}
.bhb-rs-hero-content{
  position: relative;
  min-height: inherit;
  padding: clamp(28px, 5vw, 64px) 0;
  display:flex;
  align-items:flex-end;
}

.bhb-rs-kicker{
  margin:0 0 10px 0;
  color: var(--bhb-gold);
  text-transform: uppercase;
  letter-spacing: .18em;
  font-size: 12px;
  opacity: .95;
}
.bhb-rs-title{
  margin:0 0 14px 0;
  font-weight: 520;
  font-size: clamp(34px, 4.8vw, 62px);
  line-height: 1.06;
  color: rgba(255,255,255,.92);
}
.bhb-rs-subline{
  margin:0 0 18px 0;
  max-width: 740px;
  color: var(--bhb-muted);
  font-size: 15px;
  line-height: 1.7;
}
.bhb-rs-facts{
  display:flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0 0 22px 0;
}
.bhb-rs-facts .bhb-rs-fact{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding: 10px 12px;
  border-radius: 999px;
  border: 1px solid var(--bhb-line);
  background: rgba(0,0,0,.18);
  backdrop-filter: blur(6px);
  color: rgba(255,255,255,.78);
  font-size: 13px;
  letter-spacing: .02em;
}

/* CTAs + Buttons */
.bhb-rs-ctas{ display:flex; gap:10px; flex-wrap:wrap; }

.bhb-rs-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding: 12px 18px;
  border-radius: 999px;
  font-size: 13px;
  letter-spacing: .12em;
  text-transform: uppercase;
  user-select:none;
  cursor:pointer;
  border: 1px solid transparent;
  transition: transform .16s ease, border-color .16s ease, background .16s ease, opacity .16s ease;
  text-decoration: none !important;
  line-height: 1;
  white-space: nowrap;
}
.bhb-rs-btn:active{ transform: translateY(1px); }

.bhb-rs-btn-primary{
  background: var(--bhb-gold);
  color: #151009;
  border-color: rgba(0,0,0,.22);
  box-shadow: 0 12px 36px rgba(190,160,105,.18);
}
.bhb-rs-btn-primary:hover{ background: var(--bhb-gold2); }

.bhb-rs-btn-ghost{
  background: rgba(0,0,0,.22);
  border-color: var(--bhb-line);
  color: rgba(255,255,255,.86);
}
.bhb-rs-btn-ghost:hover{ border-color: rgba(190,160,105,.55); }

@media (max-width: 560px){
  .bhb-rs-ctas{ width:100%; }
  .bhb-rs-btn{ width:100%; }
}

/* =========================================================
   SECTIONS
   ========================================================= */
.bhb-rs-section{
  padding: 56px 0;
  background: var(--bhb-bg);
}
.bhb-rs-h2{
  margin:0 0 18px 0;
  font-size: 26px;
  font-weight: 520;
  color: rgba(255,255,255,.92);
}
.bhb-rs-hairline{
  height: 1px;
  width: 92px;
  background: rgba(190,160,105,.55);
  margin: 16px 0 22px 0;
}
.bhb-rs-text{
  margin:0;
  color: var(--bhb-muted);
  font-size: 15px;
  line-height: 1.85;
  max-width: 860px;
}

/* =========================================================
   GALLERY
   ========================================================= */
.bhb-rs-gallery{
  margin-top: 18px;
  display:grid;
  grid-template-columns: 1.25fr .75fr;
  gap: 14px;
}
.bhb-rs-gallery-main,
.bhb-rs-gallery-tile{
  border: 1px solid var(--bhb-line);
  background: rgba(0,0,0,.18);
  border-radius: var(--bhb-radius);
  overflow:hidden;
  box-shadow: var(--bhb-shadow);
  padding:0;
  cursor: zoom-in;
  display:block;
  width:100%;
}
.bhb-rs-gallery-main img,
.bhb-rs-gallery-tile img{
  width:100%;
  height:100%;
  object-fit: cover;
  display:block;
  transition: transform .35s ease, opacity .2s ease;
}
.bhb-rs-gallery-main:hover img,
.bhb-rs-gallery-tile:hover img{
  transform: scale(1.02);
  opacity: .96;
}
.bhb-rs-gallery-side{
  display:grid;
  grid-template-rows: 1fr 1fr;
  gap: 14px;
}
@media (max-width: 980px){
  .bhb-rs-gallery{ grid-template-columns: 1fr; }
  .bhb-rs-gallery-side{
    grid-template-columns: 1fr 1fr;
    grid-template-rows: unset;
  }
}
@media (max-width: 560px){
  .bhb-rs-gallery-side{ grid-template-columns: 1fr; }
}

/* =========================================================
   LIGHTBOX
   ========================================================= */
.bhb-rs-lightbox{
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.82);
  display: none;
  align-items:center;
  justify-content:center;
  z-index: 120;
  padding: 24px;
}
.bhb-rs-lightbox.is-open{ display:flex; }
.bhb-rs-lightbox img{
  max-width: min(1200px, 100%);
  max-height: 86vh;
  border-radius: var(--bhb-radius);
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 30px 120px rgba(0,0,0,.82);
}

/* =========================================================
   BHB-STYLE REQUEST MODULE (BHB)
   - fixes your “weird” input sizes by forcing sane defaults
   ========================================================= */
.bhb-qf-wrap{
  display:grid;
  grid-template-columns: 1.25fr .95fr;
  gap: 22px;
  align-items:start;
}
@media (max-width: 1024px){
  .bhb-qf-wrap{ grid-template-columns: 1fr; }
}

/* form controls reset inside qf */
.bhb-qf-wrap input,
.bhb-qf-wrap select,
.bhb-qf-wrap textarea,
.bhb-qf-wrap button{
  font: inherit;
}
.bhb-qf-wrap input,
.bhb-qf-wrap select,
.bhb-qf-wrap textarea{
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}
.bhb-qf-wrap button{
  -webkit-appearance: none;
  appearance: none;
}

/* CALENDAR */
.bhb-qf-cal{
  border:1px solid rgba(255,255,255,.10);
  border-radius: 22px;
  background: rgba(0,0,0,.18);
  box-shadow: 0 18px 60px rgba(0,0,0,.55);
  overflow:hidden;
}
.bhb-qf-cal-head{
  padding: 16px 16px 10px;
  display:grid;
  grid-template-columns: 40px 1fr 40px;
  align-items:center;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.bhb-qf-cal-arrow{
  width:40px;height:40px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(0,0,0,.22);
  color: rgba(255,255,255,.86);
  cursor:pointer;
}
.bhb-qf-cal-arrow:hover{ border-color: rgba(190,160,105,.55); }

.bhb-qf-cal-months{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  justify-items:center;
}
.bhb-qf-month-title{
  font-size: 14px;
  letter-spacing:.08em;
  color: rgba(255,255,255,.88);
  padding: 6px 10px;
  border:1px solid rgba(255,255,255,.10);
  border-radius: 10px;
  background: rgba(0,0,0,.18);
}

.bhb-qf-cal-grids{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  padding: 14px 16px 12px;
}
@media (max-width: 760px){
  .bhb-qf-cal-months{ grid-template-columns: 1fr; }
  .bhb-qf-cal-grids{ grid-template-columns: 1fr; }
}
.bhb-qf-grid{
  border:1px solid rgba(255,255,255,.08);
  border-radius: 16px;
  background: rgba(0,0,0,.16);
  padding: 10px;
}
.bhb-qf-week{
  display:grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 6px;
  margin-bottom: 8px;
  color: rgba(255,255,255,.55);
  font-size: 12px;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.bhb-qf-days{
  display:grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 6px;
}
.bhb-qf-day{
  height: 42px;
  border-radius: 10px;
  border:1px solid rgba(255,255,255,.08);
  background: rgba(0,0,0,.18);
  color: rgba(255,255,255,.82);
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  user-select:none;
}
.bhb-qf-day.is-off{ opacity:.28; cursor:default; }
.bhb-qf-day:hover{ border-color: rgba(190,160,105,.35); }
.bhb-qf-day.is-start,
.bhb-qf-day.is-end{
  background: rgba(190,160,105,.22);
  border-color: rgba(190,160,105,.60);
  color: rgba(255,255,255,.92);
}
.bhb-qf-day.is-inrange{
  background: rgba(190,160,105,.10);
  border-color: rgba(190,160,105,.18);
}

/* legend + note */
.bhb-qf-legend{
  display:flex;
  flex-wrap:wrap;
  gap: 12px 18px;
  padding: 10px 16px 16px;
  color: rgba(255,255,255,.60);
  font-size: 12.5px;
}
.bhb-qf-legend-item{ display:flex; align-items:center; gap:8px; }
.bhb-qf-dot{ width:10px; height:10px; border-radius:999px; display:inline-block; }
.bhb-qf-dot-arrive{ background: rgba(190,160,105,.45); }
.bhb-qf-dot-depart{ background: rgba(255,255,255,.24); }
.bhb-qf-dot-sel{ background: rgba(190,160,105,.85); }
.bhb-qf-note{
  padding: 0 16px 16px;
  color: rgba(255,255,255,.50);
  font-size: 12.5px;
}

/* PANEL */
.bhb-qf-panel{
  border:1px solid rgba(255,255,255,.10);
  border-radius: 22px;
  background: rgba(0,0,0,.18);
  box-shadow: 0 18px 60px rgba(0,0,0,.55);
  overflow:hidden;
  padding: 18px;
}
.bhb-qf-title{
  margin:0;
  font-size: 26px;
  font-weight: 560;
  color: rgba(255,255,255,.92);
}
.bhb-qf-divider{
  height:1px;
  background: rgba(255,255,255,.10);
  margin: 14px 0 14px;
}
.bhb-qf-label{
  display:block;
  margin: 10px 0 8px;
  font-size: 12px;
  letter-spacing:.10em;
  text-transform: uppercase;
  color: rgba(255,255,255,.70);
}
.bhb-qf-field{
  width:100%;
  border-radius: 14px;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(0,0,0,.22);
  color: rgba(255,255,255,.90);
  padding: 12px 12px;
  outline:none;
  font-size: 14px;
}
.bhb-qf-field:focus{
  border-color: rgba(190,160,105,.55);
  box-shadow: 0 0 0 4px rgba(190,160,105,.10);
}

.bhb-qf-select{ position:relative; }
.bhb-qf-select-caret{
  position:absolute;
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
  opacity: .65;
  pointer-events:none;
}

.bhb-qf-accordion{
  width:100%;
  margin-top: 10px;
  padding: 12px 12px;
  border-radius: 14px;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.18);
  color: rgba(255,255,255,.78);
  cursor:pointer;
  display:flex;
  justify-content:space-between;
  align-items:center;
}
.bhb-qf-acc-body{
  margin-top: 10px;
  color: rgba(255,255,255,.62);
  font-size: 13.5px;
  line-height:1.7;
  border:1px solid rgba(255,255,255,.08);
  background: rgba(0,0,0,.16);
  border-radius: 14px;
  padding: 12px;
}

/* stepper cards */
.bhb-qf-occupy{
  display:grid;
  grid-template-columns: 1fr;
  gap: 10px;
  margin-top: 10px;
}
.bhb-qf-occupy-card{
  border:1px solid rgba(255,255,255,.10);
  border-radius: 16px;
  background: rgba(0,0,0,.16);
  padding: 12px;
  display:grid;
  grid-template-columns: 1fr auto;
  gap: 10px;
  align-items:center;
}
.bhb-qf-stepper{ display:flex; align-items:center; gap: 8px; }
.bhb-qf-step{
  width: 38px; height: 38px;
  border-radius: 12px;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(0,0,0,.22);
  color: rgba(255,255,255,.88);
  cursor:pointer;
}
.bhb-qf-step:hover{ border-color: rgba(190,160,105,.55); }
.bhb-qf-step-val{
  width: 56px;
  text-align:center;
  border-radius: 12px;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.16);
  color: rgba(255,255,255,.90);
  padding: 10px 8px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.bhb-qf-step-val input{
  border: none !important;
  background: transparent !important;
  padding: 0 !important;
  text-align: center !important;
  box-shadow: none !important;
}

/* price */
.bhb-qf-price{
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid rgba(255,255,255,.08);
}
.bhb-qf-price-big{
  font-size: 44px;
  line-height:1;
  font-weight: 650;
  color: rgba(255,255,255,.92);
}
.bhb-qf-price-from{
  font-size: 14px;
  letter-spacing:.12em;
  text-transform: uppercase;
  color: rgba(190,160,105,.80);
  margin-right: 10px;
}
.bhb-qf-price-sub{
  margin-top: 10px;
  color: rgba(255,255,255,.65);
  font-size: 13px;
  line-height:1.6;
}
.bhb-qf-price-note{
  margin-top: 10px;
  color: rgba(255,255,255,.48);
  font-size: 12.5px;
  line-height:1.6;
}

/* form grid */
.bhb-qf-form{ margin-top: 14px; }
.bhb-qf-form-grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.bhb-qf-form-wide{ grid-column: 1 / -1; }
@media (max-width: 560px){
  .bhb-qf-form-grid{ grid-template-columns: 1fr; }
}
.bhb-qf-privacy{
  display:flex;
  gap:10px;
  align-items:flex-start;
  margin-top: 12px;
  color: rgba(255,255,255,.62);
  font-size: 12.5px;
  line-height:1.55;
}
.bhb-qf-privacy input{ margin-top: 3px; }
.bhb-qf-actions{
  display:flex;
  justify-content:flex-end;
  gap: 10px;
  margin-top: 14px;
  flex-wrap:wrap;
}

/* marker */
#bhbAnfrageStop{ height:1px; }

/* =========================================================
   NAV POPUP — ONE block ONLY (BHB look)
   JS controls position/right/bottom
========================================================= */
.bhb-rs-nav{
  width: min(360px, calc(100% - 40px));
  border-radius: var(--bhb-radius);
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(12,9,5,.72);
  box-shadow: 0 26px 90px rgba(0,0,0,.62);
  backdrop-filter: blur(10px);
  overflow: hidden;
  z-index: 9999;
  will-change: transform;
}
.bhb-rs-nav-inner{ padding: 18px; }

@media (max-width: 560px){
  .bhb-rs-nav{
    width: calc(100% - 26px);
  }
  .bhb-rs-nav-ctas{ flex-direction: column; }
}

/* ================================
   NAV POPUP — lift above messenger (tuned)
   ================================ */

/* Desktop: nur leicht höher */
:root{
  --bhb-messenger-safe: 34px; /* war 88px -> viel zu hoch */
}

/* Sicherheitsnetz: selbst wenn JS bottom setzt, bleibt es höher */
.bhb-rs-nav{
  bottom: calc(20px + var(--bhb-messenger-safe)) !important;
}

/* Mobile: bisschen mehr Platz */
@media (max-width:560px){
  :root{ --bhb-messenger-safe: 46px; }
  .bhb-rs-nav{
    bottom: calc(13px + var(--bhb-messenger-safe)) !important;
  }
}

/* =========================================================
   HERO — Content position (tuned)
   ========================================================= */

/* wieder näher an “Aman”: unten anliegend, aber mit Luft für Buttons */
.bhb-rs-hero-content{
  align-items: flex-end !important;
  padding-top: clamp(26px, 5vh, 64px) !important;
  padding-bottom: calc(clamp(54px, 10vh, 140px) + 50px) !important; /* Buttons bleiben sichtbar */
}

.bhb-rs-hero-left{
  margin-top: 0 !important;
  max-width: 820px;
  margin-bottom: 80px;
}

/* Buttons immer sichtbar, aber nicht “hochgezogen” */
.bhb-rs-ctas{
  margin-top: 18px;
}

/* Wenn Viewport niedrig ist (Laptop 13" etc.) etwas weniger Bottom-Padding */
@media (max-height: 760px){
  .bhb-rs-hero-content{
    padding-bottom: 72px !important;
  }
}

/* =========================================================
   ANFRAGE — Full width 
   ========================================================= */
#anfrage.bhb-rs-section{
  padding-top: 40px;
  padding-bottom: 90px;
}

/* der bisherige bhb-rs-wrap ist zu schmal -> im Anfragebereich überschreiben */
#anfrage .bhb-rs-wrap{
  width: min(1480px, calc(100% - 64px)) !important;
}

@media (max-width: 560px){
  #anfrage .bhb-rs-wrap{
    width: calc(100% - 26px) !important;
  }
}

/* Layout: links Kalender, rechts Panel – großzügiger  */
#anfrage .bhb-qf-wrap{
  grid-template-columns: 1.35fr 0.65fr !important;
  gap: 28px !important;
  align-items: start;
}

@media (max-width: 1024px){
  #anfrage .bhb-qf-wrap{
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }
}

/* =========================================================
   QF PANEL — BHB Feeling (Aman/BHB)
   ========================================================= */
#anfrage .bhb-qf-panel{
  border-radius: 26px;
  padding: 22px;
  background: rgba(0,0,0,.22);
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 24px 90px rgba(0,0,0,.62);
}

#anfrage .bhb-qf-title{
  font-size: 28px;
  letter-spacing: .02em;
}

#anfrage .bhb-qf-divider{
  height: 1px;
  background: rgba(255,255,255,.12);
  margin: 16px 0 18px;
}

/* Inputs: flacher, “premium”, gleiche Höhe */
#anfrage .bhb-qf-field{
  height: 48px;
  padding: 12px 14px;
  border-radius: 14px;
  background: rgba(0,0,0,.20);
  border: 1px solid rgba(255,255,255,.14);
}

#anfrage textarea.bhb-qf-field{
  height: auto;
  min-height: 120px;
  padding: 14px;
}

/* Labels: like klein + spacing */
#anfrage .bhb-qf-label{
  font-size: 11px;
  letter-spacing: .16em;
  opacity: .85;
}

/* Accordion: cleaner */
#anfrage .bhb-qf-accordion{
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(0,0,0,.16);
}

#anfrage .bhb-qf-acc-body{
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.10);
}

/* Price: mehr – groß, klar */
#anfrage .bhb-qf-price-big{
  font-size: 48px;
  letter-spacing: .01em;
}

/* Steppers: kompakter, cleaner */
#anfrage .bhb-qf-step{
  width: 40px;
  height: 40px;
  border-radius: 12px;
}
#anfrage .bhb-qf-step-val{
  width: 62px;
  border-radius: 12px;
}

/* =========================================================
   CALENDAR — größer + klarer
   ========================================================= */
#anfrage .bhb-qf-cal{
  border-radius: 26px;
}

#anfrage .bhb-qf-cal-grids{
  gap: 18px;
  padding: 16px 18px 14px;
}

#anfrage .bhb-qf-day{
  height: 46px;
  border-radius: 12px;
}

#anfrage .bhb-qf-month-title{
  border-radius: 12px;
  padding: 8px 12px;
}

/* =========================================
   NAV ARROWS — Aman / (OVERRIDE)
   Für: .bhb-rs-nav-controls .bhb-rs-iconbtn
   MUSS GANZ AM ENDE DER CSS DATEI STEHEN
   ========================================= */

.bhb-rs-nav .bhb-rs-nav-controls .bhb-rs-iconbtn{
  width: 40px !important;
  height: 40px !important;
  border-radius: 999px !important;

  border: 1px solid rgba(190,160,105,.45) !important;
  background: rgba(0,0,0,.35) !important;

  color: var(--bhb-gold) !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  font-size: 16px !important;
  line-height: 1 !important;

  box-shadow: none !important;
  transition: background .18s ease, border-color .18s ease, transform .14s ease, box-shadow .18s ease !important;
}

.bhb-rs-nav .bhb-rs-nav-controls .bhb-rs-iconbtn:hover{
  background: rgba(190,160,105,.18) !important;
  border-color: rgba(190,160,105,.85) !important;
  box-shadow: 0 8px 26px rgba(190,160,105,.25) !important;
}

.bhb-rs-nav .bhb-rs-nav-controls .bhb-rs-iconbtn:active{
  transform: translateY(1px) !important;
}

/* COUNT zwischen den Pfeilen */
.bhb-rs-nav-row{
  margin-top: 14px !important;
  padding-top: 0 !important;
  border-top: 0 !important;
}

.bhb-rs-nav .bhb-rs-nav-controls{
  width: 100%;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 12px !important;
}

.bhb-rs-nav .bhb-rs-nav-count{
  min-width: 72px;
  text-align: center;
  color: rgba(255,255,255,.72);
  font-size: 13px;
  letter-spacing: .08em;
}

/* =========================================
   MOBILE: NAV POPUP AUSBLENDEN
========================================= */
@media (max-width: 768px){
  .bhb-rs-nav{ display:none !important; }
}

/* =========================================
   AUSSTATTUNG / ICON GRID
========================================= */
.bhb-rs-icons{
  margin-top: 34px;
}

.bhb-rs-icons-title{
  margin: 0 0 18px 0;
  font-size: 42px;
  font-weight: 520;
  letter-spacing: .02em;
  color: rgba(255,255,255,.92);
}

.bhb-rs-icons-grid{
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 34px 46px;
  align-items: center;
  margin-top: 22px;
}

.bhb-rs-icon-item{
  display:flex;
  align-items:center;
  gap: 14px;
  color: rgba(255,255,255,.72);
  font-size: 18px;
  letter-spacing: .02em;
}

.bhb-rs-icon-item svg{
  width: 36px;
  height: 36px;
  opacity: .75;
}

@media (max-width: 980px){
  .bhb-rs-icons-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px){
  .bhb-rs-icons-title{ font-size: 34px; }
  .bhb-rs-icons-grid{ grid-template-columns: 1fr; gap: 18px; }
}

/* ================================
   NAV — price like BHB
================================ */
.bhb-rs-nav-price{
  margin: 10px 0 14px;
  padding-top: 10px;
  border-top: 1px solid rgba(255,255,255,.08);
}

.bhb-rs-nav-price-big{
  font-size: 34px;
  line-height: 1.05;
  font-weight: 650;
  color: rgba(255,255,255,.92);
  letter-spacing: .01em;
}

.bhb-rs-nav-price-big span{
  font-size: 14px;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgba(190,160,105,.80);
  margin-right: 10px;
}

.bhb-rs-nav-price-sub{
  margin-top: 8px;
  color: rgba(255,255,255,.70);
  font-size: 13px;
  line-height: 1.5;
}

/* count + arrows in one row */
.bhb-rs-nav-row{
  padding-top: 10px;
  border-top: 1px solid rgba(255,255,255,.08);
  margin-top: 12px;
}

.bhb-rs-nav-controls{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap: 10px;
}

.bhb-rs-nav-count{
  color: rgba(255,255,255,.62);
  font-size: 13px;
  letter-spacing: .06em;
  margin-right: 6px;
}

/* =========================================================
   AUSSTATTUNG – 2-ZEILIG, EDEL, MODUL-SAFE
========================================================= */

.bhb-rs-icons{
  /* Platz für Floating-Modul rechts */
  max-width: 900px;
}

/* exakt 3 Spalten → 2 Reihen bei 6 Items */
.bhb-rs-icons-grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(220px, 1fr));
  gap: 36px 64px;
  align-items: center;
}

/* Icon + Text */
.bhb-rs-icon-item{
  display: flex;
  align-items: center;
  gap: 18px;
}

/* Text ruhig & hochwertig */
.bhb-rs-icon-item span{
  line-height: 1.3;
  white-space: nowrap;
}

/* Icons harmonisieren */
.bhb-rs-icon-item svg{
  width: 28px;
  height: 28px;
  stroke-width: 1.35;
  opacity: 0.85;
}

/* Tablet */
@media (max-width: 1200px){
  .bhb-rs-icons{
    max-width: 100%;
  }
  .bhb-rs-icons-grid{
    grid-template-columns: repeat(2, minmax(200px, 1fr));
    gap: 28px 36px;
  }
}

/* Mobile */
@media (max-width: 640px){
  .bhb-rs-icons-grid{
    grid-template-columns: 1fr;
    gap: 20px;
  }
}

/* =========================================
   Calendar legend like BHB (no prices)
========================================= */
.bhb-qf-legend{
  display:flex;
  flex-wrap:wrap;
  gap: 14px 22px;
  padding: 12px 16px 16px;
  color: rgba(255,255,255,.62);
  font-size: 12.5px;
}

.bhb-qf-legend-item{ display:flex; align-items:center; gap:10px; }

.bhb-qf-dot{
  width:10px; height:10px; border-radius:999px;
  display:inline-block;
  box-shadow: 0 0 0 1px rgba(255,255,255,.10) inset;
}

/* Anreise möglich */
.bhb-qf-dot-arrive{ background: rgba(190,160,105,.70); }

/* Abreise an diesem Tag nicht möglich */
.bhb-qf-dot-depart{ background: rgba(255,255,255,.22); }

/* Ihre Auswahl */
.bhb-qf-dot-sel{ background: rgba(190,160,105,.95); }

/* =========================================
   Calendar states
========================================= */
.bhb-qf-day.is-disabled{
  opacity:.22;
  cursor:not-allowed;
}

.bhb-qf-day.is-depart-blocked{
  opacity:.30;
  cursor:not-allowed;
  position: relative;
}

/* optional: subtle "blocked" hint */
.bhb-qf-day.is-depart-blocked::after{
  content:"";
  position:absolute;
  inset: 8px;
  border-radius: 10px;
  border: 1px dashed rgba(255,255,255,.18);
  pointer-events:none;
}

.bhb-qf-dates{
  margin-top: 12px;
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.14);
  display:flex;
  align-items:center;
  gap: 14px;
}

.bhb-qf-date{ display:flex; flex-direction:column; gap:6px; }
.bhb-qf-date-label{
  font-size: 11px;
  letter-spacing:.16em;
  text-transform: uppercase;
  color: rgba(255,255,255,.55);
}
.bhb-qf-date-val{
  font-size: 15px;
  color: rgba(255,255,255,.86);
}

.bhb-qf-date-sep{
  width: 1px;
  align-self: stretch;
  background: rgba(255,255,255,.10);
  margin: 0 2px;
}

/* Select: native Pfeile entfernen */
.bhb-qf-select select,
select.bhb-qf-field{
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  background-image: none !important;
}

/* Platz für deinen Caret rechts */
.bhb-qf-select .bhb-qf-field{
  padding-right: 44px !important;
}

/* Caret exakt und cleaner */
.bhb-qf-select-caret{
  right: 16px !important;
  font-size: 16px;
  opacity: .70;
}

/* Number input spinner entfernen (Chrome/Safari/Edge) */
.bhb-qf-step-val input[type="number"]::-webkit-outer-spin-button,
.bhb-qf-step-val input[type="number"]::-webkit-inner-spin-button{
  -webkit-appearance: none;
  margin: 0;
}

/* Firefox */
.bhb-qf-step-val input[type="number"]{
  -moz-appearance: textfield;
  appearance: textfield;
}

/* =========================================
   FULL-WIDTH DIVIDER before footer
   (zwischen Anfrage und Footer)
========================================= */
#tm-footer{
  position: relative;
}

#tm-footer::before{
  content:"";
  position:absolute;
  left:0; right:0;
  top:0;
  height:1px;
  background: rgba(190,160,105,.20); /* gold hairline */
  box-shadow: 0 1px 0 rgba(255,255,255,.04);
}

/* =========================================
   FORM ACTIONS — Button states
========================================= */
#rsForm .bhb-qf-actions{
  gap: 14px;
}

#rsBackTop{
  opacity: .92;
}

#rsSend{
  position: relative;
}

/* Disabled state: elegant + eindeutig */
#rsSend.is-disabled,
#rsSend:disabled{
  opacity: .45;
  cursor: not-allowed;
  filter: saturate(.65);
  box-shadow: none !important;
}

/* Optional: “ready glow” wenn valid */
#rsSend.is-ready{
  opacity: 1;
  box-shadow: 0 18px 46px rgba(190,160,105,.22);
}

/* Kleine “processing” Anzeige (optional später) */
#rsSend.is-loading{
  pointer-events:none;
  opacity:.75;
}

/* ================================
   hCaptcha – Aman wrapper
   ================================ */
.bhb-captcha-card{
  margin-top: 14px;
  padding: 16px 16px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.16);
  box-shadow: 0 18px 70px rgba(0,0,0,.55);
  backdrop-filter: blur(10px);
}

.bhb-captcha-inner{
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 86px;
  overflow: hidden; /* falls wir skalieren */
}

/* Widget optisch “kleiner” und eleganter wirken lassen */
.bhb-captcha-inner .h-captcha{
  transform: scale(.94);
  transform-origin: center center;
}

/* Mobile: nicht zu klein skalieren, sonst wird's fummelig */
@media (max-width: 560px){
  .bhb-captcha-card{ padding: 14px 12px; border-radius: 16px; }
  .bhb-captcha-inner .h-captcha{ transform: scale(.98); }
}

.bhb-captcha-card{
  position: relative;
}
.bhb-captcha-card:before{
  content:"";
  position:absolute;
  left: 18px;
  right: 18px;
  top: 0;
  height: 1px;
  background: rgba(190,160,105,.40);
  opacity: .8;
}



.bhb-form-top-error{
  margin: 0 0 12px;
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(0,0,0,.22);
  color: rgba(255,255,255,.86);
  font-size: 13px;
  line-height: 1.5;
}

.bhb-field-error{
  margin-top: 8px;
  color: rgba(255,255,255,.78);
  font-size: 12.5px;
  line-height: 1.45;
}

#rsForm .is-error{
  border-color: rgba(190,160,105,.60) !important;
  box-shadow: 0 0 0 4px rgba(190,160,105,.10) !important;
}

#rsSend.is-loading{
  opacity: .75;
  cursor: progress;
}

.bhb-form-result{
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 22px;
  background: rgba(0,0,0,.18);
  box-shadow: 0 18px 60px rgba(0,0,0,.55);
  padding: 18px;
}

.bhb-form-result-title{
  font-size: 22px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(255,255,255,.92);
  margin-bottom: 8px;
}

.bhb-form-result-text{
  color: rgba(255,255,255,.70);
  font-size: 14px;
  line-height: 1.7;
}

/* Newsletter + Privacy Zeile (Aman) */
.bhb-qf-privacy{
  margin-top: 16px;
  padding: 14px 14px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.14);
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

.bhb-qf-privacy input[type="checkbox"]{
  width: 38px;
  height: 24px;
  margin-top: 3px;
  accent-color: var(--bhb-gold);
}

.bhb-qf-privacy a{
  color: rgba(190,160,105,.92);
  text-decoration: none;
  border-bottom: 1px solid rgba(190,160,105,.35);
}
.bhb-qf-privacy a:hover{
  border-bottom-color: rgba(190,160,105,.70);
}/* Bottom actions row */
.bhb-qf-actions{
  margin-top: 18px;
  display:flex;
  gap: 12px;
  justify-content: flex-end;
  flex-wrap: wrap;
}

/* Zurück nach oben = Ghost */
#rsBackTop{
  background: rgba(0,0,0,.18);
  border: 1px solid rgba(255,255,255,.14);
  color: rgba(255,255,255,.80);
  box-shadow: none;
}
#rsBackTop:hover{
  border-color: rgba(190,160,105,.55);
  color: rgba(255,255,255,.92);
}

/* Anfrage senden = Primary (aber nur wenn ready) */
#rsSend{
  background: rgba(190,160,105,.22);
  border: 1px solid rgba(190,160,105,.25);
  color: rgba(255,255,255,.55);
  box-shadow: none;
}

/* Disabled Look */
#rsSend.is-disabled{
  opacity: .55;
  filter: saturate(.6);
  cursor: not-allowed;
}

/* Ready Look (Aman Gold) */
#rsSend.is-ready{
  background: var(--bhb-gold);
  border-color: rgba(0,0,0,.22);
  color: #151009;
  box-shadow: 0 14px 40px rgba(190,160,105,.16);
}

/* Loading */
#rsSend.is-loading{
  opacity: .9;
  pointer-events:none;
}

/* =========================================================
   SILENT hCAPTCHA — AMAN STYLE
========================================================= */
.bhb-captcha-silent{
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid rgba(255,255,255,.08); /* feine Aman-Trennlinie */

  display: flex;
  justify-content: flex-start;
}

/* hCaptcha eingebettet, nicht „Klotz“ */
.bhb-captcha-silent .h-captcha{
  background: rgba(0,0,0,.18);
  border-radius: 16px;
  padding: 14px 16px;
  border: 1px solid rgba(255,255,255,.14);
  box-shadow: 0 14px 40px rgba(0,0,0,.35);
  backdrop-filter: blur(10px);

  transform: scale(.92);               /* 👈 ruhiger */
  transform-origin: left center;
}

/* =========================================================
   Buttons — kleiner, leiser, Aman
========================================================= */
.bhb-qf-actions{
  margin-top: 22px;
  display: flex;
  justify-content: flex-end;
  gap: 12px;
}

.bhb-btn-compact{
  padding: 10px 16px !important;
  font-size: 11px !important;
  letter-spacing: .18em !important;
  border-radius: 999px !important;
  min-height: 42px;
}

/* Ghost Button */
.bhb-rs-btn-ghost.bhb-btn-compact{
  background: transparent !important;
  border-color: rgba(255,255,255,.14) !important;
  color: rgba(255,255,255,.65) !important;
}

.bhb-rs-btn-ghost.bhb-btn-compact:hover{
  border-color: rgba(190,160,105,.45) !important;
  color: rgba(255,255,255,.85) !important;
}

/* Primary Button (nur aktiv sichtbar!) */
.bhb-rs-btn-primary.bhb-btn-compact{
  box-shadow: 0 10px 26px rgba(190,160,105,.18) !important;
}

/* disabled → fast unsichtbar */
.bhb-rs-btn-primary.is-disabled{
  opacity: .45;
  box-shadow: none !important;
}

/* =========================================================
   Mobile
========================================================= */
@media (max-width: 640px){
  .bhb-captcha-silent .h-captcha{
    transform: scale(.90);
  }
  .bhb-qf-actions{
    flex-direction: column;
  }
  .bhb-btn-compact{
    width: 100%;
  }
}

/* =========================================================
   FIX: hCaptcha zentrieren + Doppellinie entfernen
   (am ENDE deiner CSS einfügen)
========================================================= */

/* 1) Die extra Linie killen (du hast sie mit :before selbst erzeugt) */
.bhb-captcha-card:before{
  display:none !important;
  content:none !important;
}

/* 2) Den alten "silent" Block komplett neutralisieren (macht links + zweite Linie) */
.bhb-captcha-silent{
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  display: block !important; /* egal, aber ohne flex/left */
}
.bhb-captcha-silent .h-captcha{
  transform: none !important;
  transform-origin: center center !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* 3) hCaptcha IMMER zentrieren (egal was hCaptcha intern macht) */
.bhb-captcha-inner{
  width: 100% !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
}

.bhb-captcha-inner .h-captcha{
  margin: 0 auto !important;
  display: inline-block !important;
  transform: scale(.94) !important;
  transform-origin: center center !important;
}

/* Mobile: minimal größer lassen */
@media (max-width:560px){
  .bhb-captcha-inner .h-captcha{
    transform: scale(.98) !important;
  }
}

/* =========================================================
   HOTFIX — hCaptcha wirklich mittig + Newsletter Button größer
   (GANZ AM ENDE der CSS einfügen)
========================================================= */

/* ---------- hCaptcha: ALLES zentrieren, egal was vorher war ---------- */

/* 1) Card als Center-Container */
.bhb-captcha-card{
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  width:100% !important;
}

/* 2) Inner ebenfalls center + volle Breite */
.bhb-captcha-inner{
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  width:100% !important;
  min-height: 86px !important;
}

/* 3) Widget-Wrapper (h-captcha) darf NICHT links “kleben” */
.bhb-captcha-card .h-captcha,
.bhb-captcha-inner .h-captcha{
  display:block !important;
  margin-left:auto !important;
  margin-right:auto !important;
  float:none !important;
  position:relative !important;
  left:auto !important;
  right:auto !important;
  transform:none !important;            /* <- killt alle verschiebenden transforms */
}

/* 4) Wenn hCaptcha ein iframe reinsetzt: iframe ebenfalls mittig */
.bhb-captcha-card .h-captcha iframe,
.bhb-captcha-inner .h-captcha iframe{
  display:block !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* 5) Doppellinien: alles weg, was du dir “aus Versehen” reingezogen hast */
.bhb-captcha-card:before{
  content:none !important;
  display:none !important;
}
.bhb-captcha-silent{
  border:0 !important;
  padding:0 !important;
  margin:0 !important;
}

/* Optional: Aman-Rahmen NUR 1x über die Card (wenn du ihn willst) */
.bhb-captcha-card{
  border: 1px solid rgba(255,255,255,.10) !important;
  background: rgba(0,0,0,.16) !important;
  box-shadow: 0 18px 70px rgba(0,0,0,.55) !important;
  border-radius: 18px !important;
}

/* Occupancy / Zusatzpreis – Aman Style */
.bhb-qf-occupy-sub{
  font-size: 11px;
  line-height: 1.45;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: rgba(255,255,255,.55);
  margin-top: 4px;
}

/* =========================================================
   BHB — Aman Accordion (Wissenswertes)
   Background stays #191104
========================================================= */

.bhb-stayinfo{
  background: var(--bhb-bg, #191104);
  padding: 54px 0;
}

.bhb-stayinfo-wrap{
  width: min(1180px, calc(100% - 48px));
  margin: 0 auto;
}
@media (max-width:560px){
  .bhb-stayinfo-wrap{ width: calc(100% - 26px); }
}

/* ------------------------------
   Accordion Container
------------------------------ */
.bhb-acc{
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 26px;
  background: rgba(0,0,0,.14);
  box-shadow: 0 22px 80px rgba(0,0,0,.52);
  overflow: hidden;
}

.bhb-acc-summary{
  list-style: none;
  cursor: pointer;
  user-select: none;

  padding: 22px 22px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 14px;
  align-items: center;

  background: rgba(0,0,0,.16);
  border-bottom: 1px solid rgba(255,255,255,.08);
}

/* remove default marker */
.bhb-acc-summary::-webkit-details-marker{ display:none; }
.bhb-acc-summary::marker{ content:""; }

.bhb-acc-kicker{
  display:block;
  font-size: 11px;
  letter-spacing: .24em;
  text-transform: uppercase;
  color: rgba(190,160,105,.80);
  margin-bottom: 6px;
}

.bhb-acc-title{
  display:block;
  font-size: clamp(20px, 2.2vw, 28px);
  letter-spacing: .06em;
  color: rgba(255,255,255,.92);
  line-height: 1.25;
}

.bhb-acc-teaser{
  display:block;
  margin-top: 8px;
  font-size: 13px;
  line-height: 1.65;
  color: rgba(255,255,255,.55);
  max-width: 62ch;
}

/* Chevron icon */
.bhb-acc-icon{
  width: 46px;
  height: 46px;
  border-radius: 999px;
  border: 1px solid rgba(190,160,105,.25);
  background: rgba(0,0,0,.18);
  position: relative;
  box-shadow: 0 12px 30px rgba(0,0,0,.35);
}
.bhb-acc-icon::before{
  content:"";
  position:absolute;
  inset:0;
  margin:auto;
  width: 10px;
  height: 10px;
  border-right: 1.6px solid rgba(255,255,255,.78);
  border-bottom: 1.6px solid rgba(255,255,255,.78);
  transform: rotate(45deg);
  transition: transform .22s ease, opacity .22s ease;
  opacity: .85;
}

.bhb-acc[open] .bhb-acc-icon::before{
  transform: rotate(-135deg);
}

/* Body */
.bhb-acc-body{
  padding: 22px 22px 26px;
}

/* =========================================================
   DEIN CONTENT — Styling (Aman ruhig)
========================================================= */

.bhb-info-title{
  margin: 0 0 18px 0;
  text-align: center;
  font-size: 0; /* versteckt die H2 optisch, weil Summary schon Titel ist */
  height: 0;
  overflow: hidden;
}

/* Liste: 2 Spalten auf Desktop */
.bhb-info-list{
  list-style: none;
  margin: 0;
  padding: 0;

  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: clamp(28px, 5vw, 64px);
  row-gap: 22px;
  align-items: start;
}

.bhb-info-list li{
  position: relative;
  padding-left: 26px;
  color: rgba(255,255,255,.70);
  font-size: 14px;
  line-height: 1.75;
}

.bhb-info-list li::before{
  content:"";
  position:absolute;
  left: 0;
  top: .72em;
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: rgba(190,160,105,.42);
  box-shadow: 0 0 0 3px rgba(190,160,105,.07);
}

.bhb-info-list li > strong{
  display: block;
  margin: 0 0 6px 0;
  font-size: 11px;
  letter-spacing: .22em;
  text-transform: uppercase;
  font-weight: 600;
  color: rgba(255,255,255,.88);
}

.bhb-info-list li > span{
  display: block;
  margin-top: 6px;
  font-size: 12.5px;
  line-height: 1.65;
  color: rgba(255,255,255,.52);
}

/* Stornierung über beide Spalten */
.bhb-info-list .bhb-cancel-item{
  grid-column: 1 / -1;
  padding-left: 0;
}
.bhb-info-list .bhb-cancel-item::before{ display:none; }

.bhb-cancel-head{
  margin: 0 0 12px 0;
  padding-left: 26px;
  position: relative;
}
.bhb-cancel-head::before{
  content:"";
  position:absolute;
  left: 0;
  top: .72em;
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: rgba(190,160,105,.42);
  box-shadow: 0 0 0 3px rgba(190,160,105,.07);
}
.bhb-cancel-head > strong{
  display:block;
  font-size: 11px;
  letter-spacing: .22em;
  text-transform: uppercase;
  font-weight: 600;
  color: rgba(255,255,255,.88);
}

.bhb-cancel-grid{
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 18px;
  background: rgba(0,0,0,.14);
  overflow: hidden;
}

.bhb-cancel-row{
  display:grid;
  grid-template-columns: 1fr auto;
  gap: 18px;
  padding: 14px 16px;
  border-top: 1px solid rgba(255,255,255,.08);
}
.bhb-cancel-row:first-child{ border-top:none; }

.bhb-cancel-row > div:first-child{
  color: rgba(255,255,255,.66);
  font-size: 13.5px;
  line-height: 1.55;
}
.bhb-cancel-row > div:last-child{
  color: rgba(255,255,255,.88);
  font-size: 13.5px;
  letter-spacing: .12em;
  text-transform: uppercase;
  white-space: nowrap;
  padding-left: 10px;
}

/* Responsive */
@media (max-width: 900px){
  .bhb-info-list{ grid-template-columns: 1fr; row-gap: 18px; }
  .bhb-info-list .bhb-cancel-item{ grid-column: auto; }
  .bhb-acc-summary{ padding: 18px 16px; }
  .bhb-acc-body{ padding: 18px 16px 22px; }
}

/* =========================================================
   FIX (Detailseite): Summary-Grid korrekt belegen
   -> Text immer links (Spalte 1), Icon immer rechts (Spalte 2)
   -> ans ENDE der custom.css
========================================================= */

.bhb-stayinfo .bhb-acc-summary{
  display: grid;
  grid-template-columns: 1fr 74px;  /* links Text | rechts Icon */
  column-gap: 18px;
  align-items: center;
  text-align: left !important;
}

/* Alle Text-Bausteine: NUR Spalte 1 */
.bhb-stayinfo .bhb-acc-summary .bhb-acc-kicker,
.bhb-stayinfo .bhb-acc-summary .bhb-acc-title,
.bhb-stayinfo .bhb-acc-summary .bhb-acc-teaser{
  grid-column: 1 / 2 !important;
  justify-self: start !important;
  text-align: left !important;
}

/* Icon: IMMER rechts, über alle Zeilen zentriert */
.bhb-stayinfo .bhb-acc-summary .bhb-acc-icon{
  grid-column: 2 / 3 !important;
  grid-row: 1 / 4 !important;       /* kicker/title/teaser */
  justify-self: end !important;
  align-self: center !important;
}

/* Sicherheit: verhindert, dass irgendwas den Title rechts “zieht” */
.bhb-stayinfo .bhb-acc-summary > *{
  margin: 0;
}

/* =========================================================
   MOBILE: Wissenswertes unter das Formular (nicht zwischen)
   (HTML bleibt wie es ist)
========================================================= */
@media (max-width: 768px){

  /* Parent muss ein Grid werden */
  .bhb-qf-wrap{
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "cal"
      "panel"
      "stay";
    gap: 18px !important;
  }

  /* Trick: Kinder von .bhb-qf-left werden Grid-Items */
  .bhb-qf-left{
    display: contents !important;
  }

  /* Kalender = oben */
  .bhb-qf-cal{
    grid-area: cal;
  }

  /* Formularpanel = Mitte */
  .bhb-qf-panel{
    grid-area: panel;
  }

  /* Wissenswertes = ganz unten */
  .bhb-qf-left > .bhb-stayinfo{
    grid-area: stay;
    margin-top: 14px;
  }
}

/* =========================================================
   BHB HERO — FIXED BOTTOM OFFSET (EXACT 80px)
   Align hero text block identically in ALL languages
========================================================= */

/* Hero wird zur Referenz */
.bhb-rs-hero{
  position: relative;
}

/* Textblock exakt vom unteren Rand positionieren */
.bhb-rs-hero-content{
  position: absolute !important;
  left: 0;
  right: 0;
  bottom: 200px;           /* ✅ DAS ist der einzige relevante Wert */
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* linker Textblock selbst: keine Eigenverschiebung mehr */
.bhb-rs-hero-left{
  margin: 0 !important;
  padding: 0 !important;
  max-width: 820px;
}

/* Mobile: etwas weniger Abstand (optional, aber empfohlen) */
@media (max-width: 640px){
  .bhb-rs-hero-content{
    bottom: 56px;         /* fühlt sich mobil besser an */
  }
}

/* intl-tel-input: make it match your dark-luxe inputs */
.iti{
  width:100%;
}
.iti__flag-container{
  border-radius: 14px;
}
.iti__selected-flag{
  padding: 0 12px;
}
/* keep plugin spacing clean for THIS input only */
.iti--separate-dial-code #phone{
  padding-left: 112px !important; /* dial code + flag space */
}
.iti__country-list{
  background: #191104;
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 24px 70px rgba(0,0,0,.55);
  border-radius: 14px;
}
.iti__country{
  color: rgba(255,255,255,.85);
}
.iti__country:hover,
.iti__country.iti__highlight{
  background: rgba(190,160,105,.10);
}
.iti__divider{
  border-bottom-color: rgba(255,255,255,.10);
}
.iti__dial-code{
  color: rgba(255,255,255,.55);
}

/* ✅ intl-tel-input: Dial-Code immer sichtbar & sauber im BHB Field */
.iti { width: 100%; }

.iti--separate-dial-code .iti__selected-dial-code{
  display: inline-block !important;
  color: rgba(255,255,255,.88) !important;
  font-size: 16px;
  letter-spacing: .02em;
}

.iti__flag-container{
  padding-left: 14px;
}

.iti--separate-dial-code input[type="tel"]{
  padding-left: 110px !important; /* genug Platz für Flag + DialCode */
}

.iti__selected-flag{
  background: transparent !important;
}

.iti__country-list{
  background: #14100b !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  color: rgba(255,255,255,.9) !important;
}

.iti__country.iti__highlight{
  background: rgba(190,160,105,.14) !important;
}

/* ensure iti renders properly */
.bhb-phone-wrap { position: relative; width: 100%; }
.bhb-phone-wrap .iti { width: 100% !important; }
.bhb-phone-wrap .iti__flag-container { z-index: 5; }

/* our own fixed dial-code (cannot be hidden by other CSS) */
.bhb-phone-dial {
  position: absolute;
  left: 64px;                 /* after flag */
  top: 50%;
  transform: translateY(-50%);
  font-size: 16px;
  color: rgba(255,255,255,.92);
  pointer-events: none;
  letter-spacing: .02em;
}

/* push user input text behind the dial-code */
.bhb-phone-wrap input.bhb-phone {
  padding-left: 128px !important;  /* space for flag + +49 */
}

/* FORCE preferred countries to show (some themes hide them) */
.iti__preferred { display: block !important; }
.iti__divider { display: block !important; opacity: .6; }

/* intl-tel-input: dropdown always visible above UIkit/sticky/overlays */
.iti { width: 100%; }
.iti__country-list{
  z-index: 999999 !important;
}

/* ensure flag container is clickable */
.iti__flag-container{
  pointer-events: auto !important;
}

/* =========================================================
   ✅ BHB — MOBILE TOP BAR (Quellenhof-Style)
   NUR OBEN, OHNE Bottom-Bar
   Fix: sitzt NICHT hinter dem BHB Header (tm-headerbar)
   ========================================================= */

@media (max-width: 767px){

  /* --- Höhe deines Mobile-Headers (tm-headerbar) ---
     Falls es bei dir minimal anders ist: 86px → 90/94px anpassen */
  :root{
    --bhb-mobile-header-h: 86px;
  }

  /* Topbar: unter dem bestehenden Header platzieren */
  .bhb-rs-mtop{
    position: fixed;
    left: 0;
    right: 0;

    /* ✅ NICHT top:0; sondern unter dem Header */
    top: var(--bhb-mobile-header-h);

    z-index: 20010;

    display: flex;
    align-items: center;
    justify-content: space-between;

    padding: 12px 14px;

    background: rgba(12,10,7,.72);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);

    border-bottom: 1px solid rgba(201,176,106,.22);
  }

  /* Back-Link links */
  .bhb-rs-mtop-back{
    display: inline-flex;
    align-items: center;
    gap: 10px;
    text-decoration: none !important;
    color: rgba(255,255,255,.92);
    font-size: 15px;
    letter-spacing: .02em;
  }
  .bhb-rs-mtop-back span:first-child{
    width: 28px;
    height: 28px;
    border-radius: 999px;
    display: grid;
    place-items: center;
    background: rgba(201,176,106,.10);
    border: 1px solid rgba(201,176,106,.28);
    color: rgba(201,176,106,.92);
    line-height: 1;
  }

  /* rechts: count + arrows */
  .bhb-rs-mtop-right{
    display:flex;
    align-items:center;
    gap: 12px;
  }
  .bhb-rs-mtop-count{
    color: rgba(255,255,255,.78);
    font-size: 13px;
    letter-spacing: .08em;
    white-space: nowrap;
  }
  .bhb-rs-mtop-arrows{
    display:flex;
    gap: 8px;
  }
  .bhb-rs-mtop-btn{
    width: 34px;
    height: 34px;
    border-radius: 999px;
    border: 1px solid rgba(201,176,106,.35);
    background: rgba(201,176,106,.10);
    color: rgba(255,255,255,.95);
    cursor: pointer;
  }

  /* ✅ Platz schaffen: Content darf nicht unter Header+Topbar rutschen */
  .bhb-rs-hero{
    padding-top: calc(var(--bhb-mobile-header-h) + 56px) !important; /* 56px ~ Topbar-Höhe */
  }

  /* Wenn du irgendwo absolute hero-content bottom/position overrides hast,
     hilft das hier, damit nichts "hochgezogen" wirkt */
  .bhb-rs-hero-content{
    top: auto !important;
  }
}

@media (max-width: 767px){
  :root{
    --bhb-mobile-header-h: 86px; /* fallback */
  }

  .bhb-rs-mtop{
    position: fixed;
    left: 0; right: 0;
    top: calc(var(--bhb-mobile-header-h) + env(safe-area-inset-top, 0px));
    z-index: 20010;
  }
}



/* ================================
   Kinderalter – Aman Tiles
================================ */

.bhb-qf-children-ages{
  margin-top: 12px;
  padding: 14px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.14);
}

.bhb-qf-children-title{
  font-size: 11px;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: rgba(255,255,255,.62);
  margin-bottom: 12px;
}

/* grid: 3 tiles desktop, 1 tile mobile */
.bhb-qf-children-grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

@media (max-width: 640px){
  .bhb-qf-children-grid{
    grid-template-columns: 1fr;
  }
}

/* tile */
.bhb-qf-child-age{
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.16);
  border-radius: 16px;
  padding: 12px;
}

/* label */
.bhb-qf-child-age-label{
  font-size: 10.5px;
  letter-spacing: .20em;
  text-transform: uppercase;
  color: rgba(255,255,255,.55);
  margin-bottom: 8px;
}

/* select wrapper with caret */
.bhb-qf-child-age-select{
  position: relative;
}

.bhb-qf-child-age-select select.bhb-qf-field{
  height: 44px;
  padding: 10px 44px 10px 14px;
  border-radius: 14px;
  background: rgba(0,0,0,.22);
  border: 1px solid rgba(255,255,255,.12);
  color: rgba(255,255,255,.90);
  -webkit-appearance: none;
  appearance: none;
}

.bhb-qf-child-age-caret{
  position: absolute;
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
  opacity: .70;
  pointer-events: none;
  color: rgba(190,160,105,.90);
}

/* ================================
   BHB Custom Room Select (Aman) — UPGRADE (FULL)
================================ */
.bhb-roomselect{position:relative}

/* Trigger */
.bhb-roomselect-btn{
  width:100%;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:6px;
  padding:18px 56px 16px 20px;

  background:rgba(25,17,4,.55);
  border:1px solid rgba(201,176,106,.38);
  border-radius:18px;

  /* Aman: soft inner frame + subtle depth */
  box-shadow:
    0 0 0 1px rgba(255,255,255,.035) inset,
    0 10px 28px rgba(0,0,0,.25);

  color:rgba(255,255,255,.92);
  cursor:pointer;
  text-align:left;
  position:relative;

  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.bhb-roomselect-btn:hover{
  border-color:rgba(201,176,106,.62);
  box-shadow:
    0 0 0 1px rgba(255,255,255,.045) inset,
    0 14px 34px rgba(0,0,0,.32);
}

.bhb-roomselect-btn:focus{outline:none}

.bhb-roomselect-btn:focus-visible{
  border-color:rgba(201,176,106,.78);
  box-shadow:
    0 0 0 1px rgba(255,255,255,.05) inset,
    0 0 0 3px rgba(201,176,106,.18),
    0 16px 40px rgba(0,0,0,.35);
}

.bhb-roomselect-main{
  font-size:22px;
  line-height:1.15;
  letter-spacing:.01em;
}

.bhb-roomselect-sub{
  font-size:13.5px;
  line-height:1.25;
  opacity:.80;
}

.bhb-roomselect-caret{
  position:absolute;
  right:18px;
  top:50%;
  transform:translateY(-50%);
  opacity:.9;
  font-size:18px;
  transition:transform .18s ease, opacity .18s ease;
}

/* caret rotate when open */
.bhb-roomselect.is-open .bhb-roomselect-caret{
  transform:translateY(-50%) rotate(180deg);
  opacity:1;
}

/* Dropdown panel */
.bhb-roomselect-dd{
  position:absolute;
  left:0; right:0;
  top:calc(100% + 10px);

  background:rgba(16,10,2,.985);
  border:1px solid rgba(201,176,106,.38);
  border-radius:18px;

  /* Aman: layered shadow + inner hairline */
  box-shadow:
    0 22px 70px rgba(0,0,0,.62),
    0 0 0 1px rgba(255,255,255,.03) inset;

  overflow:hidden;
  z-index:999;
  display:none;
}

.bhb-roomselect.is-open .bhb-roomselect-dd{display:block}

/* top/bottom fades for premium scroll feel */
.bhb-roomselect-dd::before,
.bhb-roomselect-dd::after{
  content:"";
  position:absolute;
  left:0; right:0;
  height:22px;
  pointer-events:none;
  z-index:2;
}
.bhb-roomselect-dd::before{
  top:0;
  background:linear-gradient(to bottom, rgba(16,10,2,.98), rgba(16,10,2,0));
}
.bhb-roomselect-dd::after{
  bottom:0;
  background:linear-gradient(to top, rgba(16,10,2,.98), rgba(16,10,2,0));
}

/* list */
.bhb-roomselect-list{
  max-height:360px;
  overflow:auto;
  padding:8px 0;
  position:relative;
  z-index:1;
}

/* scrollbar (WebKit) */
.bhb-roomselect-list::-webkit-scrollbar{width:10px}
.bhb-roomselect-list::-webkit-scrollbar-track{background:rgba(255,255,255,.04)}
.bhb-roomselect-list::-webkit-scrollbar-thumb{
  background:rgba(201,176,106,.28);
  border-radius:999px;
  border:2px solid rgba(16,10,2,.985);
}
.bhb-roomselect-list::-webkit-scrollbar-thumb:hover{background:rgba(201,176,106,.40)}

/* item as 2-col grid + hairline separator */
.bhb-roomselect-item{
  width:100%;
  background:transparent;
  border:0;
  cursor:pointer;
  color:rgba(255,255,255,.92);
  text-align:left;

  display:grid;
  grid-template-columns: 1.1fr .9fr;
  gap:14px;

  padding:16px 18px;
  border-radius:0;
  position:relative;

  transition: background .14s ease, transform .14s ease;
}

/* hairline separator */
.bhb-roomselect-item::after{
  content:"";
  position:absolute;
  left:18px;
  right:18px;
  bottom:0;
  height:1px;
  background:rgba(201,176,106,.18);
  opacity:.75;
}
.bhb-roomselect-item:last-child::after{display:none}

/* subtle hover */
.bhb-roomselect-item:hover{background:rgba(255,255,255,.03)}

/* active selection */
.bhb-roomselect-item.is-active{
  background:rgba(201,176,106,.08);
  box-shadow:
    0 0 0 1px rgba(201,176,106,.28) inset,
    0 10px 26px rgba(0,0,0,.22);
}

/* left column */
.bhb-roomselect-item-title{
  font-size:18px;
  line-height:1.18;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  letter-spacing:.01em;
}
.bhb-roomselect-item-sub{
  margin-top:6px;
  font-size:13px;
  line-height:1.25;
  opacity:.78;
}

/* right column */
.bhb-roomselect-item-right{
  text-align:right;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  justify-content:flex-start;
  gap:8px;
}
.bhb-roomselect-item-price{
  font-size:16px;
  font-weight:600;
  letter-spacing:.01em;
}
.bhb-roomselect-item-badge{
  font-size:12px;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid rgba(201,176,106,.34);
  background:rgba(201,176,106,.08);
  color:rgba(201,176,106,.95);
}

/* Mobile tuning */
@media (max-width:560px){
  .bhb-roomselect-main{font-size:20px}
  .bhb-roomselect-btn{padding:16px 52px 14px 18px}
  .bhb-roomselect-item{
    grid-template-columns: 1fr;
    padding:15px 16px;
  }
  .bhb-roomselect-item::after{left:16px; right:16px}
  .bhb-roomselect-item-right{
    align-items:flex-start;
    text-align:left;
    margin-top:8px;
  }
}