/* ============================================================================
   DESIGN „EDEL" — Natur Hotels See / Alpenkönigin (Brudi 15.10.2026, live 16.10.2026)
   Leitidee „Blaue Stunde": Bergnacht-Blau + Lampenlicht-Bronze aus dem Logo,
   Bodoni Moda (Überschriften) + Instrument Sans (Text), Knöpfe im Marken-Gold.
   Plan und Fallen: docs/superpowers/plans/2026-10-15-design-edel.md
   Wirkt nur bei body.edel: fe_page setzt die Klasse im Alpenkönigin-Baum (Root 288).
   adLaca (Root 1) und gemeinsame Seiten (Splash, Impressum) bleiben unberührt.
   Letzte Schicht nach alpenkoenigin-design-system.css; dessen --ak-*-Tokens werden
   umgebogen, statt jede Regel zu duplizieren. Viele !important sind nötig, weil die
   älteren Schichten selbst mit !important arbeiten.
   ============================================================================ */

body.edel{
  --edel-nacht:#1B2A33;     /* Bergnacht: Überschriften, Top-Leiste, Filmband, Footer */
  --edel-licht:#A8834B;     /* Lampenlicht: gedämpftes Logo-Bronze, nur Akzente */
  --edel-schnee:#F2F4F4;    /* kühle Abschnittsfläche (bewusst nicht crème) */
  --edel-tinte:#2B2F31;     /* Fließtext */
  --edel-stein:#6A7177;     /* Sekundärtext */
  --edel-linie:rgba(27,42,51,.16);
  --edel-nacht-tief:#14212A; /* Copyright-Leiste, eine Stufe unter dem Footer */
  --edel-serif:'Bodoni Moda','Didot','Bodoni 72',Georgia,serif;
  --edel-sans:'Instrument Sans','Helvetica Neue',Arial,sans-serif;
  --edel-raum:clamp(72px, 9vw, 140px);
  --edel-zeit:cubic-bezier(.22,.61,.36,1);
  /* Feste optische Größe statt auto: bei auto (opsz = Schriftgröße) verschwinden die Haarstriche
     auf 1x-Bildschirmen — Bindestrich, Gedankenstrich und die dünnen W-Striche fehlten. */
  --edel-opsz:"opsz" 16;
  /* Knopf-Gold: das bestehende Marken-Gold bleibt (Brudi 15.10.: „schöne gold farbe passt schon") */
  --edel-gold:linear-gradient(135deg, #d4af37 0%, #c4a030 50%, #b8941f 100%);
  --edel-gold-tief:linear-gradient(135deg, #c4a030 0%, #b8941f 100%);

  /* bestehende Tokens des Design-Systems umbiegen */
  --ak-gold:var(--edel-licht);
  --ak-gold-deep:var(--edel-nacht);
  --ak-cream:var(--edel-schnee);
  --ak-teal:var(--edel-nacht);
  --ak-ink:var(--edel-tinte);
  --ak-muted:var(--edel-stein);
  --ak-serif:var(--edel-serif);
  --ak-sans:var(--edel-sans);

  font-family:var(--edel-sans) !important;
  color:var(--edel-tinte);
  font-feature-settings:"kern","liga";
  text-rendering:optimizeLegibility;
}
/* adLaca (Root 1, fe_page setzt zusätzlich .edel-adlaca): gleiches Layout und gleiche Schriften, eigene Farbwelt.
   Tiefblau = die Primärfarbe des bestehenden adLaca-Themes (alpine-complete.css), Gletscherblau = das Blau der
   Logo-Welle, für Linien/Akzente auf Weiß abgedunkelt. Knöpfe bleiben Gold (auch Sekundärfarbe des adLaca-Themes). */
body.edel.edel-adlaca{
  --edel-nacht:#1A3A52;     /* Seetiefe */
  --edel-licht:#4F87B3;     /* Gletscherblau */
  --edel-schnee:#EEF3F6;
  --edel-linie:rgba(26,58,82,.16);
  --edel-nacht-tief:#12293A;
}

/* ================================================================ TYPOGRAFIE */
body.edel #main h1, body.edel #main h2, body.edel #main h3, body.edel #main h4,
body.edel #main .ce_headline, body.edel #main .ce_text h1, body.edel #main .ce_text h2, body.edel #main .ce_text h3{
  font-family:var(--edel-serif) !important;
  font-optical-sizing:none !important; font-variation-settings:var(--edel-opsz) !important;
  font-weight:500 !important;
  color:var(--edel-nacht) !important;
  letter-spacing:-.008em !important;
  line-height:1.08 !important;
  text-transform:none !important;
}
body.edel #main h1, body.edel #main .ce_headline.h1{ font-size:clamp(2.35rem, 4.4vw, 3.9rem) !important; margin-bottom:.45em !important; }
body.edel #main h2{ font-size:clamp(1.85rem, 3.1vw, 2.75rem) !important; margin-bottom:.5em !important; }
body.edel #main h3{ font-size:clamp(1.3rem, 1.9vw, 1.7rem) !important; line-height:1.18 !important; }
body.edel #main h4{ font-size:1.2rem !important; }
/* Große Bodoni-Überschriften laufen mit opsz 16 weit: etwas enger (muss nach der Grundregel stehen) */
body.edel #main h1, body.edel #main h2{ letter-spacing:-.018em !important; }
@media (max-width:560px){ body.edel #main h1{ font-size:2.05rem !important; } }
/* Zweite Überschrift direkt unter H1/H2 (Unterzeile): leiser */
body.edel #main h1 + h2, body.edel #main h2 + h3,
body.edel #main .ce_text h2 + h3, body.edel #main .subline, body.edel #main .subheadline{
  font-family:var(--edel-serif) !important; font-variation-settings:var(--edel-opsz) !important; font-style:italic !important; font-weight:400 !important;
  color:var(--edel-stein) !important; font-size:clamp(1.25rem, 1.8vw, 1.55rem) !important; letter-spacing:0 !important;
}
/* Überschriften im Fließtext: Luft nach oben, damit Abschnitte lesbar trennen */
body.edel #main .ce_text h2:not(:first-child), body.edel #main .ce_text h3:not(:first-child){ margin-top:1.6em !important; }
/* Serif-Elemente außerhalb der #main-Überschriften: gleiche feste optische Größe */
body.edel .room-title, body.edel .pauschalen-title, body.edel .nhs-news-title, body.edel .news-item-title,
body.edel #footer h4, body.edel #footer h3, body.edel #eyecatcher a, body.edel .nhs-impression-quote,
body.edel .edel-zimmer__personen, body.edel .nhs-film__titel{
  font-optical-sizing:none !important; font-variation-settings:var(--edel-opsz) !important;
}

body.edel #main p, body.edel #main li, body.edel #main .ce_text p, body.edel #main td{
  font-family:var(--edel-sans) !important;
  font-size:1.0625rem; line-height:1.7 !important;
  color:var(--edel-tinte) !important;
}
body.edel #main strong, body.edel #main b{ font-weight:600; color:var(--edel-nacht); }
body.edel #main .ce_text a:not([class]), body.edel #main .desc a:not([class]){
  color:var(--edel-nacht) !important; text-decoration:underline !important;
  text-decoration-color:var(--edel-licht) !important; text-decoration-thickness:1px !important;
  text-underline-offset:.22em; transition:text-decoration-color .3s;
}
body.edel #main .ce_text a:not([class]):hover{ text-decoration-color:var(--edel-nacht) !important; }

/* Kicker/Eyebrow: keine gesperrten Versalien */
body.edel #main .kicker, body.edel #main .eyebrow, body.edel #main .headline-kicker{
  text-transform:none !important; letter-spacing:.01em !important; font-size:.95rem !important;
  color:var(--edel-licht) !important; font-weight:500 !important;
}

/* Text auf Foto (Bild-Slider „Wellness bis in die Nacht"): die globale H2-Farbe wäre dunkel auf dunkel */
body.edel #main .hero-slide-content h2.hero-slide-title, body.edel #main .hero-slide-content .hero-slide-title{
  color:#fff !important; text-shadow:0 1px 18px rgba(15,24,30,.45) !important;
}
body.edel #main .hero-slide-content p.hero-slide-description{ color:rgba(255,255,255,.9) !important; text-shadow:0 1px 12px rgba(15,24,30,.5); }
body.edel #main .hero-slide-content .hero-slide-subtitle{
  font-family:var(--edel-sans) !important; text-transform:none !important; letter-spacing:.01em !important;
  font-size:15px !important; font-weight:500 !important; color:rgba(255,255,255,.88) !important;
}

