/* =====================================================================
   Innenglanz Funnel – gemeinsames Stylesheet
   Wird von angebot.html (eigene Seite) und von der Startseite genutzt.
   Zwei Modi: .igf-standalone (fixe Leiste unten) und .igf-inline (im Fluss).
   ===================================================================== */
.igf h1,.igf h2{font-family:'Montserrat',Arial,sans-serif}
.igf{--igf-navy:#0C3257;--igf-gold:#B59145;--igf-gold-hell:#C7A75F;--igf-grau:#8A94A6;
  --igf-line:#DCE3EA;--igf-panel:#F6F8FA;--igf-check:#2E7D32;--igf-radius:16px;
  font-family:'Montserrat',Arial,sans-serif;color:var(--igf-navy);line-height:1.6;text-align:left}
.igf *{box-sizing:border-box}
.igf button{font-family:inherit}
/* ---------- Kopf ---------- */
.igf-standalone .igf-kopf{position:sticky;top:0;z-index:20;background:#fff;border-bottom:1px solid var(--igf-line)}
.igf-inline .igf-kopf{background:transparent;border:none;padding:0}
.igf-inline .igf-kopf .igf-marke{display:none}
.igf-inline .igf-kopf-in{width:100%;justify-content:flex-end;padding:0}
.igf-kopf-in{width:min(680px,calc(100% - 32px));margin:0 auto;display:flex;align-items:center;
  justify-content:space-between;gap:12px;padding:12px 0}
.igf-inline{background:#fff;border-radius:20px;padding:24px 22px;box-shadow:0 18px 50px rgba(8,35,62,.28)}
@media(max-width:560px){.igf-inline{padding:20px 16px}}
.igf-marke{display:inline-flex;align-items:center;gap:10px;text-decoration:none;min-width:0}
.igf-marke img{height:34px;width:auto;flex:none}
.igf-marke .wort{font-size:16px;font-weight:800;letter-spacing:.2px;white-space:nowrap}
.igf-marke .wort .ig{color:var(--igf-navy)}
.igf-marke .wort .ort{color:var(--igf-gold);margin-left:5px}
.igf-preis-chip{flex:none;background:var(--igf-navy);color:#fff;border-radius:99px;padding:8px 16px;
  font-size:15px;font-weight:800;white-space:nowrap;transition:transform .18s ease}
.igf-preis-chip.igf-puls{transform:scale(1.08)}
.igf-preis-chip small{display:block;font-size:9.5px;font-weight:600;letter-spacing:.1em;
  text-transform:uppercase;color:var(--igf-gold-hell);line-height:1.2}

/* ---------- Fortschritt ---------- */
.igf-fort{width:min(680px,calc(100% - 32px));margin:0 auto;padding-top:16px}
.igf-inline .igf-fort{width:100%;padding-top:8px}
.igf-fort-bar{height:5px;border-radius:99px;background:var(--igf-line);overflow:hidden}
.igf-fort-bar i{display:block;height:100%;width:0;background:var(--igf-gold);border-radius:99px;transition:width .3s ease}
.igf-fort-txt{display:flex;justify-content:space-between;font-size:12.5px;font-weight:600;
  color:var(--igf-grau);margin-top:8px}
.igf-fort-txt b{color:var(--igf-navy)}

/* ---------- Schritte ---------- */
.igf-standalone .igf-main{flex:1;width:min(680px,calc(100% - 32px));margin:0 auto;padding:22px 0 130px}
.igf-inline .igf-main{padding:14px 0 0}
.igf-inline .igf-schritt{min-height:300px}
@media(max-width:560px){.igf-inline .igf-schritt{min-height:0}}
.igf-schritt{display:none}
.igf-schritt.igf-an{display:block;animation:rein .22s ease}
@keyframes rein{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.igf h1{font-size:clamp(22px,5.2vw,28px);font-weight:800;letter-spacing:-.01em;line-height:1.25;margin-bottom:6px}
.igf-unter{color:#3D5570;font-size:15px;margin-bottom:20px}

.igf-wahl{display:grid;gap:10px}
@media(min-width:560px){.igf-wahl.igf-zwei{grid-template-columns:1fr 1fr}}
.igf-opt{display:flex;align-items:center;gap:14px;width:100%;text-align:left;background:#fff;
  border:2px solid var(--igf-line);border-radius:var(--igf-radius);padding:16px 18px;cursor:pointer;
  transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}
.igf-opt:hover{border-color:var(--igf-gold)}
.igf-opt:focus-visible{outline:3px solid var(--igf-gold);outline-offset:3px}
.igf-opt.igf-an{border-color:var(--igf-navy);box-shadow:0 10px 26px rgba(12,50,87,.13)}
.igf-opt[disabled]{opacity:.45;cursor:default}
.igf-opt[disabled]:hover{border-color:var(--igf-line)}
.igf-opt .igf-haken{flex:none;width:24px;height:24px;border-radius:50%;border:2px solid var(--igf-line);
  display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;color:#fff}
.igf-opt.igf-an .igf-haken{background:var(--igf-navy);border-color:var(--igf-navy)}
.igf-opt .igf-txt{flex:1;min-width:0}
.igf-opt .igf-txt b{display:block;font-size:16px;font-weight:700;line-height:1.35}
.igf-opt .igf-txt small{display:block;font-size:13px;color:var(--igf-grau);font-weight:500;line-height:1.45;margin-top:1px}
.igf-opt .igf-zahl{flex:none;font-size:15px;font-weight:800;color:var(--igf-gold);white-space:nowrap}
.igf-opt.igf-an .igf-zahl{color:var(--igf-navy)}

/* ---------- Kalender ---------- */
.igf-xrow{display:flex;align-items:center;gap:14px;width:100%;text-align:left;background:#fff;
  border:2px solid var(--igf-line);border-radius:var(--igf-radius);padding:14px 16px;margin-bottom:9px;
  cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease}
.igf-xrow:hover{border-color:var(--igf-gold)}
.igf-xrow:focus-visible{outline:3px solid var(--igf-gold);outline-offset:3px}
.igf-xrow.igf-an{border-color:var(--igf-navy);box-shadow:0 8px 22px rgba(12,50,87,.12)}
.igf-xrow.igf-drin{border-style:dashed;cursor:default}
.igf-xrow.igf-drin:hover{border-color:var(--igf-line)}
.igf-xrow .igf-txt{flex:1 1 auto;min-width:0}
.igf-xrow .igf-txt b{display:block;font-size:15px;font-weight:700;line-height:1.35}
.igf-xrow .igf-txt small{display:block;font-size:12.5px;color:var(--igf-grau);font-weight:500;line-height:1.45;margin-top:2px}
.igf-xrow .igf-zahl{flex:none;font-size:14.5px;font-weight:800;color:var(--igf-gold);white-space:nowrap}
.igf-xrow.igf-an .igf-zahl{color:var(--igf-navy)}
.igf-xrow .igf-haken{flex:none}
@media(max-width:520px){
  /* Mit Mengenwahl bekommt die Zeile zwei Reihen, sonst wird der Text zerquetscht */
  .igf-xrow{gap:10px;padding:12px 13px;flex-wrap:wrap}
  .igf-xrow .igf-txt{flex:1 1 auto}
  .igf-xrow .igf-menge{order:3;margin-left:34px}
  .igf-xrow .igf-zahl{order:4;margin-left:auto}
  .igf-xrow .igf-txt b{font-size:14.5px}
  .igf-xrow .igf-txt small{font-size:11.5px}
  .igf-xrow .igf-zahl{font-size:13.5px}
  .igf-xrow .igf-zahl.igf-ok{font-size:11.5px;max-width:78px}
  .igf-menge{gap:6px}
  .igf-menge button{width:28px;height:28px;font-size:14px}
}
.igf-xrow .igf-zahl.igf-ok{color:var(--igf-check);font-size:12.5px;text-align:right;max-width:96px;line-height:1.3;white-space:normal}
.igf-menge{display:inline-flex;align-items:center;gap:8px;flex:none}
.igf-menge button{width:32px;height:32px;border-radius:9px;border:2px solid var(--igf-line);background:#fff;
  color:var(--igf-navy);font-size:16px;font-weight:800;line-height:1;cursor:pointer;padding:0}
.igf-menge button:hover{border-color:var(--igf-gold)}
.igf-menge b{min-width:14px;text-align:center;font-size:15px}
.igf-feldlabel{font-size:13.5px;font-weight:700;margin:20px 0 8px}
.igf-tagzeile{display:flex;align-items:center;gap:8px}
.igf-pfeil{flex:none;width:34px;height:34px;border-radius:10px;border:2px solid var(--igf-line);
  background:#fff;color:var(--igf-navy);font-size:17px;font-weight:800;line-height:1;cursor:pointer;padding:0}
.igf-pfeil:hover{border-color:var(--igf-gold)}
.igf-tage{flex:1 1 0;min-width:0;display:flex;gap:8px;overflow-x:auto;scroll-behavior:smooth;
  scrollbar-width:none;padding:2px 0}
.igf-tage::-webkit-scrollbar{display:none}
.igf-tag{flex:none;min-width:62px;border:2px solid var(--igf-line);border-radius:12px;padding:8px 6px;
  text-align:center;background:#fff;cursor:pointer;transition:all .15s ease}
.igf-tag .igf-wt{display:block;font-size:11.5px;font-weight:600;color:var(--igf-grau)}
.igf-tag .igf-dd{display:block;font-size:19px;font-weight:800;line-height:1.15}
.igf-tag .igf-mm{display:block;font-size:11px;color:var(--igf-grau)}
.igf-tag.igf-sa{border-color:rgba(181,145,69,.5)}
.igf-tag.igf-an{border-color:var(--igf-navy);background:rgba(12,50,87,.06)}
.igf-tag.igf-an .igf-wt,.igf-tag.igf-an .igf-mm{color:var(--igf-navy)}
.igf-tag[disabled]{opacity:.32;cursor:default}
.igf-tag.igf-flexi{min-width:92px;display:flex;align-items:center;justify-content:center;font-size:13.5px;font-weight:700}
.igf-legende{font-size:12.5px;color:var(--igf-grau);margin-top:8px;line-height:1.5}
.igf-legende b{color:var(--igf-gold)}
.igf-zeiten{display:grid;grid-template-columns:repeat(auto-fit,minmax(78px,1fr));gap:8px}
.igf-zeit{border:2px solid var(--igf-line);border-radius:11px;padding:11px 4px;background:#fff;
  font-size:14.5px;font-weight:700;color:var(--igf-navy);cursor:pointer;transition:all .15s ease}
.igf-zeit:hover{border-color:var(--igf-gold)}
.igf-zeit.igf-an{border-color:var(--igf-navy);background:rgba(12,50,87,.06)}
.igf-zeit.igf-flexi{grid-column:1/-1;font-size:13.5px}
.igf-notiz{font-size:12.5px;color:var(--igf-grau);margin-top:10px;line-height:1.55}
.igf-notiz b{color:var(--igf-navy)}

/* ---------- Felder ---------- */
.igf label.igf-f{display:block;font-size:13.5px;font-weight:700;margin:14px 0 6px}
.igf input,.igf select{width:100%;background:#fff;border:2px solid var(--igf-line);border-radius:12px;
  padding:14px 15px;font-family:inherit;font-size:16px;color:var(--igf-navy)}
.igf input:focus,.igf select:focus{outline:none;border-color:var(--igf-gold)}
.igf input::placeholder{color:#A9B4C0}
.igf-zustimmung{display:flex;gap:11px;align-items:flex-start;font-size:12.5px;color:#3D5570;
  line-height:1.55;margin-top:18px;cursor:pointer}
.igf-zustimmung input{width:auto;flex:none;margin-top:3px}
.igf-zustimmung a{color:var(--igf-gold);font-weight:700}

/* ---------- Zusammenfassung ---------- */
.igf-zus{background:#fff;border:2px solid var(--igf-navy);border-radius:var(--igf-radius);padding:20px;margin-top:6px}
.igf-zus .igf-z{display:flex;justify-content:space-between;gap:14px;font-size:14.5px;padding:9px 0;
  border-bottom:1px dashed var(--igf-line);color:#3D5570}
.igf-zus .igf-z:last-of-type{border-bottom:none}
.igf-zus .igf-z b{color:var(--igf-navy);text-align:right}
.igf-zus .igf-summe{display:flex;justify-content:space-between;align-items:baseline;
  border-top:2px solid var(--igf-navy);margin-top:10px;padding-top:12px}
.igf-zus .igf-summe span{font-size:13.5px;font-weight:700}
.igf-zus .igf-summe b{font-size:29px;font-weight:800;color:var(--igf-gold)}
.igf-zus .igf-rabatt{color:var(--igf-check)}
.igf-zus .igf-rabatt b{color:var(--igf-check)}

/* ---------- Vertrauen ---------- */
.igf-trust{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:18px;font-size:12.5px;
  color:var(--igf-grau);font-weight:600}
.igf-trust span::before{content:"\2713";color:var(--igf-check);font-weight:800;margin-right:6px}

/* ---------- Fußleiste ---------- */
.igf-standalone .igf-leiste{position:fixed;left:0;right:0;bottom:0;z-index:25;background:#fff;
  border-top:1px solid var(--igf-line);padding:12px 0 calc(12px + env(safe-area-inset-bottom))}
.igf-inline .igf-leiste{border-top:1px solid var(--igf-line);padding-top:16px;margin-top:18px}
.igf-leiste-in{width:min(680px,calc(100% - 32px));margin:0 auto;display:flex;gap:10px;align-items:center}
.igf-inline .igf-leiste-in{width:100%}
.igf-btn{flex:1;min-height:54px;border-radius:99px;border:2px solid transparent;font-size:16px;
  font-weight:700;cursor:pointer;transition:all .15s ease}
.igf-btn-zurueck{flex:0 0 auto;padding:0 20px;background:#fff;border-color:var(--igf-line);color:var(--igf-navy)}
.igf-btn-zurueck:hover{border-color:var(--igf-navy)}
.igf-btn-weiter{background:var(--igf-gold);color:#fff}
.igf-btn-weiter:hover{background:#9A7836}
.igf-btn-weiter[disabled]{background:#D9DEE4;color:#fff;cursor:default}
.igf-hinweis-leiste{font-size:12px;color:var(--igf-grau);text-align:center;margin-top:7px}
/* Einwilligungs-Banner darf die feste Leiste nicht verdecken */
#ig-consent{bottom:calc(108px + env(safe-area-inset-bottom))!important;left:14px!important;right:14px!important;max-width:none!important}

/* ---------- Abschluss ---------- */
.igf-fertig{background:#F4FAF5;border:2px solid var(--igf-check);border-radius:var(--igf-radius);padding:30px 24px;text-align:center}
.igf-fertig .igf-kreis{width:60px;height:60px;border-radius:50%;background:var(--igf-check);color:#fff;
  font-size:30px;font-weight:800;line-height:60px;margin:0 auto 16px}
.igf-fertig h2{font-size:23px;color:#1F5423;margin-bottom:10px}
.igf-fertig p{color:#2F5C36;font-size:15px;margin-bottom:12px}
.igf-fertig .igf-box{text-align:left;background:#fff;border:1px solid #CFE4D3;border-radius:12px;
  padding:16px 18px;font-size:14px;color:#2F5C36;margin:16px 0}
.igf-fertig .igf-box b{color:#1F5423}
.igf-fertig .igf-wa{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 24px;
  border-radius:99px;background:#25D366;color:#fff;font-weight:700;text-decoration:none;font-size:15px}

/* Adresse */
.igf-adr{display:grid;grid-template-columns:110px 1fr 96px;grid-template-areas:"str str nr" "plz ort ort";gap:12px}
.igf-adr-str{grid-area:str}.igf-adr-nr{grid-area:nr}.igf-adr-plz{grid-area:plz}.igf-adr-ort{grid-area:ort}
@media(min-width:560px){.igf-adr{grid-template-columns:2fr 90px 110px 1.4fr;grid-template-areas:"str nr plz ort"}}
.igf-adr input{width:100%}
.igf-fehler{display:none;background:#FDECEA;border:1px solid #F4B9B2;color:#8E2A22;border-radius:12px;padding:10px 14px;font-size:14px;line-height:1.5;margin-top:10px}
.igf-fehler div+div{margin-top:4px}
.igf-opt-txt{font-weight:500;color:var(--igf-grau)}

/* Felder immer weiß – auch bei Browser-Autofill und in dunklen Systemthemen */
.igf{color-scheme:light}
.igf input,.igf select,.igf textarea{background:#fff !important;color:var(--igf-navy)}
.igf input:-webkit-autofill,.igf input:-webkit-autofill:hover,.igf input:-webkit-autofill:focus,
.igf select:-webkit-autofill,.igf textarea:-webkit-autofill{
  -webkit-box-shadow:0 0 0 1000px #fff inset;box-shadow:0 0 0 1000px #fff inset;
  -webkit-text-fill-color:var(--igf-navy);caret-color:var(--igf-navy);transition:background-color 9999s ease-out}
.igf input:focus,.igf select:focus,.igf textarea:focus{background:#F5F8FC !important;border-color:var(--igf-gold)}
.igf input::placeholder,.igf textarea::placeholder{color:#A3AEBB;opacity:1}
