
.fb24p100-breakout{position:relative!important;left:auto!important;right:auto!important;margin-left:0!important;margin-right:0!important;width:100vw!important;max-width:none!important;overflow:hidden!important}
.fb24p100{font-family:Arial,Helvetica,sans-serif;color:#111;background:#fff;line-height:1.4}
.fb24p100 *{box-sizing:border-box}
.fb24p100 h1,.fb24p100 h2,.fb24p100 h3{font-family:Georgia,"Times New Roman",serif;color:#073b68}
.fb24p100-wrap{width:min(1240px,92vw);margin:0 auto}
.fb24p100 .rule{width:44px;height:2px;background:#6ca2cf;margin:9px auto 32px}
.fb24p100 section h2{text-align:center;font-size:35px;line-height:1.12;margin:0;font-weight:500}

/* HERO */
.fb24p100-hero{height:470px;position:relative;background-image:var(--hero);background-size:cover;background-position:center 50%}
.fb24p100-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#fcf9f2 0%,#fcf9f2 20%,rgba(252,249,242,.96) 29%,rgba(252,249,242,.68) 40%,rgba(252,249,242,.18) 56%,rgba(252,249,242,0) 70%)}
.fb24p100-hero:after{content:"";position:absolute;left:-3%;right:-3%;bottom:-56px;height:112px;background:#fff;border-radius:50% 50% 0 0/100% 100% 0 0}
.fb24p100-hero-copy{position:relative;z-index:2;width:min(1240px,92vw);margin:0 auto;padding-top:48px}
.fb24p100-hero-copy>*{max-width:520px}
.fb24p100-hero h1{font-size:55px;line-height:1.02;font-weight:500;margin:0 0 18px;background:transparent;padding:0}
.fb24p100-hero p{font-size:16px;line-height:1.55;margin:0 0 22px}
.fb24p100-btn{display:inline-flex!important;align-items:center;gap:10px;background:#073b68;color:#fff!important;text-decoration:none!important;padding:14px 20px;border-radius:7px;font-weight:700;font-size:14px}

/* LIFE */
.fb24p100-life{padding:92px 0 58px}
.life-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.life-grid article{text-align:center;padding:0 34px;position:relative}
.life-grid article:not(:last-child):after{content:"";position:absolute;top:42px;right:0;width:1px;height:112px;background:#ddd}
.life-grid svg,.card-grid svg{width:56px;height:56px;fill:none;stroke:#004d94;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.life-grid h3{font-family:Arial,Helvetica,sans-serif!important;color:#093b6e!important;font-size:17px;margin:9px 0 13px}
.life-grid p{font-size:14px;line-height:1.5;margin:0}

/* PRODUCTS */
.fb24p100-products{padding:38px 0 42px;background:linear-gradient(#fffaf2,#fff6e8)}
.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.card-grid article{display:grid;grid-template-columns:82px 1fr;gap:17px;align-items:center;background:rgba(255,255,255,.94);border:1px solid #dfd4c6;border-radius:12px;padding:22px 24px;min-height:158px}
.card-grid h3{font-size:20px;color:#171717!important;margin:0 0 8px}
.card-grid p{font-size:13.5px;line-height:1.46;margin:0 0 9px}
.card-grid a{color:#004d94;text-decoration:none;font-weight:700;font-size:13px}

/* BOTTOM */
.fb24p100-bottom{padding:42px 0 54px}
.bottom-grid{display:grid;grid-template-columns:1.08fr .76fr 1.48fr;gap:30px;align-items:stretch}
.advice-img img{width:100%;height:100%;min-height:330px;object-fit:cover;border-radius:14px;display:block}
.advice-copy{padding:10px 0}
.advice-copy h2{text-align:left!important;font-size:30px!important;margin-bottom:17px!important}
.advice-copy p{font-size:14px;line-height:1.6}
.advice-copy ul{list-style:none;padding:0;margin:17px 0 0}
.advice-copy li{font-size:14px;margin:10px 0}
.advice-copy li:before{content:"✓";display:inline-grid;place-items:center;width:19px;height:19px;border:1.8px solid #0960a6;border-radius:50%;color:#0960a6;margin-right:9px;font-size:11px;font-weight:800}
.form-card{border:1px solid #ded7cc;border-radius:14px;padding:24px 28px;background:#fff}
.form-card h2{text-align:left!important;font-size:28px!important;margin-bottom:16px!important}
.placeholder{border:1px dashed #aaa;padding:30px;text-align:center;border-radius:8px}

/* Forminator */
.form-card .forminator-ui.forminator-custom-form{margin:0!important}
.form-card .forminator-row{margin-bottom:11px!important}
.form-card .forminator-label{font-size:12px!important;font-weight:700!important;color:#111!important}
.form-card input:not([type=checkbox]):not([type=radio]),.form-card select,.form-card textarea,.form-card .select2-selection{border:1px solid #bfc4ca!important;border-radius:4px!important;background:#fff!important;min-height:36px!important}
.form-card .forminator-button-submit{background:#073b68!important;color:#fff!important;border-radius:6px!important;padding:11px 19px!important;font-weight:700!important}

/* Optional plugin footer – same language as the existing Finanzbedarf24 site footer */
.fb24p100-footer{background:#073452;color:#fff;padding:34px 0}
.fb24p100-footer-grid{display:grid;grid-template-columns:1fr 1.35fr 1fr;gap:32px;align-items:center}
.fb24p100-footer-brand{font-size:28px;font-weight:700;line-height:1;color:#fff}
.fb24p100-footer-brand span{color:#1a95dd}
.fb24p100-footer-brand small{display:block;font-size:8px;letter-spacing:1.2px;font-weight:400;margin-top:6px;opacity:.8}
.fb24p100-footer p{margin:0;font-size:13px;line-height:1.55;color:#fff}
.fb24p100-footer nav{text-align:right;white-space:nowrap}
.fb24p100-footer nav a{color:#fff;text-decoration:underline;font-size:13px}
.fb24p100-footer nav span{margin:0 6px;color:rgba(255,255,255,.65)}

/* Do not cover / displace the theme footer */
.fb24p100-breakout + *{clear:both}

@media(max-width:900px){
  .fb24p100-hero{height:500px;background-position:60% center}
  .fb24p100-hero h1{font-size:44px}
  .fb24p100-hero-copy>*{max-width:58%}
  .life-grid{grid-template-columns:repeat(2,1fr);gap:34px 0}
  .life-grid article:nth-child(2):after{display:none}
  .card-grid{grid-template-columns:1fr 1fr}
  .bottom-grid{grid-template-columns:1fr 1fr}
  .form-card{grid-column:1/-1}
  .fb24p100-footer-grid{grid-template-columns:1fr;text-align:center}
  .fb24p100-footer nav{text-align:center}
}
@media(max-width:620px){
  .fb24p100-hero{height:540px;background-position:68% center}
  .fb24p100-hero:before{background:linear-gradient(90deg,rgba(252,249,242,.99),rgba(252,249,242,.88) 72%,rgba(252,249,242,.35))}
  .fb24p100-hero-copy>*{max-width:88%}
  .fb24p100-hero h1{font-size:37px}
  .life-grid,.card-grid,.bottom-grid{grid-template-columns:1fr}
  .life-grid article:after{display:none!important}
  .fb24p100-wrap,.fb24p100-hero-copy{width:min(94vw,1240px)}
}


/* ===== V6 FINETUNING ===== */
.fb24p100-hero{
  height:445px;
  background-position:center 48%;
}
.fb24p100-hero:before{
  background:linear-gradient(90deg,
    #fcf9f2 0%,
    #fcf9f2 24%,
    rgba(252,249,242,.985) 32%,
    rgba(252,249,242,.80) 43%,
    rgba(252,249,242,.26) 57%,
    rgba(252,249,242,0) 69%);
}
.fb24p100-hero:after{
  bottom:-44px;
  height:88px;
}
.fb24p100-hero-copy{
  padding-top:40px;
}
.fb24p100-hero h1{
  font-size:52px;
  line-height:1.01;
  margin-bottom:16px;
}
.fb24p100-hero p{
  font-size:15.5px;
  line-height:1.5;
  max-width:500px;
}
.fb24p100-life{
  padding-top:76px;
}
.fb24p100-life .fb24p100-wrap{
  width:min(1280px,93vw);
}
.life-grid article{
  padding-left:38px;
  padding-right:38px;
}
.life-grid svg,.card-grid svg{
  width:60px;
  height:60px;
}
.life-grid h3{
  font-size:17.5px;
}
.life-grid p{
  font-size:14px;
}
.fb24p100-products{
  padding-top:34px;
}
.fb24p100-products h2{
  background:transparent!important;
}
.card-grid article{
  min-height:168px;
  padding:24px 26px;
  grid-template-columns:88px 1fr;
}
.card-grid h3{
  font-size:20.5px;
}
.card-grid p{
  font-size:13.8px;
}
.fb24p100-bottom{
  padding-bottom:50px;
}

/* Footer closely matching Gewerbe footer reference */
.fb24p100-footer{
  background:#123a58;
  color:#fff;
  padding:34px 0 36px;
  margin-top:0;
}
.fb24p100-footer-grid{
  width:min(1640px,96vw);
  display:grid;
  grid-template-columns:1.05fr 1.25fr 1fr;
  gap:42px;
  align-items:center;
}
.fb24p100-footer-brand{
  display:flex;
  align-items:center;
  gap:16px;
  font-size:32px;
  font-weight:700;
  color:#fff;
}
.fb24p100-footer-brand .fb24p100-mark{
  width:74px;
  height:58px;
  display:grid;
  place-items:center;
  font-family:Arial,Helvetica,sans-serif;
  font-style:italic;
  font-weight:900;
  font-size:34px;
  line-height:1;
  color:#fff;
  border-left:8px solid #fff;
  border-bottom:8px solid #1696df;
  transform:skew(-7deg);
}
.fb24p100-footer-brand strong{
  font-family:Arial,Helvetica,sans-serif;
  font-size:31px;
  letter-spacing:-.6px;
}
.fb24p100-footer-brand span{
  color:#1d9bdd;
}
.fb24p100-footer-brand small{
  display:block;
  margin-top:5px;
  font-size:8px;
  letter-spacing:2px;
  font-weight:400;
  opacity:.82;
}
.fb24p100-footer p{
  margin:0;
  font-size:13px;
  line-height:1.55;
  color:#fff;
  max-width:560px;
}
.fb24p100-footer nav{
  text-align:right;
  white-space:nowrap;
}
.fb24p100-footer nav a{
  color:#fff!important;
  text-decoration:underline;
  font-size:13px;
}
.fb24p100-footer nav span{
  margin:0 4px;
  color:rgba(255,255,255,.72);
}

@media(max-width:900px){
  .fb24p100-footer-grid{
    width:min(92vw,1280px);
    grid-template-columns:1fr;
    gap:18px;
    text-align:center;
  }
  .fb24p100-footer-brand{
    justify-content:center;
  }
  .fb24p100-footer p{
    margin:0 auto;
  }
  .fb24p100-footer nav{
    text-align:center;
  }
}


/* ===== V8: austauschbares Footer-Logo – sonst keine Layoutänderung ===== */
.fb24p100-footer-brand{
  min-width:0;
}
.fb24p100-footer-logo{
  display:block!important;
  width:auto!important;
  height:auto!important;
  max-width:310px!important;
  max-height:74px!important;
  object-fit:contain!important;
  object-position:left center!important;
}
.fb24p100-footer-fallback{
  display:flex;
  align-items:center;
  gap:16px;
}
@media(max-width:900px){
  .fb24p100-footer-logo{
    margin-left:auto!important;
    margin-right:auto!important;
    object-position:center center!important;
  }
  .fb24p100-footer-fallback{
    justify-content:center;
  }
}


/* ===== V9: Footer-Logo ca. 40 % größer; sonst identisch zu V8 ===== */
.fb24p100-footer-logo{
  max-width:435px!important;
  max-height:104px!important;
}
@media(max-width:900px){
  .fb24p100-footer-logo{
    max-width:min(435px,90vw)!important;
    max-height:104px!important;
  }
}

/* ===== V11: Formular-Optimierung – restliches Seitendesign unverändert ===== */
@media (min-width: 1100px){
  .fb24p100-bottom .fb24p100-wrap{
    width:min(1380px,94vw);
  }
  .fb24p100-bottom .bottom-grid{
    grid-template-columns:1fr .78fr 1.72fr;
    gap:32px;
  }
}

.form-card{
  padding:28px 30px;
}
.form-card h2{
  line-height:1.08!important;
  margin-bottom:20px!important;
}

/* Forminator: ruhigere, hochwertigere Eingabeflächen */
.form-card .forminator-ui.forminator-custom-form{
  margin:0!important;
}
.form-card .forminator-row{
  margin-bottom:14px!important;
}
.form-card .forminator-field{
  margin:0!important;
}
.form-card .forminator-label{
  display:block!important;
  margin-bottom:6px!important;
  font-size:12.5px!important;
  line-height:1.35!important;
  font-weight:700!important;
  color:#17364f!important;
}
.form-card input:not([type=checkbox]):not([type=radio]),
.form-card select,
.form-card textarea,
.form-card .select2-selection{
  width:100%!important;
  border:1px solid #c8d0d6!important;
  border-radius:6px!important;
  background:#fff!important;
  min-height:42px!important;
  padding:9px 11px!important;
  box-shadow:none!important;
  font-size:13px!important;
}
.form-card textarea{
  min-height:88px!important;
  resize:vertical!important;
}
.form-card input:focus,
.form-card select:focus,
.form-card textarea:focus{
  border-color:#2d79ad!important;
  box-shadow:0 0 0 2px rgba(45,121,173,.10)!important;
  outline:none!important;
}

/* Checkboxen der Versicherungen kompakt in zwei Spalten */
.form-card .forminator-checkbox__wrapper,
.form-card .forminator-field-checkbox .forminator-checkbox__wrapper{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  column-gap:18px!important;
  row-gap:8px!important;
}
.form-card .forminator-checkbox{
  margin:0!important;
  line-height:1.35!important;
}
.form-card .forminator-checkbox-label{
  font-size:12.5px!important;
  color:#253746!important;
}

/* Datenschutz kompakter */
.form-card .forminator-consent,
.form-card .forminator-field-consent{
  font-size:12px!important;
  line-height:1.4!important;
}
.form-card .forminator-consent__label p,
.form-card .forminator-description{
  margin-top:5px!important;
  font-size:11.5px!important;
  line-height:1.4!important;
}

/* CTA klarer und über die Formularbreite */
.form-card .forminator-button-submit{
  width:100%!important;
  min-height:44px!important;
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  background:#073b68!important;
  color:#fff!important;
  border:0!important;
  border-radius:7px!important;
  padding:12px 20px!important;
  font-size:13px!important;
  font-weight:700!important;
  box-shadow:none!important;
  transition:background .18s ease,transform .18s ease!important;
}
.form-card .forminator-button-submit:hover{
  background:#0a4c82!important;
  transform:translateY(-1px);
}

@media(max-width:1099px){
  .form-card{padding:26px 28px;}
}
@media(max-width:620px){
  .form-card{padding:22px 18px;}
  .form-card .forminator-checkbox__wrapper,
  .form-card .forminator-field-checkbox .forminator-checkbox__wrapper{
    grid-template-columns:1fr!important;
  }
}


/* ===== V11.2: Abschlussbereich breiter + Beratungsbild schärfer =====
   Nur der untere Beratungs-/Formularbereich wird angepasst. */
@media (min-width:1100px){
  .fb24p100-bottom .fb24p100-wrap{
    width:min(1510px,96vw);
  }
  .fb24p100-bottom .bottom-grid{
    grid-template-columns:minmax(360px,1.12fr) minmax(280px,.82fr) minmax(560px,1.62fr);
    gap:34px;
    align-items:start;
  }
  .fb24p100-bottom .advice-img{
    align-self:start;
  }
  .fb24p100-bottom .advice-img img{
    width:100%;
    height:auto;
    min-height:0;
    aspect-ratio:420/310;
    object-fit:cover;
    object-position:center center;
    border-radius:14px;
  }
  .fb24p100-bottom .form-card{
    min-width:0;
  }
}

/* Auf kleineren Desktops ebenfalls kein unnötiges vertikales Hochskalieren. */
@media (min-width:621px) and (max-width:1099px){
  .fb24p100-bottom .advice-img img{
    height:auto;
    min-height:0;
    aspect-ratio:420/310;
    object-fit:cover;
  }
}

/* ===== Privathaftpflicht: gleiche Struktur wie Privat-Plugin, Info-Karte statt Formular ===== */
.fb24ph-info-card p{font-size:14px;line-height:1.6;margin:0 0 20px}
.fb24ph-scenarios{display:grid;gap:10px;font-size:13.5px;line-height:1.45}
.fb24ph-scenarios strong{color:#093b6e;font-size:15px;margin-bottom:2px}
.fb24ph-scenarios span{position:relative;padding-left:26px}
.fb24ph-scenarios span:before{content:"✓";position:absolute;left:0;top:0;display:inline-grid;place-items:center;width:18px;height:18px;border:1.6px solid #0960a6;border-radius:50%;color:#0960a6;font-size:10px;font-weight:800}

/* ===== Unfallversicherung: kompakte Info-Karte kompakt im 2x2-Raster ===== */
.fb24uv-info-card > p{
  font-size:14px;
  line-height:1.58;
  margin:0 0 18px;
}
.fb24uv-scenario-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.fb24uv-scenario-grid article{
  display:grid;
  grid-template-columns:44px minmax(0,1fr);
  gap:11px;
  align-items:start;
  padding:14px 14px 13px;
  border:1px solid #dde2e6;
  border-radius:10px;
  background:#fbfcfd;
}
.fb24uv-scenario-grid svg{
  width:34px;
  height:34px;
  color:#0b5b94;
}
.fb24uv-scenario-grid h3{
  margin:0 0 5px;
  color:#0a3f6c;
  font-family:Georgia, 'Times New Roman', serif;
  font-size:17px;
  line-height:1.15;
}
.fb24uv-scenario-grid p{
  margin:0;
  color:#253746;
  font-size:12.7px;
  line-height:1.45;
}
@media(max-width:620px){
  .fb24uv-scenario-grid{grid-template-columns:1fr;}
}

/* ===== v1.0.1: untere Unfall-Überschriften transparent ===== */
.fb24uv-scenario-grid h3,
.fb24uv-scenario-grid article h3{
  background:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  border:0!important;
  border-radius:0!important;
  padding:0!important;
  min-height:0!important;
  width:auto!important;
  display:block!important;
}
.fb24uv-scenario-grid h3::before,
.fb24uv-scenario-grid h3::after{
  background:none!important;
  background-image:none!important;
  box-shadow:none!important;
}

/* ===== v1.0.1: kompakte FAQs ===== */
.fb24uv-faq{
  padding:44px 0 54px;
  background:#fff;
}
.fb24uv-faq .fb24p100-wrap{
  width:min(1120px,92vw);
}
.fb24uv-faq h2{
  text-align:center!important;
  font-size:32px!important;
  line-height:1.15!important;
  margin:0 0 10px!important;
  padding:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.fb24uv-faq .rule{
  margin-bottom:24px;
}
.fb24uv-faq-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px 16px;
}
.fb24uv-faq details{
  border:1px solid #ddd7cf;
  border-radius:10px;
  background:#fff;
  overflow:hidden;
}
.fb24uv-faq summary{
  position:relative;
  list-style:none;
  cursor:pointer;
  padding:16px 46px 16px 18px;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:16px;
  line-height:1.35;
  font-weight:700;
  color:#17364f;
  background:transparent!important;
  box-shadow:none!important;
}
.fb24uv-faq summary::-webkit-details-marker{display:none}
.fb24uv-faq summary::after{
  content:"+";
  position:absolute;
  right:18px;
  top:50%;
  transform:translateY(-50%);
  color:#17364f;
  font-size:21px;
  font-weight:400;
}
.fb24uv-faq details[open] summary::after{content:"−"}
.fb24uv-faq-answer{
  padding:0 18px 17px;
  font-size:14px;
  line-height:1.58;
  color:#334854;
}
@media(max-width:700px){
  .fb24uv-faq{padding:36px 0 44px}
  .fb24uv-faq h2{font-size:27px!important}
  .fb24uv-faq-grid{grid-template-columns:1fr}
  .fb24uv-faq summary{font-size:15px;padding:14px 42px 14px 16px}
  .fb24uv-faq-answer{padding:0 16px 15px;font-size:13.5px}
}

/* ===== v1.0.2: FAQ-Karten unabhängig voneinander öffnen ===== */
.fb24uv-faq-grid{
  align-items:start!important;
}
.fb24uv-faq-grid details{
  align-self:start!important;
  height:auto!important;
  min-height:0!important;
}
