/* Dr. B.-DIGITEC – H1 FINAL ALIGN FIX
   Ziel: Alle H1-Zeilen technisch linksbündig, keine eingerückten Hero-Zeilen.
*/

html,
body,
#root {
  overflow-x: hidden !important;
}

/* H1-Grundregel */
body h1,
body h1.font-display,
body main h1,
body section h1,
body article h1,
body [class*="Hero"] h1,
body [class*="hero"] h1 {
  display: block !important;
  box-sizing: border-box !important;

  text-align: left !important;
  white-space: normal !important;
  text-wrap: initial !important;
  hyphens: none !important;
  -webkit-hyphens: none !important;
  word-break: normal !important;
  overflow-wrap: normal !important;

  margin-left: 0 !important;
  padding-left: 0 !important;
  text-indent: 0 !important;
  transform: none !important;
  translate: none !important;

  max-width: 100% !important;
  font-size: clamp(34px, 3.65vw, 46px) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.025em !important;
}

/* WICHTIG: künstliche Einzüge/Verschiebungen INNERHALB der H1 entfernen */
body h1 *,
body h1 > *,
body h1.font-display *,
body main h1 *,
body section h1 *,
body article h1 * {
  margin-left: 0 !important;
  padding-left: 0 !important;
  text-indent: 0 !important;

  left: auto !important;
  right: auto !important;
  transform: none !important;
  translate: none !important;

  text-align: left !important;
}

/* Falls einzelne H1-Zeilen als Block-Spans gebaut sind */
body h1 > span,
body h1 > strong,
body h1 > em,
body h1 > div {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
}

/* Falls Tailwind ml-/pl-/translate-Klassen auf H1-Zeilen sitzen */
body h1 [class*="ml-"],
body h1 [class*="pl-"],
body h1 [class*="translate"],
body h1 [class*="-translate"] {
  margin-left: 0 !important;
  padding-left: 0 !important;
  transform: none !important;
  translate: none !important;
}

/* Tablet */
@media (max-width: 900px) {
  body h1,
  body h1.font-display,
  body main h1,
  body section h1,
  body article h1 {
    font-size: clamp(29px, 5.2vw, 36px) !important;
    line-height: 1.1 !important;
    letter-spacing: -0.018em !important;
  }
}

/* Smartphone */
@media (max-width: 640px) {
  body h1,
  body h1.font-display,
  body main h1,
  body section h1,
  body article h1 {
    font-size: clamp(24px, 6.8vw, 28px) !important;
    line-height: 1.12 !important;
    letter-spacing: -0.01em !important;
  }
}
