/* ============================================================
   EINHEITLICHE TYPOGRAFIE-SKALA (kanonisch, überschreibt alles)
   Wird auf allen 13 Seiten als LETZTES Stylesheet geladen.
   Eine Größe pro Ebene – Änderungen NUR hier vornehmen.
   ============================================================ */
:root{
  --kls-h1:   clamp(32px, 3.24vw, 64px);   /* Hero-/Seitentitel (wie Startseite) */
  --kls-h2:   clamp(26px, 2.778vw, 56px);  /* Sektionstitel */
  --kls-h3:   clamp(20px, 1.85vw, 36px);   /* Untertitel / Zwischenüberschriften */
  --kls-h4:   clamp(16px, 1.3vw, 26px);    /* kleine Überschriften */
  --kls-lead: clamp(15px, 1.11vw, 22px);   /* Hero-Untertext / Lead */

  --kls-h1-lh: 1.12;
  --kls-h2-lh: 1.18;
  --kls-h3-lh: 1.25;
  --kls-h4-lh: 1.3;
  --kls-lead-lh: 1.55;
}

/* ---------- H1: Hero- und Seitentitel ---------- */
html :is(
  .hero h1, .hero .content h1, .pn-hero h1, .pc-hero h1,
  h1.sl-headline, h1.kt-headline, h1.dg-headline, h1.pv-headline,
  .content h1, .disease-hero-title,
  .kth .kth-title, .pnh .pnh-title, .kar-h1
){
  font-size:var(--kls-h1) !important;
  line-height:var(--kls-h1-lh) !important;
  font-family:'Cormorant Garamond',serif !important;
  font-weight:600 !important;
}
/* Seiten mit zoom:.68 im Hero (Lungenfibrose, Post-COVID):
   optische Größe ausgleichen */
html :is(.hero-copy h1, section.hero .hero-copy h1){
  font-size:calc(var(--kls-h1) / 0.68) !important;
  line-height:var(--kls-h1-lh) !important;
}

/* ---------- H2: Sektionstitel ---------- */
html :is(
  h2, .ia-h1, .ia-h1 em,
  .exp2 .exp2-title, .phx .phx-title,
  .pca-title, .pcx-title, .vit-title,
  .wsp2-title, .dg2-title, .pv5-h1
){
  font-size:var(--kls-h2) !important;
  line-height:var(--kls-h2-lh) !important;
  font-family:'Cormorant Garamond',serif !important;
  font-weight:600 !important;
}

/* ---------- H3 / H4 ---------- */
html :is(h3, .id-title){
  font-size:var(--kls-h3) !important;
  line-height:var(--kls-h3-lh) !important;
}
html h4{
  font-size:var(--kls-h4) !important;
  line-height:var(--kls-h4-lh) !important;
}
/* Karten-/Kompakttitel behalten die bestehende einheitliche
   Größe clamp(13.5px,1.04vw,15px) – nicht anfassen. */
html :is(.card-title, .compact-title, .st-title, .tc-title, .c6-title,
         .d3-st-title, .c2-symt, .c2-cardt, .sym, .card-t, .hf-title){
  font-size:clamp(13.5px, 1.04vw, 15px) !important;
}

/* ---------- Hero-Lead / Untertext ---------- */
html :is(.hero p.lead, .hero .lead, .pnh-para, .kth-lead, .pc-lead, .hero-copy p.lead){
  font-size:var(--kls-lead) !important;
  line-height:var(--kls-lead-lh) !important;
}
html :is(.hero-copy p.lead, section.hero .hero-copy .lead){
  font-size:calc(var(--kls-lead) / 0.68) !important;
}

/* ============================================================
   EINHEITLICHE HERO-GRÖSSE
   Alle Heros: Höhe 40.918vw (Seitenverhältnis der Startseite),
   Mindesthöhen aus dem globalen Hero-Layout bleiben erhalten.
   ============================================================ */
html :is(section.hero, header.hero, .hero, .pnh, .kth, .pc-hero){
  height:40.918vw !important;
  min-height:680px !important;
  max-height:none !important;
  overflow:hidden !important;
  background-size:cover !important;
  background-position:center !important;
}
@media (max-width:1199px){
  html :is(section.hero, header.hero, .hero, .pnh, .kth, .pc-hero){min-height:600px !important;}
}
@media (max-width:767px){
  html :is(section.hero, header.hero, .hero, .pnh, .kth, .pc-hero){min-height:520px !important;}
}

/* Schutz gegen horizontales Überlaufen von 100vw-Sektionen
   (Scrollbalken-Breite) – verhindert seitlich abgeschnittene Inhalte */
html, body { overflow-x: clip; }

/* ============================================================
   HERO-BUTTONS = STANDARDGRÖSSE
   Die alten "÷0.72 / ÷0.68 hochgerechneten" Hero-Button-Werte
   stammen aus der Zeit, als der Hero-Inhalt gezoomt war. Der
   Container ist inzwischen mit zoom:1 vom Zoom ausgenommen –
   daher gelten jetzt überall die Standard-Buttongrößen
   (identisch zur Box "Nicht sicher, was hinter Ihren
   Beschwerden steckt?").
   ============================================================ */
html :is(.hero .btn, .hero .btn-dark, .hero .btn-ghost,
         .hero-actions .btn, .hero-copy .btn,
         section.hero a[class*="btn"]){
  height:clamp(40px,3.26vw,54px) !important;
  min-height:0 !important;
  padding:0 clamp(18px,1.67vw,30px) !important;
  font-size:clamp(11px,.903vw,15px) !important;
  letter-spacing:clamp(1.1px,.097vw,1.7px) !important;
  border-radius:clamp(8px,.69vw,13px) !important;
  gap:clamp(7px,.7vw,12px) !important;
}

/* Startseite: "Behandlung mit Präzision." nicht fett */
html .idx-about .ia-h1 em{
  font-weight:400 !important;
  font-style:italic !important;
}
/* Startseite: "Facharzt für Pneumologie & Schlafmedizin" im Stil von
   "Behandlung mit Präzision." (Cormorant kursiv, nicht fett, grün) */
html .idx-doc .id-title{
  font-family:'Cormorant Garamond',serif !important;
  font-style:italic !important;
  font-weight:400 !important;
  color:#4E7654 !important;
  font-size:var(--kls-h2) !important;
  line-height:var(--kls-h2-lh) !important;
}
