/* Formular und Hilfsseiten – nutzt die Theme-Variablen, mit Ersatzwerten für fremde Themes */
.immohh-formular{--f-hanse:var(--hanse,#1E3A5C);--f-klinker:var(--klinker,#8E3A2C);--f-ink:var(--ink,#18222E);--f-elbe:var(--elbe,#5E6E73);--f-rule:var(--rule,#D5DBDD);--f-field:var(--field,#9AA7AB);--f-white:var(--white,#fff);
  background:var(--f-white);border:1px solid var(--f-rule);border-top:4px solid var(--f-hanse);padding:1.75rem 1.5rem 1.5rem;scroll-margin-top:1rem;color:var(--f-ink)}
@media (min-width:500px){.immohh-formular{padding:2rem 2rem 1.75rem}}
.immohh-formular h2{font-size:1.45rem;margin:0 0 .35rem;max-width:none}
.immohh-formular .hinweis{color:var(--f-elbe);font-size:.92rem;margin-bottom:1rem}
.immohh-formular .fortschritt{height:4px;background:var(--f-rule);margin:0 0 .5rem;display:none}
.immohh-formular .fortschritt span{display:block;height:100%;width:20%;background:var(--f-hanse);transition:width .25s ease}
.immohh-formular .schritt-anzeige{font-size:.85rem;color:var(--f-elbe);margin:0 0 1.2rem;display:none}
.immohh-formular.stufen .fortschritt,.immohh-formular.stufen .schritt-anzeige{display:block}
@media (prefers-reduced-motion:reduce){.immohh-formular .fortschritt span{transition:none}}
.immohh-formular fieldset{border:0;margin:0 0 1.5rem;padding:0;min-width:0}
.immohh-formular.stufen fieldset.schritt{display:none;margin-bottom:1rem}
.immohh-formular.stufen fieldset.schritt.aktiv{display:block}
.immohh-formular legend{font-family:var(--serif,Georgia,serif);font-weight:600;font-size:1.12rem;padding:0;margin-bottom:.9rem;line-height:1.3}
.immohh-formular .feld{margin-bottom:.95rem}
.immohh-formular .feld label,.immohh-formular .feld-titel{display:block;font-weight:600;font-size:.95rem;margin-bottom:.3rem}
.immohh-formular .feld-titel{margin-top:.2rem}
.immohh-formular .optional{font-weight:400;color:var(--f-elbe)}
.immohh-formular .feld-hinweis{font-size:.86rem;color:var(--f-elbe);margin:.35rem 0 0;line-height:1.45}
.immohh-formular .paar{display:grid;grid-template-columns:1fr 1fr;gap:0 .9rem}
.immohh-formular input[type=text],.immohh-formular input[type=email],.immohh-formular input[type=tel],.immohh-formular input[type=number],.immohh-formular select{width:100%;font:inherit;font-size:1rem;color:var(--f-ink);background:var(--f-white);border:1px solid var(--f-field);border-radius:var(--radius,2px);padding:.62rem .7rem;min-height:2.85rem}
.immohh-formular select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--f-ink) 50%),linear-gradient(135deg,var(--f-ink) 50%,transparent 50%);background-position:calc(100% - 1.15rem) 1.2rem,calc(100% - .8rem) 1.2rem;background-size:.35rem .35rem;background-repeat:no-repeat;padding-right:2.2rem}
.immohh-formular input:focus,.immohh-formular select:focus{border-color:var(--f-hanse);outline:3px solid rgba(30,58,92,.25);outline-offset:0}
.immohh-formular [aria-invalid=true]{border-color:var(--f-klinker)}
.immohh-formular .wahl{display:grid;gap:.5rem;margin-bottom:1rem}
@media (min-width:500px){.immohh-formular .wahl{grid-template-columns:repeat(2,minmax(0,1fr))}}
.immohh-formular .wahl-feld{min-width:0;display:flex;align-items:center;gap:.65rem;border:1px solid var(--f-field);border-radius:var(--radius,2px);padding:.75rem .8rem;cursor:pointer;font-size:.98rem;line-height:1.3;min-height:3.1rem}
.immohh-formular .wahl-feld:hover{border-color:var(--f-hanse)}
.immohh-formular .wahl-feld input{accent-color:var(--f-hanse);width:1.1rem;height:1.1rem;margin:0;flex:0 0 auto}
.immohh-formular .wahl-feld:has(input:checked){border-color:var(--f-hanse);box-shadow:inset 0 0 0 1px var(--f-hanse);background:rgba(30,58,92,.04)}
.immohh-formular .wahl-feld:has(input:focus-visible){outline:3px solid var(--f-hanse);outline-offset:2px}
.immohh-formular .einwilligung{display:grid;grid-template-columns:1.3rem 1fr;gap:.6rem;align-items:start;font-size:.88rem;line-height:1.5;margin:.6rem 0 .4rem}
.immohh-formular .einwilligung input{width:1.2rem;height:1.2rem;margin:.15rem 0 0;accent-color:var(--f-hanse)}
.immohh-formular .formular-knoepfe{display:flex;gap:.75rem;align-items:center;margin-top:1rem}
.immohh-formular .knopf{flex:1;display:block;width:100%;font:inherit;font-weight:600;font-size:1.05rem;color:#fff;background:var(--f-klinker);border:0;border-radius:var(--radius,2px);padding:.95rem 1rem;cursor:pointer;text-align:center}
.immohh-formular .knopf:hover{background:var(--klinker-dark,#722D22)}
.immohh-formular .knopf-zurueck{font:inherit;font-size:.98rem;background:none;border:0;color:var(--f-hanse);text-decoration:underline;text-underline-offset:.18em;cursor:pointer;padding:.9rem .25rem}
.immohh-formular .formular-fehler{color:var(--f-klinker);font-weight:600;font-size:.92rem;margin:.5rem 0 0}
.immohh-formular .finanzierung{font-size:.86rem;color:var(--f-elbe);margin:1.1rem 0 0;padding-top:1rem;border-top:1px solid var(--f-rule)}
.immohh-formular .honig{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.immohh-formular [hidden]{display:none!important}

/* Danke- und Einwilligungsseite */
.immohh-box{max-width:calc(var(--measure,38rem) + 2.5rem);margin:0 auto;padding:3rem 1.25rem 4rem}
.immohh-box h1{font-size:clamp(1.9rem,3.6vw,2.5rem);margin-bottom:1.2rem;max-width:none}
.immohh-box h2{font-size:1.35rem;margin:2.5rem 0 .6rem}
.orientierung{margin:2rem 0;padding:1.5rem;background:var(--white,#fff);border:1px solid var(--rule,#D5DBDD);border-left:4px solid var(--klinker,#8E3A2C)}
.orientierung h2{margin-top:0}
.orientierung-wert{margin:.2rem 0 .8rem;color:var(--elbe,#5E6E73)}
.orientierung-wert .zahl{display:block;font-family:var(--serif,Georgia,serif);font-weight:600;font-size:2.2rem;color:var(--ink,#18222E);line-height:1.1}
.e2-text{background:var(--white,#fff);border:1px solid var(--rule,#D5DBDD);padding:1rem 1.2rem;font-size:.95rem}
.e2-knoepfe{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;margin-top:1.5rem}
.e2-form{margin:0}
.knopf-leise{font:inherit;background:none;border:0;color:var(--hanse,#1E3A5C);text-decoration:underline;text-underline-offset:.18em;cursor:pointer;padding:.9rem .25rem}
.makler-hinweis{font-size:.95rem;margin-top:1.5rem}
.klein{font-size:.86rem;color:var(--elbe,#5E6E73)}
.immohh-box .makler-karte{max-width:none;margin:1.5rem 0}

.immohh-formular .wahl-feld span{min-width:0;hyphens:auto;overflow-wrap:break-word}
.immohh-formular .kontakt-person{display:flex;align-items:center;gap:.8rem;margin:0 0 1rem}
.immohh-formular .kontakt-person img{width:56px;height:56px;border-radius:50%;object-fit:cover;flex:0 0 auto}
.immohh-formular .kontakt-person span{font-size:.95rem;line-height:1.4}
.immohh-formular .danach{margin:.4rem 0 .6rem;padding:.8rem 1rem;background:var(--paper,#F5F6F4);border-left:3px solid var(--f-hanse)}
.immohh-formular .danach-titel{margin:0 0 .35rem;font-size:.82rem;font-weight:600;color:var(--f-elbe)}
.immohh-formular .danach ol{margin:0;padding-left:1.15rem;font-size:.88rem;line-height:1.45;color:var(--f-ink)}
.immohh-formular .danach li{margin:.15rem 0}

/* 2.4.3: Größenordnung nach Schritt 3, Kontaktweg, Sonstiges */
.immohh-formular .groessenordnung{margin:1.1rem 0 0;padding:.9rem 1rem;background:var(--f-paper,#F5F6F4);border-left:3px solid var(--f-klinker,#8E3A2C);border-radius:var(--radius,2px)}
.immohh-formular .groessenordnung[hidden]{display:none}
.immohh-formular .groessenordnung .go-titel{margin:0 0 .25rem;font-size:.82rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--f-klinker,#8E3A2C)}
.immohh-formular .groessenordnung .go-wert{margin:0 0 .3rem;font-family:var(--serif,Georgia,serif);font-weight:600;font-size:1.35rem;line-height:1.2;color:var(--f-hanse,#1E3A5C)}
.immohh-formular .groessenordnung .go-wert small{font-family:inherit;font-weight:400;font-size:.9rem;color:var(--f-elbe,#5E6E73)}
.immohh-formular .groessenordnung p{margin:0;font-size:.86rem;line-height:1.45;color:var(--f-elbe,#5E6E73)}
.immohh-formular .groessenordnung p+p{margin-top:.3rem}
.immohh-formular .wahl-zwei{grid-template-columns:1fr 1fr;margin-bottom:1rem}
.immohh-formular .sonstiges-feld{margin-top:.9rem}
.immohh-formular .sonstiges-feld[hidden]{display:none}
