:root{--green:#009b31;--green-dark:#007a28;--lime:#a4c400;--ink:#193529;--muted:#587064;--line:#c8d8cc;--bg:#f3f7f4;--danger:#a51b1b}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.5 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.shell{width:min(860px,calc(100% - 32px));margin:0 auto;padding:28px 0 52px}.brand{display:flex;align-items:center;gap:16px;margin-bottom:10px}.brand-logo{display:block;width:116px;height:auto;flex:none}.brand strong{color:#111;font-size:19px;line-height:1.2}.panel>p,.privacy{color:var(--muted)}.offer-label{margin:0;font-size:12px;line-height:1.5;letter-spacing:.08em}.eyebrow{margin:0 0 6px;color:var(--green-dark)!important;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}h1{font-size:clamp(30px,5vw,44px);letter-spacing:-.04em;line-height:1.08;margin:0 0 14px}h2{font-size:25px;letter-spacing:-.03em;line-height:1.2;margin:0 0 28px}h3{font-size:17px;margin:28px 0 4px}.progress{margin:12px 0 8px}.progress ol{display:flex;justify-content:space-between;gap:5px;margin:0;padding:0;list-style:none}.progress li{min-width:0;flex:1}.progress span{display:grid;place-items:center;width:30px;height:30px;border:1px solid #b7cdbd;border-radius:50%;background:#fff}.progress b{font-weight:700;white-space:nowrap}.progress .active .progress-step,.progress .complete .progress-step{color:var(--green-dark)}.progress .active span,.progress .complete span{border-color:var(--green);background:var(--green);color:#fff}.step-label{color:var(--muted);font-size:13px;text-align:right}.panel{background:#fff;border:1px solid #deeadf;border-radius:10px;padding:32px;box-shadow:0 3px 14px rgba(21,54,44,.04)}fieldset{margin:0 0 26px;padding:0;border:0}legend{display:block;margin-bottom:10px;font-weight:800;font-size:16px}.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.choice-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.choice-grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}.choice{position:relative;display:block;min-height:76px;padding:14px;border:1px solid #b7cdbd;border-radius:8px;background:#fff;cursor:pointer}.choice:hover{border-color:#7fa88a;background:#fbfdfb}.choice:has(input:checked){border-color:var(--green);box-shadow:0 0 0 3px rgba(0,122,61,.14);background:#f7fcf8}.choice:has(input:focus-visible){outline:3px solid rgba(0,122,61,.3);outline-offset:2px}.choice input{position:absolute;opacity:0;inset:0;cursor:pointer}.choice span,.choice small{display:block}.choice span{font-weight:750;line-height:1.25}.choice small{margin-top:5px;color:var(--muted);font-size:12px;line-height:1.3}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.form-grid .wide{grid-column:1/-1}label{display:grid;gap:6px;font-size:12px;font-weight:800;color:#455e51}label>span{font-weight:600;color:#6b7e72}input,select,textarea{width:100%;min-height:44px;border:1px solid #a9c8b2;border-radius:7px;background:#fff;color:var(--ink);font:inherit;font-size:16px;padding:10px;box-shadow:0 1px 2px rgba(21,54,44,.06)}textarea{min-height:110px;resize:vertical}input:focus,select:focus,textarea:focus,.button:focus-visible,a:focus-visible{outline:3px solid rgba(0,122,61,.3);outline-offset:2px;border-color:var(--green)}label small{font-size:12px;font-weight:500;color:var(--muted)}details{border-top:1px solid #e5eee7;padding-top:16px}summary{cursor:pointer;color:var(--green-dark);font-weight:800}.extra-fields{margin-top:16px}.info{margin:18px 0;padding:12px 14px;border-left:4px solid var(--lime);background:#f4f9ed;color:#39523f;font-size:14px}.field-error{display:block;min-height:18px;margin:5px 0 0;color:var(--danger);font-size:13px;font-style:normal;font-weight:600}.actions{display:flex;justify-content:space-between;gap:12px;margin-top:22px}.button{min-height:44px;border:1px solid transparent;border-radius:7px;padding:10px 16px;font:inherit;font-weight:800;cursor:pointer}.primary{margin-left:auto;background:var(--green);color:#fff}.primary:hover{background:var(--green-dark)}.secondary{background:#fff;border-color:#a9c8b2;color:var(--green-dark)}.form-status{min-height:24px;color:var(--danger);font-weight:700}.summary{display:grid;gap:14px}.summary section{border-bottom:1px solid #e3ece5;padding-bottom:14px}.summary section:last-child{border-bottom:0}.summary h3{margin:0 0 8px}.summary dl{margin:0;display:grid;grid-template-columns:minmax(130px,.45fr) 1fr;gap:5px 14px}.summary dt{color:var(--muted)}.summary dd{margin:0;font-weight:650}.summary button{margin-top:12px;border:0;background:transparent;color:var(--green-dark);font:inherit;font-weight:800;padding:4px 0;cursor:pointer}.privacy{font-size:14px}.privacy a,footer a{color:var(--green-dark)}.honeypot{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important}.confirmation{margin-top:32px}.conditional[hidden]{display:none!important}footer{display:flex;justify-content:center;flex-wrap:wrap;gap:18px;padding:24px;text-align:center;font-size:14px}@media(max-width:800px){.shell{width:min(100% - 32px,680px)}.panel{padding:24px}}@media(max-width:500px){.shell{width:calc(100% - 24px);padding-top:18px}.brand{margin-bottom:8px;gap:10px}.brand-logo{width:82px}.brand strong{font-size:16px}.panel{padding:20px 16px}.choice-grid,.choice-grid.three,.choice-grid.four,.form-grid{grid-template-columns:1fr}.choice{min-height:64px}.actions{position:sticky;bottom:0;padding:12px 0 calc(12px + env(safe-area-inset-bottom));background:linear-gradient(transparent,#f3f7f4 25%)}.button{flex:1}.summary dl{grid-template-columns:1fr;gap:2px}.summary dt{margin-top:8px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
 .choice-grid.five{grid-template-columns:repeat(5,minmax(0,1fr))}.choice-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.static-choice{cursor:default}.inline-option{margin:1rem 0;padding:.85rem 1rem;background:#f4f6f3;border-radius:.5rem}.inline-option input{accent-color:#006b3f;margin-right:.35rem}.registration{margin-top:1.25rem}.driver-card{margin:1rem 0;padding:1rem;border:1px solid #d5ddd5;border-radius:.5rem;background:#fff}.driver-card strong{display:block;margin-bottom:.7rem}.driver-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.driver-privacy{margin:.5rem 0 1rem;padding:.65rem .8rem;font-size:13px}.driver-privacy a{color:var(--green-dark)}.driver-fields label{font-size:.9rem}.text-button{margin-top:.7rem;border:0;background:transparent;color:#005f38;text-decoration:underline;cursor:pointer;font:inherit;padding:0}.summary div{display:grid;grid-template-columns:minmax(10rem,35%) 1fr;gap:.75rem;padding:.55rem 0;border-bottom:1px solid #e3e7e2}.summary strong{font-weight:700}.summary span{white-space:pre-wrap}.choice-grid input[type=checkbox]{accent-color:#006b3f}
@media (max-width:700px){.choice-grid.five,.choice-grid.two{grid-template-columns:1fr}.driver-fields{grid-template-columns:1fr}.summary div{grid-template-columns:1fr;gap:.15rem}}
/* Work 8: kompakte, trotzdem gut anklickbare Halter-Checkbox und SF-Anordnung */
.inline-option label{display:inline-flex;align-items:center;gap:.55rem;min-height:44px;cursor:pointer}.inline-option input[type=checkbox]{inline-size:20px;block-size:20px;flex:0 0 20px;margin:0}.form-grid:has(#sfKh){grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:500px){.form-grid:has(#sfKh){grid-template-columns:1fr}}
[hidden]{display:none!important}
.optional{font-size:12px;font-weight:500;color:var(--muted);white-space:nowrap}.sf-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.sf-fields:has(#sfVkGroup[hidden]){grid-template-columns:1fr}.sf-fields .wide{grid-column:1/-1}.choice-grid.five .choice{display:flex;min-height:116px;align-items:center;justify-content:center;text-align:center;gap:8px;flex-direction:column}.vehicle-icon{width:34px;height:34px;color:var(--green);stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.choice:has(input:checked) .vehicle-icon{color:var(--green-dark)}@media(max-width:500px){.sf-fields{grid-template-columns:1fr}.choice-grid.five .choice{min-height:78px;flex-direction:row;justify-content:flex-start;text-align:left}.vehicle-icon{width:28px;height:28px;flex:0 0 auto}}
@media(min-width:501px){.sf-fields:has(#sfVkGroup[hidden]){grid-template-columns:repeat(2,minmax(0,1fr))}}#carDetails>fieldset:first-of-type{width:calc((100% - 18px)/2)}.label-title{display:inline-flex;align-items:baseline;gap:4px;min-height:18px}@media(max-width:500px){#carDetails>fieldset:first-of-type{width:100%}}
.vehicle-silhouette{fill:currentColor;stroke:none}
/* Originalgrafik aus der freigegebenen Fahrzeugauswahl: Jede Karte zeigt ihren
   unveränderten Ausschnitt und bleibt über das zugehörige Radio-Feld bedienbar. */
.choice-grid.five .choice.original-vehicle-card{min-height:0;padding:0;border:0;border-radius:8px;aspect-ratio:332/379;background-image:url('assets/fahrzeugauswahl-original.png');background-repeat:no-repeat;background-size:534.34% auto;background-position-y:45.8%;overflow:hidden}
.choice-grid.five .choice.original-vehicle-card:has(input:checked){border:0;box-shadow:0 0 0 3px rgba(0,122,61,.55);background-color:transparent}
.choice-grid.five .choice.original-vehicle-card:hover{border:0;background-color:transparent}
.choice-grid.five .choice.original-vehicle-card:nth-child(1){background-position-x:1.7%}
.choice-grid.five .choice.original-vehicle-card:nth-child(2){background-position-x:25.9%}
.choice-grid.five .choice.original-vehicle-card:nth-child(3){background-position-x:50.1%}
.choice-grid.five .choice.original-vehicle-card:nth-child(4){background-position-x:74.3%}
.choice-grid.five .choice.original-vehicle-card:nth-child(5){background-position-x:98.5%}
.choice-grid.five .choice.original-vehicle-card>span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media(max-width:500px){.choice-grid.five .choice.original-vehicle-card{min-height:0;flex-direction:unset;text-align:initial}.choice-grid.five .choice.original-vehicle-card>span{position:absolute}}
.choice-grid.five .choice:has(input[name="vehicleCategory"]){min-height:0;padding:0;border:0;border-radius:8px;aspect-ratio:332/379;background-image:url('assets/fahrzeugauswahl-original.png');background-repeat:no-repeat;background-size:534.34% auto;background-position-y:45.8%;overflow:hidden}
.choice-grid.five .choice:has(input[name="vehicleCategory"]):has(input:checked){border:0;box-shadow:0 0 0 3px rgba(0,122,61,.55);background-color:transparent}.choice-grid.five .choice:has(input[name="vehicleCategory"]):hover{border:0;background-color:transparent}.choice-grid.five .choice:has(input[name="vehicleCategory"]):nth-child(1){background-position-x:1.7%}.choice-grid.five .choice:has(input[name="vehicleCategory"]):nth-child(2){background-position-x:25.9%}.choice-grid.five .choice:has(input[name="vehicleCategory"]):nth-child(3){background-position-x:50.1%}.choice-grid.five .choice:has(input[name="vehicleCategory"]):nth-child(4){background-position-x:74.3%}.choice-grid.five .choice:has(input[name="vehicleCategory"]):nth-child(5){background-position-x:98.5%}.choice-grid.five .choice:has(input[name="vehicleCategory"])>span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.choice-grid.five>.choice{min-height:0;padding:0;border:0;border-radius:8px;aspect-ratio:332/379;background-image:url('assets/fahrzeugauswahl-original.png');background-repeat:no-repeat;background-size:534.34% auto;background-position-y:45.8%;overflow:hidden}.choice-grid.five>.choice:has(input:checked){border:0;box-shadow:0 0 0 3px rgba(0,122,61,.55);background-color:transparent}.choice-grid.five>.choice:hover{border:0;background-color:transparent}.choice-grid.five>.choice:nth-child(1){background-position-x:1.7%}.choice-grid.five>.choice:nth-child(2){background-position-x:25.9%}.choice-grid.five>.choice:nth-child(3){background-position-x:50.1%}.choice-grid.five>.choice:nth-child(4){background-position-x:74.3%}.choice-grid.five>.choice:nth-child(5){background-position-x:98.5%}.choice-grid.five>.choice>span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.choice-grid.five>.choice:has(input[name="vehicleCategory"]){min-height:124px;padding:12px;background:#fff;background-image:none;aspect-ratio:auto;gap:8px}.choice-grid.five>.choice:has(input[name="vehicleCategory"])>span{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}.vehicle-image{display:block;width:120px;height:75px;max-width:100%;max-height:100%;object-fit:contain;object-position:center;flex:0 0 75px;mix-blend-mode:multiply;pointer-events:none}@media(max-width:500px){.choice-grid.five>.choice:has(input[name="vehicleCategory"]){min-height:94px;padding:10px;gap:6px;flex-direction:column;text-align:center}.vehicle-image{width:88px;height:54px;flex-basis:54px}}

.choice-grid.five>.choice:nth-child(1){background-image:url("assets/fahrzeug-pkw.png")} .choice-grid.five>.choice:nth-child(2){background-image:url("assets/fahrzeug-lkw.png")} .choice-grid.five>.choice:nth-child(3){background-image:url("assets/fahrzeug-krad.png")} .choice-grid.five>.choice:nth-child(4){background-image:url("assets/fahrzeug-anhaenger.png")} .choice-grid.five>.choice:nth-child(5){background-image:url("assets/fahrzeug-sonstige.png")} .choice-grid.five>.choice{background-size:78% auto;background-position:center;background-blend-mode:multiply}

/* Kontaktfelder verwenden dieselbe Beschriftungs- und Eingabezeile. */
.contact-grid{align-items:start}
.contact-grid>label{align-content:start;grid-template-rows:minmax(20px,auto) auto}
.contact-grid .label-title{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 4px;min-height:20px;line-height:20px;color:#455e51;font-weight:800}
.contact-grid input:not(.honeypot){height:44px;min-height:44px}
.contact-grid .field-error:empty{display:none}
.contact-grid #contactBirthDateHelp{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Nur bei der Motorleistung die nativen Zahlenschalter ausblenden. */
input[name="enginePowerValue"]{appearance:textfield;-moz-appearance:textfield}
input[name="enginePowerValue"]::-webkit-inner-spin-button,
input[name="enginePowerValue"]::-webkit-outer-spin-button{appearance:none;-webkit-appearance:none;margin:0}

/* Versicherer und bedingter Freitext belegen die erste, SF-Felder die zweite Zeile. */
.sf-fields>label{align-content:start}
.sf-fields input,.sf-fields select{height:44px;min-height:44px}
@media(min-width:501px){
  #sfSection .sf-fields>label:first-child{grid-column:1;grid-row:1}
  #priorInsurerOtherGroup{grid-column:2;grid-row:1}
  #sfSection .sf-fields>label:has(#sfKh){grid-column:1;grid-row:2}
  #sfVkGroup{grid-column:2;grid-row:2}
}

/* Die bestehende Fortschrittsanzeige ist zugleich die bedienbare Schrittnavigation. */
.progress-step{display:grid;justify-items:center;gap:6px;width:100%;min-height:44px;padding:0 4px;border:0;background:transparent;color:#718178;font:inherit;font-size:12px;font-weight:700;cursor:pointer}
.progress-step:hover{color:var(--green-dark)}
.progress-step:focus-visible{outline:3px solid rgba(0,122,61,.3);outline-offset:2px;border-radius:6px}
.progress .active span{box-shadow:0 0 0 3px rgba(0,122,61,.2)}
@media(max-width:500px){.progress-step{font-size:10px;padding:0 1px}.progress b{white-space:normal;line-height:1.15}}

.confirmation h1{font-size:clamp(26px,4vw,36px)}.confirmation h2{font-size:20px;margin:28px 0 12px}.confirmation-actions{display:flex;flex-wrap:wrap;gap:10px}.confirmation-actions .button{margin:0}.confirmation-status{min-height:24px;margin:14px 0;color:var(--green-dark);font-weight:700}.mock-notice{padding:10px 12px;background:#f4f9ed;border-left:4px solid var(--lime);color:var(--ink)!important;font-size:14px}@media(max-width:500px){.confirmation-actions{flex-direction:column}.confirmation-actions .button{width:100%}}

.legal-shell{max-width:860px}.legal-back{display:inline-block;margin-bottom:16px;color:var(--green-dark);font-weight:700}.legal-brand{margin-bottom:22px}.legal section+section{border-top:1px solid #e3ece5;margin-top:26px;padding-top:20px}.legal h2{font-size:22px;margin:0 0 12px}.legal p{margin:0 0 14px}.legal a{color:var(--green-dark);overflow-wrap:anywhere}.legal li{margin:6px 0}.legal .info{color:var(--ink);margin:20px 0 24px}@media(max-width:500px){.legal section+section{margin-top:20px;padding-top:18px}.legal h2{font-size:20px}}

.form-status{white-space:pre-line}