/* Abschnitts-Rhythmus: mehr Luft */
body.edel #main .mod_article[data-ak-first]{ padding-top:var(--edel-raum) !important; }
body.edel #main .mod_article[data-ak-last]{ padding-bottom:var(--edel-raum) !important; }
/* Leere Artikel (nur Leerraum im Markup) bekamen sonst den Abschnittsabstand: 260px Lücke unter dem Kopf
   im adLaca-Zimmerdetail */
body.edel #main .mod_article:not(:has(*)){ display:none !important; }
/* Endet #main mit einem Schnee-Abschnitt, wird das Newsband weiß — sonst laufen beide Flächen ineinander.
   „letzter Artikel" per nth-last-child(… of .mod_article): nach den Artikeln folgt noch eine mod_contentbox. */
body.edel:has(#main > .inside > .mod_article[data-ak-bg="cream"]:nth-last-child(1 of .mod_article)) #newsbox{ background:#fff; box-shadow:0 0 0 100vmax #fff; }
/* Slider mit wenigen Karten (adLaca: 3 Zimmer, 2 Angebote): Swiper sperrt dann das Blättern → Karten mittig,
   Pfeile weg. Nur im gesperrten Zustand, sonst stimmt die Swiper-Verschiebung nicht mehr. */
body.edel .ce_metamodel_content:has(.swiper-button-lock) .swiper-wrapper{ justify-content:center !important; }
/* .minimal-Slider erzwingt Pfeile mit (0,3,0) !important — deshalb hier mit Container-Klasse */
body.edel .swiper-button-lock, body.edel .luxury-room-slider-container.minimal .swiper-button-lock{ display:none !important; }

/* ================================================================ TOP-LEISTE */
body.edel #header_top{ background:var(--edel-nacht) !important; border-bottom:0 !important; box-shadow:none !important; }
body.edel #header_top .nhs-logo-text{
  font-family:var(--edel-serif) !important; font-variation-settings:var(--edel-opsz) !important;
  color:#fff !important; font-size:17px !important; letter-spacing:.005em !important;
}
body.edel #header_top .service-nav > a{
  font-family:var(--edel-sans) !important; font-size:13px !important; font-weight:500 !important; letter-spacing:.01em !important;
  color:rgba(255,255,255,.76) !important; text-transform:none !important; transition:color .3s !important;
}
body.edel #header_top .service-nav > a:hover{ color:#fff !important; }
body.edel #header_top .service-nav .separator{ background:rgba(255,255,255,.18) !important; }
/* Sprachwahl: aktive Sprache behält ihr Gold-Kästchen aus der alten Schicht */
body.edel #header_top .language-switcher a.lang-link{
  font-family:var(--edel-sans) !important; font-size:12px !important; font-weight:500 !important; letter-spacing:.06em !important;
  color:rgba(255,255,255,.62) !important; border-radius:2px !important;
}
body.edel #header_top .language-switcher a.lang-link:hover,
body.edel #header_top .language-switcher a.lang-link.active{ color:#fff !important; }
body.edel #header_top .accessibility-toggle-btn{
  background:transparent !important; border:1px solid rgba(255,255,255,.26) !important; border-radius:2px !important;
  color:#fff !important; box-shadow:none !important; height:28px !important; padding:0 12px !important;
}
body.edel #header_top .accessibility-toggle-btn span{
  font-family:var(--edel-sans) !important; text-transform:none !important; letter-spacing:.01em !important;
  font-size:13px !important; font-weight:500 !important; color:#fff !important;
}
body.edel #header_top .accessibility-toggle-btn:hover{ border-color:rgba(255,255,255,.6) !important; }
body.edel #header_top .accessibility-toggle-btn svg{ color:#fff !important; }

/* ================================================================ NAVIGATION
   Contao rendert den aktiven Menüpunkt als <span class="active"> (oder <strong>), nicht als <a>. */
body.edel .nav-centered-container .level_1 > li > a,
body.edel .nav-centered-container .level_1 > li > span.active,
body.edel .nav-centered-container .level_1 > li > strong.active{
  font-family:var(--edel-sans) !important; font-style:normal !important; font-weight:500 !important; font-size:17px !important;
  letter-spacing:.005em !important; color:var(--edel-nacht) !important; text-transform:none !important;
}
body.edel .nav-centered-container .level_1 > li > span.active,
body.edel .nav-centered-container .level_1 > li > strong.active,
body.edel .nav-centered-container .level_1 > li.active > a,
body.edel .nav-centered-container .level_1 > li.trail > a,
body.edel .nav-centered-container .level_1 > li > a:hover{ color:var(--edel-licht) !important; }
body.edel .nav-centered-container .level_1 > li > a > span,
body.edel .nav-centered-container .level_1 > li > span.active > span,
body.edel .nav-centered-container .level_1 > li > strong.active > span{
  font-family:var(--edel-sans) !important; font-style:normal !important; text-transform:none !important; letter-spacing:0 !important;
  font-size:13px !important; font-weight:400 !important; color:var(--edel-stein) !important; margin-top:4px !important;
}
@media (max-width:1280px){
  body.edel .nav-centered-container .level_1 > li > a,
  body.edel .nav-centered-container .level_1 > li > span.active,
  body.edel .nav-centered-container .level_1 > li > strong.active{ font-size:16px !important; }
}
body.edel .level_2 a{ font-family:var(--edel-sans) !important; text-transform:none !important; letter-spacing:0 !important; }

/* Logo größer (Brudi 16.10.), nur Alpenkönigin: Die Bilddatei hat kaum Rand (bbox 10/8 bis 537/281 von 554x291),
   mehr Größe geht also nur über weniger Innenabstand, der Desktop-Kopf bleibt 140px hoch.
   adLaca nicht: dessen Logo ist nur 210x103 px groß und würde unscharf. */
@media (min-width:1101px){
  body.edel:where(:not(.edel-adlaca)) .nav-logo-center{ padding-top:3px !important; padding-bottom:3px !important; }
  body.edel:where(:not(.edel-adlaca)) .nav-logo-center .logo-img{ height:134px !important; }
}
@media (min-width:992px) and (max-width:1100px){ body.edel:where(:not(.edel-adlaca)) .nav-logo-center .logo-img{ height:108px !important; } }
@media (min-width:992px) and (max-width:1024px){ body.edel:where(:not(.edel-adlaca)) .nav-logo-center .logo-img{ height:84px !important; } }
body.edel:where(:not(.edel-adlaca)) #header.scrolled .nav-logo-center .logo-img{ height:88px !important; }
@media (max-width:991px){
  body.edel:where(:not(.edel-adlaca)) .mobile-header-center img{ max-height:60px !important; max-width:none !important; width:auto !important; }
  body.edel.ak-scrolled:where(:not(.edel-adlaca)) .mobile-header-center img{ height:48px !important; }
}
@media (max-width:480px){ body.edel:where(:not(.edel-adlaca)) .mobile-header-center img{ max-height:76px !important; } }

/* ================================================================ KNÖPFE */
body.edel a.booking-button, body.edel a.gold-but, body.edel .hero-slide-button,
body.edel #footer a.btn, body.edel button.cr_button, body.edel .edel-btn--primaer{
  background:var(--edel-gold) !important;
  color:#fff !important; border:1px solid #c4a030 !important;
  border-radius:2px !important; box-shadow:none !important;
  font-family:var(--edel-sans) !important; font-weight:600 !important; font-size:15px !important;
  letter-spacing:.01em !important; text-transform:none !important;
  transition:background-color .35s var(--edel-zeit), border-color .35s var(--edel-zeit) !important;
}
body.edel a.booking-button:hover, body.edel a.gold-but:hover, body.edel .hero-slide-button:hover,
body.edel #footer a.btn:hover, body.edel button.cr_button:hover, body.edel .edel-btn--primaer:hover{
  background:var(--edel-gold-tief) !important; border-color:#b8941f !important;
}
body.edel a.grey-but, body.edel a.lite-but, body.edel .edel-btn--zweit{
  background:transparent !important; background-image:none !important; color:var(--edel-nacht) !important;
  border:1px solid var(--edel-linie) !important; border-radius:2px !important; box-shadow:none !important;
  font-family:var(--edel-sans) !important; font-weight:500 !important; text-transform:none !important; letter-spacing:.01em !important;
}
body.edel a.grey-but:hover, body.edel a.lite-but:hover, body.edel .edel-btn--zweit:hover{ border-color:var(--edel-nacht) !important; }
/* „Online buchen" im Header: Selektor muss .level_1 > li > a mitnehmen, sonst färbt die Navigationsregel
   den Text dunkel auf dunkel. Gleiche Größe auch beim Überfahren (vorher sprang er auf 14px). */
