/* ============================================================
   ANFRAGESTRECKE · Lebens-Linie
   Ablage: /wp-content/themes/salient-child/anfragestrecke.css
   Eingebunden ueber functions.php des Child-Themes.
   Stand: 12. September 2026
   ============================================================ */

/* ============================================================
   ANFRAGESTRECKE · alles unter .ll-anfrage
   ============================================================ */

.ll-anfrage{
  --green:#90C84B;
  --green-soft:#E8F2D8;
  --green-dark:#467203;
  --green-hover:#355902;
  --ink:#333333;
  --ink-soft:#5A5A5A;
  --surface:#F5F5F5;
  --white:#FFFFFF;
  --line:#D9D9D9;
  --alert:#B3261E;
  --serif:'Merriweather',Georgia,'Times New Roman',serif;
  --sans:'Roboto','Helvetica Neue',Arial,sans-serif;

  font-family:var(--sans);
  font-size:18px;
  line-height:1.65;
  color:var(--ink);
  max-width:44rem;
  margin:0 auto;
  padding:0 1.25rem;
}
.ll-anfrage *,.ll-anfrage *::before,.ll-anfrage *::after{box-sizing:border-box;}

.ll-anfrage h1,.ll-anfrage h2,.ll-anfrage h3{
  font-family:var(--serif);font-weight:700;line-height:1.25;
  color:var(--green-dark);margin:0 0 .8rem;
}
.ll-anfrage h1{font-size:clamp(1.7rem,4vw,2.5rem);}
.ll-anfrage h2{font-size:clamp(1.3rem,2.8vw,1.75rem);}
.ll-anfrage h3{font-size:1.05rem;}
.ll-anfrage p{margin:0 0 1.1rem;}
.ll-anfrage a{color:var(--green-dark);text-decoration:underline;text-underline-offset:.15em;}
.ll-anfrage a:hover,.ll-anfrage a:focus-visible{color:var(--green-hover);}

/* ---------- Kopf ---------- */
.ll-anfrage__intro{margin-bottom:2rem;}
.ll-anfrage__lead{font-size:1.1rem;color:var(--ink-soft);}
.ll-anfrage__capacity{
  border-left:4px solid var(--green);
  background:var(--surface);
  padding:.85rem 1.1rem;
  font-size:.95rem;color:var(--ink-soft);
  margin:0 0 1.6rem;
}

/* ---------- Rahmen ---------- */
.ll-anfrage .ll-box{
  background:var(--white);
  border:1px solid var(--line);
  padding:clamp(1.4rem,4vw,2.1rem);
}

/* ---------- Fortschritt ---------- */
.ll-anfrage .ll-progress{
  height:4px;background:var(--surface);border-radius:2px;
  overflow:hidden;margin:0 0 .6rem;
}
.ll-anfrage .ll-progress__bar{
  display:block;height:100%;width:20%;
  background:var(--green-dark);
  transition:width .22s ease;
}
.ll-anfrage .ll-progress__label{
  font-size:.88rem;color:var(--ink-soft);
  margin:0 0 1.6rem;
}

/* ---------- Schritte ---------- */
.ll-anfrage .ll-fs{margin:0 0 2.4rem;}
.ll-anfrage .ll-fs:last-of-type{margin-bottom:0;}
.ll-anfrage--js .ll-fs{display:none;margin-bottom:0;}
.ll-anfrage--js .ll-fs.is-active{display:block;}
.ll-anfrage .ll-fs__head{margin-bottom:1.2rem;}
.ll-anfrage .ll-fs__hint{
  font-size:.9rem;color:var(--ink-soft);margin:.8rem 0 0;
}

/* ---------- Auswahlflaechen ---------- */
.ll-anfrage .ll-choice{display:block;}
.ll-anfrage .ll-choice .wpcf7-list-item{display:block;margin:0 0 .6rem;}
.ll-anfrage .ll-choice label{display:block;margin:0;cursor:pointer;font-weight:400;}
.ll-anfrage .ll-choice input[type=radio]{position:absolute;opacity:0;width:1px;height:1px;}
.ll-anfrage .ll-choice .wpcf7-list-item-label{
  display:block;padding:.95rem 1.1rem;font-size:1rem;line-height:1.4;
  border:1px solid #B9B9B9;border-radius:3px;background:var(--white);
  transition:background-color .12s ease,border-color .12s ease;
}
.ll-anfrage .ll-choice label:hover .wpcf7-list-item-label{
  border-color:var(--green-dark);background:var(--green-soft);
}
.ll-anfrage .ll-choice input[type=radio]:checked + .wpcf7-list-item-label{
  background:var(--green-dark);border-color:var(--green-dark);
  color:var(--white);font-weight:700;
}
.ll-anfrage .ll-choice input[type=radio]:focus-visible + .wpcf7-list-item-label{
  outline:3px solid var(--green-dark);outline-offset:2px;
}

