/*
 * MarkenTal – einheitliche Textachse
 *
 * Normale Seiteninhalte folgen einer klaren, mittigen Achse. Längere
 * Brieftexte, Rechtstexte und Formulare bleiben für eine ruhige Lesbarkeit
 * linksbündig in einer zentrierten Spalte.
 */

/* Dekorative Kleinüberschriften entfallen auf allen Seiten vollständig. */
.eyebrow,
.hero-kicker,
.hero-label,
.about-label,
.career-label,
.guarantee-kicker {
  display: none !important;
}

main section:not(.letter):not(.longform):not(.letter-section)
  :where(h1, h2, h3, h4, p, li, blockquote, .eyebrow, .lead, .section-lead,
  .section-copy, .hero-copy, .hero-lead, .hero-subtitle, .subcopy,
  .career-label, .career-lead, .about-label, .sales-label) {
  margin-right: auto !important;
  margin-left: auto !important;
  text-align: center !important;
}

main :where(
  .hero-content,
  .hero-inner,
  .section-head,
  .career-section-head,
  .letter-heading,
  .longform-heading,
  .faq-layout > :first-child,
  .final-cta-inner,
  .transparency-copy,
  .brand-approach__content
) {
  margin-inline: auto !important;
  text-align: center !important;
}

main :where(
  .hero-content,
  .career-hero-inner,
  .about-hero-inner,
  .references-hero .hero-inner,
  .final-cta-inner,
  .brand-approach__content
) {
  align-items: center !important;
}

main :where(
  .hero-actions,
  .hero-proof,
  .cta-cluster,
  .trust-row,
  .proof-row,
  .button-row,
  .actions
) {
  justify-content: center !important;
  margin-inline: auto !important;
  text-align: center !important;
}

main :where(
  .scope-item,
  .process-step,
  .measurement-item,
  .guarantee-step,
  .related-link,
  .service-card,
  .method-card,
  .signal-card,
  .principle,
  .case-card,
  .review-card,
  .role-card,
  .benefit-list article,
  .career-signal article,
  .result-item,
  .proof-card
) {
  text-align: center !important;
}

main :where(
  .scope-item,
  .process-step,
  .measurement-item,
  .guarantee-step,
  .related-link,
  .service-card,
  .method-card,
  .signal-card,
  .principle,
  .case-card,
  .review-card,
  .role-card,
  .benefit-list article,
  .career-signal article,
  .result-item,
  .proof-card
) :where(h2, h3, h4, p, li, strong, em) {
  margin-right: auto !important;
  margin-left: auto !important;
  text-align: center !important;
}

/* Die Brieftexte bleiben linksbündig, aber ihre Lesespalte sitzt mittig. */
main :where(
  .longform-copy,
  .long-copy,
  .sales-letter,
  .sales-prose,
  .offer-longform
) {
  width: min(100%, 920px) !important;
  margin-inline: auto !important;
  text-align: left !important;
}

main :where(
  .longform-copy,
  .long-copy,
  .sales-letter,
  .sales-prose,
  .offer-longform
) :where(h2, h3, h4, p, li, blockquote) {
  text-align: left !important;
}

/* Rechtliche Inhalte und Eingaben benötigen eine scanbare linke Kante. */
main :where(.legal-copy, .legal-index, .legal-section),
main :where(.legal-copy, .legal-index, .legal-section) :where(h2, h3, h4, p, li, a, address),
main form,
main form :where(label, input, textarea, select, option, .field, .form-field) {
  text-align: left !important;
}

main form :where(button, .btn, .button) {
  text-align: center !important;
}

/* Auch der gemeinsame Footer schließt auf einer ruhigen Mittelachse ab. */
.footer,
.footer :where(h2, h3, h4, p, a, address, li) {
  text-align: center !important;
}

.footer :where(.footer-main, .footer-top, .footer-bottom, .footer-links, .footer-services) {
  justify-content: center !important;
  margin-inline: auto !important;
}

.footer :where(.footer-nav-grid, .footer-nav-group, .footer-brand, .footer-identity) {
  justify-items: center !important;
  margin-inline: auto !important;
  text-align: center !important;
}