body.edel .nav-centered-container .level_1 > li > a.booking-button,
body.edel .nav-centered-container .level_1 > li > a.booking-button:hover{
  color:#fff !important; padding:14px 26px !important; font-size:15px !important;
}
body.edel .nav-centered-container a.booking-button::after{ display:none !important; }
/* Mobil: „Buchen" im Kopf */
body.edel .mobile-buchen-btn, body.edel .online-buchen-button{
  background:var(--edel-gold) !important; color:#fff !important;
  border-radius:2px !important; box-shadow:none !important; text-transform:none !important; letter-spacing:.01em !important;
  font-family:var(--edel-sans) !important; font-weight:600 !important;
}
body.edel form.cr_form .submit_container button.cr_button{ text-transform:none !important; letter-spacing:.01em !important; }

/* ================================================================ FORMEN: Karten-Baukasten raus */
body.edel .room-image-container, body.edel .luxury-room-card,
body.edel .pauschalen-card, body.edel .pauschalen-image-container,
body.edel .nhs-news-main-image, body.edel .nhs-news-image-container,
body.edel .nhs-impression-grid img, body.edel .nhs-impression-grid figure, body.edel .nhs-impression-grid > *,
body.edel .hero-slider-container, body.edel .hero-slider-container .swiper,
body.edel .imagebox-container, body.edel .imagebox-image{
  border-radius:0 !important; box-shadow:none !important;
}

/* ================================================================ INHALTSBAUSTEINE */
body.edel #main .nhs-impression-quote{
  font-family:var(--edel-serif) !important; font-variation-settings:var(--edel-opsz) !important; font-style:italic !important; font-weight:400 !important;
  color:var(--edel-nacht) !important; font-size:clamp(1.55rem, 2.6vw, 2.3rem) !important;
  line-height:1.32 !important; max-width:28ch; margin-left:auto !important; margin-right:auto !important;
}
/* Linkbox „Wellness-Angebot" u. ä.: kühle Fläche, keine Rundung, Bronzekante */
body.edel #main .internal-links{
  background:var(--edel-schnee) !important; border-radius:0 !important; border-top:2px solid var(--edel-licht) !important; box-shadow:none !important;
}
/* Aufzählungen: feiner Bronze-Strich statt Punkt/Kreis (gleich wie im Zimmerdetail) */
body.edel #main .ce_text ul li::before, body.edel #main .ce_html ul li::before{
  width:9px !important; height:1px !important; border-radius:0 !important; box-shadow:none !important;
  background:var(--edel-licht) !important; top:.82em !important; left:2px !important;
}
/* Siegel im Bild */
body.edel #eyecatcher a, body.edel .eyecatcherx a{ font-family:var(--edel-serif) !important; color:var(--edel-nacht) !important; }
body.edel #eyecatcher .gs-sub{ font-family:var(--edel-sans) !important; color:var(--edel-stein) !important; letter-spacing:.01em !important; text-transform:none !important; }
body.edel #eyecatcher .eyecatcher-subtitle, body.edel #eyecatcher .eyecatcher-subtitle a{
  font-family:var(--edel-sans) !important; text-transform:none !important; letter-spacing:.01em !important;
  font-size:12px !important; color:var(--edel-stein) !important;
}

/* ================================================================ ZIMMER-KARTEN
   Startseiten-Slider (.luxury-room-slider-container) und Raster (.luxury-room-grid):
   Bild 4:5, Name UNTER dem Bild statt im Verlauf. */
body.edel .luxury-room-card{
  display:flex !important; flex-direction:column !important; background:transparent !important;
  height:auto !important; overflow:visible !important; text-decoration:none !important;
}
/* Altes Pseudo-Element legte einen Schattenverlauf (inset 0 -120px) über jede Karte */
body.edel .luxury-room-card::after, body.edel .luxury-room-card::before{ display:none !important; content:none !important; }
body.edel .luxury-room-grid .luxury-room-card{ background:transparent !important; box-shadow:none !important; }
body.edel .luxury-room-card .room-image-container{
  position:relative !important; aspect-ratio:4/5 !important; height:auto !important; overflow:hidden !important;
  background:var(--edel-schnee);
}
body.edel .luxury-room-card .room-image-container img{
  width:100% !important; height:100% !important; object-fit:cover !important;
  transition:transform 1.1s var(--edel-zeit) !important; transform:scale(1.001);
}
body.edel .luxury-room-card:hover .room-image-container img,
body.edel .luxury-room-card:focus-visible .room-image-container img{ transform:scale(1.045); }
body.edel .luxury-room-card .room-overlay{ display:none !important; }
body.edel .luxury-room-card .room-content{
  position:static !important; inset:auto !important; transform:none !important; background:none !important;
  padding:18px 2px 0 !important; text-align:left !important; opacity:1 !important;
}
body.edel #main .luxury-room-card .room-title, body.edel .luxury-room-card .room-title{
  font-family:var(--edel-serif) !important; font-weight:500 !important; font-size:clamp(1.45rem, 1.9vw, 1.8rem) !important;
  color:var(--edel-nacht) !important; text-shadow:none !important; margin:0 0 6px !important; line-height:1.1 !important;
  letter-spacing:-.005em !important;
}
body.edel #main .luxury-room-card .room-meta, body.edel #main .luxury-room-card .room-meta *,
body.edel .luxury-room-card .persons, body.edel .luxury-room-card .persons span{
  color:var(--edel-stein) !important; text-shadow:none !important; font-family:var(--edel-sans) !important;
  font-size:14px !important; font-weight:400 !important; letter-spacing:0 !important; text-transform:none !important;
}
body.edel .luxury-room-card .persons svg{ display:none !important; }
body.edel .luxury-room-card .room-title::after{
  content:""; display:block; width:28px; height:1px; margin-top:12px; background:var(--edel-licht);
  transition:width .6s var(--edel-zeit);
}
body.edel .luxury-room-card:hover .room-title::after{ width:56px; }
body.edel .luxury-room-card:focus-visible{ outline:2px solid var(--edel-licht); outline-offset:6px; }

/* Raster auf der Zimmerseite */
body.edel .luxury-room-grid{
  display:grid !important; grid-template-columns:repeat(3, minmax(0,1fr)) !important;
  gap:56px 32px !important; max-width:1180px; margin:0 auto !important;
}
body.edel .luxury-room-grid-item{ width:auto !important; max-width:none !important; flex:none !important; padding:0 !important; margin:0 !important; }
@media (max-width:980px){ body.edel .luxury-room-grid{ grid-template-columns:repeat(2, minmax(0,1fr)) !important; gap:44px 20px !important; } }
@media (max-width:560px){ body.edel .luxury-room-grid{ grid-template-columns:1fr !important; gap:44px !important; } }

/* Slider-Pfeile und -Punkte ruhig */
body.edel .luxury-room-slider-container .swiper-button-prev,
body.edel .luxury-room-slider-container .swiper-button-next,
body.edel .pauschalen-nav-button{
  background:transparent !important; border:1px solid var(--edel-linie) !important; box-shadow:none !important;
  color:var(--edel-nacht) !important; border-radius:50% !important;
}
body.edel .swiper-pagination-bullet{ background:var(--edel-nacht) !important; opacity:.22 !important; }
body.edel .swiper-pagination-bullet-active{ opacity:1 !important; }

/* ================================================================ ANGEBOTE (Pauschalen) */
body.edel .pauschalen-card{ background:#fff !important; border:1px solid var(--edel-linie) !important; }
body.edel #main .pauschalen-title, body.edel .pauschalen-title{
  font-family:var(--edel-serif) !important; font-weight:500 !important; color:var(--edel-nacht) !important;
  font-size:1.5rem !important; line-height:1.15 !important;
}
body.edel .pauschalen-subtitle, body.edel .pauschalen-subtitle *{
  text-transform:none !important; letter-spacing:0 !important; color:var(--edel-stein) !important;
  font-family:var(--edel-sans) !important; font-size:14px !important; font-weight:500 !important;
}
body.edel .pauschalen-cta, body.edel .pauschalen-cta *{
  text-transform:none !important; letter-spacing:.01em !important; color:var(--edel-nacht) !important;
  font-family:var(--edel-sans) !important; font-weight:600 !important; font-size:15px !important;
}
body.edel .pauschalen-cta{ text-decoration:underline; text-decoration-color:var(--edel-licht); text-underline-offset:.3em; }

/* ================================================================ FILMBAND
   „Ein Winterabend in der Alpenkönigin" (tl_content 2746) — aus 9 echten Fotos montiert, kein
   KI-Material. Video-Quelle setzt nhs-edel.js erst im Sichtfeld (vorher lädt nichts). */