/* ---------- Konditionen, Schritt 4 ---------- */
.ll-anfrage .ll-terms{display:grid;gap:1.2rem;margin:0 0 1.8rem;}
.ll-anfrage .ll-terms__item{
  border-left:4px solid var(--green);
  background:var(--surface);
  padding:1.2rem 1.2rem 1rem;
}
.ll-anfrage .ll-terms__item h3{margin-bottom:.25rem;}
.ll-anfrage .ll-terms__item p:last-child{margin-bottom:0;}
.ll-anfrage .ll-terms__meta{font-weight:700;color:var(--ink);font-size:.95rem;margin-bottom:.6rem;}
.ll-anfrage .ll-terms__sub{margin-top:1.6rem;}
.ll-anfrage .ll-terms__close{
  margin-top:1.6rem;padding-top:1.1rem;
  border-top:1px solid var(--line);
  font-weight:700;color:var(--green-dark);
}
.ll-anfrage .ll-prices{width:100%;border-collapse:collapse;margin:.4rem 0 0;font-size:1rem;}
.ll-anfrage .ll-prices th,.ll-anfrage .ll-prices td{
  text-align:left;padding:.6rem .75rem;border-bottom:1px solid var(--line);
}
.ll-anfrage .ll-prices th{font-weight:700;background:var(--surface);color:var(--green-dark);}
.ll-anfrage .ll-prices td:last-child,.ll-anfrage .ll-prices th:last-child{
  text-align:right;white-space:nowrap;
}

/* ---------- Eingabefelder, Schritt 5 ---------- */
.ll-anfrage .ll-field{margin-bottom:1.15rem;}
.ll-anfrage .ll-field label,.ll-anfrage .ll-legend{
  display:block;font-weight:700;font-size:.97rem;margin-bottom:.35rem;
}
.ll-anfrage .wpcf7-form-control.wpcf7-text,
.ll-anfrage .wpcf7-form-control.wpcf7-tel,
.ll-anfrage .wpcf7-form-control.wpcf7-email,
.ll-anfrage .wpcf7-form-control.wpcf7-textarea{
  width:100%;padding:.8rem .9rem;
  font-family:var(--sans);font-size:1rem;line-height:1.4;color:var(--ink);
  border:1px solid #B9B9B9;border-radius:3px;background:var(--white);
}
.ll-anfrage .wpcf7-form-control:focus{border-color:var(--green-dark);outline:none;}
.ll-anfrage .wpcf7-form-control.wpcf7-textarea{resize:vertical;min-height:5.5rem;}

.ll-anfrage .ll-slots{display:flex;flex-wrap:wrap;gap:.5rem;}
.ll-anfrage .ll-slots .wpcf7-list-item{margin:0;}
.ll-anfrage .ll-slots label{display:block;margin:0;cursor:pointer;font-weight:400;}
.ll-anfrage .ll-slots input[type=radio]{position:absolute;opacity:0;width:1px;height:1px;}
.ll-anfrage .ll-slots .wpcf7-list-item-label{
  display:inline-block;padding:.6rem 1rem;font-size:.95rem;
  border:1px solid #B9B9B9;border-radius:3px;background:var(--white);
}
.ll-anfrage .ll-slots input[type=radio]:checked + .wpcf7-list-item-label{
  background:var(--green-dark);border-color:var(--green-dark);color:var(--white);font-weight:700;
}
.ll-anfrage .ll-slots input[type=radio]:focus-visible + .wpcf7-list-item-label{
  outline:3px solid var(--green-dark);outline-offset:2px;
}

.ll-anfrage .ll-consent{font-size:.92rem;line-height:1.5;margin:0 0 1.3rem;}
.ll-anfrage .ll-consent .wpcf7-list-item{margin:0;}
.ll-anfrage .ll-consent label{display:flex;gap:.7rem;align-items:flex-start;font-weight:400;}
.ll-anfrage .ll-consent input[type=checkbox]{margin-top:.28rem;width:1.1rem;height:1.1rem;flex:none;}
.ll-anfrage .ll-promise{font-size:.93rem;color:var(--ink-soft);margin:1rem 0 0;}

