/**
 * ge-enhancements.css - consolidated global enhancement layer
 * Generated on 2026-04-25 to reduce stylesheet sprawl in the optimized copy.
 * Source order: ge-premium -> ge-worldclass -> ge-mobile-fix -> ge-upgrade -> ge-batch5 -> ge-konzepte
 */

/* -- OVERRIDES (ge-core.css Cache-Bypass) -------------------------------- */

/* Header: 20% mehr Transparenz (0.92 ? 0.72) */
.ge-header {
  background: rgba(6, 11, 22, 0.72) !important;
}
.ge-header.ge-scrolled,
.ge-header--scrolled {
  background: rgba(4, 7, 14, 0.88) !important;
}

/* Trust-Band: gleiche Vollton-Farbe wie der Header-Unterton (#060b16) */
#ge-trust {
  background: #060b16 !important;
  border-top: 1px solid rgba(201,168,106,.15) !important;
  border-bottom: 1px solid rgba(201,168,106,.15) !important;
}

/* -- FOOTER-BEREICH VEREINHEITLICHEN -------------------------------------
   Problem: CTA (#04080F) + Auch-interessant (dunkelblau-Gradient) +
            Footer-Close (#0A1A2F) + Footer (#04080F) = 4 verschiedene T�ne
   L�sung: Alles auf #0A1A2F � ein konsistentes Premium-Navy
   ------------------------------------------------------------------------ */

/* CTA-Abschnitt: von fast-schwarz auf Navy */
#ge-abschluss-cta {
  background: #07111f !important;
}

/* "Auch interessant" � passt zum Seiten-Dunkel #0A1A2F (Footer, CTA-Sections) */
.ge-topical-related {
  background: #0A1A2F !important;
  border-top: 1px solid rgba(201,168,106,.14) !important;
}

/* Desktop: Gleichbreite 4 Spalten (auto-fit kann ungleiche Spalten erzeugen) */
.ge-topical-related__grid {
  grid-template-columns: repeat(4, 1fr) !important;
}

/* Mobile: Karten kompakter (zuletzt geladen ? h�chste Priorit�t) */
@media (max-width: 900px) {
  .ge-topical-related__grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 10px !important;
    padding: 0 20px !important;
  }
}
@media (max-width: 768px) {
  .ge-topical-related {
    padding: 28px 0 32px !important;
  }
  .ge-topical-related__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    padding: 0 14px !important;
  }
  .ge-topical-related__item {
    padding: 14px 14px 12px !important;
    min-height: 0 !important;
    height: auto !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }
  .ge-topical-related__item-label {
    font-size: 16px !important;
    line-height: 1.28 !important;
    margin-bottom: 6px !important;
  }
  .ge-topical-related__label {
    margin-bottom: 22px !important;
  }
}

/* Footer selbst: von var(--navy-d) auf #0A1A2F */
.ge-footer {
  background: #0A1A2F !important;
}

/* Footer-Close stimmt bereits (#0A1A2F in ge-footer.css) ? */

/* Dark-Mode-Toggle: 50px, st�rkere Optik (passend zu Telefon/WhatsApp) */
.ge-theme-toggle {
  width: 50px !important;
  height: 50px !important;
  border: 2px solid rgba(201,168,106,.55) !important;
  background: #0A1A2F !important;
  box-shadow: 0 4px 18px rgba(0,0,0,.5) !important;
}
.ge-theme-toggle svg {
  width: 20px !important;
  height: 20px !important;
  display: block !important;
}

/* -- END OVERRIDES ------------------------------------------------------- */


/* ===== BEGIN ge-premium.css ===== */

/**
 * ge-premium.css � Premium Hero & Breadcrumb Design System
 * Gallium Estate Child Theme
 * Version: 82.0
 *
 * Klassen: ge-hero-premium, ge-breadcrumb-premium
 * Genutzt in: page-rechner, page-kontakt, page-bewertungen, page-lp
 */

/* ---------------------------------------------------
   HERO PREMIUM
   --------------------------------------------------- */

.ge-hero-premium {
  position: relative;
  min-height: clamp(580px, 72vh, 820px);
  display: flex;
  align-items: center;
  overflow: hidden;
  background: var(--navy, #0A1A2F);
  color: #fff;
  padding: clamp(80px, 14vw, 140px) 0 clamp(60px, 8vw, 100px);
}

/* Vollbild-Variante f�r Hero-Seiten (Hausverwaltung, Leistungen, VIP) */
.ge-hero-premium--fullscreen {
  min-height: 100svh;
}

/* Hintergrundbild */
.ge-hero-premium__bg-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 40%;
  z-index: 0;
  pointer-events: none;
}

/* Einheitlicher Dunkel-Gradient �ber Hintergrundbild (Item 15 � Lesbarkeit auf allen Seiten) */
.ge-hero-premium::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    108deg,
    rgba(10, 26, 47, 0.82) 0%,
    rgba(10, 26, 47, 0.58) 48%,
    rgba(10, 26, 47, 0.18) 100%
  );
  z-index: 1;
  pointer-events: none;
}

/* Scroll-Hint f�r Fullscreen-Heroes (Item 14) */
.ge-hero-premium--fullscreen .ge-scroll-hint {
  position: absolute;
  bottom: 32px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  color: rgba(255,255,255,0.45);
  font-size: 0.65rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  z-index: 3;
  animation: ge-scroll-bounce 2.2s ease-in-out infinite;
}
@keyframes ge-scroll-bounce {
  0%, 100% { transform: translateX(-50%) translateY(0); }
  50%       { transform: translateX(-50%) translateY(7px); }
}

/* Film-Grain-Overlay */
.ge-hero-premium__grain {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.04'/%3E%3C/svg%3E");
  background-repeat: repeat;
  background-size: 200px 200px;
  opacity: 0.5;
}

/* Glow-Orbs */
.ge-hero-premium__orb {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
  z-index: 1;
  filter: blur(80px);
  opacity: 0.18;
}

.ge-hero-premium__orb--1 {
  width: 500px;
  height: 500px;
  background: var(--gold, #C9A86A);
  top: -150px;
  right: -100px;
}

.ge-hero-premium__orb--2 {
  width: 400px;
  height: 400px;
  background: #2a4a8f;
  bottom: -120px;
  left: -80px;
}

/* Container-Inhalt (�ber Bild) */
.ge-hero-premium > .ge-container {
  position: relative;
  z-index: 2;
  width: 100%;
}

/* Badge */
.ge-hero-premium__badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 14px;
  border: 1px solid rgba(201, 168, 106, 0.35);
  border-radius: 100px;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--gold, #C9A86A);
  background: rgba(201, 168, 106, 0.08);
  margin-bottom: 20px;
  font-family: var(--font-sans, 'Outfit', sans-serif);
}

.ge-hero-premium__badge-dot {
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--gold, #C9A86A);
  animation: pulse-dot 2s ease-in-out infinite;
}

@keyframes pulse-dot {
  0%, 100% { opacity: 1; transform: scale(1); }
  50%       { opacity: 0.5; transform: scale(0.75); }
}

/* Heading */
.ge-hero-premium__h1 {
  font-family: var(--font-serif, 'Cormorant Garamond', serif);
  font-size: clamp(2.2rem, 5vw, 3.8rem);
  font-weight: 600;
  line-height: 1.1;
  color: #fff;
  margin: 0 0 20px;
  max-width: 700px;
}

.ge-hero-premium__h1 em {
  font-style: italic;
  color: var(--gold, #C9A86A);
}

/* Subline */
.ge-hero-premium__sub {
  font-family: var(--font-sans, 'Outfit', sans-serif);
  font-size: clamp(1rem, 1.6vw, 1.15rem);
  line-height: 1.7;
  color: rgba(255, 255, 255, 0.75);
  max-width: 580px;
  margin: 0 0 32px;
}

/* Action Buttons */
.ge-hero-premium__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}