body.edel .nhs-film{
  display:block !important; background:var(--edel-nacht); color:#fff;
  width:100vw; margin-left:calc(50% - 50vw); padding:var(--edel-raum) 0 calc(var(--edel-raum) * .8);
}
body.edel .nhs-film__buehne{
  position:relative; max-width:1600px; margin:0 auto; aspect-ratio:16/9; overflow:hidden; background:#0f181e;
  clip-path:inset(9% 0 9% 0); transition:clip-path 1.6s var(--edel-zeit);
}
body.edel .nhs-film.ist-offen .nhs-film__buehne{ clip-path:inset(0 0 0 0); }
body.edel .nhs-film__video{ display:block; width:100%; height:100%; object-fit:cover; }
body.edel .nhs-film__pause{
  position:absolute; right:20px; bottom:20px; z-index:2;
  background:rgba(15,24,30,.55); color:#fff; border:1px solid rgba(255,255,255,.4); border-radius:2px;
  font:500 13px/1 var(--edel-sans); padding:10px 14px; cursor:pointer; backdrop-filter:blur(4px);
  text-transform:none !important; letter-spacing:.01em !important;
}
body.edel .nhs-film__pause:hover, body.edel .nhs-film__pause:focus-visible{ border-color:#fff; outline:none; }
body.edel .nhs-film__text{
  max-width:1180px; margin:clamp(36px, 5vw, 64px) auto 0; padding:0 24px;
  display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:24px 64px; align-items:end;
}
body.edel #main .nhs-film__titel{
  color:#fff !important; margin:0 !important; font-size:clamp(2rem, 3.6vw, 3.3rem) !important; font-weight:400 !important;
}
body.edel #main .nhs-film__titel em{ font-style:italic; color:#fff !important; }
body.edel #main .nhs-film__text p{ color:rgba(255,255,255,.78) !important; margin:0 0 18px !important; max-width:46ch; }
body.edel #main .nhs-film__link{
  color:#fff !important; font:600 15px/1 var(--edel-sans); text-decoration:underline; text-decoration-color:var(--edel-licht);
  text-underline-offset:.35em; text-decoration-thickness:1px;
}
@media (max-width:820px){
  body.edel .nhs-film__text{ grid-template-columns:1fr; }
  body.edel .nhs-film__buehne{ clip-path:inset(0 0 0 0); }
}
@media (prefers-reduced-motion:reduce){
  body.edel .nhs-film__buehne{ clip-path:none !important; transition:none !important; }
  body.edel .luxury-room-card .room-image-container img{ transition:none !important; }
}

/* ================================================================ ZIMMERDETAIL
   Markup aus metamodel_prerendered_z_d.html5 (Zweig für den Alpenkönigin-Baum). */
body.edel .edel-zimmer{ max-width:1320px; margin:0 auto; padding:0 24px var(--edel-raum); }
body.edel .edel-zimmer__galerie{ position:relative; margin:0 -24px; background:var(--edel-schnee); }
body.edel .edel-zimmer__galerie .swiper-slide{ aspect-ratio:3/2; overflow:hidden; }
body.edel .edel-zimmer__galerie img{ width:100%; height:100%; object-fit:cover; display:block; }
body.edel .edel-zimmer__galerie .swiper-button-prev,
body.edel .edel-zimmer__galerie .swiper-button-next{
  width:48px; height:48px; border-radius:50%; background:rgba(255,255,255,.88); color:var(--edel-nacht);
  box-shadow:none; border:0;
}
body.edel .edel-zimmer__galerie .swiper-button-prev::after,
body.edel .edel-zimmer__galerie .swiper-button-next::after{ font-size:16px; font-weight:700; }
body.edel .edel-zimmer__zaehler{
  position:absolute; left:24px; bottom:20px; z-index:2; color:#fff; font:500 13px/1 var(--edel-sans);
  background:rgba(15,24,30,.5); padding:8px 11px; border-radius:2px; letter-spacing:.04em;
}
body.edel .edel-zimmer__raster{
  display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:72px; margin-top:clamp(40px, 5vw, 72px); align-items:start;
}
body.edel #main .edel-zimmer h1{ margin:0 0 .2em !important; }
body.edel #main .edel-zimmer__personen{
  font-family:var(--edel-serif) !important; font-style:italic; font-size:1.35rem !important; color:var(--edel-stein) !important;
  margin:0 0 2.2em !important;
}
body.edel .edel-zimmer__text{ max-width:66ch; }
body.edel #main .edel-zimmer__text h2, body.edel #main .edel-zimmer__text h3{
  font-size:1.6rem !important; margin:1.8em 0 .55em !important; letter-spacing:0 !important;
}
body.edel #main .edel-zimmer__text ul{ padding-left:0 !important; list-style:none !important; }
body.edel #main .edel-zimmer__text li{ position:relative; padding-left:22px !important; margin-bottom:.45em; background:none !important; }
body.edel #main .edel-zimmer__text li::before{
  content:""; position:absolute; left:2px; top:.82em; width:9px; height:1px; background:var(--edel-licht);
}
body.edel .edel-zimmer__ausstattung{ margin-top:3.2em; padding-top:2.2em; border-top:1px solid var(--edel-linie); }
/* keine geerbten Einzüge */
body.edel .edel-zimmer__ausstattung, body.edel .edel-zimmer__haupt section{ padding-left:0 !important; padding-right:0 !important; margin-left:0 !important; }
body.edel #main .edel-zimmer__ausstattung h2{ font-size:1.6rem !important; }
body.edel #main .edel-zimmer__liste{
  list-style:none !important; padding:0 !important; margin:1em 0 0 !important;
  columns:2; column-gap:48px;
}
body.edel #main .edel-zimmer__liste li{
  break-inside:avoid; padding:11px 0 !important; margin:0 !important; border-bottom:1px solid var(--edel-linie);
  font-size:1rem !important;
}
body.edel #main .edel-zimmer__liste li::before{ display:none; }
body.edel .edel-zimmer__plan{ margin-top:2.5em; }
body.edel .edel-zimmer__plan img{ max-width:100%; height:auto; border:1px solid var(--edel-linie); }

body.edel .edel-zimmer__buchen{
  position:sticky; top:120px; background:var(--edel-schnee); padding:32px 30px 30px; border-top:2px solid var(--edel-licht);
}
body.edel #main .edel-zimmer__buchen h2{ font-size:1.55rem !important; margin:0 0 .6em !important; }
body.edel #main .edel-zimmer__buchen p{ font-size:.95rem !important; color:var(--edel-stein) !important; line-height:1.6 !important; }
body.edel .edel-zimmer__buchen .mainprice_info, body.edel .edel-zimmer__buchen .mainprice_info *{
  font-style:normal !important; background:none !important; border:0 !important; padding:0 !important;
}
body.edel .edel-btn{
  display:block; text-align:center; padding:16px 18px; margin-top:12px; text-decoration:none !important; line-height:1.2;
  font-size:15px !important; font-weight:600 !important;
}
/* muss nach .edel-btn stehen (gleiche Spezifität) */
body.edel .edel-btn--zweit{ font-weight:500 !important; }
body.edel .edel-zimmer__links{ list-style:none !important; padding:0 !important; margin:22px 0 0 !important; }
body.edel #main .edel-zimmer__links li{ padding:0 !important; margin:0 0 8px !important; font-size:.95rem !important; }
body.edel #main .edel-zimmer__links li::before{ display:none; }
body.edel #main .edel-zimmer__links a{ color:var(--edel-nacht) !important; text-decoration:underline !important; text-decoration-color:var(--edel-licht) !important; text-underline-offset:.25em; }

@media (max-width:980px){
  body.edel .edel-zimmer__raster{ grid-template-columns:1fr; gap:48px; }
  body.edel .edel-zimmer__buchen{ position:static; }
  body.edel #main .edel-zimmer__liste{ columns:1; }
}
@media (max-width:560px){
  body.edel .edel-zimmer{ padding:0 18px 72px; }
  /* Galerie randlos; max-width:none, sonst kappt eine ältere Regel die Breite */
  body.edel .edel-zimmer__galerie{ width:100vw !important; max-width:none !important; margin-left:calc(50% - 50vw) !important; margin-right:0 !important; }
  body.edel .edel-zimmer__galerie .swiper-slide{ aspect-ratio:4/3; }
  body.edel .edel-zimmer__galerie .swiper-button-prev, body.edel .edel-zimmer__galerie .swiper-button-next{ display:none; }
}

/* ================================================================ PAUSCHALE (Detail, metamodel_prerendered_p_d)
   Bild bündig unter den festen Kopf. Der Kopf überlappt #main je nach Breite unterschiedlich:
   ≥992px Kopf 180 / #main ab 140 · 481–991px Kopf 70 / ab 70 · ≤480px Kopf 80 / ab 60 (gemessen 16.10.). */
