
/* =========================================================
   Global Typography & Container Overflow Guard
   Purpose: prevents long headings, FAQ trust cards, tables and
   premium cards from breaking out of their containers.
   ========================================================= */
html,
body {
  max-width: 100%;
  overflow-x: hidden;
}

body * {
  min-width: 0;
}

section,
.row,
[class*="grid"],
[class*="shell"],
[class*="card"],
[class*="panel"],
[class*="faq"],
[class*="silo"],
[class*="bento"],
[class*="matrix"],
[class*="table"] {
  max-width: 100%;
}

h1, h2, h3, h4, h5, h6,
p, li, a, span, strong, em, small,
summary, th, td, dt, dd {
  overflow-wrap: break-word;
  word-break: normal;
}

h1, h2, h3,
.home-advisor-board-section h2,
.home-advisor-board-section h3,
.site-faq-section h2,
.rs-seo-depth-section h2,
.rs-silo-section h2,
.rs-premium-cost-section h2 {
  text-wrap: balance;
}

/* Long German compound words and labels inside tight chips/cards */
.hab-chipline a,
.rs-silo-chipline a,
.footer-modern a,
.footer-contact-upgrade a,
.site-faq-trustrow span,
.site-faq-trustrow strong,
.site-faq-item summary,
.rs-faq-item summary,
.rs-seo-depth-section details summary,
.rs-premium-cost-section th,
.rs-premium-cost-section td,
.rs-cost-matrix th,
.rs-cost-matrix td {
  overflow-wrap: anywhere;
}

/* =========================================================
   Einheitliche FAQ-Sicherheitsregeln
   ========================================================= */
.site-faq-section {
  overflow: hidden;
}

.site-faq-section .container,
.site-faq-shell,
.site-faq-grid,
.site-faq-note,
.site-faq-list,
.site-faq-item,
.site-faq-trustrow,
.site-faq-trustrow span {
  min-width: 0 !important;
  max-width: 100% !important;
}

.site-faq-head h2 {
  font-size: clamp(1.75rem, 3.2vw, 2.8rem) !important;
  line-height: 1.12 !important;
  letter-spacing: 0 !important;
  max-width: 100% !important;
  hyphens: none !important;
  word-break: normal !important;
}

.site-faq-head p,
.site-faq-note p,
.site-faq-item p {
  font-size: clamp(.94rem, 1.05vw, 1.02rem) !important;
  line-height: 1.62 !important;
}

.site-faq-note {
  overflow: hidden !important;
  padding: clamp(18px, 2.4vw, 26px) !important;
}

.site-faq-trustrow {
  grid-template-columns: 1fr !important;
  gap: 10px !important;
}

.site-faq-trustrow span {
  overflow: hidden !important;
  border-radius: 15px !important;
  padding: 11px 12px !important;
  font-size: .88rem !important;
  line-height: 1.45 !important;
}

.site-faq-trustrow strong {
  display: block !important;
  margin-bottom: 4px !important;
  font-size: .72rem !important;
  line-height: 1.2 !important;
}

.site-faq-review-note {
  font-size: .92rem !important;
  line-height: 1.58 !important;
}

/* =========================================================
   Homepage advisor board / old cockpit safety fixes
   ========================================================= */
.home-advisor-board-section,
.home-next-section,
.home-launch-hub-section {
  overflow: hidden;
}

.hab-shell,
.home-next-shell,
.home-launch-shell {
  max-width: min(1180px, calc(100vw - 32px)) !important;
  margin-inline: auto !important;
}

.hab-risk-card h3,
.home-next-card--dark h3,
.home-next-card--dark h2 {
  font-size: clamp(1.7rem, 3.1vw, 3.1rem) !important;
  line-height: .98 !important;
  letter-spacing: -0.058em !important;
  max-width: 720px !important;
}

.hab-risk-card p,
.home-next-card--dark > p {
  font-size: clamp(.92rem, 1.05vw, 1.02rem) !important;
  line-height: 1.55 !important;
}

.hab-risk-list a,
.home-next-risk-rows a {
  min-width: 0 !important;
}

.hab-risk-list span,
.hab-risk-list strong,
.home-next-risk-rows span,
.home-next-risk-rows em,
.home-next-risk-rows strong {
  min-width: 0 !important;
  overflow-wrap: break-word !important;
}

.hab-card,
.home-next-card,
.home-launch-card {
  overflow: hidden !important;
}

.hab-card h3,
.home-next-card h3,
.home-launch-card h3 {
  font-size: clamp(1.12rem, 1.35vw, 1.42rem) !important;
  line-height: 1.12 !important;
}

