.elementor-554 .elementor-element.elementor-element-d316a5f{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}/* Start custom CSS *//* ================================================================
   CHRONOprotect — Custom CSS v2
   → Elementor: Site Settings → Custom CSS
   → Kein globaler *-Reset — alle Werte direkt auf Klassen
   → Alle Regeln mit !important gegen Hello Theme / Elementor
   ================================================================ */

/* ── BOX SIZING NUR AUF WRAPPER ── */
#ifr-chronoprotect,
#ifr-chronoprotect *,
#ifr-chronoprotect *::before,
#ifr-chronoprotect *::after {
  box-sizing: border-box !important;
}

/* ── FONT & HYPHEN PROTECTION ── */
#ifr-chronoprotect,
#ifr-chronoprotect h1,
#ifr-chronoprotect h2,
#ifr-chronoprotect h3,
#ifr-chronoprotect h4,
#ifr-chronoprotect p,
#ifr-chronoprotect li,
#ifr-chronoprotect span,
#ifr-chronoprotect a,
#ifr-chronoprotect td,
#ifr-chronoprotect th,
#ifr-chronoprotect div {
  font-family: 'Inter', sans-serif !important;
  hyphens: none !important;
  -webkit-hyphens: none !important;
  -ms-hyphens: none !important;
}
#ifr-chronoprotect h1 { font-weight: 900 !important; }
#ifr-chronoprotect h2 { font-weight: 800 !important; }
#ifr-chronoprotect h3 { font-weight: 700 !important; }
#ifr-chronoprotect p  { font-weight: 400 !important; }

/* ── ELEMENTOR WIDGET WRAPPER RESET ── */
#ifr-chronoprotect .elementor-widget-html {
  padding: 0 !important;
  margin: 0 !important;
}
.elementor-section .elementor-container {
  max-width: 100% !important;
}

/* ── WRAPPER ── */
#ifr-chronoprotect {
  background: #ffffff !important;
  color: #242A34 !important;
  font-size: 16px !important;
  line-height: 1.65 !important;
  -webkit-font-smoothing: antialiased !important;
}