body.edel #main:has(.package-detail-hero){ padding-top:40px !important; }
@media (max-width:991px){ body.edel #main:has(.package-detail-hero){ padding-top:0 !important; } }
@media (max-width:480px){ body.edel #main:has(.package-detail-hero){ padding-top:20px !important; } }
body.edel #main .mod_article[data-ak-first]:has(.package-detail-hero){ padding-top:0 !important; }
body.edel #main .package-detail-hero .package-hero-period{
  font-family:var(--edel-sans) !important; text-transform:none !important; letter-spacing:.01em !important;
  font-size:15px !important; font-weight:500 !important; color:rgba(255,255,255,.9) !important;
}
/* Listen in der Beschreibung: Bronze-Strich statt Standardpunkt */
body.edel #main .package-description-box ul{ list-style:none !important; padding-left:0 !important; }
body.edel #main .package-description-box ul > li{ position:relative !important; padding-left:22px !important; margin-bottom:.4em !important; }
body.edel #main .package-description-box ul > li::before{
  content:""; position:absolute; left:2px; top:.82em; width:9px; height:1px; background:var(--edel-licht);
}
/* Editor-Altlast: Liste in einem leeren Listenpunkt (<li style="list-style-type:none"><ul>…) — die Hülle
   bekommt keinen Strich und keinen Einzug, sonst stehen vor dem ersten Punkt zwei Striche */
body.edel #main .package-description-box li:has(> ul:first-child){ padding-left:0 !important; }
body.edel #main .package-description-box li:has(> ul:first-child)::before{ content:none !important; }
/* Preis-Hinweis: keine Kachel mit Gold-Kante links, sondern eine ruhige Fußnote */
body.edel #main .package-price-info{
  background:none !important; border:0 !important; border-top:1px solid var(--edel-linie) !important; border-radius:0 !important;
  padding:20px 0 0 !important; margin-bottom:0 !important;
}
body.edel #main .package-price-info p{ font-size:.95rem !important; color:var(--edel-stein) !important; line-height:1.6 !important; }
/* Aktionen: Infos als Textlinks, Buchen als Gold-Knopf, Anfragen als Haarlinie — ohne Versalien, Schatten, Sprung */
body.edel .package-actions{ margin-top:clamp(36px, 4vw, 56px) !important; }
body.edel .package-info-buttons{ gap:32px !important; margin-bottom:32px !important; }
body.edel a.package-info-btn{
  background:none !important; border:0 !important; border-radius:0 !important; padding:0 !important; box-shadow:none !important; transform:none !important;
  color:var(--edel-nacht) !important; font-family:var(--edel-sans) !important; font-weight:600 !important; font-size:15px !important;
  text-decoration:underline !important; text-decoration-color:var(--edel-licht) !important; text-decoration-thickness:1px !important; text-underline-offset:.35em !important;
}
body.edel a.package-info-btn:hover{ text-decoration-color:var(--edel-nacht) !important; }
body.edel a.package-info-btn svg, body.edel .luxury-btn svg{ display:none !important; }
body.edel .luxury-btn{
  border-radius:2px !important; padding:16px 30px !important; gap:0 !important; box-shadow:none !important; transform:none !important;
  font-family:var(--edel-sans) !important; font-weight:600 !important; font-size:15px !important; text-transform:none !important; letter-spacing:.01em !important;
  transition:background-color .35s var(--edel-zeit), border-color .35s var(--edel-zeit) !important;
}
body.edel .luxury-btn.primary{ background:var(--edel-gold) !important; color:#fff !important; border:1px solid #c4a030 !important; }
body.edel .luxury-btn.primary:hover{ background:var(--edel-gold-tief) !important; border-color:#b8941f !important; }
body.edel .luxury-btn.secondary{ background:transparent !important; color:var(--edel-nacht) !important; border:1px solid var(--edel-linie) !important; }
body.edel .luxury-btn.secondary:hover{ background:transparent !important; color:var(--edel-nacht) !important; border-color:var(--edel-nacht) !important; }
@media (max-width:768px){
  body.edel .luxury-btn{ justify-content:center !important; text-align:center !important; padding:16px 20px !important; }
  body.edel .package-info-buttons{ gap:14px !important; align-items:flex-start !important; }
  body.edel a.package-info-btn{ width:auto !important; justify-content:flex-start !important; }
}

/* ================================================================ BUCHUNGSBOX (Seekda-KBE)
   Nur Rahmen, Schrift, Felder, Knopf. NICHT anfassen: overflow (Kalender-Popups) und das nowrap der
   Zeile (luxury-booking-box.css). Die Belegung bekommt mehr Breite, die Datumsfelder etwas weniger. */
body.edel .booking_box .alpine-booking-widget.seekda-box{
  border-radius:3px !important; background:rgba(255,255,255,.97) !important;
  border:1px solid var(--edel-linie) !important;
  box-shadow:0 18px 48px rgba(15,24,30,.16), 0 2px 6px rgba(15,24,30,.06) !important;
  padding:10px 14px 10px 24px !important;
}
body.edel .booking_box .kbe-booking-params-wrapper{ background:transparent !important; }
body.edel .booking_box .search-bar-input-wrapper-custom-class{ flex:0 1 340px !important; }
body.edel .booking_box .kbe-header-occupancy-selector-wrapper{ flex:0 1 300px !important; max-width:310px !important; min-width:230px !important; }
body.edel .booking_box .kbe-header-occupancy-selector.search-bar-input-wrapper-custom-class{ flex:none !important; }
body.edel .booking_box .bf-search-bar-item-label, body.edel .booking_box .kbe-search-bar-item-label,
body.edel .booking_box .kbe-search-bar-item-label span{
  font-family:var(--edel-sans) !important; font-size:12px !important; font-weight:500 !important;
  letter-spacing:.02em !important; text-transform:none !important; color:var(--edel-stein) !important;
}
/* Felder flach: eine feine Linie unter jedem Feld (auch unter der Belegung), innen keine grauen Kästen */
body.edel .booking_box .bf-search-bar-content{
  background:transparent !important; border:0 !important; border-bottom:1px solid var(--edel-linie) !important;
  border-radius:0 !important; box-shadow:none !important; transition:border-color .3s !important;
}
body.edel .booking_box .bf-search-bar-content.search-bar-input-custom-class{ padding-left:2px !important; }
body.edel .booking_box input.bf-date-range-picker-input,
body.edel .booking_box .search-bar-input-custom-class:not(.bf-search-bar-content),
body.edel .booking_box .kbe-header-occupancy-selector{
  background:transparent !important; border:0 !important; border-radius:0 !important; box-shadow:none !important; padding-left:2px !important;
}
body.edel .booking_box .bf-search-bar-item:hover .bf-search-bar-content,
body.edel .booking_box .kbe-header-occupancy-selector-wrapper:hover .bf-search-bar-content{ border-bottom-color:var(--edel-licht) !important; }
body.edel .booking_box .bf-date-range-picker-input-wrapper .bf-search-bar-content,
body.edel .booking_box .bf-date-range-picker-input-wrapper .bf-search-bar-content *,
body.edel .booking_box .kbe-header-occupancy-selector .kbe-dropdown-click,
body.edel .booking_box .kbe-header-occupancy-selector .kbe-dropdown-click *{
  font-family:var(--edel-sans) !important; color:var(--edel-nacht) !important; font-size:15.5px !important; font-weight:500 !important;
}
body.edel .booking_box .kbe-header-occupancy-selector .kbe-dropdown-click,
body.edel .booking_box .kbe-header-occupancy-selector .kbe-dropdown-click *{ font-size:15px !important; }
/* Die Belegungszeile hatte eine feste Breite (200px) und kürzte mit „…" */
body.edel .booking_box .kbe-header-occupancy-selector .kbe-dropdown-details{ max-width:none !important; width:auto !important; flex:1 1 auto !important; min-width:0 !important; }
body.edel .booking_box .kbe-language-dropdown .kbe-dropdown-click,
body.edel .booking_box .kbe-language-dropdown .kbe-dropdown-click *{
  font-family:var(--edel-sans) !important; font-size:13px !important; font-weight:500 !important; color:var(--edel-stein) !important;
}
body.edel .booking_box button.bf-button.bf-button-primary{
  height:46px !important; padding:0 30px !important; border-radius:2px !important; box-shadow:none !important;
  background:var(--edel-gold) !important; border:0 !important; color:#fff !important;
}
body.edel .booking_box button.bf-button.bf-button-primary:hover{ background:var(--edel-gold-tief) !important; }
body.edel .booking_box button.bf-button.bf-button-primary,
body.edel .booking_box button.bf-button.bf-button-primary *{
  font-family:var(--edel-sans) !important; font-weight:600 !important; font-size:15px !important;
  letter-spacing:.01em !important; text-transform:none !important;
}
body.edel .booking_box .DayPicker{ border-radius:3px !important; box-shadow:0 -14px 40px rgba(15,24,30,.16) !important; font-family:var(--edel-sans) !important; }

/* ================================================================ NEWS */
body.edel .nhs-news-title{ font-family:var(--edel-serif) !important; color:var(--edel-nacht) !important; font-weight:500 !important; }
body.edel .news-item-title{ font-family:var(--edel-serif) !important; font-weight:500 !important; color:var(--edel-nacht) !important; }
body.edel .news-item-link:hover .news-item-title{ color:var(--edel-licht) !important; }
body.edel .nhs-news-list .news-item-date{
  font-family:var(--edel-sans) !important; text-transform:none !important; letter-spacing:0 !important;
  color:var(--edel-stein) !important; font-size:12.5px !important;
}
/* Newsbox unten: kühles Band über die volle Breite, großes Bild, ruhige Liste */
body.edel #newsbox{
  background:var(--edel-schnee); box-shadow:0 0 0 100vmax var(--edel-schnee); clip-path:inset(0 -100vmax);
  padding:var(--edel-raum) 0 !important; margin:0 !important;
}
body.edel #newsbox .nhs-news-title{
  font-size:clamp(1.85rem, 3.1vw, 2.75rem) !important; line-height:1.1 !important; letter-spacing:-.018em !important;
  text-align:center !important; margin:0 0 clamp(32px, 4vw, 56px) !important; font-weight:500 !important;
}
body.edel #newsbox .nhs-news-layout{
  display:grid !important; grid-template-columns:minmax(0,5fr) minmax(0,7fr) !important; gap:clamp(32px, 4.5vw, 64px) !important;
  align-items:start !important; max-width:1180px !important; margin:0 auto !important;
}
body.edel #newsbox .nhs-news-image-container, body.edel #newsbox .nhs-news-list-container{
  width:auto !important; max-width:none !important; flex:none !important; margin:0 !important; padding:0 !important;
}
body.edel #newsbox .nhs-news-image-container{ position:sticky; top:130px; }
body.edel #newsbox .nhs-news-main-image, body.edel #newsbox .news-image-link{ display:block; border-radius:0 !important; overflow:hidden; height:auto !important; }
body.edel #newsbox #news-main-img{
  display:block; width:100% !important; height:auto !important; aspect-ratio:4/3 !important; object-fit:cover !important;
  border-radius:0 !important; transition:transform 1.1s var(--edel-zeit) !important;
}
body.edel #newsbox .news-image-link:hover #news-main-img{ transform:scale(1.03); }
body.edel #newsbox .news-image-overlay{ background:linear-gradient(to top, rgba(15,24,30,.62), rgba(15,24,30,0)) !important; }
body.edel #newsbox .news-read-more{
  font-family:var(--edel-sans) !important; font-size:15px !important; font-weight:600 !important; letter-spacing:.01em !important; text-transform:none !important;
}
body.edel #newsbox .nhs-news-list{ margin:0 !important; padding:0 !important; border-top:1px solid var(--edel-linie) !important; list-style:none !important; }
body.edel #newsbox .nhs-news-item{
  background:transparent !important; margin:0 !important; width:auto !important; padding:0 !important;
  border:0 !important; border-bottom:1px solid var(--edel-linie) !important; border-radius:0 !important; box-shadow:none !important;
}
body.edel #newsbox .news-item-link{ position:relative !important; padding:24px 8px 24px 24px !important; align-items:center !important; }
body.edel #newsbox .news-item-link::before{
  content:""; position:absolute; left:0; top:24px; bottom:24px; width:2px; background:var(--edel-licht);
  transform:scaleY(0); transform-origin:top; transition:transform .5s var(--edel-zeit);
}
body.edel #newsbox .nhs-news-item.active .news-item-link::before, body.edel #newsbox .news-item-link:hover::before{ transform:scaleY(1); }
body.edel #newsbox .news-item-title{
  font-size:1.36rem !important; line-height:1.22 !important; margin:0 0 8px !important; letter-spacing:-.008em !important;
}
body.edel #newsbox .news-item-teaser{
  font-family:var(--edel-sans) !important; font-size:15px !important; line-height:1.55 !important; color:var(--edel-stein) !important; margin:0 0 8px !important;
}
body.edel #newsbox .news-item-arrow{
  color:var(--edel-licht) !important; font-size:18px !important; opacity:0; transform:translateX(-6px);
  transition:opacity .4s, transform .4s var(--edel-zeit) !important;
}
body.edel #newsbox .nhs-news-item.active .news-item-arrow, body.edel #newsbox .news-item-link:hover .news-item-arrow{ opacity:1; transform:none; }
body.edel #newsbox .ak-news-all{
  display:block !important; width:max-content !important; margin:clamp(32px, 4vw, 48px) auto 0 !important;
  font-family:var(--edel-sans) !important; font-size:15px !important; font-weight:600 !important; letter-spacing:.01em !important;
  color:var(--edel-nacht) !important; text-decoration:underline !important; text-decoration-color:var(--edel-licht) !important;
  text-decoration-thickness:1px !important; text-underline-offset:.35em !important;
}
@media (max-width:860px){
  body.edel #newsbox .nhs-news-layout{ grid-template-columns:1fr !important; }
  body.edel #newsbox .nhs-news-image-container{ position:static; }
  body.edel #newsbox .news-item-link{ padding:20px 4px 20px 18px !important; }
}

