/* SD Anfrage – mehrstufiges Formular. Leicht, seitengetreu. Teal #43938A / Orange #FF6F00.
   WICHTIG: Das SD-Theme stylt Buttons/Links aggressiv → wir panzern mit Reset + !important. */
.sd-anfrage{
  --sd-orange:#FF6F00; --sd-orange-d:#D8480A; --sd-teal:#43938A; --sd-teal-d:#2f6b64;
  --sd-tint:#eef6f5; --sd-ink:#2f3334; --sd-mut:#74807f; --sd-line:#dfe4e5; --sd-rad:12px;
  max-width:850px; margin:0 auto; color:var(--sd-ink);
  font-family:Roboto,system-ui,-apple-system,"Segoe UI",sans-serif; line-height:1.5;
}
.sd-anfrage *,.sd-anfrage *::before,.sd-anfrage *::after{box-sizing:border-box;}
[x-cloak]{display:none!important;}

/* Reset gegen Theme-Styles auf button/a */
.sd-anfrage button{font-family:inherit;margin:0;background:none;border:0;box-shadow:none!important;text-transform:none!important;letter-spacing:normal!important;}
.sd-anfrage a{text-decoration:none!important;box-shadow:none!important;}

/* Anruf-Zeile – dezent */
.sd-call{
  display:inline-flex!important;align-items:center;gap:9px;
  color:var(--sd-teal-d)!important;background:var(--sd-tint)!important;border:1px solid #d6e7e4!important;
  padding:9px 15px!important;border-radius:99px!important;margin-bottom:20px;font-size:.92rem;font-weight:600;
}
.sd-call__ico{width:19px!important;height:19px!important;color:var(--sd-teal)!important;flex:0 0 auto;}
.sd-call__txt{color:var(--sd-teal-d)!important;}
.sd-call__txt strong{color:var(--sd-teal-d)!important;white-space:nowrap;}

