/**
 * ge-services.css - consolidated service pages layer
 * Generated on 2026-04-25 for the optimized theme copy.
 * Source order: ge-ankauf -> ge-gewerbe -> ge-gutachten -> ge-hausverwaltung -> ge-leistungen
 */


/* ===== BEGIN ge-ankauf.css ===== */

/**
 * ge-ankauf.css — Gallium Estate
 * Ausgelagert aus page-ankauf.php
 */

/* ── Ankauf & Investment v2 Spezifisches CSS ── */

/* Zielgruppen-Tabs Navigation */
.ak-tab-nav{display:flex;gap:0;background:rgba(255,255,255,.04);border:1px solid rgba(201,168,106,.15);border-radius:14px;padding:6px;margin-bottom:56px;max-width:500px;}
.ak-tab-btn{flex:1;padding:12px 20px;border:none;border-radius:9px;background:transparent;color:rgba(255,255,255,.72);font-size:14px;font-weight:600;cursor:pointer;transition:color .2s,background .2s,border-color .2s,transform .2s,box-shadow .2s;font-family:inherit;}
.ak-tab-btn.active,.ak-tab-btn:hover{background:rgba(201,168,106,.12);color:var(--gold,var(--gold));}

/* Vergleichs-Block */
.ak-compare{display:grid;grid-template-columns:1fr 1fr;gap:0;border-radius:20px;overflow:hidden;border:1px solid rgba(201,168,106,.15);margin-bottom:56px;}
.ak-col{padding:36px 28px;}
.ak-col--out{background:rgba(255,255,255,.02);}
.ak-col--in{background:rgba(201,168,106,.06);border-left:1px solid rgba(201,168,106,.15);}
.ak-col-head{font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;margin-bottom:20px;}
.ak-col-head--muted{color:rgba(255,255,255,.80);}
.ak-col-head--gold{color:var(--gold,var(--gold));}
.ak-row{display:flex;align-items:flex-start;gap:10px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.05);font-size:13.5px;line-height:1.5;}
.ak-row:last-child{border-bottom:none;}
.ak-row--no{color:rgba(255,255,255,.65);}
.ak-row--yes{color:rgba(255,255,255,.75);}
.ak-icon-no{color:rgba(239,68,68,.6);flex-shrink:0;margin-top:2px;}
.ak-icon-yes{color:var(--gold,var(--gold));flex-shrink:0;margin-top:2px;}
@media(max-width:600px){.ak-compare{grid-template-columns:1fr;}}