/* ================================================================ PARTNER-LOGOS */
body.edel #footer_logobox{ background:#fff !important; border-top:0 !important; padding:clamp(40px, 5vw, 64px) 4vw !important; }
body.edel #footer-logos, body.edel #footer-logos > div{
  display:flex !important; justify-content:center !important; align-items:center !important; flex-wrap:wrap !important;
  gap:clamp(32px, 6vw, 88px) !important; border:0 !important;
}
body.edel #footer-logos a, body.edel #footer-logos img{ border:0 !important; box-shadow:none !important; }
body.edel #footer-logos a::before, body.edel #footer-logos a::after{ display:none !important; }
body.edel #footer-logos img{
  height:56px !important; width:auto !important; filter:grayscale(1) !important; opacity:.6 !important;
  transition:opacity .45s, filter .45s !important; transform:none !important;
}
body.edel #footer-logos a:hover img{ filter:none !important; opacity:1 !important; transform:none !important; }

/* ================================================================ FOOTER in Bergnacht */
body.edel #footer{
  background:var(--edel-nacht) !important; background-image:none !important; color:rgba(255,255,255,.74) !important;
  padding-top:0 !important;
}
body.edel #footer > .inside{ padding-top:clamp(56px, 6vw, 88px) !important; }
body.edel #footer #ak-clouds{ opacity:.07 !important; }
body.edel #footer::before{ opacity:.06 !important; }
body.edel #footer h4, body.edel #footer h3{
  font-family:var(--edel-serif) !important; font-weight:500 !important; text-transform:none !important;
  letter-spacing:0 !important; font-size:1.35rem !important; color:#fff !important;
}
body.edel #footer h4::after, body.edel #footer h3::after{ background:var(--edel-licht) !important; }
body.edel #footer, body.edel #footer p, body.edel #footer a, body.edel #footer li{ font-family:var(--edel-sans) !important; }
body.edel #footer p, body.edel #footer li, body.edel #footer .ce_text, body.edel #footer .webcam{ color:rgba(255,255,255,.72) !important; }
body.edel #footer strong{ color:#fff !important; }
body.edel #footer a:not(.btn){
  color:rgba(255,255,255,.84) !important; text-decoration:none !important; transition:color .3s !important;
}
body.edel #footer a:not(.btn):hover{
  color:#fff !important; text-decoration:underline !important; text-decoration-color:var(--edel-licht) !important; text-underline-offset:.3em !important;
}
/* Die Design-System-Regel #footer .content-footer a:not(.button):not([class*="btn"]) ist spezifischer */
body.edel #footer .content-footer a:not(.button):not([class*="btn"]){ color:rgba(255,255,255,.84) !important; }
body.edel #footer .content-footer a:not(.button):not([class*="btn"]):hover{ color:#fff !important; }
body.edel #kontakt .contact-info-box a.btn{ text-transform:none !important; letter-spacing:.01em !important; }
body.edel #footer #newsletter-box input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]){
  background:transparent !important; border:1px solid rgba(255,255,255,.28) !important; border-radius:2px !important;
  color:#fff !important; box-shadow:none !important; font-family:var(--edel-sans) !important;
}
body.edel #footer #newsletter-box input::placeholder{ color:rgba(255,255,255,.5) !important; }
body.edel #footer #newsletter-box input:focus{ border-color:var(--edel-licht) !important; outline:none !important; }
body.edel #footer #newsletter-box form.cr_form .submit_container button.cr_button{
  background:var(--edel-gold) !important; box-shadow:none !important; border-radius:2px !important;
  text-transform:none !important; letter-spacing:.01em !important;
  font-size:14px !important; height:44px !important; padding:0 24px !important;
}
/* Copyright-Leiste: noch eine Stufe tiefer. #mobile-shortcuts-top sitzt im selben Container und bleibt ausgenommen. */
body.edel #main_bottom{ background:var(--edel-nacht-tief) !important; border-top:1px solid rgba(255,255,255,.07) !important; }
body.edel #main_bottom #copyright p, body.edel #main_bottom .mod_contentbox > :not(#mobile-shortcuts-top) a{
  color:rgba(255,255,255,.52) !important; font-family:var(--edel-sans) !important;
}
body.edel #main_bottom .mod_contentbox > :not(#mobile-shortcuts-top) a:hover{ color:#fff !important; }