/* Quote */
.ge-hero-premium__quote {
  margin-top: 40px;
  padding: 18px 24px;
  border-left: 3px solid var(--gold, #C9A86A);
  background: rgba(255, 255, 255, 0.04);
  border-radius: 0 8px 8px 0;
  font-size: 0.95rem;
  color: rgba(255, 255, 255, 0.7);
  font-style: italic;
  max-width: 520px;
  font-family: var(--font-serif, 'Cormorant Garamond', serif);
}

/* Trust Bar */
.ge-hero-premium__trust {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  margin-top: 36px;
  padding-top: 24px;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.ge-hero-premium__trust-div {
  width: 1px;
  height: 32px;
  background: rgba(255, 255, 255, 0.15);
  align-self: center;
}

.ge-hero-premium__trust-item {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.ge-hero-premium__trust-num {
  font-family: var(--font-serif, 'Cormorant Garamond', serif);
  font-size: 1.6rem;
  font-weight: 600;
  color: var(--gold, #C9A86A);
  line-height: 1;
}

.ge-hero-premium__trust-lbl {
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.5);
  font-family: var(--font-sans, 'Outfit', sans-serif);
}

/* Varianten */
.ge-hero-premium--rechner .ge-hero-premium__h1 { max-width: 600px; }
.ge-hero-premium--kontakt { min-height: clamp(580px, 72vh, 820px); }
.ge-hero-premium--hausverwaltung { min-height: clamp(580px, 72vh, 820px); }

/* ---------------------------------------------------
   BREADCRUMB PREMIUM
   --------------------------------------------------- */

.ge-breadcrumb-premium {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 28px;
  font-family: var(--font-sans, 'Outfit', sans-serif);
  font-size: 0.8rem;
  font-weight: 500;
  letter-spacing: 0.03em;
}

.ge-breadcrumb-premium a {
  color: rgba(255, 255, 255, 0.55);
  text-decoration: none;
  transition: color 0.2s;
}

.ge-breadcrumb-premium a:hover {
  color: var(--gold, #C9A86A);
}

.ge-breadcrumb-premium__sep {
  color: rgba(255, 255, 255, 0.25);
  font-size: 0.85rem;
  line-height: 1;
}

.ge-breadcrumb-premium__current {
  color: var(--gold, #C9A86A);
}

/* ---------------------------------------------------
   RESPONSIVE
   --------------------------------------------------- */

/* Admin-Bar-Kompensation */
body.admin-bar .ge-hero-premium {
  padding-top: calc(clamp(80px, 14vw, 140px) + 32px);
}
@media (max-width: 782px) {
  body.admin-bar .ge-hero-premium {
    padding-top: calc(100px + 46px);
  }
}

@media (max-width: 768px) {
  .ge-hero-premium {
    min-height: 420px;
    padding: 64px 0 60px;
  }

  .ge-hero-premium__trust {
    gap: 16px;
  }

  .ge-hero-premium__trust-div {
    display: none;
  }

  .ge-hero-premium__orb--1 {
    width: 300px;
    height: 300px;
  }

  .ge-hero-premium__orb--2 {
    width: 250px;
    height: 250px;
  }
}

@media (max-width: 480px) {
  .ge-hero-premium__actions {
    flex-direction: column;
    align-items: stretch;
  }

  .ge-hero-premium__actions .ge-btn {
    text-align: center;
  }
}

/* ===== END ge-premium.css ===== */


/* ===== BEGIN ge-worldclass.css ===== */

/*
 * ge-worldclass.css — Gallium Estate · Mobile-First Responsive Fix
 * Version: 3.0.0 · April 2026
 *
 * DEPLOYMENT:
 * /wp-content/themes/gallium-estate-child/assets/css/ge-worldclass.css
 *
 * Enqueue via functions.php:
 * wp_enqueue_style('ge-worldclass', get_stylesheet_directory_uri().'/assets/css/ge-worldclass.css', [], '3.0.0');
 *
 * KRITISCHE FIXES v2 → v3:
 * ✅ div { max-width:100% } GLOBAL entfernt → hatte Desktop-Grid/Flex gebrochen
 * ✅ overflow:hidden ohne @media entfernt → hatte JS-animierte Card-Inhalte geclippt
 * ✅ section/p GLOBAL padding/font-size entfernt → überschrieb Desktop-Theme
 * ✅ Alle aggressiven Overrides NUR noch innerhalb @media (max-width:767px)
 */

/* ═══════════════════════════════════════════════════════════════
   DESIGN TOKENS — ge-worldclass-eigene Tokens (KEIN Override von ge-base.css!)
   Brand-Tokens (--gold, --navy, --muted, --border, --text) kommen aus ge-base.css.
   Hier nur worldclass-spezifische Radius- und Spacing-Tokens.
   ═══════════════════════════════════════════════════════════════ */
:root {
  /* Radius-Tokens — worldclass-spezifisch */
  --radius-sm:   6px;
  --radius-md:   10px;
  --radius-lg:   16px;
  --radius-full: 9999px;

  /* Spacing-Tokens — worldclass-spezifisch */
  --space-xs:    0.375rem;
  --space-sm:    0.625rem;
  --space-md:    1rem;
  --space-lg:    1.5rem;
  --space-xl:    2rem;
}

/* ═══════════════════════════════════════════════════════════════
   1. GLOBALE SAFE-RULES — brechen KEIN Desktop-Layout
   ═══════════════════════════════════════════════════════════════ */

/* box-sizing: sicher global */
*, *::before, *::after {
  box-sizing: border-box;
}

/* overflow-x: clip schneidet position:fixed Elemente ab — hidden tut das NICHT.
   clip ist der einzig korrekte Fix für den Viewport-Overflow durch .ge-mobile Panel. */
html, body {
  overflow-x: clip;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

/* Medien: global responsive — safe */
img, video, iframe, embed, object {
  max-width: 100%;
  height: auto;
}

/* Focus-Ring: ge-base.css übernimmt globale :focus-visible Stile — kein Override nötig */

/* ═══════════════════════════════════════════════════════════════
   2. MOBILE CORE — @media max 767px
   ═══════════════════════════════════════════════════════════════ */
@media (max-width: 767px) {

  /* Block-Elemente: overflow-x auf Mobile */
  section, article, aside, main, header, footer {
    max-width: 100%;
    overflow-x: hidden;
  }

  /* Mindest-Schriftgröße 13px */
  p, li, span, td, th {
    font-size: max(13px, 0.875rem);
  }

  /* Überschriften umbrechen */
  h1, h2, h3, h4, h5, h6 {
    word-break: break-word;
    hyphens: auto;
    overflow-wrap: break-word;
    margin-bottom: 0.5em;
  }

  /* Tabellen scrollbar */
  table {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  /* Inputs: 16px verhindert iOS-Zoom */
  input, textarea, select {
    font-size: max(16px, 1rem) !important;
  }

  /* Tap-Target 44px */
  .btn, .button, a.btn, [type="submit"] {
    min-height: 44px;
    -webkit-tap-highlight-color: transparent;
    touch-action: manipulation;
  }

  /* Leere Spacer-Divs ausblenden */
  div[class*="spacer"]:empty,
  .ge-spacer {
    display: none !important;
  }
}

/* ═══════════════════════════════════════════════════════════════
   3. HERO — @media max 767px
      overflow:hidden NICHT global, nur Mobile und nur overflow-x
   ═══════════════════════════════════════════════════════════════ */
@media (max-width: 767px) {

  [class*="hero"], [class*="-hero"] {
    overflow-x: hidden;
    position: relative;
  }

  /* Hero H1 */
  [class*="hero"] h1,
  .ge-region-hero__h1 {
    font-size: clamp(1.5rem, 7vw, 2.25rem) !important;
    line-height: 1.2;
    word-break: break-word;
    hyphens: auto;
  }

  /* Hero Paragraphen */
  [class*="hero"] p {
    font-size: clamp(0.875rem, 3.8vw, 1rem);
    line-height: 1.65;
  }

  /* Deko-Orbs begrenzen */
  [class*="orb"], [class*="blob"], .ge-bg-orb {
    overflow: hidden;
    opacity: 0.35;
    pointer-events: none;
  }

  /* Hero-Buttons gestapelt */
  [class*="hero"] .btn-group,
  [class*="hero"] .cta-buttons {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
  }

  [class*="hero"] .btn,
  [class*="hero"] .button {
    display: block;
    width: 100%;
    text-align: center;
    padding: 0.875rem 1.25rem;
    font-size: clamp(0.8rem, 3.5vw, 0.9375rem);
    white-space: normal;
    box-sizing: border-box;
  }
}

/* ═══════════════════════════════════════════════════════════════
   4. PROZESS-KARTEN 01–05 — NUR @media max 767px
      Desktop-Layout VOLLSTÄNDIG unberührt
   ═══════════════════════════════════════════════════════════════ */
@media (max-width: 767px) {

  /* Grid: erzwungen 1 Spalte, kein overflow:hidden */
  .ge-prozess-grid,
  .process-grid,
  .schritte-grid,
  [class*="prozess-grid"],
  [class*="schritte-grid"],
  [class*="steps-grid"],
  [class*="process-grid"] {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0.625rem !important;
    padding: 0.75rem var(--space-md) !important;
  }

  /* Karte: Row-Layout, kein overflow:hidden (JS-Animationen!) */
  .ge-prozess-card,
  .process-card,
  .schritt-card,
  [class*="prozess-card"],
  [class*="schritt-card"],
  [class*="process-card"] {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    gap: 0.875rem !important;
    padding: 0.875rem !important;
    min-height: unset !important;
    height: auto !important;
  }

  /* Oval-Badge */
  [class*="step-number"],
  [class*="oval-number"],
  .step-oval,
  .process-number {
    width: 36px !important;
    height: 52px !important;
    min-width: 36px !important;
    flex-shrink: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1.5px solid var(--gold) !important;
    border-radius: 50% / 60% !important;
    font-size: 0.875rem !important;
    color: var(--gold) !important;
    background: transparent !important;
  }

  /* Content-Bereich */
  [class*="prozess-card"] > div:not([class*="number"]):not([class*="oval"]) {
    flex: 1 !important;
    min-width: 0 !important;
  }

  /* Karten-Titel */
  [class*="prozess-card"] h3,
  [class*="process-card"] h3 {
    font-size: clamp(0.9375rem, 3.8vw, 1.0625rem) !important;
    font-weight: 700 !important;
    margin-bottom: 0.25rem !important;
    line-height: 1.3 !important;
  }

  /* Karten-Text */
  [class*="prozess-card"] p,
  [class*="process-card"] p {
    font-size: 0.8125rem !important;
    line-height: 1.55 !important;
    margin-bottom: 0 !important;
  }

  /* Trennlinie in Karte: weg */
  [class*="prozess-card"] hr,
  [class*="process-card"] hr {
    display: none !important;
  }
}

/* ═══════════════════════════════════════════════════════════════
   5. FEATURE/USP-GRID — Mobile anpassen
   ═══════════════════════════════════════════════════════════════ */
@media (max-width: 480px) {
  [class*="features-grid"],
  [class*="usp-grid"] {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0.625rem !important;
  }
}

@media (min-width: 481px) and (max-width: 767px) {
  [class*="features-grid"],
  [class*="usp-grid"] {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 0.75rem !important;
  }
}

/* ═══════════════════════════════════════════════════════════════
   6. HEADER + MOBILE-MENÜ — @media max 767px
   ═══════════════════════════════════════════════════════════════ */
@media (max-width: 767px) {

  /* Header kompakt */
  .site-header, #masthead, header.header {
    padding: 0.5rem var(--space-md) !important;
    min-height: 52px !important;
  }

  /* Logo */
  .site-header .custom-logo,
  .navbar-brand img {
    max-height: 32px !important;
    width: auto !important;
  }

  /* Menü-Overlay: kein Leerraum oben */
  [class*="mobile-menu"],
  [class*="mobile-nav"],
  [class*="nav-overlay"] {
    padding-top: 0 !important;
    margin-top: 0 !important;
  }

  [class*="mobile-menu"] > div,
  [class*="mobile-nav"] > div,
  [class*="nav-overlay"] > div {
    padding-top: 0 !important;
    margin-top: 0 !important;
  }

  /* Pseudo-Elemente als Leerraum-Täter */
  [class*="mobile-menu"]::before,
  [class*="mobile-menu"]::after,
  [class*="mobile-nav"]::before,
  [class*="mobile-nav"]::after,
  [class*="nav-overlay"]::before,
  [class*="nav-overlay"]::after {
    display: none !important;
  }

  /* Spacer-Divs im Menü */
  [class*="mobile-menu"] .spacer,
  [class*="mobile-nav"] .spacer,
  [class*="nav-overlay"] .spacer {
    display: none !important;
  }

  /* Menü-Items */
  [class*="mobile-menu"] ul,
  [class*="mobile-nav"] ul,
  [class*="nav-overlay"] ul {
    padding: 0 !important;
    margin: 0 !important;
  }

  [class*="mobile-menu"] li,
  [class*="mobile-nav"] li,
  [class*="nav-overlay"] li {
    border-bottom: 1px solid rgba(255,255,255,0.07) !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  [class*="mobile-menu"] li a,
  [class*="mobile-nav"] li a,
  [class*="nav-overlay"] li a {
    font-size: clamp(0.9375rem, 3.8vw, 1.0625rem) !important;
    padding: 0.625rem var(--space-md) !important;
    display: flex !important;
    align-items: center !important;
    min-height: 44px !important;
  }

  /* Kategorie-Labels */
  [class*="menu-label"],
  [class*="nav-category"] {
    font-size: 0.6875rem !important;
    letter-spacing: 0.1em !important;
    padding: 0.625rem var(--space-md) 0.25rem !important;
    opacity: 0.55 !important;
  }

  /* Body fix wenn Menü offen */
  body.menu-open, body.nav-open {
    overflow: hidden !important;
    position: fixed !important;
    width: 100% !important;
  }
}

/* ═══════════════════════════════════════════════════════════════
   7. FOOTER — @media max 767px
   ═══════════════════════════════════════════════════════════════ */
@media (max-width: 767px) {

  .site-footer, .ge-footer, #colophon, footer.footer {
    padding: 1.5rem var(--space-md) 1rem !important;
  }

  /* 1-Spalten-Grid */
  .footer-widgets,
  .footer-columns,
  .footer-inner,
  [class*="footer-grid"],
  [class*="footer-columns"],
  footer .wp-block-columns {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0 !important;
  }

  /* Footer-Widget */
  .footer-widget, .widget_nav_menu, [class*="footer-col"] {
    border-bottom: 1px solid rgba(255,255,255,0.08) !important;
    padding: 0 !important;
  }

  /* Widget-Titel */
  .footer-widget h3, .footer-widget h4,
  [class*="footer-col"] h3, [class*="footer-col"] h4 {
    font-size: 0.8125rem !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    padding: 0.75rem 0 !important;
    margin: 0 !important;
    color: var(--gold) !important;
  }

  /* Footer-Links */
  .footer-widget ul {
    list-style: none !important;
    margin: 0 0 0.75rem !important;
    padding: 0 !important;
  }
  .footer-widget ul li { padding: 0 !important; margin: 0 !important; }
  .footer-widget ul li a {
    font-size: 0.8125rem !important;
    padding: 0.35rem 0 !important;
    display: block !important;
    color: rgba(255,255,255,0.70) !important;
    min-height: unset !important;
  }

  /* Tätigkeitsgebiet */
  [class*="taetigkeitsgebiet"], [class*="tätigkeitsgebiet"] {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0.25rem !important;
    padding: 0.5rem 0 0.875rem !important;
  }
  [class*="taetigkeitsgebiet"] span {
    font-size: 0.6875rem !important;
    padding: 0.2rem 0.5rem !important;
    background: rgba(255,255,255,0.06) !important;
    border-radius: var(--radius-sm) !important;
    white-space: nowrap !important;
  }

  /* Copyright-Bar */
  .site-info, [class*="footer-bar"], [class*="footer-bottom"] {
    padding: 0.75rem 0 !important;
    margin-top: 0.625rem !important;
    border-top: 1px solid rgba(255,255,255,0.08) !important;
    font-size: 0.6875rem !important;
    text-align: center !important;
    color: rgba(255,255,255,0.45) !important;
  }
}

/* ═══════════════════════════════════════════════════════════════
   8. "AUCH INTERESSANT" — Horizontal-Carousel auf Mobile
   ═══════════════════════════════════════════════════════════════ */
@media (max-width: 767px) {

  [class*="related-posts"],
  [class*="auch-interessant"],
  [class*="related"] {
    padding: 1rem var(--space-md) !important;
  }

  [class*="related"] .cards-wrap,
  [class*="related"] .grid {
    display: flex !important;
    flex-direction: row !important;
    overflow-x: auto !important;
    gap: 0.625rem !important;
    padding-bottom: 0.5rem !important;
    scroll-snap-type: x mandatory !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
  }
  [class*="related"] .cards-wrap::-webkit-scrollbar { display: none !important; }

  [class*="related"] .card,
  [class*="related"] article {
    min-width: 200px !important;
    max-width: 220px !important;
    flex-shrink: 0 !important;
    scroll-snap-align: start !important;
    padding: 0.75rem !important;
  }

  [class*="related"] h3, [class*="related"] h4 {
    font-size: 0.875rem !important;
    margin-bottom: 0.25rem !important;
  }
  [class*="related"] p { font-size: 0.75rem !important; margin-bottom: 0 !important; }
}

/* ═══════════════════════════════════════════════════════════════
   9. SEKTION-GE-KLASSEN — Mobile Padding-Reduktion
   ═══════════════════════════════════════════════════════════════ */
@media (max-width: 767px) {

  /* Nur eigene GE-Klassen, NICHT generisches "section" */
  .ge-section, [class*="ge-section"], [class*="section--"] {
    padding-top:    clamp(1.25rem, 5vw, 2rem) !important;
    padding-bottom: clamp(1.25rem, 5vw, 2rem) !important;
    padding-left:   var(--space-md) !important;
    padding-right:  var(--space-md) !important;
  }

  /* Blockquote */
  blockquote {
    padding: 0.875rem 1rem !important;
    margin: 0.75rem 0 !important;
    border-left: 3px solid var(--gold) !important;
    font-size: 0.875rem !important;
    line-height: 1.6 !important;
  }

  /* Überschriften Mobile-Größe */
  [class*="section-title"], [class*="page-title"], .entry-title {
    font-size: clamp(1.25rem, 5.5vw, 1.75rem) !important;
    line-height: 1.2 !important;
  }

  /* Tag-Pills */
  [class*="tag-pill"], [class*="category-tag"] {
    font-size: 0.625rem !important;
    padding: 0.25rem 0.625rem !important;
    letter-spacing: 0.1em !important;
    border-radius: var(--radius-full) !important;
    white-space: nowrap !important;
  }

  /* Preis-Tabelle scrollbar */
  [class*="pricing"], [class*="pakete-table"] {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }

  /* Checkmark-Listen */
  [class*="check-list"] { display: flex !important; flex-direction: column !important; gap: 0.5rem !important; }
  [class*="check-list"] li { font-size: 0.875rem !important; line-height: 1.4 !important; }
}

/* ═══════════════════════════════════════════════════════════════
   10. TABLET + DESKTOP GRID-ERWEITERUNGEN
   ═══════════════════════════════════════════════════════════════ */
@media (min-width: 768px) {
  [class*="features-grid"], [class*="usp-grid"] {
    grid-template-columns: repeat(4, 1fr);
  }
  [class*="situation-grid"], [class*="pricing-grid"] {
    grid-template-columns: repeat(2, 1fr);
  }
  [class*="footer-grid"], .footer-widgets, .footer-columns {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 1024px) {
  [class*="situation-grid"] { grid-template-columns: repeat(3, 1fr); }
  [class*="pricing-grid"]   { grid-template-columns: repeat(3, 1fr); }
  [class*="footer-grid"], .footer-widgets, .footer-columns {
    grid-template-columns: repeat(3, 1fr);
  }
}

/* ═══════════════════════════════════════════════════════════════
   11. DARK-BACKGROUND KONTRASTE
   ═══════════════════════════════════════════════════════════════ */
.bg-navy p, .bg-dark p, .ge-dark p {
  color: rgba(255,255,255,0.88);
}
.bg-navy .text-muted, .ge-dark .text-muted {
  color: rgba(255,255,255,0.60) !important;
}
.bg-navy .text-gold, .ge-dark .accent-text {
  color: #EFB824; /* minimal heller für WCAG AA */
}

/* ═══════════════════════════════════════════════════════════════
   12. GUTENBERG RESETS
   ═══════════════════════════════════════════════════════════════ */
.wp-block-image img { max-width: 100%; height: auto; }

@media (max-width: 599px) {
  .wp-block-columns:not(.is-not-stacked-on-mobile) {
    flex-direction: column !important;
  }
  .wp-block-column {
    flex-basis: 100% !important;
    max-width: 100% !important;
  }
}

/* ═══════════════════════════════════════════════════════════════
   13. REDUCED MOTION + PRINT
   ═══════════════════════════════════════════════════════════════ */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

@media print {
  .site-header, .site-footer, [class*="nav"] { display: none !important; }
  body { font-size: 11pt; color: #000 !important; background: #fff !important; }
}

/* END — ge-worldclass.css v3.0.0 — Gallium Estate */

/* ===== END ge-worldclass.css ===== */


/* ===== BEGIN ge-mobile-fix.css ===== */

/**
 * ge-mobile-fix.css � Gallium Estate Mobile Bug Fixes v5
 * April 2026
 * ROOT CAUSE ANALYSE (v5 final):
 *   .ge-mobile nutzt transform:translateX(100%/0) via JS (ge-header.js).
 *   transform:none DARF NICHT �berschrieben werden � bricht JS-Animation!
 *
 *   ECHTER FIX F�R VIEWPORT-BREITE:
 *   1. overflow:clip auf html (NICHT hidden!):
 *      - clip schneidet position:fixed Elemente ab � hidden tut das NICHT.
 *      - clip erzeugt keinen Scroll-Container ? kein Scroll-Verlust.
 *   2. contain:layout style auf .ge-mobile:
 *      Panel ist im eigenen Layout-Kontext, beeinflusst Seitenbreite nicht.
 *   3. will-change:transform auf .ge-mobile:
 *      GPU-Layer ? Browser exkludiert Panel aus Viewport-Breiten-Berechnung.
 */

/* === FIX A: OVERLAY STACKING (KRITISCH) === */
.ge-overlay {
  z-index: 850 !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
.ge-header {
  z-index: 900 !important;
}

/* === FIX CORE: VIEWPORT-BREITE (KRITISCH) ===
   overflow:clip auf html schneidet position:fixed Elemente ab.
   overflow:hidden tut das NICHT � daher hat hidden nie funktioniert.
   contain+will-change auf .ge-mobile isoliert das Panel komplett. */
.ge-mobile {
  /* transform:translateX() BLEIBT � wird von ge-header.js gesteuert!
     NIEMALS transform:none hier setzen � bricht die Men�-Animation! */
  contain: layout style !important;
  will-change: transform !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  background: #04080f !important;
  overflow-y: auto !important;
  max-height: 100vh !important;
  /* Sicherheit: Panel nie breiter als Viewport, auch bei width:100vw override */
  max-width: 100vw !important;
}
.ge-mobile__list a {
  display: block !important;
  color: rgba(255,255,255,.85) !important;
  opacity: 1 !important;
}
.ge-mobile__list a::after { display: none !important; }
.ge-mobile__group-head { color: #D4A84B !important; opacity: 1 !important; }
.ge-mobile__btn--gold { background: #D4A84B !important; color: #fff !important; }
.ge-mobile__btn--outline { color: rgba(255,255,255,.88) !important; border-color: rgba(255,255,255,.25) !important; }
.ge-mobile__list a[style] { color: #E8D090 !important; }

/* === FIX B: BACKDROP-FILTER ENTFERNEN (Samsung/Android) === */
/* html: overflow:clip � schneidet position:fixed Elemente ab (hidden tut das nicht!) */
html {
  overflow-x: clip !important;
  background: #04080f !important;
}
/* Fallback: overflow:hidden f�r Browser ohne clip-Support */
@supports not (overflow-x: clip) {
  html { overflow-x: hidden !important; }
}
body {
  overflow-x: clip !important;   /* clip statt hidden: st�rkere Isolierung */
  max-width: 100% !important;
  min-width: 0 !important;
  width: 100% !important;
}
/* Starfield-Canvas: nie breiter als Viewport */
#ge-starfield, canvas {
  max-width: 100vw !important;
  width: 100% !important;
}
/* Parent-Theme .container / WP-Standardklassen: min-width aus Parent entfernen */
@media (max-width: 768px) {
  .container, #main, #primary, #page, .site, .site-content {
    min-width: 0 !important;
    max-width: 100% !important;
  }
}
@media (max-width: 1024px) {
  /* Alle Elemente mit backdrop-filter ? Farbw�sche auf Samsung entfernen */
  .ge-card--dark, .ge-review-card, .ge-testi-card,
  .ge-markt-card, .markt-card, .ge-topical-related__item, .leist-card,
  .ge-dropdown, .ge-dropdown__link,
  .map-card {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    will-change: auto !important;
  }
  .ge-card--dark, .ge-review-card, .ge-testi-card { background: #0e1c34 !important; }
  .ge-markt-card, .markt-card { background: #0a1626 !important; }
  .ge-topical-related__item { background: #0c1a30 !important; }
  .leist-card { background: #0e1f3a !important; }
  .ge-section--dark { background: #060f1e !important; }
  .ge-section--navy { background: #0e2040 !important; }
  .trust-strip, .ge-trust { background: #0a1830 !important; }
  .ge-cta-band, .cta-band { background: #060f1e !important; }
  .ge-vip-band { background: #060f1e !important; }
  body { -webkit-font-smoothing: auto !important; -moz-osx-font-smoothing: auto !important; }
  html, body { height: auto !important; }
  /* 100dvh: ber�cksichtigt dynamische Browser-Toolbar ? kein Sprung/Vibration beim Scrollen */
  /* svh = small viewport height — stabil, expandiert NICHT wenn Browser-Toolbar ein/ausblendet */
  .hero, .ge-hero-premium, .ge-contact-split__left {
    min-height: 100svh !important;
    max-height: none !important;
  }
  .ge-mobile { max-height: none !important; }
  /* KRITISCH: backdrop-filter auf Header ENTFERNEN � verursacht Farbw�sche auf Samsung */
  .ge-header {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    background: rgba(4,7,14,.97) !important; /* Solider Hintergrund statt Blur */
  }
  /* KRITISCH: backdrop-filter auf .ge-mobile ENTFERNEN � verursacht Scroll-Jank/Vibration */
  .ge-mobile {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    background: #04080f !important;
  }
  .ge-markt-card__val, .markt-card__val {
    -webkit-text-fill-color: #E8D090 !important;
    background: none !important; color: #E8D090 !important;
  }
  /* Mobile Panel: weniger Padding oben damit erster Men�punkt sichtbar ist */
  .ge-mobile {
    padding-top: 80px !important;
  }
}

/* === FIX C: PROPORTIONEN === */
@media (max-width: 640px) {
  /* Auch interessant � 2�2 Grid */
  .ge-topical-related__grid {
    grid-template-columns: 1fr 1fr !important;
    padding: 0 12px !important; gap: 8px !important;
  }
  .ge-topical-related__item { padding: 18px 14px !important; min-height: 0 !important; }
  .ge-topical-related { padding: 32px 0 36px !important; }
  /* Reviews / Testimonials */
  .ge-reviews-grid, .ge-testi-grid { grid-template-columns: 1fr !important; gap: 12px !important; }
  .ge-review-card, .ge-testi-card { padding: 20px 16px !important; }
  /* Markt */
  .markt-grid, .ge-markt-grid { grid-template-columns: 1fr !important; gap: 10px !important; }
  .markt-card, .ge-markt-card { padding: 20px !important; }
  .markt-card__val, .ge-markt-card__val { font-size: 36px !important; }
  /* Prozess */
  .ge-process { grid-template-columns: 1fr !important; gap: 16px !important; }
  .ge-process::before { display: none !important; }
  .ge-process-step { padding: 20px 16px !important; min-height: 0 !important; }
  /* Section Header */
  .ge-section__header, .ge-section-head { margin-bottom: 28px !important; }
  .ge-section__header h2, .ge-section-head h2, .ge-section-h2 {
    font-size: clamp(22px, 6vw, 32px) !important; line-height: 1.2 !important;
  }
  .ge-section { padding: 44px 0 !important; }
  /* Container */
  .container, .ge-container { padding-left: 16px !important; padding-right: 16px !important; }
  /* Leistungen */
  .leistungen-grid { grid-template-columns: 1fr !important; gap: 1px !important; }
  .leist-card { padding: 24px 18px !important; }
  .leist-card p { font-size: 13px !important; }
  /* Trust Strip 2x2 */
  .trust-strip__inner, .ge-trust__inner {
    display: grid !important; grid-template-columns: 1fr 1fr !important;
  }
  .trust-item, .ge-trust__item {
    border-right: none !important; border-bottom: 1px solid rgba(201,168,106,.08) !important;
    padding: 16px 12px !important; text-align: center !important;
  }
  .trust-item strong, .ge-trust__val { font-size: 26px !important; display: block !important; }
  /* Ueber Uns */
  .ueber-grid { grid-template-columns: 1fr !important; gap: 28px !important; }
  .ueber__portrait-frame { width: 160px !important; height: 200px !important; margin: 0 auto !important; }
  /* FAQ */
  .ge-faq-q { font-size: 14px !important; padding: 16px 0 !important; font-family: inherit !important; }
  .ge-faq-q:hover { padding-left: 0 !important; }
}

@media (max-width: 540px) {
  .hero__btns, .ge-hero-premium__btns {
    flex-direction: column !important; align-items: stretch !important; gap: 10px !important;
  }
  .ge-hbtn { width: 100% !important; justify-content: center !important; min-height: 48px !important; }
}

@media (max-width: 380px) {
  .trust-strip__inner, .ge-trust__inner { grid-template-columns: 1fr !important; }
}

@media (max-width: 768px) {
  body { padding-bottom: 76px !important; }
  .ge-wa-float, .ge-wa { display: none !important; }
  /* Karte: overflow:visible kann auf Samsung Seite verbreitern ? abschneiden */
  .map-wrapper { overflow: hidden !important; }
  /* Immobilie der Woche: 2-Spalten-Grid ? 1 Spalte auf Mobile */
  #immobilie-der-woche [style*="grid-template-columns:1.15fr"] {
    display: block !important;
  }
  #immobilie-der-woche [style*="min-height:460px"] {
    min-height: 240px !important;
  }
}

/* === FIX E: MOBILE CTA BAR � Position & Men�-Interaktion === */
.ge-mobile-cta {
  position: fixed !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  z-index: 800 !important; /* UNTER header(900), overlay(850) und mobile-panel(950) */
  display: flex !important;
  align-items: stretch !important;
  justify-content: stretch !important;
  background: #0A1A2F !important;
  border-top: 1px solid rgba(201,168,106,.2) !important;
  padding-bottom: env(safe-area-inset-bottom, 0) !important;
}
/* Men� offen: mobile-cta verstecken damit sie Klicks nicht blockiert */
body.ge-menu-open .ge-mobile-cta {
  display: none !important;
}
@media (min-width: 769px) {
  .ge-mobile-cta { display: none !important; }
}

/* === HOTFIX 2026-05-06: "Auch interessant" deutlich kleiner (mobil, global) === */
@media (max-width: 768px) {
  .ge-topical-related,
  .ge-related,
  .ge-related-section {
    padding-top: 22px !important;
    padding-bottom: 24px !important;
  }

  .ge-topical-related__grid,
  .ge-related-grid {
    gap: 8px !important;
  }

  .ge-topical-related__item,
  .ge-topical-related .ge-topical-related__item,
  .ge-related-card {
    min-height: 0 !important;
    height: auto !important;
    padding: 22px 18px !important;
    border-radius: 16px !important;
  }

  .ge-topical-related__item h3,
  .ge-topical-related__item-label,
  .ge-related-card__title {
    font-size: 16px !important;
    line-height: 1.15 !important;
    margin-bottom: 6px !important;
  }

  .ge-topical-related__item p,
  .ge-topical-related__item-sub,
  .ge-related-card__text {
    font-size: 13px !important;
    line-height: 1.55 !important;
    margin-bottom: 10px !important;
    display: block !important;
    overflow: visible !important;
  }

  .ge-topical-related__item a,
  .ge-topical-related__arrow,
  .ge-related-card__link {
    margin-top: 0 !important;
    font-size: 12px !important;
    line-height: 1.4 !important;
  }

  .ge-topical-related__item::before,
  .ge-topical-related__item::after {
    display: none !important;
  }
}

/* === NEXT 3 BIG IMPROVEMENTS (2026-05-06) === */
@media (max-width: 768px) {
  /* 1) Gro�e Leerr�ume reduzieren */
  .ge-sec,
  .ge-section {
    padding-top: clamp(22px, 5.5vw, 36px) !important;
    padding-bottom: clamp(22px, 5.5vw, 36px) !important;
  }

  .ge-sec-hd,
  .ge-section-hd,
  .ge-section__header {
    margin-bottom: 14px !important;
  }

  .ge-eyebrow {
    margin-bottom: 8px !important;
  }

  /* 2) Bottom-Bar Overlap entsch�rfen */
  body {
    padding-bottom: calc(92px + env(safe-area-inset-bottom, 0px)) !important;
  }

  main,
  #main-content,
  .site-main {
    padding-bottom: 14px !important;
  }

  main > section:last-child,
  #main-content > section:last-child,
  .site-main > section:last-child {
    padding-bottom: calc(34px + env(safe-area-inset-bottom, 0px)) !important;
  }

  [id] {
    scroll-margin-top: 84px !important;
  }


}

/* === GLOBAL OVERRIDE: Kontakt + Gutachten Mobile (2026-05-06) === */
@media (max-width: 768px) {
  /* KONTAKT: unabh�ngig von Body-Templateklasse */
  .kk-hero {
    padding: 74px 0 18px !important;
    min-height: auto !important;
  }
  .kk-hero__inner {
    gap: 10px !important;
  }
  .kk-hero__person {
    order: -1 !important;
    margin-inline: auto !important;
    max-width: 320px !important;
  }
  .kk-hero__person > div[style*="margin-bottom:-42px"] {
    margin-bottom: -18px !important;
  }
  .kk-person-card {
    width: 100% !important;
    max-width: 320px !important;
    margin-inline: auto !important;
    padding: 40px 12px 12px !important;
    border-radius: 14px !important;
  }
  .kk-person-card__name {
    font-size: 22px !important;
    line-height: 1.08 !important;
  }
  .kk-person-card__tel {
    font-size: 15px !important;
  }
  .kk-person-card__trust-badge {
    font-size: 10.5px !important;
    padding: 4px 8px !important;
  }
  .kk-main {
    gap: 10px !important;
  }
  .kk-sidebar,
  .kk-form-wrap {
    padding: 12px !important;
    border-radius: 14px !important;
  }
  .kk-anliegen {
    gap: 7px !important;
  }
  .kk-anliegen-btn {
    padding: 9px 8px !important;
    border-radius: 10px !important;
  }
  .kk-anliegen-btn__label {
    font-size: 13.5px !important;
  }
  .kk-anliegen-btn__desc {
    font-size: 11.5px !important;
    line-height: 1.28 !important;
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 1 !important;
    overflow: hidden !important;
  }
  .kk-channel {
    padding: 10px 9px !important;
  }
  .kk-channel__value {
    font-size: 12px !important;
  }

  /* GUTACHTEN VERGLEICH: gequetschtes Fenster reparieren */
  .gut-cmp {
    width: 100% !important;
    overflow: hidden !important;
    border-radius: 12px !important;
  }
  .gut-cmp-head,
  .gut-cmp-row {
    display: grid !important;
    grid-template-columns: 1.35fr 1fr 1fr !important; /* Kriterium | Online | Vollgutachten */
  }
  .gut-cmp-head > div:nth-child(3),
  .gut-cmp-row  > div:nth-child(3) {
    display: none !important; /* Ersteinsch�tzung mobil ausblenden */
  }
  .gut-cmp-head > div,
  .gut-cmp-row > div {
    padding: 8px 6px !important;
    font-size: 12px !important;
    line-height: 1.22 !important;
    word-break: break-word !important;
    overflow-wrap: anywhere !important;
  }
}

/* === FORCE-VISIBLE MOBILE FIX PACK (2026-05-06) === */
@media (max-width: 768px) {
  /* A) Kontaktseite: klar kompakter und ruhiger */
  .page-template-page-kontakt-php .kk-hero {
    padding: 76px 0 20px !important;
  }
  .page-template-page-kontakt-php .kk-hero__inner {
    gap: 12px !important;
  }
  .page-template-page-kontakt-php .kk-hero__person > div[style*="margin-bottom:-42px"] {
    margin-bottom: -22px !important;
  }
  .page-template-page-kontakt-php .kk-person-card {
    width: 100% !important;
    max-width: 320px !important;
    margin: 0 auto !important;
    padding: 44px 12px 12px !important;
  }
  .page-template-page-kontakt-php .kk-person-card__name {
    font-size: 22px !important;
    line-height: 1.1 !important;
  }
  .page-template-page-kontakt-php .kk-person-card__tel {
    font-size: 15px !important;
    line-height: 1.2 !important;
  }
  .page-template-page-kontakt-php .kk-person-card__trust {
    gap: 6px !important;
  }
  .page-template-page-kontakt-php .kk-person-card__trust-badge {
    font-size: 11px !important;
    padding: 4px 9px !important;
  }
  .page-template-page-kontakt-php .kk-main {
    gap: 10px !important;
  }
  .page-template-page-kontakt-php .kk-sidebar,
  .page-template-page-kontakt-php .kk-form-wrap {
    padding: 14px 12px !important;
  }
  .page-template-page-kontakt-php .kk-anliegen-btn {
    padding: 10px 9px !important;
  }
  .page-template-page-kontakt-php .kk-anliegen-btn__desc {
    -webkit-line-clamp: 1 !important;
    line-height: 1.3 !important;
  }

  /* B) Gutachten-Vergleich mobil lesbar (kein gequetschter rechter Block) */
  .gut-compare-table,
  .ge-compare-table,
  .gv-compare-table,
  table[aria-label*="Vergleich"],
  table[class*="compare"] {
    table-layout: fixed !important;
    width: 100% !important;
  }
  .gut-compare-table th,
  .gut-compare-table td,
  .ge-compare-table th,
  .ge-compare-table td,
  .gv-compare-table th,
  .gv-compare-table td,
  table[aria-label*="Vergleich"] th,
  table[aria-label*="Vergleich"] td,
  table[class*="compare"] th,
  table[class*="compare"] td {
    padding: 8px 6px !important;
    font-size: 12px !important;
    line-height: 1.25 !important;
    word-break: break-word !important;
  }

  /* C) CTA in dunklen Bereichen: Text muss sichtbar sein */
  .ge-cta-band .ge-btn,
  .ge-cta-band a[class*="btn"],
  .ge-sec--deep .ge-btn,
  .ge-sec--dark .ge-btn {
    color: #f4f6fb !important;
    border-color: rgba(255,255,255,.2) !important;
  }
  .ge-cta-band .ge-btn--gold,
  .ge-cta-band .ge-btn--primary,
  .ge-sec--deep .ge-btn--gold,
  .ge-sec--dark .ge-btn--gold {
    color: #09111f !important;
  }


  .ge-topical-related__item-sub,
  .ge-related-card__text {
    font-size: 13px !important;
    line-height: 1.55 !important;
    display: block !important;
    overflow: visible !important;
  }
  .ge-topical-related__arrow,
  .ge-related-card__link {
    margin-top: 10px !important;
    font-size: 12px !important;
  }
}

@media (max-width: 768px) {
  .ge-mobile-cta__btn {
    flex: 1 1 33.333% !important;
    min-width: 0 !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0 !important;
    min-height: 52px !important;
    padding: 8px 6px 10px !important;
    text-align: center !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    line-height: 1.15 !important;
    white-space: normal !important;
  }

  .ge-mobile-cta__wa,
  .ge-mobile-cta__call,
  .ge-mobile-cta__mail {
    background: #0A1A2F !important;
    color: rgba(255,255,255,.96) !important;
  }

  .ge-mobile-cta__btn span {
    display: none !important;
  }

  .ge-mobile-cta__btn svg {
    width: 18px !important;
    height: 18px !important;
    flex-shrink: 0 !important;
  }

  .ge-mobile-cta__wa {
    border-right: 1px solid rgba(255,255,255,.08) !important;
  }

  .ge-mobile-cta__call {
    border-right: 1px solid rgba(255,255,255,.08) !important;
  }
}

/* === FINAL MOBILE POLISH: Header / CTA / Contrast === */
@media (max-width: 900px) {
  .ge-header__phone {
    font-size: 0 !important;
    color: transparent !important;
  }

  .ge-header__phone::after {
    content: '' !important;
    display: none !important;
  }

  .ge-header__phone span {
    display: none !important;
  }

  .ge-header__phone svg {
    display: block !important;
    width: 15px !important;
    height: 15px !important;
    margin: 0 auto !important;
  }

  .ge-header__logo img {
    max-width: min(170px, 44vw) !important;
  }

  .ge-mobile-cta {
    min-height: 58px !important;
  }

  .ge-mobile-cta__btn {
    min-height: 58px !important;
    padding: 8px 6px 10px !important;
    font-size: 10.5px !important;
  }
}

@media (max-width: 600px) {
  .hero__bg,
  .ge-hero__bg,
  .ge-page-hero__bg {
    filter: brightness(.82) saturate(.92) !important;
  }

  .hero__content,
  .ge-hero__inner,
  .ge-page-hero__inner {
    text-shadow: 0 2px 18px rgba(0,0,0,.45) !important;
  }

  .hero__sub,
  .ge-hero__sub,
  .ge-page-hero__sub,
  .ge-section__header p,
  .idw-section__sub,
  .idw-card__excerpt,
  .kvz-form-card__head p,
  .kvz-price-row__label,
  .kvz-obj-card__nacht span {
    color: rgba(255,255,255,.86) !important;
  }

  .hero__badge,
  .hero__microproof-item span,
  .trust-item span,
  .ge-trust-bar__meta,
  .idw-card__fact-label,
  .idw-card__detail-chip {
    color: rgba(255,255,255,.82) !important;
  }

  .hero__h1,
  .ge-hero__h1,
  .ge-page-hero__h1 {
    font-size: clamp(31px, 8.8vw, 38px) !important;
    line-height: 1.1 !important;
  }

  .hero__sub {
    font-size: 14px !important;
    line-height: 1.7 !important;
  }

  .ge-fit-card__facts strong,
  .ge-trust-bar__item strong {
    font-size: 18px !important;
  }

  .ge-fit-card__facts span,
  .ge-trust-bar__meta {
    font-size: 9px !important;
  }
}

@media (max-width: 600px) {
  .ge-mobile-cta {
    min-height: 54px !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    background: rgba(8,18,34,.96) !important;
    backdrop-filter: blur(14px) !important;
    -webkit-backdrop-filter: blur(14px) !important;
    border-top: 1px solid rgba(201,168,106,.18) !important;
  }

  .ge-mobile-cta__btn {
    min-height: 54px !important;
    padding: 6px 4px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-right: 1px solid rgba(255,255,255,.06) !important;
  }

  .ge-mobile-cta__btn:last-child {
    border-right: 0 !important;
  }

  .ge-mobile-cta__btn span,
  .ge-mobile-cta__label {
    display: none !important;
    font-size: 0 !important;
    line-height: 0 !important;
  }

  .ge-mobile-cta__btn svg {
    width: 18px !important;
    height: 18px !important;
    opacity: 1 !important;
  }

  .ge-mobile-cta__wa svg { color: #25D366 !important; }
  .ge-mobile-cta__call svg { color: #E8D090 !important; }
  .ge-mobile-cta__mail svg { color: #76A9FF !important; }
}

/* === v128.0 FINAL MOBILE OVERRIDE: Kontakt + Startseiten-Kaesten === */
@media (max-width: 768px) {
  /* Kontaktseite: Hero bewusst kompakter und stabil (kein verschobener Kartenblock) */
  .kk-hero {
    padding-top: 70px !important;
    padding-bottom: 18px !important;
  }

  .kk-hero__inner {
    gap: 10px !important;
  }

  /* Obere Personenkarte auf Mobil ausblenden: reduziert visuelles Chaos deutlich */
  .kk-hero__person {
    display: none !important;
  }

  .kk-hero__content {
    max-width: 100% !important;
  }

  .kk-hero__h1 {
    font-size: clamp(34px, 9.2vw, 42px) !important;
    line-height: 1.02 !important;
    margin-bottom: 8px !important;
  }

  .kk-hero__sub {
    font-size: 14px !important;
    line-height: 1.5 !important;
    margin-bottom: 10px !important;
  }

  .kk-hero__pillars {
    gap: 7px !important;
  }

  .kk-hero__pillars li {
    padding: 9px 10px !important;
    font-size: 12px !important;
    line-height: 1.3 !important;
    border-radius: 10px !important;
  }

  .kk-hero__ctas .ge-btn {
    min-height: 44px !important;
    padding: 10px 12px !important;
  }


}

/* v127.2: final mobile compact + darker trust strip */
@media (max-width: 768px) {
  #ge-trust,
  .trust-strip,
  .ge-trust {
    background: transparent !important;
    border-top: none !important;
    border-bottom: none !important;
  }

  .ge-topical-related__item {
    padding: 14px 12px !important;
    min-height: 0 !important;
  }

  .ge-topical-related__item-label {
    font-size: 15px !important;
    line-height: 1.2 !important;
    margin-bottom: 8px !important;
  }

  .ge-topical-related__item-sub {
    font-size: 13px !important;
    line-height: 1.35 !important;
  }

  .ge-topical-related__arrow {
    margin-top: 8px !important;
  }
}

/* === LAST MOBILE OVERRIDES: gewinnt gegen spaete Altregeln === */
@media (max-width: 900px) {
  .ge-header__phone {
    display: inline-flex !important;
    width: 38px !important;
    min-width: 38px !important;
    height: 38px !important;
    padding: 0 !important;
    gap: 0 !important;
    overflow: hidden !important;
    font-size: 0 !important;
    line-height: 0 !important;
    color: transparent !important;
    text-indent: -9999px !important;
    white-space: nowrap !important;
    border-radius: 9px !important;
    background: rgba(255,255,255,.04) !important;
    border-color: rgba(255,255,255,.18) !important;
  }

  .ge-header__phone svg {
    position: static !important;
    width: 15px !important;
    height: 15px !important;
    margin: 0 !important;
    text-indent: 0 !important;
    transform: none !important;
  }

  .ge-header__logo img {
    height: 34px !important;
    max-width: min(150px, 40vw) !important;
  }

  .ge-header__actions {
    gap: 6px !important;
  }
}

@media (max-width: 600px) {
  .ge-header__logo img {
    height: 30px !important;
    max-width: min(138px, 38vw) !important;
  }

  .ge-burger,
  .ge-header__phone {
    width: 34px !important;
    min-width: 34px !important;
    height: 34px !important;
  }

  .ge-burger span {
    width: 15px !important;
  }

  .ge-mobile-cta {
    min-height: 52px !important;
  }

  .ge-mobile-cta__btn {
    min-height: 52px !important;
    padding: 6px 4px 8px !important;
    gap: 4px !important;
    font-size: 10px !important;
  }

  .ge-mobile-cta__btn svg {
    width: 18px !important;
    height: 18px !important;
  }

  .hero__sub,
  .ge-section__header p,
  .idw-section__sub,
  .idw-card__excerpt,
  .leist-card p,
  .markt-card__trend,
  .kvz-price-row__label,
  .kvz-form-card__head p,
  .kvz-obj-card__nacht span {
    color: rgba(255,255,255,.9) !important;
  }

  .hero__microproof-item span,
  .trust-item span,
  .ge-trust-bar__meta,
  .ge-fit-card__facts span,
  .idw-card__fact-label,
  .idw-card__detail-chip,
  .cta-band__list span {
    color: rgba(255,255,255,.86) !important;
  }
}

/* === FIX D: SCROLL-REVEAL niemals auf Header/Nav === */
.ge-header .ge-reveal, .ge-header .ge-stagger > *,
.ge-mobile .ge-reveal, .ge-mobile .ge-stagger > * {
  opacity: 1 !important; transform: none !important;
  transition: none !important; will-change: auto !important;
}

/* === FIX F: LOGO � Gr��er & linksb�ndig auf Mobile === */
@media (max-width: 900px) {
  .ge-header__logo {
    position: static !important;
    left: auto !important;
    transform: none !important;
  }
  /* Bild-Logo */
  .ge-header__logo img {
    height: 52px !important;
    max-width: 220px !important;
  }
  /* Text-Logo */
  .ge-logo-main {
    font-size: 20px !important;
    letter-spacing: .05em !important;
  }
  .ge-logo-sub {
    font-size: 8.5px !important;
  }
  .ge-logo-mark {
    width: 8px !important;
    height: 8px !important;
  }
}

/* Trust: 5er-Grid ab 641px */
@media (min-width: 641px) {
  .ge-trust__inner { grid-template-columns: repeat(5, 1fr) !important; }
}

/* -----------------------------------------------------------
   FIX G: MOBILE BREITE � Overflow-Quellen abdichten
   Portal-Strip-Ticker + Trust-Bar: nie breiter als 100vw
----------------------------------------------------------- */
.ge-portal-strip {
  overflow: hidden !important;
  max-width: 100vw !important;
}
.ge-portal-strip__inner {
  /* max-content ist n�tig f�r den Ticker � aber Portal-Strip clippt es */
  max-width: none;
}
/* Sicherheitsnetz: alle Sektionen nie breiter als Viewport */
@media (max-width: 768px) {
  .ge-section,
  .ge-trust-bar,
  .ge-portal-strip,
  .ge-footer,
  .cta-band,
  .ge-cta-band {
    max-width: 100vw !important;
    overflow-x: hidden !important;
  }
  /* Inline-Grid aus front-page.php: Immobilie der Woche */
  #immobilie-der-woche .container > div {
    overflow: hidden !important;
  }
}

/* -----------------------------------------------------------
   FIX H: VIER K�STEN � 2�2 Grid auf Mobile
   .ge-ti (page-immobilien.php Vertrauens-Strip)
----------------------------------------------------------- */
@media (max-width: 640px) {
  .ge-ti {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    flex-direction: unset !important;
    gap: 1px !important;
    background: rgba(201,168,106,0.08) !important;
  }
  .ge-t--vertrauen {
    padding: 20px 14px !important;
    background: var(--navy, #0A1A2F) !important;
  }
  .ge-tv-icon {
    font-size: 20px !important;
  }
  /* Titel etwas kleiner damit er in 2 Spalten passt */
  .ge-tv--sm,
  .ge-tv.ge-tv--sm {
    font-size: 12px !important;
    line-height: 1.3 !important;
  }
  .ge-tl {
    font-size: 10px !important;
    line-height: 1.4 !important;
  }
}

/* -----------------------------------------------------------
   FIX I: FOOTER VERTIKAL KOMPRIMIEREN
   Padding und Abst�nde auf Mobile reduzieren
----------------------------------------------------------- */
@media (max-width: 768px) {
  /* Hauptbereich: weniger Padding oben/unten */
  .ge-footer__main .ge-footer__container {
    padding-top: 36px !important;
    padding-bottom: 28px !important;
    gap: 24px !important;
  }
  /* Logo-Abstand */
  .ge-footer__logo { margin-bottom: 12px !important; }
  /* Tagline k�rzer */
  .ge-footer__tagline { margin-bottom: 16px !important; font-size: 13px !important; }
  /* Zertifikate kompakter */
  .ge-footer__certs { gap: 5px !important; margin-bottom: 16px !important; }
  .ge-footer__cert  { font-size: 11.5px !important; }
  /* Rating-Badge */
  .ge-footer__rating { padding: 9px 13px !important; }
  /* Navigation-Links: weniger Abstand */
  .ge-footer__nav-heading { margin-bottom: 10px !important; font-size: 10px !important; }
  .ge-footer__nav-list    { gap: 6px !important; }
  .ge-footer__nav-link    { font-size: 12.5px !important; }
  /* Region-Tags: 2 Zeilen statt Zeile */
  .ge-footer__region .ge-footer__container {
    padding-top: 16px !important;
    padding-bottom: 16px !important;
    gap: 8px !important;
  }
  .ge-footer__region-tags { gap: 6px !important; }
  .ge-footer__region-tag  { font-size: 10px !important; padding: 4px 10px !important; }
  /* Bottom-Bar */
  .ge-footer__bottom .ge-footer__container {
    padding-top: 14px !important;
    padding-bottom: 14px !important;
  }
}
@media (max-width: 600px) {
  /* 1-Spalte auf sehr kleinen Screens */
  .ge-footer__main .ge-footer__container {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    padding-top: 28px !important;
    padding-bottom: 20px !important;
    gap: 20px !important;
  }
}

/* -----------------------------------------------------------
   FIX J: UNIVERSELLER OVERFLOW-SCHUTZ
   Seiten-Sektionen und WP-Wrapper nie breiter als Viewport.
   Gezielt auf Inhalts-Elemente, NICHT auf Header/Overlay.
----------------------------------------------------------- */
@media (max-width: 768px) {
  /* Inhalts-Sektionen und -Divs: kein �berlauf nach rechts */
  body > section,
  body > main,
  body > article,
  body > div:not(#ge-header):not([id*="overlay"]):not([class*="overlay"]):not([class*="ge-mobile"]) {
    max-width: 100vw !important;
    overflow-x: hidden !important;
  }
  /* Mobile Panel: kein horizontaler Scroll im Men� selbst */
  .ge-mobile { overflow-x: hidden !important; overflow-y: auto !important; }
}

/* -----------------------------------------------------------
   FIX K: MOBILE MEN� VOLLBILD
   Auf Ger�ten > 480px bleibt das Panel schm�ler als der
   Viewport ? Seiteninhalt bleibt sichtbar ? "breit"-Eindruck.
   Fix: Men�-Panel immer auf 100vw auf Mobile.
----------------------------------------------------------- */
@media (max-width: 768px) {
  .ge-mobile {
    width: 100vw !important;
    max-width: 100vw !important;
    border-left: none !important;
  }
  /* Overlay: volle Breite & genug Deckkraft damit kein Inhalt durchscheint */
  .ge-overlay {
    width: 100vw !important;
    height: 100vh !important;
    background: rgba(4, 8, 15, 0.85) !important;
  }
}

/* ===== END ge-mobile-fix.css ===== */


/* ===== BEGIN ge-upgrade.css ===== */

/**
 * ge-upgrade.css — Gallium Estate Premium Upgrade v1.0
 * ─────────────────────────────────────────────────────────────────
 * Punkte 11, 12, 13, 16, 19, 27 aus Maßnahmenplan
 * Lädt NACH allen anderen CSS-Dateien (Enqueue priority 999)
 * Überschreibt gezielt — kein Eingriff in bestehende Dateien
 * ─────────────────────────────────────────────────────────────────
 */

/* ════════════════════════════════════════════════════════════════
   PUNKT 12 — SPACING-TOKENS (8px-Raster)
════════════════════════════════════════════════════════════════ */
:root {
  --sp-1:   8px;
  --sp-2:  16px;
  --sp-3:  24px;
  --sp-4:  32px;
  --sp-6:  48px;
  --sp-8:  64px;
  --sp-12: 96px;
  --sp-16: 128px;
  --sp-20: 160px;
}

/* ════════════════════════════════════════════════════════════════
   PUNKT 11 — TYPOGRAFIE-UPGRADE
   Cormorant Garamond → aggressiver, größer, schärfer
════════════════════════════════════════════════════════════════ */

/* Hero H1: deutlich größer, negativeres Letter-Spacing */
.ge-hero-premium__h1 {
  font-size: clamp(34px, 5.5vw, 72px) !important;
  line-height: 1.06 !important;
  letter-spacing:0 !important;
  font-weight: 300 !important;
}

/* Hero H1 em: Gold-Akzent stärker */
.ge-hero-premium__h1 em {
  color: var(--gold-l) !important;
  font-style: italic !important;
}

/* Section H2: größer, klarer */
.ge-section-h2 {
  font-size: clamp(26px, 3.2vw, 48px) !important;
  line-height: 1.1 !important;
  letter-spacing:0 !important;
}

/* KPI-Zahlen: größer, mehr Eindruck */
.ge-kpi-val {
  font-size: clamp(28px, 3vw, 40px) !important;
  letter-spacing:0 !important;
}

/* ════════════════════════════════════════════════════════════════
   PUNKT 13 — TYPOGRAFISCHE KLASSEN (Eyebrow, Lead, Body)
════════════════════════════════════════════════════════════════ */

/* Overline / Eyebrow vor Headlines */
.ge-overline {
  display: block;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 0.75rem;
  font-family: var(--sans);
}

/* Lead-Text (größerer Intro-Absatz) */
.ge-lead {
  font-size: clamp(1rem, 1.8vw, 1.2rem);
  line-height: 1.75;
  color: rgba(255, 255, 255, 0.78);
  font-weight: 400;
  max-width: 62ch;
  font-family: var(--sans);
}
.ge-section--light .ge-lead,
.ge-section--white .ge-lead {
  color: rgba(28, 35, 51, 0.72);
}

/* Lauftext */
.ge-body-text {
  font-size: 0.9375rem;
  line-height: 1.8;
  font-family: var(--sans);
}

/* Muted Label */
.ge-text-small {
  font-size: 0.8125rem;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.5);
  font-family: var(--sans);
}
.ge-section--light .ge-text-small,
.ge-section--white .ge-text-small {
  color: var(--muted);
}

/* ════════════════════════════════════════════════════════════════
   PUNKT 16 — DARK SECTION (Navy Ultra-Dark mit Gold-Grain)
════════════════════════════════════════════════════════════════ */

.ge-section--ultra-dark {
  background: #080F1C;
  color: #fff;
  position: relative;
  overflow: hidden;
}

/* Subtile diagonale Gold-Linien als Hintergrund-Textur */
.ge-section--ultra-dark::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: repeating-linear-gradient(
    -45deg,
    transparent,
    transparent 60px,
    rgba(201, 168, 106, 0.025) 60px,
    rgba(201, 168, 106, 0.025) 61px
  );
  pointer-events: none;
  z-index: 0;
}

.ge-section--ultra-dark > * {
  position: relative;
  z-index: 1;
}

.ge-section--ultra-dark .ge-section-h2 {
  color: #fff !important;
}
.ge-section--ultra-dark .ge-section-h2 em {
  color: var(--gold-l) !important;
}
.ge-section--ultra-dark p,
.ge-section--ultra-dark .ge-section-sub {
  color: rgba(255, 255, 255, 0.72) !important;
}

/* ════════════════════════════════════════════════════════════════
   PUNKT 19 — TRUST-BAR (zwischen Hero und erstem Content)
════════════════════════════════════════════════════════════════ */

.ge-trust-bar {
  background: var(--navy-m);
  border-top: 1px solid rgba(201, 168, 106, 0.18);
  border-bottom: 1px solid rgba(201, 168, 106, 0.18);
  padding: 14px 0;
  position: relative;
  z-index: 10;
}

.ge-trust-bar__inner {
  max-width: var(--container);
  margin: 0 auto;
  padding: 0 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(20px, 4vw, 56px);
  flex-wrap: wrap;
}

.ge-trust-bar__item {
  display: flex;
  align-items: center;
  gap: 7px;
  color: rgba(255, 255, 255, 0.55);
  font-size: 0.72rem;
  letter-spacing: 0.07em;
  white-space: nowrap;
  font-family: var(--sans);
}

.ge-trust-bar__item strong {
  color: var(--gold);
  font-weight: 700;
}

/* Vertikaler Trenner zwischen Items */
.ge-trust-bar__item:not(:last-child)::after {
  content: '';
  display: inline-block;
  width: 1px;
  height: 14px;
  background: rgba(201, 168, 106, 0.2);
  margin-left: clamp(20px, 4vw, 56px);
}

@media (max-width: 640px) {
  .ge-trust-bar__item:not(:last-child)::after { display: none; }
  .ge-trust-bar__inner { gap: 14px; }
}

/* ════════════════════════════════════════════════════════════════
   PUNKT 22 — SEKTIONS-RHYTHMUS: Alternierende Hintergründe
════════════════════════════════════════════════════════════════ */

.ge-section--pale-warm {
  background: #F2EDE4;
  color: var(--navy);
}
.ge-section--pale-warm .ge-section-h2 { color: var(--navy) !important; }
.ge-section--pale-warm .ge-section-sub { color: var(--muted) !important; }

.ge-section--navy-solid {
  background: var(--navy);
  color: #fff;
}

/* ════════════════════════════════════════════════════════════════
   PUNKT 27 — SCROLL-AWARE HEADER
   CSS-Seite: Header-Übergang via .is-scrolled Klasse
   JS enqueued via functions.php
════════════════════════════════════════════════════════════════ */

/* Grundzustand Header transparent (Hero-Seiten) */
body.ge-has-hero .site-header {
  /* FIX: backdrop-filter aus transition entfernt � animierter blur ist extrem CPU-intensiv */
  transition: background 0.35s ease, box-shadow 0.35s ease;
}

body.ge-has-hero .site-header.is-scrolled {
  background: rgba(8, 15, 28, 0.97) !important;
  box-shadow: 0 2px 24px rgba(0, 0, 0, 0.35);
}

/* ════════════════════════════════════════════════════════════════
   PUNKT 31 — EINHEITLICHES KPI-GRID
════════════════════════════════════════════════════════════════ */

.ge-kpi-grid-upgrade {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
  gap: 1px;
  background: rgba(201, 168, 106, 0.12);
  border-radius: 10px;
  overflow: hidden;
  border: 1px solid rgba(201, 168, 106, 0.12);
}

.ge-kpi-grid-upgrade .ge-kpi-item {
  background: rgba(255, 255, 255, 0.04);
  padding: 24px 20px;
  text-align: center;
}

.ge-kpi-grid-upgrade .ge-kpi-val {
  font-family: var(--serif);
  font-size: clamp(1.8rem, 3vw, 2.8rem) !important;
  font-weight: 300;
  color: var(--gold-l);
  line-height: 1;
  display: block;
  letter-spacing:0 !important;
}

.ge-kpi-grid-upgrade .ge-kpi-lbl {
  font-size: 0.68rem;
  color: rgba(255, 255, 255, 0.5);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  margin-top: 6px;
  display: block;
}

/* ════════════════════════════════════════════════════════════════
   PUNKT 50 — BREADCRUMB PREMIUM
════════════════════════════════════════════════════════════════ */

.ge-hero-premium__breadcrumb {
  font-size: 0.72rem !important;
  letter-spacing: 0.08em !important;
  color: rgba(255, 255, 255, 0.45) !important;
  margin-bottom: 18px !important;
}

.ge-hero-premium__breadcrumb a {
  color: rgba(255, 255, 255, 0.45) !important;
  transition: color 0.2s;
}

.ge-hero-premium__breadcrumb a:hover {
  color: var(--gold) !important;
}

/* ════════════════════════════════════════════════════════════════
   ALLGEMEINE VERBESSERUNGEN
════════════════════════════════════════════════════════════════ */

/* Smooth Scroll global */
html { scroll-behavior: smooth; }

/* Besseres Focus-Styling (Accessibility) */
:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 3px;
  border-radius: 3px;
}

/* Section-Padding vereinheitlichen wo zu eng */
.ge-section {
  padding-block: clamp(60px, 8vw, 120px);
}


/* ════════════════════════════════════════════════════════════════
   PUNKT 49 — FOOTER-QUOTE-HERO (Letzter Eindruck)
════════════════════════════════════════════════════════════════ */

.ge-footer__quote-hero {
  background: #080F1C;
  padding: clamp(48px, 7vw, 100px) 0 clamp(40px, 6vw, 80px);
  text-align: center;
  position: relative;
  overflow: hidden;
  border-top: 1px solid rgba(201, 168, 106, 0.1);
}

/* Dekorative Initiale "G" im Hintergrund */
.ge-footer__quote-hero::before {
  content: 'G';
  position: absolute;
  right: -1%;
  bottom: -12%;
  font-family: var(--serif);
  font-size: clamp(180px, 28vw, 380px);
  font-weight: 300;
  color: rgba(201, 168, 106, 0.03);
  line-height: 1;
  pointer-events: none;
  user-select: none;
  font-style: italic;
}

.ge-footer__hero-quote {
  font-family: var(--serif);
  font-size: clamp(1.5rem, 3.5vw, 2.6rem);
  font-style: italic;
  color: rgba(255, 255, 255, 0.82);
  max-width: 680px;
  margin: 0 auto 20px;
  line-height: 1.35;
  letter-spacing:0;
  position: relative;
  z-index: 1;
}

.ge-footer__hero-quote em {
  color: var(--gold-l);
  font-style: italic;
}

.ge-footer__hero-cite {
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.3);
  display: block;
  position: relative;
  z-index: 1;
}

/* ════════════════════════════════════════════════════════════════
   PUNKT 48 — FOOTER ORTE als gestylte Tags
════════════════════════════════════════════════════════════════ */

.ge-footer__region-tag {
  display: inline-flex;
  align-items: center;
  font-size: 0.7rem;
  color: rgba(255, 255, 255, 0.4) !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  border-radius: 3px;
  padding: 3px 9px;
  letter-spacing: 0.04em;
  transition: color 0.2s, border-color 0.2s;
  cursor: default;
}

.ge-footer__region-tag:first-child {
  color: var(--gold) !important;
  border-color: rgba(201, 168, 106, 0.35) !important;
  font-weight: 600;
}

/* ════════════════════════════════════════════════════════════════
   PUNKT 27 — body.ge-has-hero Klasse via PHP
   Wird in functions.php gesetzt wenn Hero-Template geladen wird
════════════════════════════════════════════════════════════════ */

/* Header auf Hero-Seiten: transparent starten */
body.ge-has-hero .site-header,
body.ge-has-hero #masthead {
  background: transparent !important;
}

/* Nach Scroll: undurchsichtig */
body.ge-has-hero .site-header.is-scrolled,
body.ge-has-hero #masthead.is-scrolled {
  background: rgba(4, 8, 15, 0.97) !important;
  box-shadow: 0 2px 24px rgba(0, 0, 0, 0.4) !important;
}

/* ===== END ge-upgrade.css ===== */


/* ===== BEGIN ge-batch5.css ===== */

/**
 * ge-batch5.css — Gallium Estate · Optische Optimierungen Batch 5
 * ─────────────────────────────────────────────────────────────────
 * Items: 62 · 63 · 64 · 66 · 68 · 71 · 74 · 75 · Global-Polish
 * Lädt NACH ge-upgrade.css (Abhängigkeit: ge-upgrade)
 * ─────────────────────────────────────────────────────────────────
 */

/* ═══════════════════════════════════════════════════════════════
   ITEM 62 — Hero-Bilder: Einheitlicher Editorial-Filter
   brightness(0.92) contrast(1.05) saturate(0.90)
   Wirkt auf alle ge-hero-premium__bg-img + Über-uns-Hero
   ═══════════════════════════════════════════════════════════════ */

.ge-hero-premium__bg-img {
  filter: brightness(0.92) contrast(1.05) saturate(0.90);
  /* transition: filter entfernt — CSS-Filter-Transition erzwingt Compositing auf CPU,
     blockiert den Main Thread beim Laden und lässt den Cursor stocken */
}

/* Auch auf die Über-uns-Hero-Sektion anwenden falls dort ein Bild ist */
.uu-hero .ge-hero-premium__bg-img,
.uu-hero > img {
  filter: brightness(0.92) contrast(1.05) saturate(0.90);
}

/* Alle anderen Seiten-spezifischen Hero-Bilder */
.ao-hero .ge-hero-premium__bg-img,
[class*="-hero"] .ge-hero-premium__bg-img {
  filter: brightness(0.92) contrast(1.05) saturate(0.90);
}


/* ═══════════════════════════════════════════════════════════════
   ITEM 63 — Portraits: 3:4-Format, object-position: top center,
   leicht aufgehellt — Global auf alle Portrait-Bilder
   ═══════════════════════════════════════════════════════════════ */

/* Generische Portrait-Container: aspect-ratio 3:4 erzwingen */
.ge-portrait,
.ge-portrait-img,
[class*="portrait-img"],
[class*="portrait-frame"],
.ge-team-portrait,
.ge-agent-portrait {
  aspect-ratio: 3 / 4;
  overflow: hidden;
  border-radius: 12px;
  position: relative;
}

/* Portrait-Bild: Top-Zentrierung + leichte Aufhellung */
.ge-portrait img,
.ge-portrait-img img,
[class*="portrait-img"] img,
[class*="portrait-frame"] img,
.ge-team-portrait img,
.ge-agent-portrait img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
  display: block;
  filter: brightness(1.04);
  transition: transform 0.45s cubic-bezier(0.16, 1, 0.3, 1), filter 0.35s ease;
}

/* Hover: sanfter Zoom */
.ge-portrait:hover img,
.ge-portrait-img:hover img,
[class*="portrait-frame"]:hover img {
  transform: scale(1.03);
}


/* ═══════════════════════════════════════════════════════════════
   ITEM 64 — Objektfotos: exakt 16:9, Hover-Zoom scale(1.06)
   Gilt für /angebote/ (.ao-card__img) + Immobilien-Karten global
   ═══════════════════════════════════════════════════════════════ */

/* Angebote-Seite: .ao-card__img → festes 16:9-Format */
.ao-card__img {
  position: relative;
  height: auto !important;      /* height:220px überschreiben */
  aspect-ratio: 16 / 9;
  overflow: hidden;
}

/* Das Bild im .ao-card__img-bg: absolut positioniert, vollfl�chig zentriert */
.ao-card__img-bg {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  overflow: hidden;
  transition: transform 0.45s cubic-bezier(0.16, 1, 0.3, 1);
}
.ao-card__img-bg img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  display: block !important;
}

/* Hover: scale(1.06) statt der alten scale(1.04) */
.ao-card:hover .ao-card__img-bg {
  transform: scale(1.06) !important;
}

/* Auch Immobilien-Grid-Karten und Übersichtskarten auf 16:9 */
.ge-immo-card__img,
.ge-property-img,
[class*="immo-card"] .card-img,
[class*="property-card"] .card-img,
.ge-immobilie-card__thumb {
  aspect-ratio: 16 / 9;
  overflow: hidden;
}

.ge-immo-card__img img,
.ge-property-img img,
[class*="immo-card"] .card-img img,
[class*="property-card"] .card-img img,
.ge-immobilie-card__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.45s cubic-bezier(0.16, 1, 0.3, 1);
}

[class*="immo-card"]:hover .card-img img,
[class*="property-card"]:hover .card-img img,
.ge-immobilie-card:hover .ge-immobilie-card__thumb img {
  transform: scale(1.06);
}


/* ═══════════════════════════════════════════════════════════════
   ITEM 66 — Navigation: Goldene Linie wächst von LINKS beim Hover
   Aktive Seite: permanent unterstrichen
   Überschreibt v10.1 Dot-Logik aus ge-header.css
   ═══════════════════════════════════════════════════════════════ */

/* ::after zurück zur Linie — wächst von links */
.ge-nav__link::after {
  content: '';
  position: absolute;
  bottom: 3px;
  left: 10px;
  right: 10px;
  width: auto;
  height: 1.5px;
  border-radius: 2px;
  background: linear-gradient(90deg, var(--gold-d, #9A7030), var(--gold, #C9A86A), var(--gold-l, #E8D090));
  /* Von links wachsen */
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.32s cubic-bezier(0.16, 1, 0.3, 1);
  /* Reset: kein translateX-Trick vom Dot */
  opacity: 1;
  border-radius: 2px;
  /* Kein dot-spezifisches border-radius:50% mehr */
}

/* Hover: Linie wächst von links nach rechts */
.ge-nav__link:hover::after {
  transform: scaleX(1) !important;
  opacity: 1 !important;
}

/* Aktive Seite: permanent unterstrichen */
.ge-nav__link[aria-current="page"]::after,
.ge-nav__link.is-active::after {
  transform: scaleX(1) !important;
  opacity: 1 !important;
}

/* VIP und Kontakt-Pill: weiterhin kein Underline */
.ge-nav__link--vip::after,
.ge-nav__link--kontakt::after {
  display: none !important;
}


/* ═══════════════════════════════════════════════════════════════
   ITEM 68 — WhatsApp-Button: Klassisches WhatsApp-Grün
   .ge-wa-float (floating) + .ge-footer__wa-btn (Footer)
   ═══════════════════════════════════════════════════════════════ */

/* Floating WhatsApp-Button — offizielles WhatsApp-Grün */
.ge-wa-float {
  background: #25D366 !important;
  border: none !important;
  color: #fff !important;
  box-shadow:
    0 6px 28px rgba(37, 211, 102, 0.55),
    0 0 0 3px rgba(37, 211, 102, 0.15) !important;
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease !important;
}

/* Hover: dunkleres Grün */
.ge-wa-float:hover {
  background: #1ebe59 !important;
  border: none !important;
  color: #fff !important;
  box-shadow:
    0 12px 36px rgba(37, 211, 102, 0.7),
    0 0 0 5px rgba(37, 211, 102, 0.2) !important;
  transform: scale(1.1) !important;
}

.ge-wa-float svg {
  transition: color 0.28s ease;
  fill: currentColor !important;
}

/* Footer-WhatsApp-Button */
.ge-footer__wa-btn {
  background: var(--navy-m, #0E2040) !important;
  border: 1px solid rgba(201, 168, 106, 0.30) !important;
  color: rgba(255, 255, 255, 0.75) !important;
  transition: background 0.25s ease, border-color 0.25s ease, color 0.25s ease !important;
}

.ge-footer__wa-btn:hover {
  background: rgba(201, 168, 106, 0.15) !important;
  border-color: rgba(201, 168, 106, 0.65) !important;
  color: var(--gold-l, #E8D090) !important;
}

.ge-footer__wa-btn svg {
  fill: var(--gold, #C9A86A) !important;
}


/* ═══════════════════════════════════════════════════════════════
   ITEM 71 — Portrait Über-uns: S/W im Ruhezustand → Farbe beim
   Hover mit Gold-Vignette
   ═══════════════════════════════════════════════════════════════ */

/* Portrait-Bild: leicht entsättigt im Ruhezustand */
.uu-frame img {
  filter: grayscale(0.32) brightness(0.97) !important;
  transition:
    filter 0.55s cubic-bezier(0.16, 1, 0.3, 1),
    transform 0.6s ease !important;
}

/* Hover: volle Farbe */
.uu-frame:hover img {
  filter: grayscale(0) brightness(1.02) !important;
}

/* Gold-Vignette via ::after auf .uu-frame (ergänzt bestehende .uu-overlay) */
.uu-frame::after {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(
    ellipse 70% 60% at 50% 100%,
    rgba(201, 168, 106, 0.28) 0%,
    transparent 65%
  );
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.5s ease;
  z-index: 2;
  border-radius: 24px;
}

.uu-frame:hover::after {
  opacity: 1;
}


/* ═══════════════════════════════════════════════════════════════
   ITEM 74 — Cookie-Banner: Navy-Hintergrund, Gold-Button,
   markenkonsistent
   ═══════════════════════════════════════════════════════════════ */

/* Hintergrund: tiefes Navy (von rgba(8,16,32) → var(--navy-d)) */
.ge-cookie-banner {
  background: rgba(4, 8, 18, 0.98) !important;
  border-color: rgba(201, 168, 106, 0.28) !important;
  box-shadow:
    0 24px 80px rgba(0, 0, 0, 0.65),
    0 0 0 1px rgba(201, 168, 106, 0.10),
    inset 0 1px 0 rgba(201, 168, 106, 0.06) !important;
}

/* Akzeptieren-Button: solides Gold */
.ge-cookie-btn--accept {
  background: linear-gradient(135deg, #C9A86A, #9A7030) !important;
  color: #fff !important;
  font-weight: 700 !important;
  letter-spacing: 0.07em !important;
  box-shadow: 0 4px 18px rgba(201, 168, 106, 0.38) !important;
}

.ge-cookie-btn--accept:hover {
  background: linear-gradient(135deg, #E8D090, #C9A86A) !important;
  box-shadow: 0 6px 28px rgba(201, 168, 106, 0.55) !important;
  transform: translateY(-1px) !important;
}

/* Settings-Button: Navy-Ghost */
.ge-cookie-btn--settings {
  background: rgba(201, 168, 106, 0.06) !important;
  color: rgba(255, 255, 255, 0.62) !important;
  border-color: rgba(201, 168, 106, 0.2) !important;
}

.ge-cookie-btn--settings:hover {
  background: rgba(201, 168, 106, 0.12) !important;
  color: var(--gold-l, #E8D090) !important;
  border-color: rgba(201, 168, 106, 0.4) !important;
}

/* Settings-Box ebenfalls im Navy-Ton */
.ge-cookie-settings__box {
  background: #060e1e !important;
  border-color: rgba(201, 168, 106, 0.22) !important;
}


/* ═══════════════════════════════════════════════════════════════
   ITEM 75 — Breadcrumb-Separator: goldener Strich statt ›
   ═══════════════════════════════════════════════════════════════ */

/* Premium Breadcrumb */
.ge-breadcrumb-premium__sep {
  display: inline-block;
  width: 14px;
  height: 1.5px;
  background: linear-gradient(90deg, rgba(201,168,106,.45), rgba(201,168,106,.75));
  border-radius: 2px;
  vertical-align: middle;
  margin: 0 2px;
  font-size: 0 !important;    /* Text-Inhalt (›) ausblenden */
  color: transparent !important;
  position: relative;
  top: -1px;
  flex-shrink: 0;
}

/* Fallback: uu-breadcrumb und .ge-breadcrumb__sep */
.ge-breadcrumb__sep,
.uu-breadcrumb__sep,
[class*="breadcrumb"] .sep,
[class*="breadcrumb"] span[aria-hidden] {
  display: inline-block;
  width: 12px;
  height: 1.5px;
  background: linear-gradient(90deg, rgba(201,168,106,.4), rgba(201,168,106,.7));
  border-radius: 2px;
  vertical-align: middle;
  font-size: 0 !important;
  color: transparent !important;
  position: relative;
  top: -1px;
  flex-shrink: 0;
  margin: 0 3px;
}


/* ═══════════════════════════════════════════════════════════════
   GLOBAL POLISH — Scrollbar Navy/Gold · Textselektion Gold
   Fokus-Ring Gold
   ═══════════════════════════════════════════════════════════════ */

/* ── Scrollbar: dezentes Navy/Gold (Webkit) ── */
::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}

::-webkit-scrollbar-track {
  background: rgba(6, 11, 22, 0.90);
  border-radius: 3px;
}

::-webkit-scrollbar-thumb {
  background: linear-gradient(
    to bottom,
    rgba(201, 168, 106, 0.45),
    rgba(154, 112, 48, 0.55)
  );
  border-radius: 3px;
  transition: background 0.2s;
}

::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(
    to bottom,
    rgba(201, 168, 106, 0.75),
    rgba(201, 168, 106, 0.55)
  );
}

/* Firefox */
* {
  scrollbar-width: thin;
  scrollbar-color: rgba(201, 168, 106, 0.45) rgba(6, 11, 22, 0.90);
}

/* ── Textselektion: Gold ── */
::selection {
  background: rgba(201, 168, 106, 0.32);
  color: inherit;
}

::-moz-selection {
  background: rgba(201, 168, 106, 0.32);
  color: inherit;
}

/* ── Fokus-Ring: Gold (WCAG 2.1 AA) ── */
:focus-visible {
  outline: 2px solid rgba(201, 168, 106, 0.80);
  outline-offset: 3px;
  border-radius: 3px;
}

/* Spezifischere Fokus-Ringe für Links und Buttons */
a:focus-visible,
button:focus-visible,
[tabindex]:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 2px solid rgba(201, 168, 106, 0.80);
  outline-offset: 3px;
  border-radius: 4px;
}

/* Kein Fokus-Ring bei Maus-Klick (nur bei Tastatur) */
:focus:not(:focus-visible) {
  outline: none;
}

/* ── Cursor: ge-cursor.css ist deaktiviert — nativer Cursor läuft via functions.php Cursor-Block ── */
.ge-cursor-dot, .ge-cursor-ring { display: none !important; }

/* END — ge-batch5.css — Gallium Estate Optische Optimierungen Batch 5 */

/* ===== END ge-batch5.css ===== */


/* ===== BEGIN ge-konzepte.css ===== */

/**
 * ge-konzepte.css — Gallium Estate · Batch 4+5 Ergänzungen
 * ─────────────────────────────────────────────────────────────────
 * Enthält NUR Items die NICHT in ge-batch5.css stehen:
 * Batch 4: 51, 52, 53, 54, 56, 58, 59 + Bug-Fixes
 * Batch 5: 65, 67, 69, 70, 72, 73
 * Lädt nach ge-batch5.css (Abhängigkeit: ge-base)
 * ─────────────────────────────────────────────────────────────────
 */


/* ═══════════════════════════════════════════════════════════════
   BUG-FIXES — /angebote/ Rohtext + Emoji-Platzhalter
═══════════════════════════════════════════════════════════════ */

/* Bug 1: Rohen Beschreibungstext in Karten ausblenden */
.ao-card__desc,
.ge-pc__excerpt { display: none !important; }

/* Bug 2: Emoji-Platzhalter durch SVG-Haus ersetzen */
.ao-card__placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(160deg, #0a1624 0%, #1a2a40 100%);
}
.ao-card__placeholder::before {
  content: '';
  display: block;
  width: 52px;
  height: 52px;
  background: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' stroke='rgba(201,168,106,.3)' stroke-width='1' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 9l9-7 9 7v11a2 2 0 01-2 2H5a2 2 0 01-2-2z'/%3E%3Cpolyline points='9 22 9 12 15 12 15 22'/%3E%3C/svg%3E") center/contain no-repeat;
}


/* ═══════════════════════════════════════════════════════════════
   BATCH 4 · ITEM 51 — Goldene Trennlinie vor Section-Headlines
═══════════════════════════════════════════════════════════════ */

.ge-section-divider {
  display: block;
  width: 56px;
  height: 1px;
  background: linear-gradient(90deg, var(--gold-d, #9A7030), var(--gold, #C9A86A));
  margin: 0 auto 24px;
}

/* Linksbündig (innerhalb von Text-Blöcken) */
.ge-section-divider--left {
  margin-left: 0;
}

/* Eyebrow mit Goldlinie kombiniert */
.ge-eyebrow + .ge-section-divider,
.ge-section-divider + h2 {
  margin-top: 0;
}


/* ═══════════════════════════════════════════════════════════════
   BATCH 4 · ITEM 52 — Feature-Card Hover-Lift
═══════════════════════════════════════════════════════════════ */

/* Alle Feature-Cards: einheitlicher Hover-Lift */
.leist-card,
.ge-feature-card,
.ak-feat-card,
.ak-obj-card,
.kvz-corp-card {
  transition: transform 0.30s cubic-bezier(0.16,1,0.3,1),
              box-shadow 0.30s ease,
              border-color 0.25s ease !important;
}

.leist-card:hover,
.ge-feature-card:hover,
.ak-feat-card:hover,
.ak-obj-card:hover,
.kvz-corp-card:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 24px 56px rgba(0,0,0,0.18) !important;
  border-color: rgba(201,168,106,0.35) !important;
}


/* ═══════════════════════════════════════════════════════════════
   BATCH 4 · ITEM 53 — Timeline: Vertikal mit Goldlinie
═══════════════════════════════════════════════════════════════ */

.ge-timeline {
  position: relative;
  padding-left: 40px;
  list-style: none;
  margin: 0;
  padding-top: 0;
}

/* Goldene vertikale Linie */
.ge-timeline::before {
  content: '';
  position: absolute;
  left: 8px;
  top: 8px;
  bottom: 8px;
  width: 1px;
  background: linear-gradient(to bottom, var(--gold, #C9A86A), rgba(201,168,106,0.1));
}

/* Einzelner Schritt */
.ge-timeline__step {
  position: relative;
  padding: 0 0 40px 20px;
}

/* Goldener Punkt auf der Linie */
.ge-timeline__step::before {
  content: '';
  position: absolute;
  left: -38px;
  top: 6px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--gold, #C9A86A);
  border: 2px solid var(--navy, #0A1A2F);
  box-shadow: 0 0 0 3px rgba(201,168,106,0.25);
}

.ge-timeline__num {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 42px;
  font-weight: 300;
  color: rgba(201,168,106,0.15);
  line-height: 1;
  display: block;
  margin-bottom: 8px;
}

.ge-timeline__title {
  font-size: 16px;
  font-weight: 600;
  color: var(--gold-l, #E8D090);
  margin-bottom: 6px;
}

.ge-timeline__text {
  font-size: 14px;
  color: rgba(255,255,255,0.55);
  line-height: 1.7;
}


/* ═══════════════════════════════════════════════════════════════
   BATCH 4 · ITEM 54 — Testimonials: Magazine-Stil
═══════════════════════════════════════════════════════════════ */

/* Magazine-Testimonial-Block */
.ge-testimonial-mag {
  position: relative;
  padding: 48px 52px 40px;
  background: var(--navy-mid, #0E2040);
  border: 1px solid rgba(201,168,106,0.12);
  border-radius: 4px;
}

/* Übergroßes Anführungszeichen */
.ge-testimonial-mag::before {
  content: '\201C';
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 128px;
  line-height: 0.55;
  color: var(--gold, #C9A86A);
  opacity: 0.22;
  position: absolute;
  top: 36px;
  left: 36px;
  pointer-events: none;
}

.ge-testimonial-mag__text {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-style: italic;
  font-size: clamp(18px,2vw,23px);
  line-height: 1.65;
  color: #F8F5F0;
  position: relative;
  z-index: 1;
  margin: 0 0 24px;
}

.ge-testimonial-mag__author {
  font-family: 'Outfit', sans-serif;
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(201,168,106,0.65);
  display: flex;
  align-items: center;
  gap: 10px;
}

.ge-testimonial-mag__author::before {
  content: '';
  display: inline-block;
  width: 24px;
  height: 1px;
  background: var(--gold, #C9A86A);
  opacity: 0.5;
}

/* Stars */
.ge-testimonial-mag__stars {
  color: #FBBC05;
  font-size: 13px;
  letter-spacing: 2px;
  margin-bottom: 16px;
}


/* ═══════════════════════════════════════════════════════════════
   BATCH 4 · ITEM 56 — Property-Card: Hover-Overlay dunkel
═══════════════════════════════════════════════════════════════ */

/* "Immobilie der Woche" Overlay-Effekt */
.ge-property-editorial {
  position: relative;
  overflow: hidden;
  cursor: pointer;
}

.ge-property-editorial img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  display: block;
  transition: transform 0.65s cubic-bezier(0.25,0.46,0.45,0.94);
}

.ge-property-editorial:hover img {
  transform: scale(1.05);
}

/* Dark Overlay erscheint beim Hover */
.ge-property-editorial__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(10,26,47,0.82) 0%, transparent 55%);
  opacity: 0;
  transition: opacity 0.4s ease;
  display: flex;
  align-items: flex-end;
  padding: 28px;
}

.ge-property-editorial:hover .ge-property-editorial__overlay {
  opacity: 1;
}

/* Preis-Badge — immer sichtbar oben rechts */
.ge-property-editorial__price {
  position: absolute;
  top: 18px;
  right: 18px;
  background: rgba(10,26,47,0.88);
  color: var(--gold, #C9A86A);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.04em;
  padding: 7px 14px;
  backdrop-filter: blur(8px);
  border: 1px solid rgba(201,168,106,0.2);
}


/* ═══════════════════════════════════════════════════════════════
   BATCH 4 · ITEM 58 — Underline-Inputs + Floating Label
═══════════════════════════════════════════════════════════════ */

/* Underline-Input (Opt-in via .ge-input-luxury) */
.ge-input-luxury {
  width: 100%;
  background: transparent;
  border: none;
  border-bottom: 1px solid rgba(201,168,106,0.3);
  padding: 14px 0 10px;
  font-family: 'Outfit', sans-serif;
  font-size: 15px;
  color: #F8F5F0;
  transition: border-color 0.28s ease;
  outline: none;
  border-radius: 0;
}

.ge-input-luxury:focus {
  border-bottom-color: var(--gold, #C9A86A);
}

.ge-input-luxury::placeholder {
  color: rgba(255,255,255,0.3);
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

/* Floating Label Group */
.ge-form-float {
  position: relative;
  margin-bottom: 28px;
}

.ge-form-float label {
  position: absolute;
  top: 14px;
  left: 0;
  font-size: 12px;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.4);
  transition: all 0.25s ease;
  pointer-events: none;
}

.ge-form-float input:focus ~ label,
.ge-form-float input:not(:placeholder-shown) ~ label,
.ge-form-float textarea:focus ~ label,
.ge-form-float textarea:not(:placeholder-shown) ~ label {
  top: -10px;
  font-size: 10px;
  color: var(--gold, #C9A86A);
  letter-spacing: 0.12em;
}


/* ═══════════════════════════════════════════════════════════════
   BATCH 4 · ITEM 59 — Gründer-Zitat als Designelement
═══════════════════════════════════════════════════════════════ */

.ge-founder-quote {
  text-align: center;
  padding: clamp(56px,8vw,96px) clamp(24px,10%,160px);
  background: var(--navy, #0A1A2F);
  position: relative;
  overflow: hidden;
}

/* Dezentes Gold-Orb im Hintergrund */
.ge-founder-quote::before {
  content: '';
  position: absolute;
  top: -40%;
  left: 50%;
  transform: translateX(-50%);
  width: 60%;
  aspect-ratio: 1;
  background: radial-gradient(circle, rgba(201,168,106,0.06) 0%, transparent 70%);
  pointer-events: none;
}

.ge-founder-quote blockquote {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-style: italic;
  font-size: clamp(22px,3.5vw,42px);
  font-weight: 300;
  line-height: 1.45;
  color: #F8F5F0;
  margin: 0 0 28px;
  position: relative;
  z-index: 1;
}

.ge-founder-quote blockquote em {
  color: var(--gold-l, #E8D090);
  font-style: italic;
}

.ge-founder-quote cite {
  font-family: 'Outfit', sans-serif;
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(201,168,106,0.55);
  font-style: normal;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
}

.ge-founder-quote cite::before,
.ge-founder-quote cite::after {
  content: '';
  display: inline-block;
  width: 28px;
  height: 1px;
  background: rgba(201,168,106,0.35);
}


/* ═══════════════════════════════════════════════════════════════
   BATCH 5 · ITEM 65 — Mist-Zone (3. Hintergrundzone)
═══════════════════════════════════════════════════════════════ */

.ge-section--mist {
  background: #EDEDEB;
  color: #1C1C1E;
}

.ge-section--mist h2,
.ge-section--mist h3,
.ge-section--mist .ge-section-h2 {
  color: #1C1C1E;
}

.ge-section--mist .ge-eyebrow {
  color: #9A7030;
}

.ge-section--mist p {
  color: #4B5563;
}


/* ═══════════════════════════════════════════════════════════════
   BATCH 5 · ITEM 67 — Statistik-Block: Zahlen mit Gold-Trenner
═══════════════════════════════════════════════════════════════ */

/* Stats-Grid — 4 dunkle Felder nebeneinander */
.ge-stats-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  background: var(--navy, #0A1A2F);
}

.ge-stats-grid__item {
  padding: 48px 32px;
  text-align: center;
  border-right: 1px solid rgba(201,168,106,0.12);
  transition: background 0.22s;
}

.ge-stats-grid__item:last-child {
  border-right: none;
}

.ge-stats-grid__item:hover {
  background: rgba(201,168,106,0.04);
}

.ge-stats-grid__num {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: clamp(44px,5vw,68px);
  font-weight: 300;
  color: #F8F5F0;
  line-height: 1;
  display: block;
}

.ge-stats-grid__unit {
  font-size: 20px;
  color: var(--gold, #C9A86A);
  margin-left: 2px;
}

.ge-stats-grid__label {
  font-family: 'Outfit', sans-serif;
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.38);
  margin-top: 10px;
  display: block;
}

@media (max-width: 768px) {
  .ge-stats-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .ge-stats-grid__item:nth-child(2) {
    border-right: none;
  }
  .ge-stats-grid__item {
    padding: 32px 20px;
  }
}


/* ═══════════════════════════════════════════════════════════════
   BATCH 5 · ITEM 69 — Monogramm EG — Typografisches Siegel
═══════════════════════════════════════════════════════════════ */

.ge-monogram {
  width: 64px;
  height: 64px;
  border: 1.5px solid var(--gold, #C9A86A);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 22px;
  font-weight: 400;
  letter-spacing: 0.08em;
  color: var(--gold, #C9A86A);
  position: relative;
  flex-shrink: 0;
}

/* Diamant-Detail */
.ge-monogram::before {
  content: '';
  position: absolute;
  inset: 8px;
  border: 1px solid rgba(201,168,106,0.18);
  transform: rotate(45deg);
  pointer-events: none;
}

/* Größenvarianten */
.ge-monogram--sm { width: 46px; height: 46px; font-size: 16px; }
.ge-monogram--lg { width: 88px; height: 88px; font-size: 30px; }


/* ═══════════════════════════════════════════════════════════════
   BATCH 5 · ITEM 70 — Kontakt: Splitscreen links Foto, rechts Form
═══════════════════════════════════════════════════════════════ */

.ge-contact-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: calc(100vh - 72px);
}

/* Linke Seite: Sticky Foto */
.ge-contact-split__visual {
  position: sticky;
  top: 72px;
  height: calc(100vh - 72px);
  overflow: hidden;
  background: var(--navy, #0A1A2F);
}

.ge-contact-split__visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
  filter: brightness(0.70) saturate(0.82);
  display: block;
}

/* Kontaktdaten als Overlay */
.ge-contact-split__info {
  position: absolute;
  bottom: 52px;
  left: 44px;
  right: 44px;
  z-index: 2;
  color: #F8F5F0;
}

.ge-contact-split__name {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 28px;
  font-weight: 300;
  color: #fff;
  margin-bottom: 8px;
}

.ge-contact-split__role {
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(201,168,106,0.65);
  margin-bottom: 20px;
}

/* Rechte Seite: Formular */
.ge-contact-split__form {
  padding: clamp(48px,7vw,96px) clamp(32px,5vw,72px);
  background: #F8FAFC;
  overflow-y: auto;
}

@media (max-width: 1024px) {
  .ge-contact-split {
    grid-template-columns: 1fr;
  }
  .ge-contact-split__visual {
    position: relative;
    top: 0;
    height: 45vh;
  }
}


/* ═══════════════════════════════════════════════════════════════
   BATCH 5 · ITEM 72 — Objekt-Grid /angebote/: Asymmetrisch
═══════════════════════════════════════════════════════════════ */

/* Bei genau 3 Objekten: erstes dominiert als Vollbreite-Hero */
.ao-grid .ao-card:first-child,
.ge-grid--3 .ao-card:first-child {
  grid-column: 1 / -1;
}

.ao-grid .ao-card:first-child .ao-card__img,
.ge-grid--3 .ao-card:first-child .ao-card__img {
  aspect-ratio: 21 / 9 !important; /* Cineastisch breit */
}

/* Grid-Gap minimal — Magazine-Look */
.ao-grid,
.ge-grid--3 {
  gap: 3px !important;
}

@media (max-width: 768px) {
  .ao-grid .ao-card:first-child {
    grid-column: auto;
  }
  .ao-grid .ao-card:first-child .ao-card__img {
    aspect-ratio: 16 / 9 !important;
  }
}


/* ═══════════════════════════════════════════════════════════════
   BATCH 5 · ITEM 73 — Exit-Intent-Popup: Premium-Design
═══════════════════════════════════════════════════════════════ */

/* Overlay: dunkler Blur */
.ge-exit-overlay {
  position: fixed;
  inset: 0;
  z-index: 9000;
  background: rgba(4,8,18,0.80);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.35s ease;
}

.ge-exit-overlay.is-open {
  opacity: 1;
  pointer-events: auto;
}

/* Popup-Box */
.ge-exit-popup {
  background: #F8F5F0;
  max-width: 520px;
  width: 90%;
  position: relative;
  overflow: hidden;
  box-shadow: 0 32px 96px rgba(0,0,0,0.45);
}

/* Goldene linke Linie */
.ge-exit-popup::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 3px;
  background: linear-gradient(to bottom, var(--gold, #C9A86A), var(--gold-d, #9A7030));
  z-index: 2;
}

/* Header: Navy */
.ge-exit-popup__head {
  background: var(--navy, #0A1A2F);
  padding: 32px 44px;
}

.ge-exit-popup__head h3 {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 26px;
  font-style: italic;
  font-weight: 300;
  color: #F8F5F0;
  margin: 0;
  line-height: 1.3;
}

/* Body */
.ge-exit-popup__body {
  padding: 28px 44px 36px;
}

.ge-exit-popup__body p {
  font-size: 14.5px;
  color: #4B5563;
  line-height: 1.7;
  margin: 0 0 24px;
}

/* Close-Button */
.ge-exit-popup__close {
  position: absolute;
  top: 16px;
  right: 16px;
  background: transparent;
  border: 1px solid rgba(255,255,255,0.2);
  color: rgba(255,255,255,0.55);
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 18px;
  transition: all 0.2s;
  z-index: 3;
}

.ge-exit-popup__close:hover {
  background: rgba(201,168,106,0.15);
  border-color: rgba(201,168,106,0.4);
  color: var(--gold, #C9A86A);
}

/* ===== END ge-konzepte.css ===== */

/* --------------------------------------------------------------
   UTILITY-ERG�NZUNGEN (Item 10) � fehlende Utility-Klassen
   -------------------------------------------------------------- */

/* Margin-top */
.ge-mt-52 { margin-top: 52px !important; }

/* Margin-bottom */
.ge-mb-40 { margin-bottom: 40px !important; }

/* Max-width */
.ge-mw-480 { max-width: 480px; }

/* K�rpertext � helles Grau, Standard-Lesegr��e */
.ge-body-text {
  color: #4b5563;
  font-size: 15px;
  line-height: 1.85;
}

/* Button-Reihe � flex, horizontaler Abstand */
.ge-btn-row {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 32px;
}

/* --------------------------------------------------------------
   IMMOBILIE DER WOCHE � CSS-Klassen (Item 7, Inline-Styles ausgelagert)
   Ersetzt alle inline style="" Attribute im #immobilie-der-woche Block.
   -------------------------------------------------------------- */

/* Section-Eyebrow (zentriert, gold) */
.ge-idw-eyebrow {
  text-align: center;
  margin-bottom: 10px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--gold, #C9A86A);
}

/* Section-Headline */
.ge-idw-headline {
  text-align: center;
  margin-bottom: 40px;
}
.ge-idw-headline h2 {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: clamp(30px, 3.5vw, 48px);
  font-weight: 300;
  color: #fff;
  line-height: 1.2;
  margin: 0 0 10px;
}
.ge-idw-headline p {
  font-size: 14px;
  color: rgba(255,255,255,.84);
  max-width: 420px;
  margin: 0 auto;
  line-height: 1.72;
  text-shadow: 0 2px 14px rgba(0,0,0,.36);
}

/* Card-Wrapper: 2-Spalten-Grid */
.ge-idw-card {
  display: grid;
  grid-template-columns: 1fr 1fr;
  max-width: 920px;
  margin: 0 auto;
  border-radius: 20px;
  overflow: hidden;
  border: 1px solid rgba(201,168,106,.15);
}

/* Bild-H�lfte */
.ge-idw-img {
  position: relative;
  min-height: 360px;
  background: linear-gradient(135deg, #0d2339, #1a3a5c);
}
.ge-idw-img a {
  display: block;
  height: 100%;
}
.ge-idw-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  position: absolute;
  inset: 0;
}
.ge-idw-img__placeholder {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 72px;
  opacity: .12;
}
.ge-idw-img__badge {
  position: absolute;
  bottom: 16px;
  left: 16px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--gold, #C9A86A);
  background: rgba(10,26,47,.85);
  border: 1px solid rgba(201,168,106,.25);
  padding: 4px 12px;
  border-radius: 20px;
  backdrop-filter: blur(6px);
}

/* Content-H�lfte */
.ge-idw-body {
  background: rgba(255,255,255,.025);
  padding: 36px 32px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.ge-idw-body__location {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: rgba(201,168,106,.6);
  margin-bottom: 10px;
}
.ge-idw-body__title {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: clamp(20px, 2vw, 28px);
  font-weight: 300;
  color: #fff;
  line-height: 1.3;
  margin: 0 0 12px;
}
.ge-idw-body__title a {
  color: inherit;
  text-decoration: none;
}
.ge-idw-body__excerpt {
  font-size: 13.5px;
  color: rgba(255,255,255,.42);
  line-height: 1.75;
  margin: 0 0 22px;
}

/* Facts-Leiste */
.ge-idw-facts {
  display: flex;
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 10px;
  overflow: hidden;
  margin-bottom: 24px;
}
.ge-idw-facts__item {
  flex: 1;
  padding: 11px 8px;
  text-align: center;
}
.ge-idw-facts__item + .ge-idw-facts__item {
  border-left: 1px solid rgba(255,255,255,.07);
}
.ge-idw-facts__val {
  font-size: 15px;
  font-weight: 700;
  color: #fff;
}
.ge-idw-facts__lbl {
  font-size: 10px;
  color: rgba(255,255,255,.3);
  margin-top: 2px;
  text-transform: uppercase;
  letter-spacing: .06em;
}

/* Preis */
.ge-idw-price {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 30px;
  font-weight: 300;
  color: var(--gold-l, #E8D090);
  margin-bottom: 16px;
}

/* Button-Gruppe */
.ge-idw-btns {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.ge-idw-btn--primary {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 12px 22px;
  border-radius: 9px;
  background: linear-gradient(135deg, #C9A86A, #9A7030);
  color: #fff;
  font-weight: 700;
  font-size: 13px;
  text-decoration: none;
}
.ge-idw-btn--ghost {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 12px 20px;
  border-radius: 9px;
  border: 1.5px solid rgba(201,168,106,.22);
  color: rgba(201,168,106,.75);
  font-weight: 600;
  font-size: 12.5px;
  text-decoration: none;
}
.ge-idw-btn--primary:hover {
  opacity: .88;
}
.ge-idw-btn--ghost:hover {
  border-color: rgba(201,168,106,.55);
  color: var(--gold, #C9A86A);
}

/* Responsive: 1-Spalte unter 680px */
@media (max-width: 680px) {
  .ge-idw-card {
    grid-template-columns: 1fr;
  }
  .ge-idw-img {
    min-height: 220px;
  }
}

/* --------------------------------------------------------------
   ANGEBOTE FALLBACK � Platzhalter-Cards (Item 10, Inline-Styles ausgelagert)
   Genutzt wenn kein Immobilien-CPT-Eintrag vorhanden.
   -------------------------------------------------------------- */

.ge-angebote-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  max-width: 1060px;
  margin: 0 auto;
}
.ge-angebote-card {
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(201,168,106,.14);
  border-radius: 16px;
  overflow: hidden;
  transition: border-color .25s, transform .25s;
}
.ge-angebote-card:hover {
  border-color: rgba(201,168,106,.35);
  transform: translateY(-4px);
}
.ge-angebote-card__img {
  height: 180px;
  background: linear-gradient(135deg, #0d2339, #1a3a5c);
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.ge-angebote-card__icon {
  font-size: 52px;
  opacity: .1;
}
.ge-angebote-card__badge {
  position: absolute;
  bottom: 12px;
  left: 12px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--gold, #C9A86A);
  background: rgba(10,26,47,.85);
  border: 1px solid rgba(201,168,106,.25);
  padding: 3px 10px;
  border-radius: 20px;
}
.ge-angebote-card__body {
  padding: 22px 20px;
}
.ge-angebote-card__ort {
  font-size: 11px;
  font-weight: 600;
  color: rgba(201,168,106,.6);
  text-transform: uppercase;
  letter-spacing: .1em;
  margin-bottom: 6px;
}
.ge-angebote-card__details {
  font-size: 13px;
  color: rgba(255,255,255,.65);
  margin-bottom: 14px;
}
.ge-angebote-card__preis {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 20px;
  font-weight: 300;
  color: var(--gold-l, #E8D090);
  margin-bottom: 16px;
}
.ge-angebote-card__link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  font-weight: 600;
  color: var(--gold, #C9A86A);
  text-decoration: none;
  border: 1px solid rgba(201,168,106,.22);
  border-radius: 8px;
  padding: 8px 14px;
  transition: border-color .2s;
}
.ge-angebote-card__link:hover {
  border-color: rgba(201,168,106,.55);
}
.ge-angebote-note {
  text-align: center;
  margin-top: 36px;
  font-size: 13px;
  color: rgba(255,255,255,.35);
  max-width: 480px;
  margin-left: auto;
  margin-right: auto;
}

@media (max-width: 680px) {
  .ge-angebote-grid {
    grid-template-columns: 1fr;
  }
}

/* -- Kundenstimmen � Cards (Item 10) ---------------------------- */

.ge-stimmen-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 24px;
  margin-top: 48px;
  justify-items: center;
}
.ge-stimmen-grid:has(.ge-stimme-card:only-child) {
  grid-template-columns: minmax(0, 640px);
  justify-content: center;
}
.ge-stimme-card {
  background: #fff;
  border: 1px solid rgba(10,26,47,.08);
  border-radius: 18px;
  padding: 28px 26px;
  box-shadow: 0 2px 12px rgba(0,0,0,.04);
  position: relative;
}
.ge-stimme-card__badge {
  position: absolute;
  top: 20px;
  right: 20px;
  background: #C9A86A;
  color: #0A1A2F;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
  padding: 4px 10px;
  border-radius: 20px;
  text-transform: uppercase;
}
.ge-stimme-card__stars {
  color: var(--gold, #C9A86A);
  font-size: 18px;
  letter-spacing: 2px;
  margin-bottom: 14px;
}
.ge-stimme-card__text {
  font-size: 15px;
  color: #374151;
  line-height: 1.8;
  margin: 0 0 18px;
}
.ge-stimme-card__author {
  display: flex;
  align-items: center;
  gap: 10px;
}
.ge-stimme-card__avatar {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--gold, #C9A86A);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  font-weight: 700;
  color: #fff;
  flex-shrink: 0;
}
.ge-stimme-card__name {
  font-size: 14px;
  font-weight: 600;
  color: var(--navy, #0A1A2F);
}
.ge-stimme-card__sub {
  font-size: 12px;
  color: #9ca3af;
}

/* Kundenstimmen � Leer-Zustand (ehrliche Botschaft) */
.ge-stimmen-empty {
  text-align: center;
  padding: 56px 24px 48px;
  background: #fff;
  border: 1px solid rgba(201,168,106,.2);
  border-radius: 20px;
  margin-top: 48px;
  max-width: 640px;
  margin-left: auto;
  margin-right: auto;
}
.ge-stimmen-empty__rating { margin: 0 0 20px; }
.ge-stimmen-empty__score {
  display: block;
  font-size: 48px;
  font-weight: 700;
  color: #09192C;
  line-height: 1.1;
  margin-bottom: 8px;
}
.ge-stimmen-empty__stars {
  display: flex;
  justify-content: center;
  gap: 4px;
  color: #C9A86A;
  margin-bottom: 8px;
}
.ge-stimmen-empty__cnt {
  font-size: 13px;
  color: #6B7280;
  margin: 0 0 4px;
}
.ge-stimmen-empty__title {
  font-size: 16px;
  font-weight: 600;
  color: #09192C;
  margin: 0 0 12px;
}
.ge-stimmen-empty__text {
  font-size: 14px;
  color: #6B7280;
  margin: 0 0 28px;
  line-height: 1.75;
}
.ge-stimmen-empty__link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 24px;
  background: #fff;
  border: 1.5px solid rgba(201,168,106,.5);
  border-radius: 8px;
  font-size: 13px;
  font-weight: 500;
  color: #7A5C1E;
  text-decoration: none;
  transition: border-color .2s;
}
.ge-stimmen-empty__link:hover {
  border-color: rgba(201,168,106,.85);
}

/* --------------------------------------------------------------
   GOLD REDUCTION (Item 6) � Eyebrow-Labels auf hellen Hintergr�nden
   Basis: .ge-eyebrow = color:var(--gold) in ge-special.css (globale Basis)
   Auf dunklen Sections (navy, dark, deep) bleibt Gold � richtig und kontrastreich.
   Auf hellen Sections ? gold-d (#9A7030) = tieferes Gold, WCAG-konform, weniger L�rm.
   -------------------------------------------------------------- */

/* Helle Hintergr�nde ? dunkleres Gold (besserer Kontrast, weniger visueller L�rm) */
.ge-sec--light  .ge-eyebrow,
.ge-sec--warm   .ge-eyebrow,
.ge-sec--warm2  .ge-eyebrow,
.ge-sec--white  .ge-eyebrow {
  color: var(--gold-d, #9A7030);
}

/* Trennlinien in der Eyebrow (::before / ::after) � ebenfalls abdunkeln */
.ge-sec--light  .ge-eyebrow::before,
.ge-sec--light  .ge-eyebrow::after,
.ge-sec--warm   .ge-eyebrow::before,
.ge-sec--warm   .ge-eyebrow::after,
.ge-sec--warm2  .ge-eyebrow::before,
.ge-sec--warm2  .ge-eyebrow::after,
.ge-sec--white  .ge-eyebrow::before,
.ge-sec--white  .ge-eyebrow::after {
  background: var(--gold-d, #9A7030);
}

/* Dunkle Sections behalten leuchtendes Gold � explizit sichern */
.ge-sec--navy   .ge-eyebrow,
.ge-sec--dark   .ge-eyebrow,
.ge-sec--deep   .ge-eyebrow {
  color: var(--gold, #C9A86A);
}

/* FINAL MOBILE CLEANUP � Header / CTA / Contrast */
@media (max-width: 900px) {
  .ge-header__phone,
  .ge-header__sep {
    display: none !important;
  }

  .ge-header__actions {
    gap: 8px !important;
    margin-left: auto !important;
  }

  .ge-header__logo img {
    height: 34px !important;
    max-width: min(156px, 44vw) !important;
  }

  .ge-burger {
    width: 38px !important;
    min-width: 38px !important;
    height: 38px !important;
    border-color: rgba(201,168,106,.34) !important;
    background: rgba(255,255,255,.04) !important;
  }

  .ge-mobile-cta {
    min-height: 48px !important;
    border-top-color: rgba(201,168,106,.16) !important;
  }

  .ge-mobile-cta__btn {
    min-height: 48px !important;
    padding: 5px 4px 6px !important;
    gap: 3px !important;
    font-size: 9.5px !important;
    letter-spacing: .02em !important;
  }

  .ge-mobile-cta__btn svg {
    width: 16px !important;
    height: 16px !important;
    color: rgba(255,255,255,.92) !important;
  }

  .ge-mobile-cta__btn span {
    color: rgba(255,255,255,.92) !important;
  }
}

@media (max-width: 600px) {
  .hero__bg,
  .ge-hero__bg,
  .ge-page-hero__bg {
    filter: brightness(.76) saturate(.9) !important;
  }

  .hero__bg::after,
  .ge-hero__bg::after,
  .ge-page-hero__bg::after {
    content: '' !important;
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(180deg, rgba(4,8,15,.26), rgba(4,8,15,.36)) !important;
    pointer-events: none !important;
  }

  .hero__h1,
  .ge-hero__h1,
  .ge-page-hero__h1 {
    text-shadow: 0 10px 36px rgba(0,0,0,.54) !important;
  }

  .hero__sub,
  .ge-hero__sub,
  .ge-page-hero__sub,
  .hero__microproof-item span,
  .trust-item span,
  .ge-trust-bar__meta,
  .idw-card__excerpt,
  .idw-card__detail-chip,
  .idw-card__fact-label,
  .markt-card__trend,
  .leist-card p,
  .cta-band p,
  .cta-band__list span {
    color: rgba(255,255,255,.92) !important;
  }
}

@media (max-width: 600px) {
  .ge-mobile-cta {
    min-height: 42px !important;
  }

  .ge-mobile-cta__btn {
    min-height: 42px !important;
    padding: 4px 2px !important;
    gap: 0 !important;
  }

  .ge-mobile-cta__btn,
  .ge-mobile-cta__btn span,
  .ge-mobile-cta__label {
    font-size: 0 !important;
    line-height: 0 !important;
  }

  .ge-mobile-cta__btn span,
  .ge-mobile-cta__label {
    display: none !important;
    visibility: hidden !important;
  }

  .ge-mobile-cta__btn svg {
    width: 17px !important;
    height: 17px !important;
    opacity: 1 !important;
  }

  .ge-mobile-cta__wa svg { color: #25D366 !important; }
  .ge-mobile-cta__call svg { color: #E8D090 !important; }
  .ge-mobile-cta__mail svg { color: #76A9FF !important; }
}



/* -----------------------------------------------------------
   GE NEWSLETTER WIDGET � v1.0
   ----------------------------------------------------------- */
.ge-nl-widget{background:linear-gradient(135deg,#1B3A5C 0%,#2B5A8A 100%);border-radius:12px;padding:28px 32px 24px;color:#fff;margin:0}
.ge-nl-widget--footer{margin:32px 0 0;padding:24px 28px 20px}
.ge-nl-widget--markt,.ge-nl-widget--ressourcen{margin:40px 0}
.ge-nl-widget__inner{display:flex;align-items:flex-start;gap:16px;margin-bottom:20px}
.ge-nl-widget__icon{color:#D4A017;flex-shrink:0;margin-top:2px}
.ge-nl-widget__title{font-family:'Cormorant Garamond',Georgia,serif;font-size:20px;font-weight:700;color:#D4A017;margin:0 0 6px;line-height:1.25}
.ge-nl-widget__sub{font-size:14px;color:#D0E4F5;margin:0;line-height:1.6}
.ge-nl-widget__form{margin:0}
.ge-nl-widget__fields{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:10px}
.ge-nl-widget__fields input[type="text"],.ge-nl-widget__fields input[type="email"]{flex:1 1 180px;min-width:0;padding:11px 14px;border:1.5px solid rgba(255,255,255,.25);border-radius:6px;background:rgba(255,255,255,.1);color:#fff;font-family:inherit;font-size:14px;transition:border-color .2s,background .2s;-webkit-appearance:none}
.ge-nl-widget__fields input::placeholder{color:rgba(255,255,255,.55)}
.ge-nl-widget__fields input:focus{outline:none;border-color:#D4A017;background:rgba(255,255,255,.15)}
.ge-nl-widget__fields button{padding:11px 22px;background:#D4A017;color:#1B3A5C;border:none;border-radius:6px;font-family:inherit;font-size:14px;font-weight:700;cursor:pointer;white-space:nowrap;transition:background .2s,transform .1s;flex-shrink:0}
.ge-nl-widget__fields button:hover:not(:disabled){background:#B8891A;transform:translateY(-1px)}
.ge-nl-widget__fields button:disabled{opacity:.65;cursor:not-allowed}
.ge-nl-widget__legal{font-size:11.5px;color:rgba(255,255,255,.55);margin:0;line-height:1.5}
.ge-nl-widget__legal a{color:#D4A017;text-decoration:underline}
.ge-nl-widget__msg{margin-top:10px;font-size:14px;font-weight:600}
@media(max-width:600px){.ge-nl-widget{padding:20px 18px 16px}.ge-nl-widget__fields{flex-direction:column}.ge-nl-widget__fields input,.ge-nl-widget__fields button{width:100%;flex:none}.ge-nl-widget__title{font-size:18px}}
@media(prefers-reduced-motion:reduce){.ge-nl-widget__fields button{transition:none}}

/* === v128.1 ABSOLUTE FINAL MOBILE FIX (MUSS GANZ UNTEN BLEIBEN) === */
@media (max-width: 768px) {
  /* Kontaktseite: kleines stoerendes Bild links neutralisieren */
  .kk-hero__bg-img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
    display: block !important;
    z-index: 0 !important;
  }

  .kk-hero__content::before {
    content: none !important;
    display: none !important;
    background: none !important;
  }

  .kk-hero__content img {
    display: none !important;
  }

  .kk-hero__overlay {
    z-index: 1 !important;
  }

  .kk-hero__inner {
    position: relative !important;
    z-index: 2 !important;
  }

  /* Startseite: Text in weissen Kaesten wieder voll lesbar */
  .ge-sit-card {
    height: auto !important;
    min-height: 0 !important;
    padding: 12px 12px 16px !important;
  }

  .ge-sit-card__text {
    display: block !important;
    -webkit-line-clamp: unset !important;
    -webkit-box-orient: unset !important;
    overflow: visible !important;
    max-height: none !important;
    white-space: normal !important;
    text-overflow: clip !important;
    margin-bottom: 10px !important;
    line-height: 1.42 !important;
  }

  .ge-sit-card__link {
    margin-top: 6px !important;
  }
}

/* MOBILE v92: Icon-Gr��e reduzieren */
@media (max-width: 768px) {
  .ge-sit-card__icon,
  .ge-wm-card__icon {
    width: 40px !important;
    height: 40px !important;
    margin-bottom: 10px !important;
  }
}


/* --- GALLIUM ESTATE INSIDER WIDGET v1.1 � �berschreibt v1.0 oben ---------- */
.ge-nl-widget{background:linear-gradient(135deg,#1B3A5C 0%,#162E4A 100%);border-radius:4px;padding:32px 36px 28px;color:#fff;margin:0;border-top:3px solid #D4A017}
.ge-nl-widget--footer{margin:32px 0 0;padding:28px 32px 24px}
.ge-nl-widget--markt,.ge-nl-widget--ressourcen{margin:40px 0}
.ge-nl-widget__inner{display:flex;align-items:flex-start;gap:18px;margin-bottom:22px}
.ge-nl-widget__icon{color:#D4A017;flex-shrink:0;margin-top:3px;opacity:.9}
.ge-nl-widget__title{font-family:'Cormorant Garamond',Georgia,serif;font-size:22px;font-weight:700;color:#D4A017;margin:0 0 8px;line-height:1.2;letter-spacing:.02em}
.ge-nl-widget__sub{font-size:14px;color:rgba(208,228,245,.85);margin:0;line-height:1.65}
.ge-nl-widget__form{margin:0}
.ge-nl-widget__fields{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px}
.ge-nl-widget__fields input[type="text"],.ge-nl-widget__fields input[type="email"]{flex:1 1 190px;min-width:0;padding:12px 16px;border:1px solid rgba(212,160,23,.3);border-radius:3px;background:rgba(255,255,255,.07);color:#fff;font-family:'Cormorant Garamond',Georgia,serif;font-size:15px;transition:border-color .2s,background .2s;-webkit-appearance:none}
.ge-nl-widget__fields input::placeholder{color:rgba(255,255,255,.45);font-style:italic}
.ge-nl-widget__fields input:focus{outline:none;border-color:#D4A017;background:rgba(255,255,255,.12)}
.ge-nl-widget__fields button{padding:12px 24px;background:#D4A017;color:#1B3A5C;border:none;border-radius:3px;font-family:'Cormorant Garamond',Georgia,serif;font-size:15px;font-weight:700;letter-spacing:.03em;cursor:pointer;white-space:nowrap;transition:background .2s,transform .1s;flex-shrink:0}
.ge-nl-widget__fields button:hover:not(:disabled){background:#C49215;transform:translateY(-1px)}
.ge-nl-widget__fields button:disabled{opacity:.6;cursor:not-allowed}
.ge-nl-widget__legal{font-size:11px;color:rgba(255,255,255,.45);margin:0;line-height:1.5;font-family:sans-serif}
.ge-nl-widget__legal a{color:rgba(212,160,23,.75);text-decoration:underline}
.ge-nl-widget__msg{margin-top:12px;font-size:14px;font-weight:600;font-family:sans-serif}
@media(max-width:600px){.ge-nl-widget{padding:22px 20px 18px}.ge-nl-widget__title{font-size:20px}}

/* v132.4 - Immobilien mobile section spacing */
@media (max-width: 768px) {
  #ge-immobilien #situationen,
  #ge-immobilien #warum-makler {
    padding-top: 42px !important;
    padding-bottom: 42px !important;
  }

  #ge-immobilien #situationen .ge-sec-hd,
  #ge-immobilien #warum-makler .ge-sec-hd {
    margin-bottom: 22px !important;
  }

  #ge-immobilien #situationen .ge-h2,
  #ge-immobilien #warum-makler .ge-h2 {
    font-size: clamp(30px, 9vw, 38px) !important;
    line-height: .98 !important;
  }

  #ge-immobilien #situationen .ge-lead,
  #ge-immobilien #warum-makler .ge-lead {
    font-size: 14px !important;
    line-height: 1.55 !important;
    margin-top: 12px !important;
  }

  #ge-immobilien #situationen .ge-mt-48,
  #ge-immobilien #warum-makler .ge-mt-48 {
    margin-top: 20px !important;
  }
}

/* v132.7 - Final mobile CTA stabilization */
@media (max-width: 768px) {
  body {
    padding-bottom: calc(50px + env(safe-area-inset-bottom, 0px)) !important;
  }

  .ge-mobile-cta {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    min-height: calc(48px + env(safe-area-inset-bottom, 0px)) !important;
    background: #071427 !important;
    border-top: 1px solid rgba(201,168,106,.18) !important;
    padding-bottom: env(safe-area-inset-bottom, 0px) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  .ge-mobile-cta__btn {
    min-width: 0 !important;
    min-height: 48px !important;
    padding: 5px 4px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-right: 1px solid rgba(255,255,255,.07) !important;
  }

  .ge-mobile-cta__btn:last-child {
    border-right: 0 !important;
  }

  .ge-mobile-cta__btn span,
  .ge-mobile-cta__label {
    display: none !important;
  }

  .ge-mobile-cta__btn svg {
    width: 18px !important;
    height: 18px !important;
    flex: 0 0 18px !important;
  }
}