@media (max-width: 720px) {
  main :where(.hero-actions, .hero-proof, .cta-cluster, .trust-row, .proof-row) {
    align-items: center !important;
  }

  .footer :where(.footer-main, .footer-top, .footer-bottom, .footer-links, .footer-services) {
    align-items: center !important;
  }
}

/* Google Ads: Kennzahlen auf großen Ansichten als ruhige Dreierreihe. */
body.google-ads-page .measurement-grid {
  width: 100%;
  max-width: 1220px;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  margin-inline: auto !important;
}

body.google-ads-page .measurement-item {
  min-width: 0;
  min-height: 330px;
}

@media (max-width: 900px) {
  body.google-ads-page .measurement-grid {
    max-width: 760px;
    grid-template-columns: 1fr !important;
  }

  body.google-ads-page .measurement-item,
  body.google-ads-page .measurement-item:last-child {
    min-height: 0;
    border-right: 0;
    border-bottom: 1px solid var(--line);
    border-left: 0;
  }
}

/* Google Ads: Eignungscheck als zwei gleichwertige Karten. */
body.google-ads-page .fit-grid {
  display: grid !important;
  width: 100%;
  max-width: 1260px;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 24px;
  margin-inline: auto !important;
}

body.google-ads-page .fit-column {
  position: relative;
  min-width: 0;
  min-height: 620px;
  margin-bottom: 0 !important;
  padding: clamp(34px, 3.4vw, 54px);
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .18);
  background: linear-gradient(145deg, rgba(255, 255, 255, .065), rgba(255, 255, 255, .018));
}

body.google-ads-page .fit-column::before {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 4px;
  background: var(--blue);
  content: "";
}

body.google-ads-page .fit-column:nth-child(2)::before {
  opacity: .42;
}

body.google-ads-page .fit-column h2 {
  max-width: 520px;
  margin: 0 auto clamp(28px, 3vw, 46px) !important;
  font-size: clamp(46px, 4.2vw, 68px) !important;
  line-height: .98;
  text-align: center !important;
}

body.google-ads-page .fit-column ul {
  width: 100%;
  max-width: none;
  margin: 0 !important;
}

body.google-ads-page .fit-column li {
  display: grid !important;
  min-height: 92px;
  grid-template-columns: 26px minmax(0, 1fr) !important;
  align-items: center;
  justify-content: initial !important;
  gap: 16px;
  padding: 22px 4px;
  border-bottom-color: rgba(255, 255, 255, .16);
  font-size: clamp(18px, 1.35vw, 22px);
  line-height: 1.45;
  text-align: left !important;
}

body.google-ads-page .fit-column li svg {
  width: 21px;
  height: 21px;
  margin: 0;
  filter: drop-shadow(0 0 10px rgba(23, 150, 201, .35));
}

@media (max-width: 900px) {
  body.google-ads-page .fit-grid {
    max-width: 720px;
    grid-template-columns: 1fr !important;
  }

  body.google-ads-page .fit-column {
    min-height: 0;
  }
}

@media (max-width: 560px) {
  body.google-ads-page .fit-grid {
    gap: 16px;
  }

  body.google-ads-page .fit-column {
    padding: 30px 22px;
  }

  body.google-ads-page .fit-column h2 {
    font-size: 42px !important;
  }

  body.google-ads-page .fit-column li {
    min-height: 0;
    padding: 18px 0;
    font-size: 17px;
  }
}

/* --- Gezielte Ausnahmen: Diese Bereiche bleiben bewusst linksbündig --- */

/* Startseite: Prozess-Zeilen im Transparenz-Bereich (Kosten pro Anfrage / Qualität der Leads / Termine & Chancen) */
main section.transparency .transparency-ledger .ledger-row div :where(h3, p) {
  margin-right: 0 !important;
  margin-left: 0 !important;
  text-align: left !important;
}

/* Startseite: Fließtext im dunklen "Unser Ansatz"-Bereich */
main section.brand-approach .brand-approach__content .brand-approach__panel .brand-approach__detail {
  margin-right: auto !important;
  margin-left: 0 !important;
  text-align: left !important;
}

/* Alle Seiten: FAQ-Antworten linksbündig wie die Fragen */
main section.faq .faq-layout .faq-list details p,
main section.career-faq .career-faq-grid .career-faq-list details p {
  margin-right: 0 !important;
  margin-left: 0 !important;
  text-align: left !important;
}