/* ================================================================ SCHWEBENDE KNÖPFE (Desktop)
   Anrufen/E-Mail als runde Gold-Knöpfe genau über der Chat-Blase (gleiche Mittelachse), Text erscheint
   beim Überfahren links daneben; „nach oben" in der freien linken unteren Ecke. Geprüft ohne Überlappung
   bei 1440x900, 1366x657 und 1024x768. */
@media (min-width:769px){
  body.edel #quick-contact{
    right:27px !important; bottom:94px !important; display:flex !important; flex-direction:column !important; gap:10px !important;
    width:auto !important; align-items:flex-end !important;
  }
  body.edel #quick-contact a.qc-btn{
    position:relative !important; width:46px !important; height:46px !important; min-width:0 !important; padding:0 !important; margin:0 !important;
    border-radius:50% !important; display:flex !important; align-items:center !important; justify-content:center !important;
    background:var(--edel-gold) !important; box-shadow:0 4px 14px rgba(15,24,30,.18) !important; overflow:visible !important;
  }
  body.edel #quick-contact a.qc-btn:hover{ background:var(--edel-gold-tief) !important; }
  body.edel #quick-contact a.qc-btn svg{ width:20px !important; height:20px !important; margin:0 !important; }
  body.edel #quick-contact .qc-label{
    position:absolute !important; right:56px !important; top:50% !important; transform:translateY(-50%) !important;
    background:var(--edel-nacht) !important; color:#fff !important; font:500 13px/1 var(--edel-sans) !important;
    padding:8px 11px !important; border-radius:2px !important; white-space:nowrap !important;
    opacity:0 !important; pointer-events:none !important; transition:opacity .25s !important;
  }
  body.edel #quick-contact a.qc-btn:hover .qc-label, body.edel #quick-contact a.qc-btn:focus-visible .qc-label{ opacity:1 !important; }
  body.edel a.scrollToTop{
    left:24px !important; right:auto !important; bottom:24px !important; width:44px !important; height:44px !important;
    background:rgba(255,255,255,.94) !important; border:1px solid var(--edel-linie) !important;
    box-shadow:0 4px 14px rgba(15,24,30,.12) !important; color:var(--edel-nacht) !important;
  }
  body.edel a.scrollToTop:hover{ background:var(--edel-nacht) !important; color:#fff !important; transform:none !important; box-shadow:0 4px 14px rgba(15,24,30,.2) !important; }
  /* © nicht unter „nach oben" */
  body.edel #main_bottom #copyright{ padding-left:60px !important; }
  /* Hero-Pfeil rechts lag unter der Seitenleiste (Video-Knopf) */
  body.edel .swiper-button-next.alpine-nav-next{ right:112px !important; }
}
/* Schmale Desktops: die Buchungsbox reicht bis an den Rand, „nach oben" darüber */
@media (min-width:769px) and (max-width:1120px){ body.edel a.scrollToTop{ bottom:118px !important; } }
/* Niedrige Fenster: Seitenleiste etwas höher, damit sie die Knöpfe über der Chat-Blase nicht berührt */
@media (min-width:769px) and (max-height:780px){ body.edel .shortcuts-wrapper{ top:calc(50% - 46px) !important; } }

/* ================================================================ MOBIL */
body.edel .mobile-menu-label{
  background:transparent !important; background-color:transparent !important; box-shadow:none !important; border:0 !important;
  color:var(--edel-nacht) !important; font-family:var(--edel-sans) !important; font-weight:600 !important;
  font-size:10px !important; letter-spacing:.06em !important; padding:0 !important;
}
body.edel.ak-has-hero:not(.ak-scrolled) .mobile-menu-label{ color:#fff !important; }
@media (max-width:900px){
  /* Leiste unten: weiß, Beschriftung ohne Versalien, „Buchen" in Gold */
  body.edel #mobile-shortcuts-top{
    background:rgba(255,255,255,.96) !important; border-top:1px solid var(--edel-linie) !important;
    box-shadow:0 -6px 24px rgba(15,24,30,.08) !important;
  }
  body.edel #mobile-shortcuts-top a::after{
    font-family:var(--edel-sans) !important; font-size:10.5px !important; font-weight:500 !important;
    text-transform:none !important; letter-spacing:.01em !important; color:var(--edel-stein) !important; top:36px !important;
  }
  body.edel #mobile-shortcuts-top a[href*="verfuegbarkeit"] i, body.edel #mobile-shortcuts-top a[href*="buchen"] i{ color:#b8941f !important; }
  body.edel #mobile-shortcuts-top a[href*="verfuegbarkeit"]::after, body.edel #mobile-shortcuts-top a[href*="buchen"]::after{ color:#9c7a28 !important; font-weight:600 !important; }
}
@media (max-width:768px){
  /* „nach oben" links über der Leiste statt auf der Chat-Blase */
  body.edel a.scrollToTop{
    left:16px !important; right:auto !important; bottom:96px !important; width:42px !important; height:42px !important;
    background:rgba(255,255,255,.94) !important; border:1px solid var(--edel-linie) !important; color:var(--edel-nacht) !important;
  }
}

/* ================================================================ FREMD-WIDGETS */
body.edel #cm button.c-bn, body.edel #s-cnt button.c-bn{ text-transform:none !important; }

/* ================================================================ WELLNESS-SEITEN: Kacheln, Foto-Bänder (16.10.2026)
   Seiten Wellness (383) und Wellnessangebote (384), Elemente 1537 / 1540. Ersetzt die Textwand
   durch Einstieg, Fakten-Leiste, Foto-Band, Bento-Kacheln, zweites Band und eingeklappten SEO-Text. */