/* Prozess-Steps (light) */
.ak-steps{display:flex;flex-direction:column;gap:0;}
.ak-step{display:flex;gap:16px;padding:18px 0;border-bottom:1px solid var(--border,#E9E4DB);}
.ak-step:last-child{border-bottom:none;}
.ak-step-num{width:36px;height:36px;border-radius:50%;border:1.5px solid rgba(154,112,48,.3);background:rgba(154,112,48,.06);display:flex;align-items:center;justify-content:center;font-family:var(--serif,'Cormorant Garamond',Georgia,serif);font-size:16px;font-weight:300;color:var(--gold-d,var(--gold-d));flex-shrink:0;}
.ak-step-body h4,.ak-step-body__title{font-family:var(--sans,-apple-system,sans-serif);font-size:14px;font-weight:600;color:var(--navy,var(--navy));margin:0 0 3px;}
.ak-step-body p{font-family:var(--sans,-apple-system,sans-serif);font-size:13px;color:var(--muted,var(--muted));line-height:1.6;margin:0;}

/* Objekttypen */
.ak-obj-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;}
.ak-obj-card{background:#fff;border:1px solid #E9E4DB;border-radius:12px;padding:20px 16px;transition:box-shadow .2s,border-color .2s;}
.ak-obj-card:hover{box-shadow:0 8px 24px rgba(0,0,0,.07);border-color:rgba(201,168,106,.4);}
.ak-obj-icon{width:36px;height:36px;border-radius:8px;background:rgba(154,112,48,.08);display:flex;align-items:center;justify-content:center;margin-bottom:12px;}
.ak-obj-title{font-size:13px;font-weight:700;color:var(--navy,var(--navy));margin-bottom:3px;}
.ak-obj-sub{font-size:12px;color:#9ca3af;}

/* Investment Feature Cards */
.ak-feat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin-bottom:48px;}
.ak-feat-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);border-radius:16px;padding:28px;}
.ak-feat-card__icon{width:44px;height:44px;border-radius:10px;background:rgba(201,168,106,.1);border:1px solid rgba(201,168,106,.15);display:flex;align-items:center;justify-content:center;margin-bottom:16px;}
.ak-feat-card__title{font-size:15px;font-weight:700;color:#fff;margin:0 0 8px;}
.ak-feat-card__text{font-size:13px;color:rgba(255,255,255,.72);line-height:1.65;margin:0;}

/* VIP Box */
.ak-vip-box{background:linear-gradient(135deg,rgba(201,168,106,.08),rgba(201,168,106,.03));border:1px solid rgba(201,168,106,.25);border-radius:24px;padding:56px;text-align:center;}

/* Testimonials */
.ak-testi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;}
.ak-testi-card{border-radius:14px;padding:28px;}
.ak-testi-card--light{background:#fff;border:1px solid #E9E4DB;}
.ak-testi-card--dark{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);}
.ak-testi-stars{color:var(--gold,var(--gold));letter-spacing:2px;font-size:13px;margin-bottom:12px;}
.ak-testi-quote{font-size:14px;line-height:1.75;font-style:italic;margin:0 0 16px;}
.ak-testi-quote--light{color:#4b5563;}
.ak-testi-quote--dark{color:rgba(255,255,255,.6);}
.ak-testi-author{display:flex;align-items:center;gap:10px;}
.ak-testi-avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--serif,'Cormorant Garamond',Georgia,serif);font-size:15px;font-weight:600;flex-shrink:0;}
.ak-testi-avatar--light{background:var(--navy,var(--navy));color:var(--gold-l,var(--gold-l));}
.ak-testi-avatar--dark{background:rgba(201,168,106,.15);color:var(--gold,var(--gold));}
.ak-testi-name{font-size:13px;font-weight:700;}
.ak-testi-name--light{color:var(--navy,var(--navy));}
.ak-testi-name--dark{color:#fff;}
.ak-testi-loc{font-size:11px;color:#9ca3af;margin-top:1px;}

/* FAQ */
.ak-faq-wrap{max-width:720px;margin:0 auto;}
.ak-faq-item{border-bottom:1px solid rgba(255,255,255,.08);}
.ak-faq-q{width:100%;background:none;border:none;padding:20px 0;text-align:left;font-size:15px;font-weight:600;color:#fff;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;font-family:inherit;}
.ak-faq-q::after{content:'+';font-size:22px;font-weight:300;color:var(--gold,var(--gold));flex-shrink:0;transition:transform .25s;}
.ak-faq-item.open .ak-faq-q::after{transform:rotate(45deg);}
.ak-faq-a{max-height:0;overflow:hidden;transition:max-height .35s ease;}
.ak-faq-item.open .ak-faq-a{max-height:400px;}
.ak-faq-a-in{padding:0 0 20px;font-size:14px;color:rgba(255,255,255,.72);line-height:1.75;}

/* Rendite-Teaser */
.ak-kpi-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1px;background:rgba(201,168,106,.1);border:1px solid rgba(201,168,106,.15);border-radius:16px;overflow:hidden;margin-bottom:48px;}
.ak-kpi-item{background:rgba(255,255,255,.02);padding:28px 20px;text-align:center;}
.ak-kpi-val{font-family:var(--serif,'Cormorant Garamond',Georgia,serif);font-size:36px;font-weight:300;color:var(--gold,var(--gold));line-height:1.1;margin-bottom:6px;}
.ak-kpi-lbl{font-size:11px;color:rgba(255,255,255,.62);text-transform:uppercase;letter-spacing:.12em;}

.ak-form{background:#fff;border:1px solid #E9E4DB;border-radius:20px;padding:48px 44px;}
    @media(max-width:600px){.ak-form{padding:32px 24px;}}
    .ak-form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px;}
    @media(max-width:600px){.ak-form-row{grid-template-columns:1fr;}}
    .ak-form-row--full{grid-column:1/-1;}
    .ak-form-group{display:flex;flex-direction:column;gap:6px;}
    .ak-form-label{font-size:13px;font-weight:600;color:var(--navy,var(--navy));}
    .ak-form-label span{color:rgba(154,112,48,.7);margin-left:2px;}
    .ak-form-input,.ak-form-select,.ak-form-textarea{width:100%;padding:12px 14px;border:1.5px solid #E9E4DB;border-radius:10px;font-size:14px;color:var(--navy,var(--navy));background:#fafafa;transition:border-color .2s,box-shadow .2s;font-family:inherit;box-sizing:border-box;}
    .ak-form-input:focus,.ak-form-select:focus,.ak-form-textarea:focus{outline:none;border-color:rgba(201,168,106,.6);box-shadow:0 0 0 3px rgba(201,168,106,.1);}
    .ak-form-textarea{resize:vertical;min-height:120px;}
    .ak-form-upload{border:2px dashed #E9E4DB;border-radius:10px;padding:28px 20px;text-align:center;cursor:pointer;transition:border-color .2s,background .2s;background:#fafafa;}
    .ak-form-upload:hover,.ak-form-upload.dragover{border-color:rgba(201,168,106,.5);background:rgba(201,168,106,.03);}
    .ak-form-upload__icon{font-size:28px;margin-bottom:8px;}
    .ak-form-upload__text{font-size:14px;font-weight:600;color:var(--navy,var(--navy));margin-bottom:4px;}
    .ak-form-upload__hint{font-size:12px;color:#9ca3af;}
    .ak-form-upload input[type="file"]{display:none;}
    .ak-form-filelist{display:flex;flex-direction:column;gap:6px;margin-top:12px;}
    .ak-form-file-item{display:flex;align-items:center;gap:8px;background:rgba(201,168,106,.06);border:1px solid rgba(201,168,106,.15);border-radius:8px;padding:8px 12px;font-size:13px;color:var(--navy,var(--navy));}
    .ak-form-file-rm{margin-left:auto;background:none;border:none;cursor:pointer;color:#9ca3af;font-size:16px;line-height:1;padding:2px;}
    .ak-form-file-rm:hover{color:rgba(239,68,68,.7);}
    .ak-form-privacy{font-size:12px;color:#9ca3af;line-height:1.6;margin:16px 0 0;}
    .ak-form-privacy a{color:rgba(154,112,48,.7);text-decoration:underline;}
    .ak-form-submit{width:100%;padding:16px;background:var(--navy,var(--navy));color:#fff;border:none;border-radius:12px;font-size:15px;font-weight:700;cursor:pointer;transition:background .2s,transform .2s;font-family:inherit;margin-top:8px;}
    .ak-form-submit:hover{background:#0f2340;transform:translateY(-1px);}
    .ak-form-submit:disabled{opacity:.5;cursor:default;transform:none;}
    .ak-form-success{background:rgba(22,163,74,.05);border:1px solid rgba(22,163,74,.2);border-radius:14px;padding:32px;text-align:center;display:none;}
    .ak-form-success__icon{font-size:40px;margin-bottom:12px;}
    .ak-form-success__title{font-size:20px;font-weight:700;color:var(--navy,var(--navy));margin-bottom:8px;}
    .ak-form-success__text{font-size:14px;color:var(--muted);line-height:1.65;}


/* ── v73: Ergänzungen aus inline-styles ───────────────────────────────────── */
.ak-checkbox {
  margin-top: 3px;
  flex-shrink: 0;
  accent-color: var(--gold-d, #9A7030);
}
.ak-form-label { display: block; margin-bottom: 6px; }
.ak-form-privacy { margin: 0; }
.ge-icon-gold-d { color: var(--gold-d, #9A7030); }

/* Scroll targets */
#eigentuemer, #objekt-anbieten {
  scroll-margin-top: 88px;
}


/* ══ Hero-Bild Premium — Overlay via ge-hero-premium--ankauf in ge-components.css ══ */
/* Kein ::after / ::before hier — verhindert Überschreiben der extra_class-Varianten */

/* ===== END ge-ankauf.css ===== */


/* ===== BEGIN ge-gewerbe.css ===== */

/**
 * ge-gewerbe.css â€” Gallium Estate
 * Ausgelagert aus page-gewerbe.php
 * Fix v2: Grid-Layout 3-spaltig erzwungen + Dark-Dark-Padding korrigiert
 */

/* â”€â”€ Gewerbe Page Styles â”€â”€ */

/*
 * FIX: auto-fit mit 6 Cards erzeugt bei ~800â€“1100px Viewport
 * nur 2 Cards in Zeile 2 â†’ stretchen auf 50% Breite â†’ visuell seltsam.
 * LÃ¶sung: explizit 3 Spalten, ab 900px 2 Spalten, ab 600px 1 Spalte.
 */
.ge-gew-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
@media (max-width: 900px) {
  .ge-gew-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
  .ge-gew-grid { grid-template-columns: 1fr; }
}


/* â”€â”€ Leerraum-Fix v5 â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€
 * Gewerbe-Seite: Alle darkâ†’dark ÃœbergÃ¤nge haben zu viel Padding.
 * Kumuliert: 56+60+60+72 = 248px reines Padding â†’ sieht wie
 * Leerraum aus weil alles gleiche dunkle Farbe hat.
 * â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */

/* Objekttypen-Section */
body #objekttypen {
  padding-top: 64px !important;
  padding-bottom: 40px !important;
}

/* Diskreter-Verkauf (direkt nach #objekttypen) */
body #objekttypen + .ge-section {
  padding-top: 40px !important;
  padding-bottom: 40px !important;
}

/* VIP-Band: Padding reduzieren + Reveal-Fix */
.ge-vip-band {
  padding-top: 36px !important;
  padding-bottom: 36px !important;
}
.ge-vip-band,
.ge-vip-band.ge-reveal,
.ge-vip-band.ge-fade,
.ge-vip-band.ge-reveal:not(.is-visible),
.ge-vip-band.ge-fade:not(.is-visible) {
  opacity: 1 !important;
  transform: none !important;
  visibility: visible !important;
}

/* Prozess-Section (nach VIP-Band): padding-top reduzieren */
body .ge-vip-band + .ge-section {
  padding-top: 40px !important;
}

.ge-gew-card{background:rgba(255,255,255,.05);border:1px solid rgba(201,168,106,.15);border-radius:16px;padding:28px;transition:background .2s,border-color .2s,transform .2s;}
.ge-gew-card:hover{background:rgba(255,255,255,.08);border-color:rgba(201,168,106,.35);transform:translateY(-3px);}
.ge-gew-card h3{font-size:15px;font-weight:700;color:#fff;margin:0 0 8px;}
.ge-gew-card p{font-size:13px;color:rgba(255,255,255,.7);line-height:1.65;margin:0 0 14px;}
.ge-gew-card__tag{display:inline-block;font-size:var(--label-size-sm);font-weight:700;letter-spacing:var(--label-spacing);text-transform:uppercase;border-radius:var(--pill-radius);padding:4px 12px;background:var(--ui-soft-bg);color:rgba(201,168,106,.8);border:1px solid var(--ui-soft-border);}

/* Prozess-Schritte */
.ge-proc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px;}
.ge-proc-card{text-align:center;padding:32px 20px;}
.ge-proc-num{font-family:var(--serif,'Cormorant Garamond',Georgia,serif);font-size:48px;font-weight:300;color:rgba(201,168,106,.25);line-height:1;margin-bottom:12px;}
.ge-proc-card h3{font-size:15px;font-weight:700;color:#fff;margin:0 0 8px;}
.ge-proc-card p{font-size:13px;color:rgba(255,255,255,.72);line-height:1.6;margin:0;}

/* Leistungskarten hell */
.ge-gew-light-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;}
.ge-gew-light-card{background:var(--surface-card-soft);border:1px solid #E9E4DB;border-radius:16px;padding:30px;transition:box-shadow .2s,transform .2s,border-color .2s;}
.ge-gew-light-card:hover{box-shadow:var(--shadow-card);transform:translateY(-2px);border-color:rgba(201,168,106,.26);}
.ge-gew-light-card h3{font-size:15px;font-weight:700;color:var(--navy,var(--navy));margin:0 0 8px;}
.ge-gew-light-card p{font-size:13px;color:var(--muted);line-height:1.65;margin:0;}

/* â•â• Hero-Bild Premium â€” Overlay via ge-hero-premium--gewerbe in ge-components.css â•â• */
/* Kein ::after / ::before hier â€” verhindert Ãœberschreiben der extra_class-Varianten */

/* â”€â”€ SVG-Icon-Fix (Nr 33): Gewerbe-Cards â”€â”€ */
.ge-gew-card__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  border-radius: 14px;
  background: rgba(201, 168, 106, 0.1);
  margin-bottom: 16px;
}
.ge-gew-card__icon svg {
  display: block;
  stroke: var(--gold, #C9A86A);
}

/* Leistungen-Seite: Situationen + Diskret */
.ls-sit-card__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 12px;
  background: rgba(10, 26, 47, 0.08);
  margin-bottom: 12px;
}
.ls-sit-card__icon svg { display: block; stroke: #0A1A2F; }
.ge-section--dark .ls-sit-card__icon svg,
.ge-section--navy .ls-sit-card__icon svg { stroke: #C9A86A; }
.ls-diskret-case__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 8px;
  background: rgba(201, 168, 106, 0.12);
  flex-shrink: 0;
}
.ls-diskret-case__icon svg { display: block; stroke: #C9A86A; }

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   GEWERBE LEERRAUM-FIX v6
   Problem 1: ge-reveal auf Section-Ebene â†’ opacity:0 solange
              Observer nicht feuert (threshold 0.15 = braucht 15%
              Sichtbarkeit) â†’ unsichtbare Layout-Box mit vollem
              72px Padding = Leerraum-Optik
   Problem 2: --section-pad: 72px oben + unten = 144px zwischen
              Darkâ†’Dark Sections mit gleicher Farbe = sieht leer aus
   Fix: Alle ge-section.ge-reveal sofort sichtbar + Padding-Korrektur
   Body-Klasse: .page-template-page-gewerbe (WordPress auto)
   â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */

/* Sections sofort sichtbar â€” kein opacity:0 auf Section-Ebene
   Body-Klasse WordPress: page-template-page-gewerbe-php (inkl. -php!) */
.page-template-page-gewerbe-php .ge-section.ge-reveal,
.page-template-page-gewerbe-php .ge-section.ge-fade,
.page-template-page-gewerbe-php .ge-section.ge-reveal:not(.is-visible),
.page-template-page-gewerbe-php .ge-section.ge-fade:not(.is-visible) {
  opacity: 1 !important;
  transform: none !important;
  visibility: visible !important;
  transition: none !important;
}

/* VIP-Band ebenfalls sofort sichtbar */
.page-template-page-gewerbe-php .ge-vip-band,
.page-template-page-gewerbe-php .ge-vip-band.ge-reveal,
.page-template-page-gewerbe-php .ge-vip-band.ge-reveal:not(.is-visible) {
  opacity: 1 !important;
  transform: none !important;
  visibility: visible !important;
}

/* Darkâ†’Dark Padding reduzieren */
.page-template-page-gewerbe-php .ge-section--dark + .ge-section--dark {
  padding-top: 40px !important;
}
.page-template-page-gewerbe-php .ge-section--dark + .ge-vip-band {
  margin-top: -16px;
}
.page-template-page-gewerbe-php .ge-vip-band + .ge-section--dark {
  padding-top: 40px !important;
}

/* Fallback: direkt per ID falls Body-Klasse abweicht */
#objekttypen.ge-reveal,
#objekttypen ~ .ge-section.ge-reveal,
#objekttypen ~ .ge-vip-band.ge-reveal {
  opacity: 1 !important;
  transform: none !important;
  visibility: visible !important;
  transition: none !important;
}
#objekttypen ~ .ge-section--dark {
  padding-top: 40px !important;
}

/* ===== END ge-gewerbe.css ===== */


/* ===== BEGIN ge-gutachten.css ===== */

/**
 * ge-gutachten.css — Gallium Estate
 * Ausgelagert aus page-gutachten.php
 */

/* ═══════════════════════════════════════
   GUTACHTEN v49.3 — sauber, kein Namespace-Mix
═══════════════════════════════════════ */
/* scroll-behavior: in ge-base.css definiert (Fix v55: Duplikat entfernt) */

/* KPI STRIP */
.gut-strip {
  background: var(--navy-m);
  border-bottom: 1px solid rgba(201,168,106,.12);
}
.gut-strip__inner {
  display: flex;
  align-items: stretch;
  justify-content: center;
  flex-wrap: wrap;
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 32px;
}
.gut-strip__item {
  flex: 1;
  min-width: 150px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 20px 16px;
  border-right: 1px solid rgba(201,168,106,.1);
  text-align: center;
  gap: 3px;
}
.gut-strip__item:last-child { border-right: none; }
.gut-strip__val {
  font-family: var(--serif,'Cormorant Garamond',Georgia,serif);
  font-size: 22px;
  font-weight: 300;
  color: var(--gold-l);
  line-height: 1;
}
.gut-strip__lbl {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .09em;
  text-transform: uppercase;
  color: rgba(255,255,255,.42);
}

/* FOTO-TRIPTYCHON */
.gut-photos {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 3px;
  border-radius: 18px;
  overflow: hidden;
  height: 380px;
}
.gut-photo {
  position: relative;
  overflow: hidden;
  background: var(--navy, #0A1A2F);
}
.gut-photo img {
  width: 100%; height: 100%;
  object-fit: contain; display: block;
  transition: transform .45s cubic-bezier(.16,1,.3,1);
}
.gut-photo:hover img { transform: scale(1.05); }
.gut-photo__cap {
  position: absolute; bottom: 0; left: 0; right: 0;
  background: linear-gradient(transparent, rgba(10,26,47,.75));
  padding: 14px 16px; pointer-events: none;
  font-size: 10px; font-weight: 700; letter-spacing: .12em;
  text-transform: uppercase; color: rgba(255,255,255,.75);
}

/* SITUATIONS-GRID */
.gut-sit-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin-bottom: 40px;
}
.gut-sit-card {
  background: #fff;
  border: 1px solid #e9e4db;
  border-radius: 14px;
  padding: 22px 18px;
  text-align: center;
  transition: box-shadow .2s, transform .2s, border-color .2s;
}
.gut-sit-card:hover { box-shadow: 0 8px 24px rgba(0,0,0,.07); transform: translateY(-2px); border-color: rgba(201,168,106,.4); }
.gut-sit-card__icon { font-size: 26px; margin-bottom: 10px; line-height: 1; }
.gut-sit-card__title { font-size: 13px; font-weight: 700; color: var(--navy); margin-bottom: 4px; }
.gut-sit-card__sub { font-size: 11.5px; color: #9ca3af; line-height: 1.5; }

/* LEISTUNGEN */
.gut-leist-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
.gut-leist-card {
  background: #fff;
  border: 1px solid #e9e4db;
  border-radius: 16px;
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  transition: box-shadow .2s, transform .2s;
}
.gut-leist-card:hover { box-shadow: 0 10px 30px rgba(10,26,47,.08); transform: translateY(-2px); }
.gut-leist-icon {
  width: 44px; height: 44px; border-radius: 11px;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.gut-leist-title { font-size: 15px; font-weight: 700; color: var(--navy); margin: 0; line-height: 1.3; }
.gut-leist-desc  { font-size: 13px; color: var(--muted); line-height: 1.65; margin: 0; flex: 1; }
.gut-leist-foot  { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-top: auto; }
.gut-leist-price { font-size: 13px; font-weight: 700; color: var(--gold-d); }
.gut-leist-badge {
  font-size: 10px; font-weight: 700;
  border-radius: 100px; padding: 2px 9px;
  letter-spacing: .06em;
}

/* VERGLEICHSTABELLE */
.gut-cmp { border-radius: 16px; overflow: hidden; border: 1px solid #e9e4db; }
.gut-cmp-head {
  display: grid; grid-template-columns: 1.6fr 1fr 1fr 1fr;
  background: var(--navy);
}
.gut-cmp-head > div { padding: 12px 16px; font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: rgba(255,255,255,.38); }
.gut-cmp-head > div:last-child { color: var(--gold-l); }
.gut-cmp-row { display: grid; grid-template-columns: 1.6fr 1fr 1fr 1fr; }
.gut-cmp--5col .gut-cmp-head,
.gut-cmp--5col .gut-cmp-row { grid-template-columns: 1.6fr 1fr 1fr 1fr 1.2fr; }
.gut-cmp--5col .gut-cmp-head > div:last-child { background: rgba(11,95,255,.12); color: rgba(255,255,255,.75); }
.gut-cmp--5col .gut-cmp-row > div:nth-child(5) { text-align: center; font-weight: 700; color: #0B5FFF; background: rgba(11,95,255,.04) !important; border-left: 2px solid rgba(11,95,255,.15); }
.gut-cmp-partner { position: relative; }
.gut-partner-badge { display: inline-block; font-size: 9px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; background: rgba(11,95,255,.2); color: #4d90fe; border-radius: 4px; padding: 2px 5px; margin-left: 5px; vertical-align: middle; }
.gut-cmp-row:nth-child(odd) > div  { background: #f4f2ee; }
.gut-cmp-row:nth-child(even) > div { background: #fff; }
.gut-cmp-row > div { padding: 12px 16px; font-size: 13px; border-bottom: 1px solid #e8e2d8; color: #374151; }
.gut-cmp-row:last-child > div { border-bottom: none; }
.gut-cmp-row > div:first-child { font-weight: 700; color: var(--navy, #080f1e); }
.gut-cmp-row > div:nth-child(2) { color: #6b7280; text-align: center; font-weight: 500; }
.gut-cmp-row > div:nth-child(3) { text-align: center; color: #374151; font-weight: 500; }
.gut-cmp-row > div:nth-child(4) { text-align: center; font-weight: 700; color: var(--gold-d, #9a7030); background: rgba(201,168,106,.08) !important; border-left: 2px solid rgba(201,168,106,.3); }

/* FALLSTUDIEN */
.gut-case-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; }
.gut-case-card {
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 16px; padding: 28px;
  border-top: 3px solid;
}
.gut-case-icon { font-size: 26px; margin-bottom: 12px; line-height: 1; }
.gut-case-title { font-size: 15px; font-weight: 700; color: #fff; margin: 0 0 10px; }
.gut-case-text  { font-size: 13px; color: rgba(255,255,255,.7); line-height: 1.7; margin: 0; }

/* REVIEWS */
.gut-reviews { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }
.gut-review {
  background: #fff; border: 1px solid #e9e4db;
  border-radius: 14px; padding: 24px;
}
.gut-stars { display: flex; gap: 2px; margin-bottom: 12px; }
.gut-quote  { font-size: 13.5px; color: #374151; line-height: 1.75; margin: 0 0 18px; font-style: italic; }
.gut-author { display: flex; align-items: center; gap: 10px; }
.gut-avatar {
  width: 38px; height: 38px; border-radius: 50%;
  background: rgba(201,168,106,.1); border: 1px solid rgba(201,168,106,.22);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--serif,'Cormorant Garamond',Georgia,serif);
  font-size: 15px; color: var(--gold); font-weight: 600; flex-shrink: 0;
}
.gut-author-name { font-size: 12px; font-weight: 700; color: var(--navy); }
.gut-author-meta { font-size: 11px; color: #9ca3af; margin-top: 2px; }

/* FAQ */
.gut-faq-grid { display: grid; grid-template-columns: 1fr 1.3fr; gap: 64px; align-items: start; }
.gut-faq-item { border-bottom: 1px solid #e9e4db; }
.gut-faq-q {
  width: 100%; background: none; border: none; padding: 18px 0;
  text-align: left; font-size: 14px; font-weight: 600; color: var(--navy);
  cursor: pointer; display: flex; justify-content: space-between; align-items: center;
  gap: 16px; font-family: inherit;
  /* Fix 1+3: Sicherstellen dass Text immer sichtbar bleibt — kein hell-auf-hell */
}
/* Fix 3: Hover-Zustand — Frage bleibt lesbar (dunkel auf weißem Grund) */
.gut-faq-q:hover { color: var(--navy); background: rgba(201,168,106,.06); border-radius: 6px; padding-left: 8px; padding-right: 8px; }
.gut-faq-q::after { content: '+'; font-size: 20px; font-weight: 300; color: var(--gold); flex-shrink: 0; transition: transform .25s; }
.gut-faq-item.open .gut-faq-q::after { transform: rotate(45deg); }
/* Fix 3: Offene FAQ-Frage bleibt sichtbar */
.gut-faq-item.open .gut-faq-q { color: var(--navy); }
.gut-faq-a { max-height: 0; overflow: hidden; transition: max-height .35s ease; }
.gut-faq-item.open .gut-faq-a { max-height: 600px; }
.gut-faq-a p { padding: 0 0 18px; font-size: 13.5px; color: var(--muted); line-height: 1.75; margin: 0; }
.gut-contact-box {
  background: var(--warm); border: 1px solid #e9e4db; border-radius: 14px; padding: 28px;
}
.gut-contact-box p { font-size: 14px; color: #4b5563; margin: 0 0 16px; line-height: 1.7; }
.gut-tel {
  display: flex; align-items: center; justify-content: center;
  gap: 7px; margin-top: 12px; font-size: 14px; font-weight: 600;
  color: var(--gold-d); text-decoration: none;
}

/* Hero Sidebar */
.gut-sidebar {
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(201,168,106,.2);
  border-radius: 20px; padding: 32px;
}
.gut-sidebar h3 {
  font-family: var(--serif,'Cormorant Garamond',Georgia,serif);
  font-size: 22px; font-weight: 300; color: #fff; margin: 0 0 18px; line-height: 1.3;
}
.gut-sidebar ul { list-style: none; padding: 0; margin: 0 0 22px; display: flex; flex-direction: column; gap: 10px; }
/* Fix 1+2: Sidebar-Listenpunkte hell auf dunklem Hintergrund — voller Kontrast */
.gut-sidebar ul li { font-size: 13px; color: rgba(255,255,255,.82); display: flex; align-items: flex-start; gap: 8px; }
.gut-sidebar ul li::before { content: '→'; color: var(--gold); flex-shrink: 0; }
.gut-hero-note { font-size: 12px; color: rgba(255,255,255,.5); margin: 10px 0 0; text-align: center; }

/* Fix 4: Zentrierung — KPI-Strip und Sections-Container zentriert */
.gut-strip__inner,
.gut-section-inner { margin-left: auto; margin-right: auto; }

/* Fix 2: Vergleichstabellen-Header — v118 konsolidiert oben */

/* Fix 1: KPI-Label Kontrast erhöhen */
.gut-strip__lbl { color: rgba(255,255,255,.60); }

.gut-strip__item {
  text-align: center;
}

.gut-strip__val,
.gut-strip__lbl {
  text-align: center;
}

/* Fix 5: FAQ — Zusätzliche FAQ-Einträge über JS-Datadaten (Klasse bereit) */
.gut-faq-extra { border-top: 2px solid rgba(201,168,106,.15); margin-top: 8px; padding-top: 4px; }

/* RESPONSIVE */
@media (max-width: 1024px) {
  .gut-leist-grid { grid-template-columns: repeat(2,1fr); }
  .gut-sit-grid   { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 900px) {
  .gut-case-grid   { grid-template-columns: 1fr; }
  .gut-reviews     { grid-template-columns: repeat(2,1fr); }
  .gut-faq-grid    { grid-template-columns: 1fr; gap: 40px; }
  .gut-cmp-head, .gut-cmp-row { grid-template-columns: 1.2fr 1fr 1fr 1fr; }
}
@media (max-width: 768px) {
  .gut-leist-grid  { grid-template-columns: 1fr; }
  .gut-reviews     { grid-template-columns: 1fr; }
  .gut-photos      { grid-template-columns: 1fr; height: auto; }
  .gut-photo       { height: 200px; }
  .gut-strip__item { min-width: 120px; }
  .gut-cmp-head > div:nth-child(3), .gut-cmp-row > div:nth-child(3) { display: none; }
}
@media (max-width: 640px) {
  .gut-sit-grid   { grid-template-columns: repeat(2,1fr); }
}


/* ── SVG-Icon Fixes Gutachten (Nr 33) ── */
.gut-case-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  border-radius: 12px;
  background: rgba(201, 168, 106, 0.08);
  margin-bottom: 16px;
}
.gut-case-icon svg {
  display: block;
  stroke: #C9A86A;
}
/* Override Farbe per Parent-Border-Farbe */
.gut-case-card[style*="#0B5FFF"] .gut-case-icon svg { stroke: #0B5FFF; }
.gut-case-card[style*="#7c3aed"] .gut-case-icon svg { stroke: #7c3aed; }
.gut-case-card[style*="#16a34a"] .gut-case-icon svg { stroke: #16a34a; }

.gut-sit-card__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  border-radius: 12px;
  background: rgba(201, 168, 106, 0.1);
  margin: 0 auto 14px;
}
.gut-sit-card__icon svg { display: block; stroke: #C9A86A; }

/* ===== END ge-gutachten.css ===== */


/* ===== BEGIN ge-hausverwaltung.css ===== */

/**
 * ge-hausverwaltung.css — Gallium Estate
 * Ausgelagert aus page-hausverwaltung.php
 */

.ge-hw-switch{display:grid;grid-template-columns:1fr 1fr;gap:0;border-radius:20px;overflow:hidden;border:1px solid rgba(201,168,106,.15);}
.ge-hw-sw-col{padding:40px 32px;}
.ge-hw-sw-col--bad{background:rgba(255,255,255,.02);}
.ge-hw-sw-col--good{background:rgba(201,168,106,.06);border-left:1px solid rgba(201,168,106,.15);}
.ge-hw-sw-head{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;margin-bottom:24px;}
.ge-hw-sw-head--bad{color:rgba(255,255,255,.62);}
.ge-hw-sw-head--good{color:var(--gold,var(--gold));}
.ge-hw-sw-row{display:flex;align-items:flex-start;gap:10px;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.05);font-size:13.5px;line-height:1.5;}
.ge-hw-sw-row:last-child{border-bottom:none;}
.ge-hw-sw-row--bad{color:rgba(255,255,255,.72);}
.ge-hw-sw-row--good{color:rgba(255,255,255,.85);}
.ge-hw-sw-icon-bad{color:rgba(239,68,68,.55);flex-shrink:0;margin-top:2px;}
.ge-hw-sw-icon-good{color:var(--gold,var(--gold));flex-shrink:0;margin-top:2px;}
@media(max-width:640px){.ge-hw-switch{grid-template-columns:1fr;}}

/* Service-Karten (auf dunklem Hintergrund ge-section--dark) */
.ge-hw-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;}
.ge-hw-card{background:rgba(255,255,255,.05);border:1px solid rgba(201,168,106,.12);border-radius:16px;padding:28px;transition:background .2s,border-color .2s,transform .2s;}
.ge-hw-card:hover{background:rgba(255,255,255,.08);border-color:rgba(201,168,106,.3);transform:translateY(-3px);}
.ge-hw-card__icon{font-size:32px;margin-bottom:14px;}
.ge-hw-card h3{font-size:15px;font-weight:700;color:#fff;margin:0 0 8px;}
.ge-hw-card p{font-size:13px;color:rgba(255,255,255,.5);line-height:1.65;margin:0 0 14px;}
.ge-hw-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px;}
.ge-hw-list li{font-size:12.5px;color:rgba(255,255,255,.70);display:flex;align-items:flex-start;gap:8px;line-height:1.45;}
.ge-hw-list li::before{content:'✓';color:var(--gold,var(--gold));font-weight:700;flex-shrink:0;}
.ge-pkg-badge{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;border-radius:100px;padding:3px 10px;margin-bottom:16px;}
.ge-pkg-badge--green{background:rgba(22,163,74,.12);color:#16a34a;border:1px solid rgba(22,163,74,.25);}
.ge-pkg-badge--gold{background:rgba(201,168,106,.15);color:var(--gold);border:1px solid rgba(201,168,106,.3);}
.ge-pkg-badge--blue{background:rgba(11,95,255,.1);color:#4d90fe;border:1px solid rgba(11,95,255,.2);}
.ge-typ-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px;}
.ge-typ-card{background:#fff;border:1px solid #E9E4DB;border-radius:16px;padding:32px 28px;transition:box-shadow .2s,transform .2s;color:#374151;}
.ge-typ-card:hover{box-shadow:0 12px 32px rgba(0,0,0,.08);transform:translateY(-3px);}
.ge-typ-icon{font-size:32px;margin-bottom:16px;}
.ge-typ-card h3{font-size:17px;font-weight:700;color:#09192C;margin:0 0 10px;}
.ge-typ-card p{font-size:14px;color:#5a6474;line-height:1.65;margin:0;}
.ge-process-wrap{max-width:700px;}
.ge-process-steps{display:flex;flex-direction:column;gap:0;}
.ge-process-step{display:grid;grid-template-columns:56px 1fr;gap:20px;padding:28px 0;border-bottom:1px solid rgba(255,255,255,.07);}
.ge-process-step:last-child{border-bottom:none;}
.ge-process-num{width:48px;height:48px;border-radius:50%;border:1.5px solid rgba(201,168,106,.35);background:rgba(201,168,106,.08);display:flex;align-items:center;justify-content:center;font-family:var(--serif,'Cormorant Garamond',Georgia,serif);font-size:20px;font-weight:300;color:var(--gold,var(--gold));flex-shrink:0;}
.ge-process-body h3{font-size:16px;font-weight:700;color:#fff;margin:0 0 6px;}
.ge-process-body p{font-size:14px;color:rgba(255,255,255,.70);line-height:1.65;margin:0;}
.ge-pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px;align-items:start;}
.ge-pricing-card{background:var(--surface-card-soft);border:1px solid #E9E4DB;border-radius:20px;padding:38px 34px;position:relative;display:flex;flex-direction:column;color:#374151;box-shadow:var(--shadow-soft);}
.ge-pricing-card--featured{border-color:rgba(201,168,106,.5);box-shadow:0 24px 64px rgba(201,168,106,.14);}
.ge-pricing-card__badge{position:absolute;top:-14px;left:50%;transform:translateX(-50%);background:linear-gradient(135deg,var(--gold),var(--gold-d));color:var(--navy-d);font-size:var(--label-size-sm);font-weight:800;letter-spacing:var(--label-spacing);text-transform:uppercase;border-radius:var(--pill-radius);padding:5px 18px;white-space:nowrap;box-shadow:var(--action-shadow-gold);}
.ge-pricing-card__name{font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#09192C;opacity:.5;margin-bottom:12px;}
.ge-pricing-card__price{font-family:var(--serif,'Cormorant Garamond',Georgia,serif);font-size:42px;font-weight:300;color:#09192C;margin-bottom:6px;line-height:1.1;}
.ge-pricing-card__price small{font-family:var(--sans,-apple-system,sans-serif);font-size:13px;color:#9ca3af;font-weight:400;display:block;margin-top:4px;}
.ge-pricing-card p{font-size:13.5px;color:#5a6474;margin:16px 0 20px;line-height:1.6;flex-grow:1;}
.ge-pricing-card ul{list-style:none;padding:0;margin:0 0 28px;display:flex;flex-direction:column;gap:9px;}
.ge-pricing-card ul li{font-size:13px;color:#374151;display:flex;align-items:flex-start;gap:8px;}
.ge-pricing-card ul li::before{content:'✓';color:#B8933A;font-weight:700;flex-shrink:0;}
.ge-testi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px;}
.ge-testi-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:28px;}
.ge-testi-stars{color:var(--gold,var(--gold));font-size:14px;letter-spacing:2px;margin-bottom:14px;}
.ge-testi-text{font-size:14px;color:rgba(255,255,255,.65);line-height:1.75;margin:0 0 20px;font-style:italic;}
.ge-testi-author{display:flex;align-items:center;gap:12px;}
.ge-testi-avatar{width:40px;height:40px;border-radius:50%;background:rgba(201,168,106,.15);border:1px solid rgba(201,168,106,.25);display:flex;align-items:center;justify-content:center;font-family:var(--serif,'Cormorant Garamond',Georgia,serif);font-size:16px;color:var(--gold,var(--gold));font-weight:600;flex-shrink:0;}
.ge-testi-name{font-size:13px;font-weight:700;color:#fff;}
.ge-testi-loc{font-size:11px;color:rgba(255,255,255,.55);margin-top:2px;}
.ge-faq-wrap{max-width:760px;margin:0 auto;}
.ge-faq-item{border-bottom:1px solid #E9E4DB;}
.ge-faq-q{width:100%;background:none;border:none;padding:22px 0;text-align:left;font-size:15px;font-weight:600;color:var(--navy,var(--navy));cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;font-family:var(--sans,-apple-system,sans-serif);}
.ge-faq-q::after{content:'+';font-size:22px;font-weight:300;color:var(--gold,var(--gold));flex-shrink:0;transition:transform .25s;}
.ge-faq-item.open .ge-faq-q::after{transform:rotate(45deg);}
.ge-faq-a{max-height:0;overflow:hidden;transition:max-height .35s ease;}
.ge-faq-item.open .ge-faq-a{max-height:400px;}
.ge-faq-a-in{padding:0 0 22px;font-size:14px;color:var(--muted);line-height:1.75;}
.ge-wechsel-box{background:rgba(201,168,106,.05);border:1px solid rgba(201,168,106,.2);border-radius:20px;padding:40px;display:flex;align-items:center;gap:40px;flex-wrap:wrap;}
.ge-wechsel-box,
.ge-wechsel-body {
  text-align: left;
}

.ge-wechsel-body h3,
.ge-wechsel-body p {
  max-width: 720px;
}

.gut-sit-card,
.gut-leist-card,
.gut-case-card {
  text-align: left;
}

.gut-sit-card .gut-sit-card__sub,
.gut-leist-desc,
.gut-case-text {
  color: #465468;
}
.ge-wechsel-icon{font-size:48px;flex-shrink:0;}
.ge-wechsel-body h3{font-size:22px;font-weight:700;color:#fff;margin:0 0 8px;}
.ge-wechsel-body p{font-size:14px;color:rgba(255,255,255,.7);line-height:1.65;margin:0 0 20px;}



/* ═══════════════════════════════════════════════════════════════
   § 34c VSH — Pflichtversicherung Compliance-Panel
   ═══════════════════════════════════════════════════════════════ */
.ge-vsh-section {
  background: linear-gradient(135deg, rgba(10,26,47,.98) 0%, rgba(4,8,16,1) 100%);
  border-top: 1px solid rgba(201,168,106,.12);
  border-bottom: 1px solid rgba(201,168,106,.12);
  padding: 1.25rem 0;
}

.ge-vsh-panel {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  background: rgba(201,168,106,.05);
  border: 1px solid rgba(201,168,106,.18);
  border-left: 3px solid var(--gold, #C9A86A);
  border-radius: 12px;
  padding: 20px 24px;
}

.ge-vsh-panel__shield {
  flex-shrink: 0;
  width: 48px;
  height: 48px;
  border-radius: 10px;
  background: rgba(201,168,106,.12);
  border: 1px solid rgba(201,168,106,.22);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--gold, #C9A86A);
}

.ge-vsh-panel__body {
  flex: 1;
  min-width: 0;
}

.ge-vsh-panel__headline {
  font-size: 14.5px;
  font-weight: 700;
  color: #fff;
  margin-bottom: 8px;
  line-height: 1.3;
}

.ge-vsh-panel__text {
  font-size: 13px;
  color: rgba(255,255,255,.62);
  line-height: 1.65;
  margin: 0 0 12px;
}

.ge-vsh-panel__text strong { color: rgba(255,255,255,.85); }
.ge-vsh-panel__text em    { color: var(--gold-l, #E8D090); font-style: normal; }

.ge-vsh-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.ge-vsh-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 11.5px;
  font-weight: 600;
  color: rgba(255,255,255,.75);
  background: rgba(201,168,106,.08);
  border: 1px solid rgba(201,168,106,.18);
  border-radius: 20px;
  padding: 4px 11px;
  line-height: 1.3;
}

.ge-vsh-badge svg {
  color: var(--gold, #C9A86A);
  flex-shrink: 0;
}

.ge-vsh-panel__cta {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 9px 16px;
  border: 1.5px solid rgba(201,168,106,.4);
  border-radius: 8px;
  color: var(--gold, #C9A86A);
  font-size: 12px;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
  transition: background .22s, border-color .22s, color .22s;
  align-self: center;
}

.ge-vsh-panel__cta:hover {
  background: rgba(201,168,106,.12);
  border-color: var(--gold, #C9A86A);
  color: #fff;
}

@media (max-width: 768px) {
  .ge-vsh-panel {
    flex-direction: column;
    gap: 14px;
  }
  .ge-vsh-panel__cta {
    align-self: flex-start;
  }
  .ge-vsh-panel__shield { display: none; }
}

/* ── SVG-Icon-Fix (Nr 33): Farbe + Zentrierung ── */
.ge-typ-icon svg,
.ge-wechsel-icon svg {
  display: block;
  stroke: var(--gold, #C9A86A);
}
.ge-typ-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: rgba(201, 168, 106, 0.1);
  margin-bottom: 14px;
}
.ge-wechsel-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: rgba(201, 168, 106, 0.12);
  flex-shrink: 0;
}

/* ===== END ge-hausverwaltung.css ===== */


/* ===== BEGIN ge-leistungen.css ===== */

/**
 * Gallium Estate Child Theme — ge-leistungen.css
 * Leistungen-Seite Styles (v42: Inline-Styles → CSS-Klassen)
 */

/* ── Hero ───────────────────────────────────────────────────── */
.ls-hero-content {
  position: relative;
  z-index: 2;
  max-width: 760px;
  margin: 0 auto;
  text-align: center;
}
.ls-hero-sub   { margin: 0 auto 40px; }
.ls-hero-acts  { justify-content: center; }

/* ── Arbeitsweise-Section ───────────────────────────────────── */
.ls-arbeitsweise {
  /* dark section — inherits ge-section--dark */
}
.ls-aw-tag   { color: rgba(255,255,255,.3); }
.ls-aw-title {
  font-family: var(--serif, 'Cormorant Garamond', Georgia, serif);
  font-size: clamp(28px, 3vw, 42px);
  font-weight: 300;
  color: #fff;
  margin: 16px 0 20px;
  line-height: 1.2;
}
.ls-aw-title em { color: var(--gold, var(--gold)); }
.ls-aw-sub {
  font-size: 14px;
  color: rgba(255,255,255,.72);
  line-height: 1.8;
  margin: 0 0 28px;
}
.ls-aw-list {
  list-style: none;
  padding: 0;
  margin: 0 0 28px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.ls-aw-list li {
  font-size: 13.5px;
  color: rgba(255,255,255,.6);
  display: flex;
  align-items: flex-start;
  gap: 10px;
}
.ls-aw-list svg {
  flex-shrink: 0;
  margin-top: 2px;
}
.ls-aw-stats {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}
.ls-aw-stat {
  text-align: center;
  padding: 24px;
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(201,168,106,.1);
  border-radius: 14px;
}

/* ── Fallbeispiel-Cards (fb-card) ───────────────────────────── */
.fb-card {
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
}
.fb-card__icon-wrap {
  width: 44px;
  height: 44px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.fb-card__icon-wrap--blue   { background: rgba(11,95,255,.15); }
.fb-card__icon-wrap--purple { background: rgba(124,58,237,.15); }
.fb-card__icon-wrap--green  { background: rgba(22,163,74,.12); }

.fb-card__kat--blue   { color: #4d90fe; }
.fb-card__kat--purple { color: #a78bfa; }
.fb-card__kat--green  { color: #4ade80; }
.fb-card__titel { color: #fff; }
.fb-card__body  { color: rgba(255,255,255,.68); }
.fb-card__ergebnis {
  background: rgba(255,255,255,.03);
  border-top: 1px solid rgba(255,255,255,.06);
}
.fb-card__kpi-val { color: var(--gold, var(--gold)); }
.fb-card__kpi-lbl { color: rgba(255,255,255,.58); }

/* ── Bewertungen-Grid ───────────────────────────────────────── */
.ls-review-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 24px;
  max-width: 1000px;
  margin: 40px auto 0;
}
.ls-review-card {
  background: #fff;
  border: 1px solid #E9E4DB;
  border-radius: 18px;
  padding: 28px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.ls-review-stars { display: flex; gap: 4px; }
.ls-review-text  {
  font-size: 14px;
  color: #374151;
  line-height: 1.75;
  font-style: italic;
  margin: 0;
  flex: 1;
}
.ls-review-author {
  display: flex;
  align-items: center;
  gap: 12px;
  padding-top: 12px;
  border-top: 1px solid #F3EFE8;
}
.ls-review-avatar {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--serif, 'Cormorant Garamond', Georgia, serif);
  font-size: 16px;
  font-weight: 400;
  flex-shrink: 0;
}
.ls-review-name { font-size: 13px; font-weight: 700; color: var(--navy, var(--navy)); }
.ls-review-kat  { font-size: 11px; color: #9ca3af; }
.ls-review-all  { text-align: center; margin-top: 32px; }
.ls-review-all a {
  font-size: 14px;
  color: var(--gold-d, var(--gold-d));
  text-decoration: none;
  font-weight: 600;
}
.ls-review-all a:hover { text-decoration: underline; }

/* ── Prozess-Timeline ───────────────────────────────────────── */
.ls-process-wrap {
  max-width: 820px;
  margin: 0 auto;
}
.ls-process-step-time {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: rgba(201,168,106,.5);
  margin-bottom: 6px;
}
.ls-process-footer {
  text-align: center;
  margin-top: 40px;
}
.ls-process-footer p {
  font-size: 13px;
  color: rgba(255,255,255,.3);
  margin-bottom: 20px;
}
.ls-process-footer strong { color: rgba(255,255,255,.6); }

/* ── Kosten-Section ─────────────────────────────────────────── */
.ls-kosten-wrap { max-width: 760px; margin: 0 auto; }
.ls-kosten-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
  margin-bottom: 32px;
}
.ls-kosten-card {
  padding: 28px;
  background: #fff;
  border: 1px solid #E9E4DB;
  border-radius: 16px;
}
.ls-kosten-card__label {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #9ca3af;
  margin-bottom: 8px;
}
.ls-kosten-card__val {
  font-family: var(--serif, 'Cormorant Garamond', Georgia, serif);
  font-size: 38px;
  font-weight: 300;
  color: var(--navy, var(--navy));
  margin-bottom: 6px;
}
.ls-kosten-card__sub {
  font-size: 13px;
  color: #9ca3af;
}
.ls-kosten-card__text {
  font-size: 13px;
  color: var(--muted);
  margin: 12px 0 0;
  line-height: 1.6;
}
.ls-kosten-note {
  padding: 20px 24px;
  background: rgba(201,168,106,.05);
  border: 1px solid rgba(201,168,106,.2);
  border-radius: 12px;
  font-size: 14px;
  color: var(--navy, var(--navy));
  line-height: 1.65;
}

/* ── FAQ (dark version) ─────────────────────────────────────── */
.ls-faq-wrap    { max-width: 700px; margin: 0 auto; }
.ls-faq-inner   { margin-top: 40px; }
.ls-faq-item    { border-bottom: 1px solid rgba(255,255,255,.07); }
.ls-faq-tag     { color: rgba(201,168,106,.7); }
.ls-faq-trigger {
  width: 100%;
  text-align: left;
  background: none;
  border: none;
  padding: 20px 0;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.ls-faq-question {
  font-size: 15px;
  font-weight: 600;
  color: #fff;
  line-height: 1.4;
}
.ls-faq-icon {
  flex-shrink: 0;
  transition: transform .25s;
}
.ls-faq-body    { display: none; padding-bottom: 20px; }
.ls-faq-answer  {
  font-size: 14px;
  color: rgba(255,255,255,.80);
  line-height: 1.75;
  margin: 0;
}
.ls-faq-trigger:hover .ls-faq-question,
.ls-faq-trigger:focus-visible .ls-faq-question,
.ls-faq-item.is-open .ls-faq-question,
.ls-faq-trigger[aria-expanded="true"] .ls-faq-question {
  color: #fff;
}
.ls-faq-trigger:hover .ls-faq-icon,
.ls-faq-trigger:focus-visible .ls-faq-icon,
.ls-faq-item.is-open .ls-faq-icon,
.ls-faq-trigger[aria-expanded="true"] .ls-faq-icon {
  color: var(--gold);
}

/* ── Nicht-passend Section ──────────────────────────────────── */
.ls-notfit-wrap  { max-width: 760px; margin: 0 auto; }
.ls-notfit-sub   {
  font-size: 16px;
  color: rgba(255,255,255,.72);
  max-width: 560px;
  margin: 0 auto;
  line-height: 1.75;
}
.ls-notfit-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin-top: 40px;
}
.ls-notfit-item {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  padding: 20px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 12px;
}
.ls-notfit-icon {
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: rgba(201,168,106,.1);
  border: 1px solid rgba(201,168,106,.2);
  display: flex;
  align-items: center;
  justify-content: center;
}
.ls-notfit-text {
  font-size: 13px;
  color: rgba(255,255,255,.80);
  line-height: 1.65;
  margin: 0;
}
.ls-notfit-note {
  margin-top: 32px;
  padding: 20px 24px;
  background: rgba(201,168,106,.06);
  border: 1px solid rgba(201,168,106,.18);
  border-radius: 12px;
  font-size: 14px;
  color: rgba(255,255,255,.80);
  line-height: 1.65;
  text-align: center;
}
.ls-notfit-note em {
  color: rgba(201,168,106,.9);
  font-style: normal;
}

/* ── Preis Nachweis Banner ──────────────────────────────────── */
.ls-preis-banner {
  margin-top: 28px;
  padding: 24px 30px;
  background: linear-gradient(135deg, rgba(10,26,47,.98), rgba(14,32,64,.94));
  border: 1px solid rgba(201,168,106,.14);
  border-radius: 14px;
  display: flex;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
}
.ls-preis-banner__text { flex: 1; min-width: 240px; }
.ls-preis-banner__label {
  font-size: 13px;
  font-weight: 700;
  color: var(--gold);
  margin-bottom: 6px;
  letter-spacing: var(--label-spacing);
  text-transform: uppercase;
}
.ls-preis-banner__body {
  font-size: 13px;
  color: rgba(255,255,255,.72);
  line-height: 1.65;
  margin: 0;
}
.ls-preis-banner__cta {
  flex-shrink: 0;
  background: linear-gradient(135deg, var(--gold), var(--gold-d));
  color: var(--navy-d);
  font-size: 13px;
  font-weight: 700;
  padding: 12px 22px;
  border-radius: var(--chip-radius);
  text-decoration: none;
  white-space: nowrap;
  letter-spacing: var(--label-spacing);
  text-transform: uppercase;
  box-shadow: var(--action-shadow-gold);
}
.ls-preis-banner__cta:hover { color: var(--navy-d); box-shadow: 0 10px 28px rgba(154,112,48,.3); transform: translateY(-2px); }

/* ── Leistungs-Cards (ls-card) ──────────────────────────────── */
.ls-card { text-decoration: none; }
.ls-card__icon {
  /* border-color/background via PHP inline (dynamic color) */
}

/* ── Kompetenzen-Cards ──────────────────────────────────────── */
.ls-komp-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 24px;
  margin-top: 40px;
}
.ls-komp-card {
  padding: 28px;
  border-radius: 16px;
  background: #fff;
  border: 1px solid #E9E4DB;
}
.ls-komp-icon {
  width: 44px;
  height: 44px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 16px;
  /* border/background via PHP inline (dynamic color) */
}
.ls-komp-title {
  font-size: 15px;
  font-weight: 700;
  color: var(--navy, var(--navy));
  margin-bottom: 10px;
}
.ls-komp-text {
  font-size: 13px;
  color: var(--muted);
  line-height: 1.7;
  margin: 0;
}

/* ── Responsive ─────────────────────────────────────────────── */
@media (max-width: 720px) {
  .ls-aw-stats, .ls-kosten-grid, .ls-notfit-grid, .ls-komp-grid { grid-template-columns: 1fr; }
}
@media (max-width: 540px) {
  .ls-review-grid { grid-template-columns: 1fr; }
}

/* ══════════════════════════════════════════════════════════
   v3 — Neue Leistungsseite (5 Blöcke nach Nav-Reihenfolge)
══════════════════════════════════════════════════════════ */

/* Anker-Tab-Navigation */
.ls-tabs {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(6,11,22,.97);
  border-bottom: 1px solid rgba(201,168,106,.12);
  box-shadow: 0 4px 32px rgba(0,0,0,.45);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
/* Gold Topline */
.ls-tabs::before {
  content: '';
  display: block;
  height: 2px;
  background: linear-gradient(90deg, transparent 0%, var(--gold) 30%, var(--gold-l) 50%, var(--gold) 70%, transparent 100%);
  opacity: .6;
}
.ls-tabs__inner {
  display: flex;
  justify-content: center;
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 24px;
  overflow-x: auto;
  scrollbar-width: none;
  gap: 4px;
}
.ls-tabs__inner::-webkit-scrollbar { display: none; }
.ls-tab {
  flex-shrink: 0;
  padding: 18px 22px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: rgba(255,255,255,.55);
  text-decoration: none;
  border-bottom: 2px solid transparent;
  transition: color .25s, border-color .25s, background .25s;
  white-space: nowrap;
  position: relative;
}
.ls-tab:hover {
  color: rgba(255,255,255,.85);
  background: rgba(255,255,255,.04);
}
.ls-tab.is-active {
  color: var(--gold-l, #D4AF6A);
  border-bottom-color: var(--gold, #C9A86A);
}
/* Nummerierte Punkte vor den Tabs */
.ls-tab::before {
  content: attr(data-num);
  display: inline-block;
  font-size: 9px;
  opacity: .4;
  margin-right: 6px;
  font-weight: 400;
  letter-spacing: 0;
}
.ls-tab.is-active::before { opacity: .7; }

/* Block-Intro */
.ls-block-intro {
  max-width: 680px;
  margin: 0 auto 56px;
  text-align: center;
}
.ls-block-intro--inv .ge-section-h2 { color: #fff; }
.ls-block-sub {
  font-size: 16px;
  color: var(--muted, #6b7280);
  line-height: 1.8;
  margin: 16px 0 0;
}
.ls-block-sub--inv { color: rgba(255,255,255,.72); }

/* Leistungsblock Trennlinie */
.ls-leistung-block {
  border-top: 1px solid rgba(255,255,255,.04);
}

/* ── Situationen-Grid ── */
.ls-situationen { margin-bottom: 64px; }
.ls-sit-title {
  font-size: clamp(20px,2vw,26px);
  font-weight: 700;
  color: var(--navy);
  margin-bottom: 8px;
  text-align: center;
}
.ls-sit-sub {
  font-size: 14px;
  color: var(--muted);
  text-align: center;
  margin-bottom: 36px;
}
.ls-sit-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.ls-sit-card {
  padding: 24px;
  background: #fff;
  border: 1px solid #E9E4DB;
  border-radius: 16px;
  transition: box-shadow .3s, transform .3s, border-color .3s;
  position: relative;
  overflow: hidden;
}
.ls-sit-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--gold-d), var(--gold-l));
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .35s var(--ease, cubic-bezier(.16,1,.3,1));
}
.ls-sit-card:hover {
  box-shadow: 0 16px 48px rgba(10,26,47,.1);
  transform: translateY(-4px);
  border-color: rgba(201,168,106,.3);
}
.ls-sit-card:hover::before { transform: scaleX(1); }
.ls-sit-card__icon { font-size: 28px; margin-bottom: 12px; }
.ls-sit-card__title {
  font-size: 14px;
  font-weight: 700;
  color: var(--navy);
  margin-bottom: 8px;
}
.ls-sit-card__text {
  font-size: 13px;
  color: var(--muted);
  line-height: 1.65;
  margin: 0;
}

/* ── Prozess-Timeline ── */
.ls-prozess { margin-bottom: 56px; }
.ls-prozess-title {
  font-size: clamp(20px,2vw,26px);
  font-weight: 700;
  color: var(--navy);
  margin-bottom: 8px;
  text-align: center;
}
.ls-prozess-title em { color: var(--gold-d); font-style: normal; }
.ls-prozess-sub {
  font-size: 14px;
  color: var(--muted);
  text-align: center;
  margin-bottom: 40px;
}
.ls-prozess-steps {
  display: flex;
  flex-direction: column;
  gap: 0;
  max-width: 760px;
  margin: 0 auto;
  position: relative;
}
.ls-prozess-steps::before {
  content: '';
  position: absolute;
  left: 26px;        /* Kreismitte: Kreis ist 52px breit → 26px */
  top: 46px;         /* Mitte des ersten Kreises (20px padding + 26px halbe Höhe) */
  bottom: 46px;      /* Mitte des letzten Kreises */
  width: 1px;
  background: linear-gradient(to bottom, rgba(201,168,106,.35), rgba(201,168,106,.08));
  z-index: 0;
}
.ls-prozess-step {
  display: flex;
  gap: 24px;
  align-items: flex-start;
  padding: 20px 0;
  position: relative;
}
.ls-prozess-step__num {
  flex-shrink: 0;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .05em;
  position: relative;
  z-index: 2;                       /* über der Linie */
  /* Hintergrund deckt die Linie ab — wird per inline-style gesetzt,
     daher zusätzlich ein box-shadow als weicher Ring */
  box-shadow: 0 0 0 4px var(--ls-section-bg, #f7f4ef);
}
.ls-prozess-step__title {
  font-size: 15px;
  font-weight: 700;
  color: var(--navy);
  margin-bottom: 6px;
  margin-top: 14px;
}
.ls-prozess-step__text {
  font-size: 13.5px;
  color: var(--muted);
  line-height: 1.7;
  margin: 0;
}
.ls-prozess-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;
  margin-top: 32px;
  max-width: 760px;
  margin-left: auto;
  margin-right: auto;
  padding: 20px 24px;
  background: rgba(201,168,106,.06);
  border: 1px solid rgba(201,168,106,.18);
  border-radius: 12px;
}
.ls-prozess-footer span {
  font-size: 13px;
  color: var(--muted);
}
.ls-prozess-footer strong { color: var(--navy); }

/* ── Warum Makler ── */
.ls-warum { margin-top: 56px; }
.ls-warum-title {
  font-size: clamp(20px,2vw,26px);
  font-weight: 700;
  color: var(--navy);
  margin-bottom: 6px;
  text-align: center;
}
.ls-warum-sub {
  font-size: 14px;
  color: var(--muted);
  text-align: center;
  margin-bottom: 32px;
}
.ls-warum-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  max-width: 900px;
  margin: 0 auto;
}
.ls-warum-item {
  display: block;
  padding: 20px;
  background: #fff;
  border: 1px solid #E9E4DB;
  border-radius: 12px;
}
.ls-warum-item__hd {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  background: none;
  border: none;
  padding: 0;
  width: 100%;
  text-align: left;
  font: inherit;
  color: inherit;
  cursor: default;
}
.ls-warum-item__icon { flex-shrink: 0; margin-top: 3px; color: var(--gold-d, #9A7030); }
.ls-warum-item__chevron { display: none; margin-left: auto; flex-shrink: 0; color: var(--gold-d, #9A7030); transition: transform .25s ease; }
.ls-warum-item__title {
  font-size: 13.5px;
  font-weight: 700;
  color: var(--navy);
  margin-bottom: 0;
  flex: 1;
}
.ls-warum-item__text {
  font-size: 12.5px;
  color: var(--muted);
  line-height: 1.6;
  margin: 8px 0 0;
  padding-left: 29px;
}
@media (max-width: 640px) {
  .ls-warum-item__hd { cursor: pointer; }
  .ls-warum-item__chevron { display: block; }
  .ls-warum-item__text { max-height: 0; overflow: hidden; transition: max-height .32s ease, margin-top .2s; margin-top: 0; }
  .ls-warum-item.open .ls-warum-item__text { max-height: 300px; margin-top: 10px; }
  .ls-warum-item.open .ls-warum-item__chevron { transform: rotate(180deg); }
}

/* ── Block CTA ── */
.ls-block-cta {
  text-align: center;
  margin-top: 48px;
  padding: 40px;
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 16px;
}
.ls-block-cta__text {
  font-size: 15px;
  color: rgba(255,255,255,.72);
  margin-bottom: 24px;
}

/* ── Diskret Grid ── */
.ls-diskret-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  margin-bottom: 48px;
}
.ls-diskret-h3 {
  font-size: 18px;
  font-weight: 700;
  color: #fff;
  margin-bottom: 16px;
}
.ls-diskret-text {
  font-size: 14px;
  color: rgba(255,255,255,.72);
  line-height: 1.8;
  margin-bottom: 16px;
}
.ls-diskret-checks {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 20px;
}
.ls-diskret-check {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 13px;
  color: rgba(255,255,255,.5);
}
.ls-diskret-cases {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.ls-diskret-case {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  padding: 16px 18px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 10px;
}
.ls-diskret-case__icon { font-size: 20px; flex-shrink: 0; margin-top: 1px; }
.ls-diskret-case__title {
  font-size: 13.5px;
  font-weight: 700;
  color: rgba(255,255,255,.8);
  margin-bottom: 4px;
}
.ls-diskret-case__text {
  font-size: 12.5px;
  color: rgba(255,255,255,.4);
  line-height: 1.6;
  margin: 0;
}

/* ── Kaufen/Vermieten Grid ── */
.ls-kv-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
  margin-bottom: 32px;
}
.ls-kv-card {
  padding: 32px;
  background: #fff;
  border: 1px solid #E9E4DB;
  border-radius: 18px;
}
.ls-kv-card__icon {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 20px;
}
.ls-kv-card__title {
  font-size: 18px;
  font-weight: 700;
  color: var(--navy);
  margin-bottom: 12px;
}
.ls-kv-card__text {
  font-size: 14px;
  color: var(--muted);
  line-height: 1.75;
  margin-bottom: 20px;
}
.ls-kv-card__list {
  list-style: none;
  padding: 0;
  margin: 0 0 24px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.ls-kv-card__list li {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: var(--muted);
}
.ls-kv-card__link {
  font-size: 13.5px;
  font-weight: 600;
  color: var(--gold-d);
  text-decoration: none;
}
.ls-kv-card__link:hover { text-decoration: underline; }
.ls-kv-hinweis {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  padding: 18px 22px;
  background: rgba(201,168,106,.06);
  border: 1px solid rgba(201,168,106,.2);
  border-radius: 10px;
  font-size: 13.5px;
  color: var(--navy);
  line-height: 1.65;
}
.ls-kv-hinweis svg { flex-shrink: 0; margin-top: 3px; }
.ls-kv-hinweis p { margin: 0; }

/* ── Wertermittlung Grid ── */
.ls-wert-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
  margin-bottom: 48px;
}
.ls-wert-card {
  padding: 32px;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 18px;
}
.ls-wert-card--outline {
  background: rgba(124,58,237,.04);
  border-color: rgba(124,58,237,.25);
}
.ls-wert-card__badge {
  display: inline-block;
  padding: 4px 12px;
  background: rgba(201,168,106,.15);
  border: 1px solid rgba(201,168,106,.3);
  border-radius: 20px;
  font-size: 11px;
  font-weight: 700;
  color: var(--gold);
  letter-spacing: .06em;
  text-transform: uppercase;
  margin-bottom: 18px;
}
.ls-wert-card__badge--outline {
  background: rgba(124,58,237,.1);
  border-color: rgba(124,58,237,.3);
  color: #a78bfa;
}
.ls-wert-card__title {
  font-size: 20px;
  font-weight: 700;
  color: #fff;
  margin-bottom: 12px;
}
.ls-wert-card__text {
  font-size: 14px;
  color: rgba(255,255,255,.72);
  line-height: 1.75;
  margin-bottom: 20px;
}
.ls-wert-card__details {
  display: flex;
  flex-direction: column;
  gap: 9px;
}
.ls-wert-card__detail {
  display: flex;
  align-items: center;
  gap: 9px;
  font-size: 13px;
  color: rgba(255,255,255,.72);
}
.ls-wert-card__btn-outline {
  display: inline-block;
  margin-top: 20px;
  padding: 11px 22px;
  border: 1px solid rgba(124,58,237,.5);
  border-radius: 9px;
  color: #a78bfa;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  transition: background .2s, border-color .2s;
}
.ls-wert-card__btn-outline:hover {
  background: rgba(124,58,237,.1);
  border-color: rgba(124,58,237,.7);
}

/* Aufklärung Preisstrategie (dark) */
.ls-wert-aufklaer {
  margin-top: 8px;
}
.ls-wert-aufklaer__title {
  font-size: 18px;
  font-weight: 700;
  color: rgba(255,255,255,.7);
  margin-bottom: 24px;
  text-align: center;
}
.ls-wert-aufklaer__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-bottom: 40px;
}

/* ── Energie Grid ── */
.ls-energie-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
}
.ls-energie-h3 {
  font-size: 18px;
  font-weight: 700;
  color: var(--navy);
  margin-bottom: 24px;
}
.ls-energie-items {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.ls-energie-item {
  display: flex;
  gap: 16px;
  align-items: flex-start;
}
.ls-energie-item__icon {
  flex-shrink: 0;
  width: 36px;
  height: 36px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.ls-energie-item__title {
  font-size: 14px;
  font-weight: 700;
  color: var(--navy);
  margin-bottom: 4px;
}
.ls-energie-item__text {
  font-size: 13px;
  color: var(--muted);
  line-height: 1.6;
  margin: 0;
}
.ls-energie-nutzen-items {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.ls-energie-nutzen-item {
  display: flex;
  gap: 12px;
  align-items: flex-start;
}
.ls-energie-nutzen-item svg { flex-shrink: 0; margin-top: 3px; }
.ls-energie-nutzen-item__title {
  font-size: 13.5px;
  font-weight: 700;
  color: var(--navy);
  margin-bottom: 3px;
}
.ls-energie-nutzen-item__text {
  font-size: 13px;
  color: var(--muted);
  line-height: 1.6;
  margin: 0;
}
.ls-energie-mehr-link {
  font-size: 13px;
  font-weight: 600;
  color: var(--gold-d);
  text-decoration: none;
  display: inline-block;
}
.ls-energie-mehr-link:hover { text-decoration: underline; }

/* ── Responsive ── */
@media (max-width: 900px) {
  .ls-sit-grid         { grid-template-columns: repeat(2, 1fr); }
  .ls-wert-aufklaer__grid { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  .ls-sit-grid         { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ls-warum-grid       { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ls-kv-grid, .ls-wert-grid,
  .ls-diskret-grid, .ls-energie-grid { grid-template-columns: 1fr; }
  .ls-prozess-steps::before { display: none; }
  .ls-tab              { padding: 12px 14px; font-size: 12px; }
}

/* ══════════════════════════════════════════════════════════
   v3 LEISTUNGEN — Kontext-Fixes (hell vs. dunkel)
══════════════════════════════════════════════════════════ */

/* Auf hellen Sektionen: Texte dunkel */
.ls-leistung-block.ge-section--light .ge-section-h2,
.ls-leistung-block.ge-section--light .ls-block-sub,
.ls-leistung-block.ge-section--light .ls-sit-title,
.ls-leistung-block.ge-section--light .ls-sit-sub,
.ls-leistung-block.ge-section--light .ls-prozess-title,
.ls-leistung-block.ge-section--light .ls-prozess-sub,
.ls-leistung-block.ge-section--light .ls-warum-title,
.ls-leistung-block.ge-section--light .ls-warum-sub,
.ls-leistung-block.ge-section--light .ls-energie-h3 {
  color: var(--navy, #080f1e) !important;
}
.ls-leistung-block.ge-section--light .ge-section-h2 em {
  color: var(--gold-d, #9A7030) !important;
}
.ls-leistung-block.ge-section--light .ge-section-tag {
  color: var(--gold-d, #9A7030) !important;
}
.ls-leistung-block.ge-section--light .ls-block-sub {
  color: rgba(8,15,30,.6) !important;
}

/* Auf dunklen Sektionen: Texte hell */
.ls-leistung-block.ge-section--dark .ge-section-h2 {
  color: #fff !important;
}
.ls-leistung-block.ge-section--dark .ls-block-sub--inv {
  color: rgba(255,255,255,.74) !important;
}
.ls-leistung-block.ge-section--dark .ls-diskret-h3,
.ls-leistung-block.ge-section--dark .ls-wert-aufklaer__title {
  color: rgba(255,255,255,.75) !important;
}

/* Anker-Tabs: korrekte Z-Index-Stapelung */
.ls-tabs {
  z-index: 100;
}

/* Prozess auf hellem BG: Nummern */
.ls-leistung-block.ge-section--light .ls-prozess-step__num {
  background: #f5f2ed !important;  /* passend zum hellen Sektionshintergrund */
  border: 2px solid currentColor;
  box-shadow: 0 0 0 5px #f5f2ed !important;  /* deckt Linie vollständig ab */
}
.ls-leistung-block.ge-section--light .ls-prozess-step__title {
  color: var(--navy, #080f1e) !important;
}
.ls-leistung-block.ge-section--light .ls-prozess-step__text {
  color: rgba(8,15,30,.55) !important;
}
.ls-leistung-block.ge-section--light .ls-prozess-footer {
  background: rgba(201,168,106,.08);
  border-color: rgba(201,168,106,.2);
}
.ls-leistung-block.ge-section--light .ls-prozess-footer span {
  color: rgba(8,15,30,.55) !important;
}
.ls-leistung-block.ge-section--light .ls-prozess-footer strong {
  color: var(--navy) !important;
}
/* Prozess-Linie auf hellem BG */
.ls-leistung-block.ge-section--light .ls-prozess-steps::before {
  background: linear-gradient(to bottom, rgba(201,168,106,.25), rgba(201,168,106,.05)) !important;
}

/* Warum-Items auf hellem BG */
.ls-leistung-block.ge-section--light .ls-warum-item {
  background: #fff;
  border-color: #E9E4DB;
}

/* Energie-Items auf hellem BG */
.ls-leistung-block.ge-section--light .ls-energie-item__title {
  color: var(--navy) !important;
}
.ls-leistung-block.ge-section--light .ls-energie-item__text {
  color: rgba(8,15,30,.55) !important;
}
.ls-leistung-block.ge-section--light .ls-energie-nutzen-item__title {
  color: var(--navy) !important;
}
.ls-leistung-block.ge-section--light .ls-energie-nutzen-item__text {
  color: rgba(8,15,30,.55) !important;
}
.ls-leistung-block.ge-section--light .ls-energie-mehr-link {
  color: var(--gold-d) !important;
}

/* Kosten-Section auf hellem BG */
.ge-section--light .ls-kosten-card__val {
  color: var(--navy) !important;
}
.ge-section--light .ls-kosten-note {
  color: var(--navy) !important;
}

/* Wert-Aufklärung auf dunklem BG: Komp-Cards */
.ge-section--dark .ls-komp-card {
  background: rgba(255,255,255,.04) !important;
  border-color: rgba(255,255,255,.08) !important;
}
.ge-section--dark .ls-komp-title {
  color: #fff !important;
}
.ge-section--dark .ls-komp-text {
  color: rgba(255,255,255,.72) !important;
}

/* Block CTA auf dunklem BG */
.ge-section--dark .ls-block-cta {
  background: rgba(255,255,255,.03);
  border-color: rgba(255,255,255,.07);
}

/* FAQ navy BG: ge-section-h2 */
#ls-faq .ge-section-h2 { color: #fff !important; }
#ls-faq .ge-section-sub { color: rgba(255,255,255,.68) !important; }
#ls-faq .ge-section-tag { color: rgba(201,168,106,.6) !important; }

/* v118: Tab-Navigation → konsolidiert in Hauptblock oben */

/* KV-Card Extra-Hinweis */
.ls-kv-card__extra {
  margin: 16px 0 20px;
  padding: 12px 16px;
  background: rgba(11,95,255,.05);
  border: 1px solid rgba(11,95,255,.12);
  border-radius: 8px;
}
.ls-kv-card__extra-item {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  font-size: 12.5px;
  color: var(--muted, #6b7280);
  line-height: 1.6;
}
.ls-kv-card__extra-item svg { flex-shrink: 0; margin-top: 2px; }

/* ══ Anker-Scroll: Korrektur für sticky Header (72px) + sticky Tabs (~56px) ══ */
#ls-verkaufen,
#ls-diskret,
#ls-kaufen,
#ls-wertermittlung,
#ls-energie,
#ls-faq {
  scroll-margin-top: 135px;
}

/* ── Tab-Kontrast Fix (v82) ──────────────────────────────────── */
.ls-tab {
  color: rgba(255,255,255,.80) !important;
}
.ls-tab:hover {
  color: #fff !important;
  background: rgba(255,255,255,.06) !important;
}
.ls-tab.is-active {
  color: #fff !important;
  border-bottom-color: var(--gold, #C9A86A) !important;
}
.ls-tab::before {
  opacity: .6 !important;
}

/* ===== END ge-leistungen.css ===== */

/* Final mobile repair — Leistungen page header + tabs */
.ge-page-header--leistungen .ge-section-tag {
  color: var(--gold, #C9A86A) !important;
}

.ge-page-header--leistungen .ge-section-h2 {
  color: #f8f5ee !important;
  text-shadow: 0 1px 8px rgba(0,0,0,.18);
}

.ge-page-header--leistungen .ge-section-h2 em {
  color: var(--gold, #C9A86A) !important;
}

.ge-page-header--leistungen .ge-section-subtitle {
  color: rgba(255,255,255,.84) !important;
}

@media (max-width: 768px) {
  .ge-page-header--leistungen {
    padding: 42px 0 28px !important;
  }

  .ge-page-header--leistungen .ge-container {
    text-align: center !important;
  }

  .ge-page-header--leistungen .ge-section-tag {
    color: var(--gold-d, #9A7030) !important;
  }

  .ge-page-header--leistungen .ge-section-h2 {
    font-size: clamp(30px, 9vw, 42px) !important;
    line-height: 1.06 !important;
    margin-bottom: 14px !important;
  }

  .ge-page-header--leistungen .ge-section-subtitle {
    font-size: 15px !important;
    line-height: 1.65 !important;
    max-width: 32rem !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .ls-tabs {
    position: sticky !important;
    top: 0 !important;
  }

  .ls-tabs__inner {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 0 !important;
    padding: 0 !important;
    max-width: none !important;
    overflow: visible !important;
  }

  .ls-tab {
    min-width: 0 !important;
    width: 100% !important;
    padding: 14px 10px !important;
    font-size: 10.5px !important;
    letter-spacing: .07em !important;
    text-align: center !important;
    white-space: normal !important;
    line-height: 1.35 !important;
    border-bottom: 1px solid rgba(201,168,106,.12) !important;
    border-right: 1px solid rgba(201,168,106,.08) !important;
  }

  .ls-tab:nth-child(2n) {
    border-right: 0 !important;
  }

  .ls-tab::before {
    display: block !important;
    margin: 0 0 5px !important;
    font-size: 9px !important;
  }

  .ls-tab.is-active {
    background: rgba(255,255,255,.05) !important;
  }
}

@media (max-width: 420px) {
  .ls-tab {
    padding: 12px 8px !important;
    font-size: 10px !important;
  }
}

/* Final mobile visibility + spacing guard — Leistungen */
.page-template-page-leistungen-php .ls-leistung-block.ge-reveal,
.page-template-page-leistungen-php .ls-leistung-block.ge-reveal:not(.is-visible),
.page-template-page-leistungen-php .ls-leistung-block.ge-fade:not(.is-visible) {
  opacity: 1 !important;
  transform: none !important;
  visibility: visible !important;
}

@media (max-width: 768px) {
  .page-template-page-leistungen-php .ls-leistung-block {
    padding-top: 36px !important;
    padding-bottom: 40px !important;
  }

  .page-template-page-leistungen-php #ls-verkaufen {
    padding-top: 24px !important;
  }

  .page-template-page-leistungen-php .ls-block-intro {
    margin-bottom: 28px !important;
  }

  .page-template-page-leistungen-php .ls-situationen,
  .page-template-page-leistungen-php .ls-prozess,
  .page-template-page-leistungen-php .ls-warum {
    margin-bottom: 36px !important;
  }

  .page-template-page-leistungen-php .ls-prozess-title,
  .page-template-page-leistungen-php .ls-prozess-sub,
  .page-template-page-leistungen-php .ls-warum-title,
  .page-template-page-leistungen-php .ls-warum-sub,
  .page-template-page-leistungen-php .ls-sit-title {
    max-width: 32rem !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
  }

  .page-template-page-leistungen-php .ls-prozess-step {
    display: block !important;
    padding: 18px 16px 20px !important;
    background: #f8f4ed !important;
    border: 1px solid #ece5d8 !important;
    border-radius: 18px !important;
    text-align: center !important;
  }

  .page-template-page-leistungen-php .ls-prozess-step + .ls-prozess-step {
    margin-top: 12px !important;
  }

  .page-template-page-leistungen-php .ls-prozess-step__num {
    margin: 0 auto 14px !important;
    box-shadow: 0 0 0 4px #f8f4ed !important;
  }

  .page-template-page-leistungen-php .ls-prozess-step__title {
    margin-top: 0 !important;
    margin-bottom: 8px !important;
    text-align: center !important;
  }

  .page-template-page-leistungen-php .ls-prozess-step__text {
    text-align: center !important;
  }

  .page-template-page-leistungen-php .ls-prozess-footer {
    justify-content: center !important;
    text-align: center !important;
    padding: 18px 16px !important;
  }

  .page-template-page-leistungen-php .ls-preis-banner {
    gap: 18px !important;
    padding: 28px 18px !important;
    text-align: center !important;
  }

  .page-template-page-leistungen-php .ls-preis-banner__text {
    min-width: 0 !important;
  }

  .page-template-page-leistungen-php .ls-preis-banner__body {
    color: rgba(255,255,255,.84) !important;
  }
}

@media (max-width: 460px) {
  .page-template-page-leistungen-php .ls-warum-item {
    display: flex !important;
    padding: 18px 16px !important;
    gap: 12px !important;
    text-align: left !important;
  }

  .page-template-page-leistungen-php .ls-warum-item svg {
    margin-top: 3px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    display: block !important;
  }

  .page-template-page-leistungen-php .ls-preis-banner {
    padding: 24px 16px !important;
  }

  .page-template-page-leistungen-php .ls-preis-banner__cta {
    width: 100% !important;
    max-width: 100% !important;
    white-space: normal !important;
    text-align: center !important;
    justify-content: center !important;
    padding: 14px 16px !important;
    font-size: 11.5px !important;
    line-height: 1.35 !important;
  }
}

@media (max-width: 380px) {
  .page-template-page-leistungen-php .ls-sit-card,
  .page-template-page-leistungen-php .ls-warum-item {
    text-align: left !important;
  }

  .page-template-page-leistungen-php .ls-warum-item {
    display: flex !important;
    padding: 18px 16px !important;
  }

  .page-template-page-leistungen-php .ls-warum-item svg {
    margin: 3px 0 0 !important;
    display: block !important;
  }
}


/* Fix: Leistungen page-header Hintergrund mobile */
@media (max-width: 768px) {
  .ge-page-header--leistungen {
    background: var(--warm, #FAF7F2) !important;
  }
}


/* Fix v2: Leistungen page-header Hintergrund mobile — Navy erzwingen */
@media (max-width: 768px) {
  .ge-page-header--leistungen {
    background: var(--navy, #0A1A2F) !important;
  }
}

/* Final live override: Leistungen-Header auf dunklem Hintergrund immer hell halten */
.page-template-page-leistungen-php .ge-page-header--leistungen {
  background: var(--navy, #0A1A2F) !important;
}

.page-template-page-leistungen-php .ge-page-header--leistungen .ge-section-tag {
  color: var(--gold, #C9A86A) !important;
}

.page-template-page-leistungen-php .ge-page-header--leistungen .ge-section-h2,
.page-template-page-leistungen-php .ge-page-header--leistungen .ge-section-h2 em {
  color: #f8f5ee !important;
  -webkit-text-fill-color: #f8f5ee !important;
  text-shadow: 0 2px 12px rgba(0,0,0,.35) !important;
}

.page-template-page-leistungen-php .ge-page-header--leistungen .ge-section-h2 em {
  color: var(--gold, #C9A86A) !important;
  -webkit-text-fill-color: var(--gold, #C9A86A) !important;
}

.page-template-page-leistungen-php .ge-page-header--leistungen .ge-section-subtitle {
  color: rgba(255,255,255,.88) !important;
  -webkit-text-fill-color: rgba(255,255,255,.88) !important;
}

/* === Final Mobile Polish 2026-05-04: Leistungen + Ankauf === */
@media (max-width: 560px) {
  .page-template-page-leistungen-php .ls-sit-grid,
  .page-template-page-leistungen-php .ls-warum-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
  }

  .page-template-page-ankauf-php .ak-obj-grid,
  .page-template-page-ankauf-php .ak-feat-grid,
  .page-template-page-ankauf-php .ak-kpi-strip,
  .page-template-page-ankauf-php .ge-kpi-strip,
  .page-template-page-ankauf-php .ak-compare,
  .page-template-page-ankauf-php .ak-col {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    overflow: visible !important;
    overflow-x: visible !important;
    touch-action: pan-y !important;
    overscroll-behavior: auto !important;
  }

  .page-template-page-leistungen-php .ls-sit-card,
  .page-template-page-leistungen-php .ls-warum-item,
  .page-template-page-ankauf-php .ak-obj-card,
  .page-template-page-ankauf-php .ak-feat-card {
    padding: 18px 16px !important;
    min-width: 0 !important;
  }

  .page-template-page-ankauf-php .ak-feat-card,
  .page-template-page-ankauf-php .ak-kpi-item,
  .page-template-page-ankauf-php .ak-row,
  .page-template-page-ankauf-php .ge-kpi-item,
  .page-template-page-ankauf-php .ak-col {
    touch-action: pan-y !important;
    pointer-events: none !important;
  }

  .page-template-page-ankauf-php .ak-feat-card a,
  .page-template-page-ankauf-php .ak-feat-card button,
  .page-template-page-ankauf-php .ak-kpi-item a,
  .page-template-page-ankauf-php .ak-kpi-item button,
  .page-template-page-ankauf-php .ge-kpi-item a,
  .page-template-page-ankauf-php .ge-kpi-item button,
  .page-template-page-ankauf-php .ak-col a,
  .page-template-page-ankauf-php .ak-col button {
    pointer-events: auto !important;
  }

  .page-template-page-leistungen-php .ls-warum-head,
  .page-template-page-leistungen-php .ls-sit-head,
  .page-template-page-ankauf-php .ge-sec-hd {
    margin-bottom: 22px !important;
  }

  .page-template-page-leistungen-php .ls-preis-banner,
  .page-template-page-ankauf-php .ak-form {
    padding: 22px 16px !important;
  }

  .page-template-page-leistungen-php .ls-preis-banner__cta,
  .page-template-page-ankauf-php .ge-btn,
  .page-template-page-ankauf-php .ge-btn--primary {
    width: 100% !important;
    max-width: 100% !important;
    white-space: normal !important;
  }

  .page-template-page-leistungen-php .ls-sit-card {
    text-align: left !important;
  }

  /* Objekttypen — 2 columns (overrides the 1fr rule above) */
  .page-template-page-ankauf-php .ak-obj-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
    overflow: visible !important;
    overflow-x: visible !important;
  }

  /* Investment Features — 2 columns on mobile */
  .page-template-page-ankauf-php .ak-feat-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
    overflow: visible !important;
  }
}

/* v127.2: Leistungen mobile header + tab contrast fix */
@media (max-width: 768px) {
  .page-template-page-leistungen-php .ge-page-header--leistungen {
    background: #0a1a2f !important;
    padding: 26px 0 14px !important;
  }

  .page-template-page-leistungen-php .ge-page-header--leistungen .ge-section-h2 {
    color: #f8f5ee !important;
    font-size: clamp(34px, 10vw, 48px) !important;
    line-height: 1.06 !important;
  }

  .page-template-page-leistungen-php .ge-page-header--leistungen .ge-section-h2 em {
    color: #c9a86a !important;
  }

  .page-template-page-leistungen-php .ge-page-header--leistungen .ge-section-subtitle {
    color: rgba(255,255,255,.9) !important;
    font-size: 15px !important;
    line-height: 1.5 !important;
  }

  .page-template-page-leistungen-php .ls-tabs {
    background: #050d1b !important;
  }

  .page-template-page-leistungen-php .ls-tabs__inner {
    padding: 0 !important;
    gap: 0 !important;
  }

  .page-template-page-leistungen-php .ls-tab {
    flex: 1 1 50% !important;
    min-width: 0 !important;
    padding: 12px 10px !important;
    font-size: 11px !important;
    color: rgba(255,255,255,.92) !important;
    border: 1px solid rgba(255,255,255,.08) !important;
    border-left-width: 0 !important;
    border-bottom-width: 0 !important;
    text-align: left !important;
  }

  .page-template-page-leistungen-php .ls-tab:nth-child(odd) {
    border-left-width: 1px !important;
  }
}

/* ═══════════════════════════════════════════════════════════════
   v138-services — Mobile fixes for pages that skip ge-mobile-polish
   Affects: ankauf, hausverwaltung, gutachten, leistungen
   ═══════════════════════════════════════════════════════════════ */

/* Scroll stutter: without a non-zero intrinsic size, sections start collapsed
   and expand on scroll — causing visible jumps on first load */
.ge-section { contain-intrinsic-size: auto 500px; }

@media (max-width: 768px) {
  /* ── Hero badge: prevent overflow past right viewport edge ── */
  .ge-hero-premium__badge {
    max-width: 100% !important;
    white-space: normal !important;
    word-break: break-word !important;
  }

  /* ── Hero section: allow natural height to prevent content clipping ── */
  .ge-hero-premium {
    min-height: 0 !important;
    height: auto !important;
    padding-top: 96px !important;
    padding-bottom: 52px !important;
  }

  /* ── Trust strip: hide | separators and stack items vertically ── */
  .ge-hero-premium__trust-div { display: none !important; }
  .ge-hero-premium__trust {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 8px !important;
  }
  .ge-hero-premium__trust-item {
    white-space: normal !important;
    width: 100% !important;
  }

  /* ── CTA buttons: full width, wrap long text ── */
  .ge-hero-premium__actions,
  .ge-cta-btns,
  .ge-abschluss-btns {
    flex-direction: column !important;
    width: 100% !important;
    gap: 10px !important;
  }
  .ge-hero-premium__actions .ge-btn,
  .ge-cta-btns .ge-btn,
  .ge-abschluss-btns .ge-btn,
  .page-template-page-leistungen-php .ge-btn,
  .page-template-page-hausverwaltung-php .ge-btn,
  .page-template-page-gutachten-php .ge-btn {
    width: 100% !important;
    white-space: normal !important;
    text-align: center !important;
    justify-content: center !important;
    min-height: 48px !important;
    height: auto !important;
    padding-top: 13px !important;
    padding-bottom: 13px !important;
    line-height: 1.3 !important;
  }

  /* ── Hausverwaltung pricing: prevent gold shadow from bleeding right ── */
  .page-template-page-hausverwaltung-php .ge-pricing-card {
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  .page-template-page-hausverwaltung-php .ge-pricing-card--featured {
    box-shadow: 0 4px 20px rgba(201,168,106,.15) !important;
    overflow: visible !important;
    padding-top: 28px !important;
  }
  .page-template-page-hausverwaltung-php .ge-pricing-card__badge {
    position: static !important;
    display: block !important;
    transform: none !important;
    text-align: center !important;
    margin: -6px auto 14px !important;
    left: auto !important;
  }
  .page-template-page-hausverwaltung-php .ge-pricing-grid {
    grid-template-columns: 1fr !important;
    padding-top: 20px !important;
  }

  /* ── Leistungen accordion grid: prevent adjacent cells from stretching ── */
  .page-template-page-leistungen-php .ls-warum-grid {
    align-items: start !important;
  }

  /* ── Leistungen accordion: old flex rule breaks block structure ── */
  .page-template-page-leistungen-php .ls-warum-item {
    display: block !important;
  }
}