/* Fortschritt */
.sd-progress{height:5px;background:#edf0f0;border-radius:99px;overflow:hidden;}
.sd-progress__bar{height:100%;background:var(--sd-teal);border-radius:99px;transition:width .35s ease;}
.sd-step-meta{display:flex;justify-content:space-between;font-size:.8rem;color:var(--sd-mut);margin:9px 2px 20px;}
.sd-step-title{font-weight:600;color:var(--sd-teal-d);}

.sd-q{font-family:"Roboto Condensed",Roboto,sans-serif!important;font-size:1.35rem!important;line-height:1.25!important;font-weight:700!important;margin:0 0 4px!important;color:var(--sd-ink)!important;}
.sd-hint{font-size:.88rem;color:var(--sd-mut);margin:0 0 14px;}
.sd-opt{font-size:.72rem;font-weight:600;color:var(--sd-mut);}
.sd-req{color:var(--sd-orange-d);}
.sd-group{margin-bottom:20px;}
.sd-group:last-child{margin-bottom:0;}

/* Auswahl-Karten – leicht, weiß, Häkchen-Badge bei Auswahl */
.sd-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.sd-anfrage .sd-card{
  position:relative;cursor:pointer;background:#fff!important;border:1.5px solid var(--sd-line)!important;
  border-radius:var(--sd-rad)!important;padding:16px 10px!important;min-height:94px;width:100%;
  display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:9px;
  text-align:center;color:var(--sd-ink)!important;min-width:0;white-space:normal!important;transition:border-color .15s,background .15s;
}
.sd-card--sm{min-height:82px;}
.sd-anfrage .sd-card:hover{border-color:#bcd5d1!important;}
.sd-anfrage .sd-card.is-sel{border-color:var(--sd-teal)!important;border-width:2px!important;background:var(--sd-tint)!important;}
.sd-card__ico{width:44px!important;height:44px!important;object-fit:contain;}
.sd-card--sm .sd-card__ico{width:38px!important;height:38px!important;}
.sd-card__lbl{font-size:.95rem;font-weight:600;color:var(--sd-ink)!important;width:100%;white-space:normal!important;overflow-wrap:anywhere;word-break:break-word;hyphens:auto;-webkit-hyphens:auto;}
.sd-card__check{
  position:absolute;top:8px;right:8px;width:20px;height:20px;border-radius:50%;
  background:var(--sd-teal)!important;color:#fff!important;display:grid;place-items:center;
  opacity:0;transform:scale(.5);transition:.15s;
}
.sd-card__check svg{width:13px;height:13px;}
.sd-anfrage .sd-card.is-sel .sd-card__check{opacity:1;transform:scale(1);}

/* Chips – Mehrfachauswahl, klarer Aktiv-Zustand mit Häkchen */
.sd-chips{display:flex;flex-wrap:wrap;gap:9px;margin:4px 0 16px;}
.sd-anfrage .sd-chip{
  cursor:pointer;background:#fff!important;border:1.5px solid var(--sd-line)!important;color:var(--sd-ink)!important;
  border-radius:99px!important;padding:0 16px!important;min-height:44px;font-size:.95rem;font-weight:600;
  display:inline-flex!important;align-items:center;gap:6px;transition:.15s;
}
.sd-anfrage .sd-chip:hover{border-color:#bcd5d1!important;}
.sd-anfrage .sd-chip.is-sel{border-color:var(--sd-teal)!important;background:var(--sd-tint)!important;color:var(--sd-teal-d)!important;}
.sd-anfrage .sd-chip.is-sel::before{content:"✓";font-weight:700;color:var(--sd-teal);}

/* Felder */
.sd-field{display:block;margin-bottom:13px;}
.sd-label{display:block;font-size:.86rem;font-weight:600;margin-bottom:6px;color:var(--sd-ink);}
.sd-anfrage input,.sd-anfrage textarea{
  width:100%!important;border:1.5px solid var(--sd-line)!important;border-radius:10px!important;
  padding:12px 13px!important;font-size:1rem;font-family:inherit;color:var(--sd-ink)!important;background:#fff!important;
}
.sd-anfrage input:focus,.sd-anfrage textarea:focus{border-color:var(--sd-teal)!important;}
.sd-anfrage input.has-err{border-color:var(--sd-orange-d)!important;}
.sd-grid2{display:grid;grid-template-columns:1fr 1fr;gap:11px;}
.sd-field--plz{max-width:150px;}
.sd-err{display:block;color:#C0390B;font-size:.82rem;margin-top:5px;}

.sd-check{display:flex;gap:10px;align-items:flex-start;font-size:.88rem;margin:10px 0 2px;cursor:pointer;min-height:44px;}
.sd-check input{width:22px!important;height:22px!important;flex:0 0 22px;margin-top:1px;accent-color:var(--sd-teal);}
.sd-check.has-err span{color:var(--sd-orange-d);}
.sd-trust{margin:12px 0 2px;font-size:.82rem;color:var(--sd-mut);}
.sd-restored{font-size:.82rem;color:var(--sd-teal-d);background:var(--sd-tint);padding:8px 12px;border-radius:8px;margin:0 0 14px;}
.sd-reassure{display:flex;flex-wrap:wrap;gap:6px 16px;justify-content:center;margin:0 0 14px;font-size:.82rem;font-weight:600;color:var(--sd-teal-d);}
.sd-reassure span{display:inline-flex;align-items:center;gap:5px;}
.sd-reassure span::before{content:"✓";color:var(--sd-teal);font-weight:700;}
.sd-assure{list-style:none;margin:12px 0 2px;padding:0;}
.sd-assure li{position:relative;padding:4px 0 4px 24px;font-size:.86rem;color:var(--sd-ink);line-height:1.35;}
.sd-assure li::before{content:"✓";position:absolute;left:2px;top:4px;color:var(--sd-teal);font-weight:700;}

/* Honeypot */
.sd-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden;}

/* Navigation / Buttons */
.sd-nav{display:flex;gap:10px;margin-top:22px;}
.sd-anfrage .sd-btn{
  cursor:pointer;border:0;border-radius:10px!important;font-size:1rem;font-weight:700;
  padding:14px 22px!important;font-family:"Roboto Condensed",Roboto,sans-serif;transition:.15s;
  display:inline-flex;align-items:center;justify-content:center;width:auto;
}
.sd-anfrage .sd-btn:disabled{opacity:.4;cursor:not-allowed;}
.sd-anfrage .sd-btn--next,.sd-anfrage .sd-btn--send{background:var(--sd-orange)!important;color:#fff!important;flex:1;}
.sd-anfrage .sd-btn--next:not(:disabled):hover,.sd-anfrage .sd-btn--send:not(:disabled):hover{background:var(--sd-orange-d)!important;}
.sd-anfrage .sd-btn--ghost{background:#fff!important;border:1.5px solid var(--sd-line)!important;color:var(--sd-ink)!important;}
.sd-anfrage .sd-btn--call{background:var(--sd-teal)!important;color:#fff!important;}
.sd-formerr,.sd-pickhint{font-size:.88rem;font-weight:600;margin:12px 0 0;}
.sd-formerr{color:var(--sd-orange-d);}
.sd-pickhint{color:var(--sd-mut);font-weight:500;text-align:center;}

/* Erfolg */
.sd-done{text-align:center;padding:26px 16px;}
.sd-done__check{width:60px;height:60px;border-radius:50%;background:var(--sd-teal)!important;color:#fff!important;display:grid;place-items:center;margin:0 auto 14px;}
.sd-done__check svg{width:32px;height:32px;}
.sd-done h3{font-family:"Roboto Condensed",Roboto,sans-serif!important;font-size:1.4rem!important;margin:0 0 8px!important;color:var(--sd-ink)!important;}
.sd-done p{color:var(--sd-mut);margin:0 0 18px;}

/* Tastatur-Fokus klar sichtbar */
.sd-anfrage :is(.sd-card,.sd-chip,.sd-btn,.sd-call,input,textarea):focus-visible{outline:3px solid var(--sd-orange-d)!important;outline-offset:2px;}
.sd-anfrage :is(.sd-card,.sd-chip,.sd-btn):focus:not(:focus-visible){outline:none;}

/* Desktop */
@media (min-width:560px){
  .sd-cards{grid-template-columns:repeat(4,minmax(0,1fr));}
  .sd-cards--2{grid-template-columns:repeat(2,minmax(0,1fr));max-width:380px;}
  .sd-q{font-size:1.5rem!important;}
}

/* Reduzierte Bewegung */
@media (prefers-reduced-motion:reduce){
  .sd-anfrage *,.sd-anfrage *::before,.sd-anfrage *::after{transition:none!important;animation:none!important;}
}