.nhs-wl{ width:100vw; margin-left:calc(50% - 50vw); color:var(--edel-tinte,#2B2F31); font-family:var(--edel-sans,'Instrument Sans',Arial,sans-serif); }
.nhs-wl *{ box-sizing:border-box; }
.nhs-wl-in{ max-width:1180px; margin:0 auto; padding:0 24px; }
.nhs-wl-intro{ text-align:center; padding:clamp(40px,6vw,80px) 0 clamp(28px,4vw,48px); }
.nhs-wl-intro h1{ font-family:var(--edel-serif,'Bodoni Moda',Georgia,serif); font-weight:400; font-size:clamp(2rem,4.6vw,3.4rem); line-height:1.12; color:var(--edel-nacht,#1B2A33); margin:0 auto 18px; max-width:18ch; text-wrap:balance; }
.nhs-wl-lead{ font-size:clamp(1.05rem,1.6vw,1.25rem); line-height:1.6; max-width:46ch; margin:0 auto; color:var(--edel-stein,#6A7177); }
.nhs-wl-facts{ display:grid; grid-template-columns:repeat(3,1fr); gap:0; margin:clamp(28px,4vw,48px) auto 0; max-width:960px; border-top:1px solid var(--edel-linie,rgba(27,42,51,.16)); border-bottom:1px solid var(--edel-linie,rgba(27,42,51,.16)); }
.nhs-wl-fact{ padding:22px 18px; text-align:center; }
.nhs-wl-fact + .nhs-wl-fact{ border-left:1px solid var(--edel-linie,rgba(27,42,51,.16)); }
.nhs-wl-fact b{ display:block; font-family:var(--edel-serif,'Bodoni Moda',Georgia,serif); font-weight:400; font-size:1.3rem; color:var(--edel-nacht,#1B2A33); margin-bottom:6px; }
.nhs-wl-fact span{ font-size:.95rem; color:var(--edel-stein,#6A7177); line-height:1.5; }
.nhs-wl-band{ position:relative; width:100%; height:clamp(320px,52vw,640px); overflow:hidden; background:var(--edel-nacht,#1B2A33); margin:clamp(8px,2vw,24px) 0; }
.nhs-wl-band picture,.nhs-wl-band img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; }
.nhs-wl-band::after{ content:""; position:absolute; inset:0; background:linear-gradient(to top,rgba(20,33,42,.72),rgba(20,33,42,.05) 55%); }
.nhs-wl-band figcaption{ position:absolute; z-index:2; left:0; right:0; bottom:clamp(20px,4vw,48px); text-align:center; color:#fff; padding:0 24px; }
.nhs-wl-band figcaption strong{ display:block; font-family:var(--edel-serif,'Bodoni Moda',Georgia,serif); font-weight:400; font-size:clamp(1.5rem,3.4vw,2.6rem); line-height:1.2; text-wrap:balance; }
.nhs-wl-band figcaption span{ display:block; margin-top:8px; font-size:clamp(.95rem,1.3vw,1.1rem); opacity:.9; }
.nhs-wl-h{ text-align:center; margin:clamp(36px,5vw,64px) 0 clamp(20px,3vw,32px); }
.nhs-wl-h h2{ font-family:var(--edel-serif,'Bodoni Moda',Georgia,serif); font-weight:400; font-size:clamp(1.6rem,3vw,2.3rem); color:var(--edel-nacht,#1B2A33); margin:0 0 8px; }
.nhs-wl-h p{ margin:0; color:var(--edel-stein,#6A7177); }
.nhs-wl-grid{ display:grid; grid-template-columns:repeat(6,1fr); grid-auto-rows:clamp(190px,18vw,240px); gap:14px; }
.nhs-wl-t{ position:relative; overflow:hidden; border-radius:4px; display:flex; flex-direction:column; justify-content:flex-end; padding:22px; grid-column:span 2; }
.nhs-wl-t.hero{ grid-column:span 4; grid-row:span 2; }
.nhs-wl-t picture,.nhs-wl-t img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; transition:transform .9s var(--edel-zeit,cubic-bezier(.22,.61,.36,1)); }
.nhs-wl-t:hover img{ transform:scale(1.04); }
.nhs-wl-t.foto::after{ content:""; position:absolute; inset:0; background:linear-gradient(to top,rgba(20,33,42,.78),rgba(20,33,42,.1) 62%); }
.nhs-wl-t.foto > :not(picture){ position:relative; z-index:2; color:#fff; }
.nhs-wl-t h3{ font-family:var(--edel-serif,'Bodoni Moda',Georgia,serif); font-weight:400; font-size:clamp(1.15rem,1.7vw,1.5rem); line-height:1.2; margin:0 0 6px; color:inherit; }
.nhs-wl-t.hero h3{ font-size:clamp(1.5rem,2.6vw,2.2rem); }
.nhs-wl-t p{ margin:0; font-size:.95rem; line-height:1.5; }
.nhs-wl-t.ruhig{ background:var(--edel-schnee,#F2F4F4); border:1px solid var(--edel-linie,rgba(27,42,51,.16)); justify-content:flex-start; }
.nhs-wl-t.ruhig svg{ width:34px; height:34px; color:var(--edel-licht,#A8834B); margin-bottom:14px; flex:none; }
.nhs-wl-t.ruhig h3{ color:var(--edel-nacht,#1B2A33); }
.nhs-wl-t.ruhig p{ color:var(--edel-stein,#6A7177); }
.nhs-wl-t.nacht{ background:var(--edel-nacht,#1B2A33); color:#fff; justify-content:flex-start; }
.nhs-wl-t.nacht h3{ color:#fff; }
.nhs-wl-t.nacht .zeit{ display:block; font-family:var(--edel-serif,'Bodoni Moda',Georgia,serif); font-size:clamp(2rem,3.6vw,3rem); line-height:1; color:#d4af37; margin:2px 0 12px; }
.nhs-wl-t.nacht p{ color:rgba(255,255,255,.82); }
.nhs-wl-t a{ color:inherit; text-decoration:underline; text-underline-offset:3px; }
.nhs-wl-cta{ display:flex; flex-wrap:wrap; gap:12px; justify-content:center; margin:clamp(28px,4vw,48px) 0 0; }
.nhs-wl-cta a{ display:inline-block; padding:13px 26px; border-radius:2px; text-decoration:none; font-weight:500; background:linear-gradient(135deg,#d4af37 0%,#b8941f 100%); color:#1B2A33; }
.nhs-wl-cta a.leise{ background:transparent; border:1px solid var(--edel-nacht,#1B2A33); color:var(--edel-nacht,#1B2A33); }
.nhs-wl-mehr{ max-width:760px; margin:clamp(40px,6vw,72px) auto 0; padding:0 24px clamp(20px,3vw,40px); }
.nhs-wl-mehr summary{ cursor:pointer; font-family:var(--edel-serif,'Bodoni Moda',Georgia,serif); font-size:1.25rem; color:var(--edel-nacht,#1B2A33); padding:14px 0; border-top:1px solid var(--edel-linie,rgba(27,42,51,.16)); list-style:none; display:flex; justify-content:space-between; align-items:center; gap:12px; }
.nhs-wl-mehr summary::-webkit-details-marker{ display:none; }
.nhs-wl-mehr summary::after{ content:"+"; font-family:var(--edel-sans,Arial,sans-serif); font-size:1.6rem; color:var(--edel-licht,#A8834B); }
.nhs-wl-mehr[open] summary::after{ content:"–"; }
.nhs-wl-mehr summary:focus-visible{ outline:2px solid var(--edel-licht,#A8834B); outline-offset:2px; }
.nhs-wl-mehr .txt h2{ font-family:var(--edel-serif,'Bodoni Moda',Georgia,serif); font-weight:400; font-size:1.35rem; color:var(--edel-nacht,#1B2A33); margin:1.6em 0 .5em; }
.nhs-wl-mehr .txt p,.nhs-wl-mehr .txt li{ line-height:1.7; }
@media (max-width:820px){
  .nhs-wl-grid{ grid-template-columns:1fr 1fr; grid-auto-rows:190px; }
  .nhs-wl-t,.nhs-wl-t.hero{ grid-column:span 1; grid-row:span 1; }
  .nhs-wl-t.hero{ grid-column:span 2; grid-row:span 2; }
  .nhs-wl-facts{ grid-template-columns:1fr; }
  .nhs-wl-fact + .nhs-wl-fact{ border-left:0; border-top:1px solid var(--edel-linie,rgba(27,42,51,.16)); }
}
@media (max-width:480px){
  .nhs-wl-grid{ grid-template-columns:1fr; grid-auto-rows:200px; }
  .nhs-wl-t,.nhs-wl-t.hero{ grid-column:span 1; grid-row:span 1; }
  .nhs-wl-t.ruhig,.nhs-wl-t.nacht{ grid-row:span 1; min-height:200px; }
}
@media (prefers-reduced-motion:reduce){ .nhs-wl-t img{ transition:none; } .nhs-wl-t:hover img{ transform:none; } }
/* Wellness-Kacheln: Farben gegen die älteren !important-Regeln für h2/h3/p absichern */
body.edel #main .nhs-wl .nhs-wl-t.foto h3, body.edel #main .nhs-wl .nhs-wl-t.foto p, body.edel #main .nhs-wl .nhs-wl-t.foto a,
body.edel #main .nhs-wl .nhs-wl-band figcaption strong, body.edel #main .nhs-wl .nhs-wl-band figcaption span{ color:#fff !important; text-shadow:0 1px 10px rgba(10,18,24,.5); }
body.edel #main .nhs-wl .nhs-wl-t.nacht h3{ color:#fff !important; }
body.edel #main .nhs-wl .nhs-wl-t.nacht p{ color:rgba(255,255,255,.86) !important; }
body.edel #main .nhs-wl .nhs-wl-t.nacht .zeit{ color:#d4af37 !important; }
body.edel #main .nhs-wl .nhs-wl-t.ruhig h3{ color:var(--edel-nacht,#1B2A33) !important; }
body.edel #main .nhs-wl .nhs-wl-t.ruhig p{ color:var(--edel-stein,#6A7177) !important; }
body.edel #main .nhs-wl .nhs-wl-cta a{ color:#1B2A33 !important; text-decoration:none !important; }
body.edel #main .nhs-wl .nhs-wl-cta a.leise{ color:var(--edel-nacht,#1B2A33) !important; }
body.edel #main .nhs-wl .nhs-wl-intro h1{ color:var(--edel-nacht,#1B2A33) !important; }
.nhs-wl-t.foto::after{ background:linear-gradient(to top,rgba(20,33,42,.86),rgba(20,33,42,.38) 58%,rgba(20,33,42,.08)); }
@media (max-width:480px){ .nhs-wl-grid{ grid-auto-rows:minmax(230px,auto); } .nhs-wl-t.foto{ min-height:230px; } }