/* ── NAV ── */
#ifr-nav {
  position: sticky !important;
  top: 0 !important;
  z-index: 9999 !important;
  background: #ffffff !important;
  border-bottom: 1px solid #e2e8f0 !important;
  padding: 0 5vw !important;
  margin: 0 !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  height: 64px !important;
}
.ifr-nav-brand {
  text-decoration: none !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 1px !important;
}
.ifr-nav-brand-name {
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  color: #242A34 !important;
  letter-spacing: -0.01em !important;
  margin: 0 !important;
  padding: 0 !important;
}
.ifr-nav-brand-sub {
  font-size: 0.68rem !important;
  color: #6b7280 !important;
  font-weight: 400 !important;
  margin: 0 !important;
  padding: 0 !important;
}
.ifr-nav-links {
  display: flex !important;
  align-items: center !important;
  gap: 1.75rem !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.ifr-nav-links li { margin: 0 !important; padding: 0 !important; }
.ifr-nav-links a {
  font-size: 0.85rem !important;
  color: #4a5568 !important;
  text-decoration: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.ifr-nav-links a:hover { color: #242A34 !important; }
.ifr-nav-cta {
  background: #EF5E18 !important;
  color: #ffffff !important;
  font-weight: 600 !important;
  font-size: 0.82rem !important;
  padding: 0.55rem 1.3rem !important;
  border-radius: 5px !important;
  margin: 0 !important;
}
.ifr-nav-cta:hover { background: #d45214 !important; color: #ffffff !important; }

/* ── HERO ── */
#ifr-hero {
  background: #242A34 !important;
  padding: 5.5rem 5vw 4.5rem !important;
  margin: 0 !important;
  display: grid !important;
  grid-template-columns: 1.2fr 0.8fr !important;
  gap: 4rem !important;
  align-items: center !important;
  position: relative !important;
  overflow: hidden !important;
}
#ifr-hero::after {
  content: '' !important;
  position: absolute !important;
  right: 0 !important; top: 0 !important; bottom: 0 !important;
  width: 42% !important;
  background: #203F5A !important;
  clip-path: polygon(8% 0, 100% 0, 100% 100%, 0% 100%) !important;
  z-index: 0 !important;
}
.ifr-hero-left { position: relative !important; z-index: 1 !important; }
.ifr-hero-right {
  position: relative !important; z-index: 1 !important;
  display: flex !important; justify-content: center !important; align-items: center !important;
}
.ifr-hero-tag {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
  font-size: 0.72rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.12em !important;
  color: #EF5E18 !important;
  margin: 0 0 1.5rem 0 !important;
  padding: 0 !important;
}
.ifr-hero-tag-dot {
  width: 6px !important; height: 6px !important;
  border-radius: 50% !important;
  background: #EF5E18 !important;
  display: inline-block !important;
  flex-shrink: 0 !important;
  margin: 0 !important; padding: 0 !important;
}
#ifr-hero h1 {
  font-size: clamp(2.4rem, 4.2vw, 3.8rem) !important;
  font-weight: 900 !important;
  color: #ffffff !important;
  line-height: 1.1 !important;
  letter-spacing: -0.03em !important;
  margin: 0 0 1.25rem 0 !important;
  padding: 0 !important;
}
.ifr-orange { color: #EF5E18 !important; }
.ifr-hero-sub {
  font-size: 1rem !important;
  color: rgba(255,255,255,0.65) !important;
  line-height: 1.78 !important;
  margin: 0 0 2.5rem 0 !important;
  padding: 0 !important;
  max-width: 500px !important;
  font-weight: 300 !important;
}
.ifr-hero-actions {
  display: flex !important;
  gap: 1rem !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  margin: 0 !important; padding: 0 !important;
}
.ifr-hero-stats {
  display: flex !important;
  gap: 2.5rem !important;
  margin: 3rem 0 0 0 !important;
  padding: 2rem 0 0 0 !important;
  border-top: 1px solid rgba(255,255,255,0.1) !important;
}
.ifr-num {
  font-size: 1.45rem !important; font-weight: 700 !important;
  color: #ffffff !important; display: block !important;
  line-height: 1 !important; margin: 0 0 0.3rem 0 !important; padding: 0 !important;
}
.ifr-label {
  font-size: 0.73rem !important; color: rgba(255,255,255,0.45) !important;
  text-transform: uppercase !important; letter-spacing: 0.06em !important;
  display: block !important; margin: 0 !important; padding: 0 !important;
}
.ifr-watch-wrap { width: 260px !important; height: 260px !important; margin: 0 !important; padding: 0 !important; }

/* ── BUTTONS ── */
.ifr-btn-orange {
  background: #EF5E18 !important; color: #ffffff !important;
  font-size: 0.9rem !important; font-weight: 600 !important;
  padding: 0.88rem 2rem !important; margin: 0 !important;
  border-radius: 5px !important; text-decoration: none !important;
  display: inline-block !important; border: none !important; cursor: pointer !important;
}
.ifr-btn-orange:hover { background: #d45214 !important; color: #ffffff !important; }
.ifr-btn-ghost-white {
  border: 1.5px solid rgba(255,255,255,0.3) !important;
  color: rgba(255,255,255,0.8) !important;
  font-size: 0.88rem !important; font-weight: 400 !important;
  padding: 0.88rem 1.75rem !important; margin: 0 !important;
  border-radius: 5px !important; text-decoration: none !important; display: inline-block !important;
}
.ifr-btn-ghost-white:hover { border-color: rgba(255,255,255,0.7) !important; background: rgba(255,255,255,0.07) !important; color: #ffffff !important; }

/* ── TRUST BAR ── */
.ifr-trust-bar {
  background: #f5f7f9 !important;
  border-bottom: 1px solid #e2e8f0 !important;
  padding: 1.15rem 5vw !important; margin: 0 !important;
  display: flex !important; gap: 2.25rem !important;
  align-items: center !important; flex-wrap: wrap !important;
}
.ifr-trust-item {
  display: flex !important; align-items: center !important;
  gap: 0.45rem !important; margin: 0 !important; padding: 0 !important;
}
.ifr-check {
  color: #EF5E18 !important; flex-shrink: 0 !important;
  width: 14px !important; height: 14px !important; display: block !important;
  margin: 0 !important; padding: 0 !important;
}
.ifr-trust-item span {
  font-size: 0.8rem !important; color: #4a5568 !important;
  white-space: nowrap !important; margin: 0 !important; padding: 0 !important;
}

/* ── SECTIONS ALLGEMEIN ── */
#ifr-chronoprotect section {
  padding: 5rem 5vw !important;
  margin: 0 !important;
}
.ifr-section-inner {
  max-width: 1180px !important;
  margin: 0 auto !important;
  padding: 0 !important;
}
.ifr-section-tag {
  font-size: 0.7rem !important; font-weight: 700 !important;
  text-transform: uppercase !important; letter-spacing: 0.14em !important;
  color: #EF5E18 !important; display: block !important;
  margin: 0 0 0.7rem 0 !important; padding: 0 !important;
}
#ifr-chronoprotect h2 {
  font-size: clamp(1.8rem, 3.2vw, 2.8rem) !important;
  font-weight: 800 !important; letter-spacing: -0.03em !important;
  line-height: 1.15 !important; color: #242A34 !important;
  margin: 0 0 1rem 0 !important; padding: 0 !important;
}
.ifr-lead {
  font-size: 1.02rem !important; color: #4a5568 !important;
  line-height: 1.78 !important; max-width: 560px !important;
  font-weight: 400 !important; margin: 0 !important; padding: 0 !important;
}
.ifr-body-sm {
  font-size: 0.88rem !important; color: #4a5568 !important;
  line-height: 1.78 !important; margin: 0.75rem 0 0 0 !important; padding: 0 !important;
}

/* ── LEISTUNGEN ── */
#ifr-leistungen {
  background: #f5f7f9 !important;
  border-top: 1px solid #e2e8f0 !important;
  border-bottom: 1px solid #e2e8f0 !important;
}
.ifr-leistungen-wrap {
  display: grid !important;
  grid-template-columns: 1fr 2fr !important;
  gap: 4.5rem !important; align-items: start !important;
}
.ifr-cards-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 1px !important;
  background: #e2e8f0 !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  margin: 0 !important; padding: 0 !important;
}
.ifr-card {
  background: #ffffff !important;
  padding: 1.75rem !important;
  margin: 0 !important;
  transition: background 0.2s !important;
}
.ifr-card:hover { background: #fdf0e8 !important; }
.ifr-card-icon {
  width: 34px !important; height: 34px !important;
  background: #fce6d5 !important; border-radius: 7px !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  margin: 0 0 0.9rem 0 !important; padding: 0 !important;
  color: #EF5E18 !important;
}
.ifr-card-icon svg { width: 17px !important; height: 17px !important; }
.ifr-card h3 {
  font-size: 0.92rem !important; font-weight: 600 !important;
  color: #242A34 !important; margin: 0 0 0.35rem 0 !important; padding: 0 !important;
}
.ifr-card p {
  font-size: 0.83rem !important; color: #6b7280 !important;
  line-height: 1.65 !important; margin: 0 !important; padding: 0 !important;
}

/* ── SCHADEN ── */
#ifr-schaden { background: #ffffff !important; }
.ifr-schaden-wrap {
  display: grid !important; grid-template-columns: 1fr 1fr !important;
  gap: 4.5rem !important; align-items: start !important;
}
.ifr-schaden-examples {
  display: flex !important; flex-direction: column !important;
  gap: 1rem !important; margin: 0 !important; padding: 0 !important;
}
.ifr-schaden-card {
  background: #f5f7f9 !important; border: 1px solid #e2e8f0 !important;
  border-radius: 8px !important; padding: 1.75rem !important; margin: 0 !important;
  border-left: 3px solid #EF5E18 !important;
}
.ifr-schaden-meta {
  display: flex !important; justify-content: space-between !important;
  align-items: flex-start !important; gap: 1rem !important;
  margin: 0 0 0.75rem 0 !important; padding: 0 !important;
}
.ifr-schaden-model {
  font-size: 0.82rem !important; font-weight: 600 !important;
  color: #242A34 !important; margin: 0 !important; padding: 0 !important;
}
.ifr-schaden-amount {
  font-size: 1.25rem !important; font-weight: 700 !important;
  color: #EF5E18 !important; white-space: nowrap !important;
  margin: 0 !important; padding: 0 !important;
}
.ifr-schaden-desc {
  font-size: 0.83rem !important; color: #6b7280 !important;
  line-height: 1.65 !important; font-style: italic !important;
  margin: 0 !important; padding: 0 !important;
}
.ifr-verdict {
  display: flex !important; align-items: center !important; gap: 0.5rem !important;
  margin: 0.85rem 0 0 0 !important; padding: 0.85rem 0 0 0 !important;
  border-top: 1px solid #e2e8f0 !important;
  font-size: 0.78rem !important; font-weight: 600 !important; color: #23A455 !important;
}
.ifr-verdict svg { width: 13px !important; height: 13px !important; flex-shrink: 0 !important; display: block !important; margin: 0 !important; padding: 0 !important; }

/* ── MAKLER ── */
#ifr-makler {
  background: #242A34 !important;
  padding: 5rem 5vw !important; margin: 0 !important;
}
.ifr-makler-grid {
  display: grid !important; grid-template-columns: 1fr 1.1fr !important;
  gap: 5rem !important; align-items: center !important;
  max-width: 1180px !important; margin: 0 auto !important; padding: 0 !important;
}
.ifr-h2-white { color: #ffffff !important; }
.ifr-lead-dim {
  color: rgba(255,255,255,0.6) !important; max-width: none !important;
  margin: 0 !important; padding: 0 !important;
}
.ifr-body-dim {
  font-size: 0.88rem !important; color: rgba(255,255,255,0.55) !important;
  line-height: 1.8 !important; margin: 1rem 0 0 0 !important; padding: 0 !important;
}
.ifr-makler-badge {
  display: inline-flex !important; align-items: center !important; gap: 0.5rem !important;
  background: #EF5E18 !important; color: #ffffff !important;
  font-size: 0.75rem !important; font-weight: 700 !important; letter-spacing: 0.05em !important;
  padding: 0.35rem 0.85rem !important; margin: 1.75rem 0 0 0 !important;
  border-radius: 3px !important; text-transform: uppercase !important;
}
.ifr-makler-badge svg { width: 12px !important; height: 12px !important; flex-shrink: 0 !important; margin: 0 !important; padding: 0 !important; }
.ifr-compare {
  display: flex !important; flex-direction: column !important; gap: 1px !important;
  background: rgba(255,255,255,0.08) !important; border-radius: 8px !important;
  overflow: hidden !important; border: 1px solid rgba(255,255,255,0.1) !important;
  margin: 0 !important; padding: 0 !important;
}
.ifr-compare-row {
  display: grid !important; grid-template-columns: 1fr 1fr 1fr !important;
  margin: 0 !important; padding: 0 !important;
}
.ifr-compare-head { background: rgba(255,255,255,0.05) !important; }
.ifr-compare-cell {
  padding: 1rem 1.1rem !important; margin: 0 !important;
  font-size: 0.82rem !important;
  border-right: 1px solid rgba(255,255,255,0.07) !important;
  border-bottom: 1px solid rgba(255,255,255,0.07) !important;
}
.ifr-compare-cell:last-child { border-right: none !important; }
.ifr-compare-row:last-child .ifr-compare-cell { border-bottom: none !important; }
.ifr-compare-head .ifr-compare-cell {
  font-size: 0.7rem !important; font-weight: 700 !important;
  text-transform: uppercase !important; letter-spacing: 0.1em !important;
  color: rgba(255,255,255,0.4) !important;
  border-bottom: 1px solid rgba(255,255,255,0.15) !important;
}
.ifr-ct { font-weight: 600 !important; color: rgba(255,255,255,0.75) !important; }
.ifr-cg { color: #23A455 !important; font-weight: 500 !important; }
.ifr-cn { color: rgba(255,255,255,0.55) !important; }

/* ── KONDITIONEN ── */
#ifr-konditionen {
  background: #f5f7f9 !important;
  border-top: 1px solid #e2e8f0 !important;
  border-bottom: 1px solid #e2e8f0 !important;
}
.ifr-konditionen-wrap { max-width: 1180px !important; margin: 0 auto !important; padding: 0 !important; }
.ifr-konditionen-header {
  display: grid !important; grid-template-columns: 1fr 1fr !important;
  gap: 4rem !important; margin: 0 0 3rem 0 !important;
  padding: 0 !important; align-items: end !important;
}
.ifr-data-table {
  width: 100% !important; border: 1px solid #e2e8f0 !important;
  border-radius: 8px !important; overflow: hidden !important;
  background: #ffffff !important; margin: 0 !important; padding: 0 !important;
}
.ifr-data-table table { width: 100% !important; border-collapse: collapse !important; margin: 0 !important; padding: 0 !important; }
.ifr-data-table th {
  background: #242A34 !important; color: #ffffff !important;
  font-size: 0.73rem !important; font-weight: 600 !important;
  text-transform: uppercase !important; letter-spacing: 0.08em !important;
  padding: 0.85rem 1.25rem !important; margin: 0 !important; text-align: left !important;
}
.ifr-data-table td {
  padding: 0.88rem 1.25rem !important; margin: 0 !important;
  font-size: 0.88rem !important; color: #4a5568 !important;
  border-bottom: 1px solid #e2e8f0 !important;
}
.ifr-data-table tr:last-child td { border-bottom: none !important; }
.ifr-data-table td:first-child { color: #242A34 !important; font-weight: 500 !important; width: 40% !important; }
.ifr-data-table tr:hover td { background: #fdf0e8 !important; }
.ifr-td-ok { color: #23A455 !important; font-weight: 600 !important; }
.ifr-td-hl { color: #EF5E18 !important; font-weight: 600 !important; }
.ifr-note {
  display: block !important; margin: 1.2rem 0 0 0 !important; padding: 0 !important;
  font-size: 0.76rem !important; color: #6b7280 !important; line-height: 1.65 !important;
}
.ifr-note a { color: #EF5E18 !important; text-decoration: none !important; }

/* ── ABLAUF ── */
#ifr-ablauf { background: #ffffff !important; }
.ifr-ablauf-wrap {
  display: grid !important; grid-template-columns: 1fr 2fr !important;
  gap: 4.5rem !important; align-items: start !important;
}
.ifr-steps { display: flex !important; flex-direction: column !important; margin: 0 !important; padding: 0 !important; }
.ifr-step {
  display: grid !important; grid-template-columns: 2.25rem 1fr !important;
  gap: 1.2rem !important; padding: 1.6rem 0 !important; margin: 0 !important;
  border-bottom: 1px solid #e2e8f0 !important; align-items: start !important;
}
.ifr-step:last-child { border-bottom: none !important; }
.ifr-step-num {
  width: 1.9rem !important; height: 1.9rem !important;
  background: #fce6d5 !important; color: #EF5E18 !important;
  border-radius: 50% !important; display: flex !important;
  align-items: center !important; justify-content: center !important;
  font-size: 0.75rem !important; font-weight: 700 !important;
  flex-shrink: 0 !important; margin: 0.1rem 0 0 0 !important; padding: 0 !important;
}
.ifr-step h3 {
  font-size: 0.95rem !important; font-weight: 600 !important;
  color: #242A34 !important; margin: 0 0 0.3rem 0 !important; padding: 0 !important;
}
.ifr-step p {
  font-size: 0.85rem !important; color: #6b7280 !important;
  line-height: 1.7 !important; margin: 0 !important; padding: 0 !important;
}

/* ── LINK HINT ── */
.ifr-link-hint {
  display: flex !important; align-items: flex-start !important; gap: 0.55rem !important;
  background: #fff8f4 !important; border: 1px solid #f5cdb5 !important;
  border-left: 3px solid #EF5E18 !important; border-radius: 5px !important;
  padding: 0.85rem 1rem !important; margin: 1.5rem 0 0 0 !important;
}
.ifr-link-hint svg {
  color: #EF5E18 !important; flex-shrink: 0 !important;
  margin: 0.1rem 0 0 0 !important; padding: 0 !important;
  width: 15px !important; height: 15px !important; display: block !important;
}
.ifr-link-hint span {
  font-size: 0.8rem !important; color: #4a5568 !important; line-height: 1.65 !important;
  margin: 0 !important; padding: 0 !important;
}

/* ── FAQ ── */
#ifr-faq {
  background: #f5f7f9 !important;
  border-top: 1px solid #e2e8f0 !important;
}
.ifr-faq-wrap {
  display: grid !important; grid-template-columns: 1fr 2fr !important;
  gap: 4rem !important; align-items: start !important;
  max-width: 1180px !important; margin: 0 auto !important; padding: 0 !important;
}
.ifr-faq-list { display: flex !important; flex-direction: column !important; margin: 0 !important; padding: 0 !important; }
.ifr-faq-item { border-bottom: 1px solid #e2e8f0 !important; cursor: pointer !important; margin: 0 !important; padding: 0 !important; }
.ifr-faq-q {
  padding: 1.2rem 0 !important; margin: 0 !important;
  font-size: 0.93rem !important; font-weight: 500 !important; color: #242A34 !important;
  display: flex !important; justify-content: space-between !important;
  align-items: center !important; gap: 1rem !important; user-select: none !important;
}
.ifr-faq-item:hover .ifr-faq-q { color: #EF5E18 !important; }
.ifr-faq-icon {
  width: 20px !important; height: 20px !important;
  background: #fce6d5 !important; border-radius: 50% !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  flex-shrink: 0 !important; color: #EF5E18 !important;
  font-size: 1.1rem !important; font-weight: 300 !important; line-height: 1 !important;
  transition: transform 0.25s, background 0.2s !important;
  margin: 0 !important; padding: 0 !important;
}
.ifr-faq-item.ifr-open .ifr-faq-icon {
  transform: rotate(45deg) !important;
  background: #EF5E18 !important; color: #ffffff !important;
}
.ifr-faq-a {
  font-size: 0.86rem !important; color: #6b7280 !important; line-height: 1.78 !important;
  max-height: 0 !important; overflow: hidden !important;
  transition: max-height 0.35s ease, padding 0.25s !important;
  margin: 0 !important; padding: 0 !important;
}
.ifr-faq-item.ifr-open .ifr-faq-a {
  max-height: 300px !important; padding: 0 0 1.2rem 0 !important;
}

/* ── INFINO ── */
#ifr-infino {
  background: #242A34 !important;
  padding: 4.5rem 5vw !important; margin: 0 !important;
}
.ifr-infino-wrap {
  display: grid !important; grid-template-columns: 1.2fr 1fr !important;
  gap: 5rem !important; align-items: center !important;
  max-width: 1180px !important; margin: 0 auto !important; padding: 0 !important;
}
.ifr-infino-title {
  font-size: clamp(1.7rem, 2.8vw, 2.4rem) !important; font-weight: 900 !important;
  color: #ffffff !important; line-height: 1.2 !important;
  margin: 0 0 1rem 0 !important; padding: 0 !important; letter-spacing: -0.025em !important; display: block !important;
}
.ifr-infino-sub {
  font-size: 0.95rem !important; color: rgba(255,255,255,0.6) !important;
  line-height: 1.78 !important; margin: 0 0 1.75rem 0 !important;
  padding: 0 !important; font-weight: 300 !important; display: block !important;
}
.ifr-infino-points { display: flex !important; flex-direction: column !important; gap: 0.7rem !important; margin: 0 !important; padding: 0 !important; }
.ifr-infino-point {
  display: flex !important; align-items: flex-start !important; gap: 0.6rem !important;
  font-size: 0.86rem !important; color: rgba(255,255,255,0.7) !important;
  line-height: 1.6 !important; margin: 0 !important; padding: 0 !important;
}
.ifr-infino-point svg {
  width: 14px !important; height: 14px !important; color: #EF5E18 !important;
  flex-shrink: 0 !important; margin: 0.18rem 0 0 0 !important; padding: 0 !important; display: block !important;
}
.ifr-infino-card {
  background: rgba(255,255,255,0.06) !important; border: 1px solid rgba(255,255,255,0.1) !important;
  border-radius: 8px !important; padding: 2rem !important; margin: 0 !important;
}
.ifr-infino-card-label {
  font-size: 0.68rem !important; text-transform: uppercase !important;
  letter-spacing: 0.12em !important; color: rgba(255,255,255,0.35) !important;
  margin: 0 0 1.25rem 0 !important; padding: 0 !important; font-weight: 600 !important; display: block !important;
}
.ifr-infino-name {
  font-size: 1.1rem !important; font-weight: 700 !important; color: #ffffff !important;
  margin: 0 0 0.2rem 0 !important; padding: 0 !important; display: block !important;
}
.ifr-infino-role {
  font-size: 0.82rem !important; color: rgba(255,255,255,0.45) !important;
  margin: 0 0 1.5rem 0 !important; padding: 0 !important; display: block !important;
}
.ifr-infino-details { display: flex !important; flex-direction: column !important; gap: 0.55rem !important; margin: 0 !important; padding: 0 !important; }
.ifr-infino-detail {
  display: flex !important; gap: 0.75rem !important;
  font-size: 0.83rem !important; color: rgba(255,255,255,0.65) !important;
  margin: 0 !important; padding: 0 !important;
}
.ifr-infino-detail span:first-child {
  color: rgba(255,255,255,0.3) !important; width: 5.5rem !important;
  flex-shrink: 0 !important; font-size: 0.78rem !important;
}
.ifr-infino-links {
  display: flex !important; gap: 0.75rem !important;
  margin: 1.5rem 0 0 0 !important; padding: 1.25rem 0 0 0 !important;
  border-top: 1px solid rgba(255,255,255,0.08) !important; flex-wrap: wrap !important;
}
.ifr-infino-links a {
  font-size: 0.75rem !important; color: rgba(255,255,255,0.45) !important;
  text-decoration: none !important; margin: 0 !important; padding: 0 !important;
}
.ifr-infino-links a:hover { color: #EF5E18 !important; }

/* ── CTA ── */
#ifr-cta {
  background: #ffffff !important; padding: 6rem 5vw !important;
  margin: 0 !important; text-align: center !important;
  border-top: 1px solid #e2e8f0 !important;
}
.ifr-cta-inner { max-width: 600px !important; margin: 0 auto !important; padding: 0 !important; }
.ifr-cta-tag {
  font-size: 0.7rem !important; font-weight: 700 !important;
  text-transform: uppercase !important; letter-spacing: 0.14em !important;
  color: #EF5E18 !important; margin: 0 0 0.75rem 0 !important; padding: 0 !important; display: block !important;
}
.ifr-cta-title {
  font-size: clamp(1.8rem, 3.2vw, 2.8rem) !important; font-weight: 900 !important;
  color: #242A34 !important; letter-spacing: -0.03em !important; line-height: 1.15 !important;
  margin: 0 0 1rem 0 !important; padding: 0 !important;
}
.ifr-cta-sub {
  font-size: 0.97rem !important; color: #4a5568 !important; line-height: 1.75 !important;
  margin: 0 0 2.5rem 0 !important; padding: 0 !important;
}

/* ── LEGAL & FOOTER ── */
#ifr-legal {
  background: #f5f7f9 !important; border-top: 1px solid #e2e8f0 !important;
  padding: 1.5rem 5vw !important; margin: 0 !important;
  font-size: 0.74rem !important; color: #6b7280 !important; line-height: 1.7 !important;
}
#ifr-legal a { color: #6b7280 !important; text-decoration: underline !important; }
#ifr-footer {
  background: #242A34 !important; padding: 1.6rem 5vw !important; margin: 0 !important;
  display: flex !important; justify-content: space-between !important;
  align-items: center !important; gap: 1.5rem !important; flex-wrap: wrap !important;
}
.ifr-footer-brand {
  font-size: 0.88rem !important; font-weight: 700 !important;
  color: rgba(255,255,255,0.85) !important; margin: 0 !important; padding: 0 !important;
}
.ifr-footer-links {
  display: flex !important; gap: 1.75rem !important;
  flex-wrap: wrap !important; margin: 0 !important; padding: 0 !important;
}
.ifr-footer-links a {
  font-size: 0.78rem !important; color: rgba(255,255,255,0.4) !important;
  text-decoration: none !important; margin: 0 !important; padding: 0 !important;
}
.ifr-footer-links a:hover { color: rgba(255,255,255,0.85) !important; }
.ifr-footer-copy {
  font-size: 0.75rem !important; color: rgba(255,255,255,0.25) !important;
  margin: 0 !important; padding: 0 !important;
}

/* ── SCROLL REVEAL ── */
.ifr-reveal {
  opacity: 0 !important;
  transform: translateY(18px) !important;
  transition: opacity 0.55s ease, transform 0.55s ease !important;
}
.ifr-reveal.ifr-visible { opacity: 1 !important; transform: none !important; }

/* ── HERO ANIMATION ── */
@keyframes ifr-fadeUp {
  from { opacity: 0; transform: translateY(18px); }
  to   { opacity: 1; transform: translateY(0); }
}
.ifr-hero-tag    { animation: ifr-fadeUp 0.45s ease 0.1s both; }
#ifr-hero h1     { animation: ifr-fadeUp 0.5s ease 0.2s both; }
.ifr-hero-sub    { animation: ifr-fadeUp 0.5s ease 0.3s both; }
.ifr-hero-actions{ animation: ifr-fadeUp 0.5s ease 0.4s both; }
.ifr-hero-stats  { animation: ifr-fadeUp 0.5s ease 0.5s both; }
.ifr-hero-right  { animation: ifr-fadeUp 0.6s ease 0.35s both; }

/* ── RESPONSIVE ── */
@media (max-width: 900px) {
  #ifr-nav { padding: 0 1.5rem !important; }
  .ifr-nav-links { display: none !important; }
  #ifr-chronoprotect section,
  #ifr-makler, #ifr-infino, #ifr-cta { padding: 3.5rem 1.5rem !important; }
  #ifr-hero { grid-template-columns: 1fr !important; padding: 4rem 1.5rem 3rem !important; }
  #ifr-hero::after { display: none !important; }
  .ifr-hero-right { display: none !important; }
  .ifr-leistungen-wrap, .ifr-schaden-wrap, .ifr-konditionen-header,
  .ifr-ablauf-wrap, .ifr-faq-wrap, .ifr-makler-grid, .ifr-infino-wrap {
    grid-template-columns: 1fr !important; gap: 2.5rem !important;
  }
  .ifr-cards-grid { grid-template-columns: 1fr !important; }
  .ifr-compare-row { grid-template-columns: 1fr 1fr !important; }
  .ifr-compare-cell:nth-child(2) { display: none !important; }
  #ifr-footer { flex-direction: column !important; gap: 1rem !important; text-align: center !important; }
  .ifr-trust-bar { padding: 1rem 1.5rem !important; gap: 1.25rem !important; }
  #ifr-legal { padding: 1.25rem 1.5rem !important; }
  .ifr-hero-stats { gap: 1.5rem !important; flex-wrap: wrap !important; }
}

/* ================================================================
   FIXES v2.1 — Spezifische Overrides für dunkle Sektionen
   ================================================================ */

/* H2 auf dunklem Hintergrund explizit weiß */
#ifr-makler h2,
#ifr-makler .ifr-h2-white,
#ifr-infino h2 {
  color: #ffffff !important;
}

/* Makler Intro Lead und Body auf dunklem BG */
#ifr-makler .ifr-lead {
  color: rgba(255,255,255,0.6) !important;
  max-width: none !important;
}

/* Section Tag auf dunklem BG bleibt orange — kein Fix nötig */

/* Vertreter-Spalte in Vergleichstabelle */
.ifr-compare-row:not(.ifr-compare-head) .ifr-compare-cell:nth-child(2) {
  color: rgba(255,255,255,0.45) !important;
}

/* Schaden body-sm Abstand */
#ifr-schaden .ifr-body-sm {
  display: block !important;
  margin-top: 0.75rem !important;
}

/* Infino Sektion: Section Tag orange auf dunklem BG */
#ifr-infino .ifr-section-tag {
  color: #EF5E18 !important;
}

/* CTA Title explizit Navy */
.ifr-cta-title {
  color: #242A34 !important;
}


#ifr-nav .ifr-nav-cta,
#ifr-nav a.ifr-nav-cta {
  color: #ffffff !important;
  padding: 0.55rem 1.3rem !important;
  background: #EF5E18 !important;
}
#ifr-nav .ifr-nav-cta:hover,
#ifr-nav a.ifr-nav-cta:hover {
  background: #d45214 !important;
  color: #ffffff !important;
}/* End custom CSS */