.hab-card p,
.home-next-card p,
.home-launch-card p {
  font-size: clamp(.9rem, .98vw, .98rem) !important;
  line-height: 1.48 !important;
}

/* =========================================================
   28-page premium sections and silos
   ========================================================= */
.rs-premium-cost-section,
.rs-seo-depth-section,
.rs-silo-section,
.mn-cost-redesign,
.fc-rich-section {
  overflow-x: clip;
}

.rs-premium-cost-section table,
.rs-seo-depth-section table,
.mn-cost-redesign table {
  width: 100%;
  max-width: 100%;
}

.rs-silo-section h2,
.rs-seo-depth-section h2,
.rs-premium-cost-section h2 {
  font-size: clamp(1.9rem, 4.4vw, 3.65rem) !important;
  line-height: 1.02 !important;
}

.rs-silo-card,
.rs-seo-card,
.rs-case-card,
.rs-faq-item,
.rs-premium-cost-card {
  overflow: hidden !important;
}

/* Footer chips/contact safety */
.footer-modern,
.footer-modern *,
.footer-contact-upgrade,
.footer-contact-upgrade * {
  min-width: 0;
}

.footer-modern a,
.footer-contact-upgrade a {
  max-width: 100%;
}

@media (max-width: 991.98px) {
  .site-faq-grid {
    grid-template-columns: 1fr !important;
  }

  .site-faq-note {
    position: relative !important;
    top: auto !important;
  }
}

@media (max-width: 991.98px) {
  h1, h2, h3 {
    hyphens: auto;
  }

  .hab-grid,
  .hab-head,
  .home-next-grid,
  .home-launch-grid {
    grid-template-columns: 1fr !important;
  }

  .hab-cards,
  .home-next-card-grid,
  .home-launch-card-grid {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 575.98px) {
  .container {
    width: min(100% - 24px, 100%) !important;
  }

  .site-faq-section {
    padding: 42px 0 !important;
  }

  .site-faq-shell {
    border-radius: 8px !important;
    padding: 20px !important;
  }

  .rs-silo-section h2,
  .rs-seo-depth-section h2,
  .rs-premium-cost-section h2 {
    font-size: clamp(1.75rem, 10vw, 2.45rem) !important;
    line-height: 1.04 !important;
    letter-spacing: -0.045em !important;
  }

  .site-faq-head h2 {
    font-size: 1.65rem !important;
    line-height: 1.18 !important;
    letter-spacing: 0 !important;
    hyphens: none !important;
  }

  .site-faq-item summary {
    padding: 18px 48px 18px 18px !important;
    font-size: .98rem !important;
  }

  .site-faq-item p {
    padding: 0 18px 20px !important;
  }

  .hab-shell,
  .home-next-shell,
  .home-launch-shell {
    max-width: calc(100vw - 24px) !important;
    border-radius: 24px !important;
  }

  .hab-risk-list a,
  .home-next-risk-rows a {
    grid-template-columns: 1fr !important;
  }

  .hab-risk-list strong,
  .home-next-risk-rows em,
  .home-next-risk-rows strong {
    white-space: normal !important;
  }
}


/* =========================================================
   365 Rechtsschutz Hero/Layout Restore Patch
   Fixes the accidental full-width Bootstrap container override
   and prevents hero headlines from splitting German words.
   ========================================================= */

.sitehero .container,
.sitehero__container {
  width: 100%;
  margin-right: auto !important;
  margin-left: auto !important;
  padding-right: var(--bs-gutter-x, .75rem);
  padding-left: var(--bs-gutter-x, .75rem);
}

@media (min-width: 576px) {
  .sitehero .container,
  .sitehero__container { max-width: 540px !important; }
}
@media (min-width: 768px) {
  .sitehero .container,
  .sitehero__container { max-width: 720px !important; }
}
@media (min-width: 992px) {
  .sitehero .container,
  .sitehero__container { max-width: 960px !important; }
}
@media (min-width: 1200px) {
  .sitehero .container,
  .sitehero__container { max-width: 1140px !important; }

  .sitehero__title {
    max-width: 13.5ch !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: manual !important;
  }

  .sitehero__title--firma,
  .sitehero__title--vermieter {
    max-width: 12.8ch !important;
  }
}
@media (min-width: 1400px) {
  .sitehero .container,
  .sitehero__container { max-width: 1320px !important; }
}

@media (max-width: 991.98px) {
  .sitehero__title {
    overflow-wrap: break-word !important;
    word-break: normal !important;
    hyphens: auto;
  }
}