/* ---------- Schaltflaechen ---------- */
.ll-anfrage .ll-nav{
  display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;
  margin-top:1.8rem;padding-top:1.4rem;border-top:1px solid var(--line);
}
.ll-anfrage .nectar-button.ll-btn,
.ll-anfrage .wpcf7-form-control.wpcf7-submit{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:54px;padding:.85rem 1.6rem;
  font-family:var(--sans);font-size:1.02rem;font-weight:700;line-height:1.2;
  border:2px solid var(--green-dark);border-radius:3px;
  text-decoration:none;cursor:pointer;
  transition:background-color .15s ease,border-color .15s ease,color .15s ease;
}
.ll-anfrage .ll-btn--solid,
.ll-anfrage .wpcf7-form-control.wpcf7-submit{background:var(--green-dark);color:var(--white);}
.ll-anfrage .ll-btn--solid:hover,.ll-anfrage .ll-btn--solid:focus-visible,
.ll-anfrage .wpcf7-form-control.wpcf7-submit:hover,
.ll-anfrage .wpcf7-form-control.wpcf7-submit:focus-visible{
  background:var(--green-hover);border-color:var(--green-hover);color:var(--white);text-decoration:none;
}
.ll-anfrage .ll-btn--ghost{background:transparent;color:var(--green-dark);}
.ll-anfrage .ll-btn--ghost:hover,.ll-anfrage .ll-btn--ghost:focus-visible{
  background:var(--green-dark);color:var(--white);text-decoration:none;
}
.ll-anfrage :focus-visible{outline:3px solid var(--green-dark);outline-offset:3px;}

/* ---------- Meldungen ---------- */
.ll-anfrage .ll-error{
  margin:1rem 0 0;padding:.8rem 1rem;
  border:1px solid var(--alert);border-radius:3px;
  color:var(--alert);font-size:.94rem;
}
.ll-anfrage .wpcf7-not-valid-tip{color:var(--alert);font-size:.88rem;margin-top:.3rem;}
.ll-anfrage .wpcf7-response-output{
  margin:1.2rem 0 0;padding:.9rem 1rem;border-radius:3px;
  border:1px solid var(--green-dark);font-size:.95rem;
}
.ll-anfrage .wpcf7-form.invalid .wpcf7-response-output,
.ll-anfrage .wpcf7-form.failed .wpcf7-response-output{border-color:var(--alert);color:var(--alert);}
.ll-anfrage .wpcf7-spinner{display:block;margin:.6rem 0 0;}

/* ---------- Telefonweg ---------- */
.ll-anfrage__phone{
  margin-top:2rem;padding-top:1.6rem;border-top:1px solid var(--line);
  font-size:.95rem;color:var(--ink-soft);
}
.ll-anfrage__phone strong{color:var(--ink);}

/* ---------- CF7-Eigenheiten glaetten ---------- */
.ll-anfrage .wpcf7-form p{margin:0;}
.ll-anfrage .wpcf7-form-control-wrap{display:block;}

@media (max-width:560px){
  .ll-anfrage{font-size:17px;}
  .ll-anfrage .ll-nav{flex-direction:column-reverse;align-items:stretch;}
  .ll-anfrage .nectar-button.ll-btn,
  .ll-anfrage .wpcf7-form-control.wpcf7-submit{width:100%;}
}

@media (prefers-reduced-motion:reduce){
  .ll-anfrage *{transition:none !important;}
}

/* ============================================================
   LISTEN-RESET
   Salient und WPBakery setzen Listenmarker ueber Selektoren
   wie body .container-wrap ul li. Die doppelte Klasse hebt
   die Spezifitaet und schlaegt das Theme, ohne ID-Selektor.
   Muss der letzte Block im Stylesheet bleiben.
   ============================================================ */
.ll-anfrage.ll-anfrage ul,
.ll-anfrage.ll-anfrage ol,
.ll-anfrage.ll-anfrage ul li,
.ll-anfrage.ll-anfrage ol li{
  list-style:none !important;
  list-style-type:none !important;
  list-style-image:none !important;
  list-style-position:outside !important;
}
.ll-anfrage.ll-anfrage ul,
.ll-anfrage.ll-anfrage ol{
  margin-left:0 !important;
  padding-left:0 !important;
}
.ll-anfrage.ll-anfrage li::marker{content:"" !important;}
