.kontaktseite{background:var(--white)}
.kontakt-hero{background:var(--light);border-bottom:1px solid var(--line);padding:54px 0 48px}
.kontakt-hero .kicker{margin-bottom:12px}
.kontakt-hero h1{font-family:var(--body);color:var(--navy);margin:0 0 16px}
.kontakt-hero p{font-size:var(--fs-lead);line-height:var(--lh-lead);max-width:720px;margin:0;color:var(--text)}
.kontakt-main{padding:48px 0 54px}
.kontakt-layout{display:flex;gap:58px;align-items:flex-start}
.kontakt-daten{width:36%}
.kontakt-formular{width:64%;border-left:1px solid var(--line);padding-left:48px}
.kontakt-daten h2,.kontakt-formular h2{font-family:var(--body);color:var(--navy);margin:0 0 20px}
.kontakt-block{padding:0 0 22px;margin:0 0 22px;border-bottom:1px solid var(--line)}
.kontakt-block:last-child{border-bottom:0}
.kontakt-block h3{font-family:var(--body);color:var(--navy);margin:0 0 6px}
.kontakt-block p{font-size:var(--fs-small);line-height:var(--lh-small);margin:0}
.kontakt-block a{color:var(--navy);text-decoration:none}
.kontakt-block a:hover{color:var(--green2)}
.kontakt-direkt{font-size:var(--fs-body);line-height:var(--lh-body);margin-bottom:28px}
.kontakt-direkt a{color:var(--green2);font-weight:700;text-decoration:none}
.form-hinweis{font-size:var(--fs-meta);line-height:var(--lh-meta);color:var(--muted);margin:0 0 22px}
.form-zeile{display:flex;gap:18px;margin-bottom:18px}
.form-feld{flex:1;display:flex;flex-direction:column;gap:7px}
.form-feld label,.wahlgruppe legend{font-size:var(--fs-meta);font-weight:700;color:var(--navy)}
.form-feld input,.form-feld textarea{font-family:var(--body);font-size:var(--fs-body);color:var(--text);background:var(--white);border:1px solid var(--line);padding:13px 14px;outline:2px solid transparent;width:100%;box-sizing:border-box}
.form-feld input:focus,.form-feld textarea:focus{border-color:var(--green2)}
.form-feld textarea{min-height:150px;resize:vertical}
.wahlgruppe{border:0;padding:0;margin:4px 0 22px}
.wahlgruppe legend{margin-bottom:11px}
.wahloptionen{display:flex;flex-wrap:wrap;gap:9px}
.wahloption{display:flex;align-items:center;gap:7px;border:1px solid var(--line);padding:9px 11px;background:var(--white);font-size:var(--fs-meta);cursor:pointer}
.wahloption input{accent-color:var(--green2);margin:0}
.form-aktion{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:22px}
.form-aktion small{font-size:var(--fs-meta);line-height:var(--lh-meta);color:var(--muted);max-width:390px}
.button-form{border:0;background:var(--green);color:#000;font-family:var(--body);font-weight:700;font-size:var(--fs-small);padding:16px 22px;cursor:pointer}
@media(max-width:1024px){
  .kontakt-layout{gap:34px}
  .kontakt-daten{width:38%}
  .kontakt-formular{width:62%;padding-left:32px}
}
@media(max-width:767px){
  .kontakt-hero{padding:36px 0 32px}
  .kontakt-layout{flex-direction:column;gap:34px}
  .kontakt-daten,.kontakt-formular{width:100%}
  .kontakt-formular{border-left:0;border-top:1px solid var(--line);padding:30px 0 0}
  .form-zeile{flex-direction:column}
  .form-aktion{align-items:flex-start;flex-direction:column}
}


.standortbereich{background:var(--light);border-bottom:1px solid var(--line);padding:48px 0 52px}
.standortkopf{margin-bottom:28px}
.standortkopf h2{font-family:var(--body);color:var(--navy);margin:0 0 12px}
.standortkopf p{font-size:var(--fs-body);line-height:var(--lh-body);max-width:760px;margin:0;color:var(--text)}
.standortkarten{display:flex;gap:18px}
.standortkarte{flex:1;background:var(--white);border:1px solid var(--line)}
.standortbild{width:100%;aspect-ratio:3/2;overflow:hidden}
.standortbild img{width:100%;height:100%;object-fit:cover;display:block}
.standorttext{padding:20px 20px 22px}
.standorttext .meta{font-size:var(--fs-kicker);text-transform:uppercase;letter-spacing:.14em;color:var(--green2);font-weight:700;margin-bottom:7px}
.standorttext h3{font-family:var(--body);color:var(--navy);margin:0 0 11px}
.standorttext p{font-size:var(--fs-small);line-height:var(--lh-small);margin:0 0 11px}
.standorttext a{color:var(--navy);text-decoration:none}
@media(max-width:1024px){.standortkarten{gap:14px}.standorttext{padding:18px}}
@media(max-width:767px){.standortbereich{padding:34px 0}.standortkarten{flex-direction:column}}


.kontakt-main .kontakt-layout{flex-wrap:wrap}
.kontakt-daten{width:34%}
.kontakt-karte{width:calc(66% - 58px);border-left:1px solid var(--line);padding-left:48px}
.kontakt-karte h2{font-family:var(--body);color:var(--navy);margin:0 0 20px}
.karten-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.karten-tab{border:1px solid var(--line);background:var(--white);font-family:var(--body);font-size:var(--fs-meta);font-weight:700;color:var(--navy);padding:9px 12px;cursor:pointer}
.karten-tab.aktiv{background:var(--green);border-color:var(--green)}
.kartenrahmen{width:100%;height:390px;border:1px solid var(--line);background:var(--light);overflow:hidden}
.kartenrahmen iframe{width:100%;height:100%;border:0;display:block}
.karten-link{display:inline-block;margin-top:12px;color:var(--green2);font-size:var(--fs-meta);font-weight:700;text-decoration:none}
.karten-hinweis{font-size:var(--fs-meta);line-height:var(--lh-meta);color:var(--muted);margin-top:9px}
.kontakt-formular{width:100%;border-left:0;border-top:1px solid var(--line);padding:36px 0 0;margin-top:12px}
@media(max-width:1024px){
 .kontakt-daten{width:36%}.kontakt-karte{width:calc(64% - 34px);padding-left:32px}
}
@media(max-width:767px){
 .kontakt-daten,.kontakt-karte{width:100%}
 .kontakt-karte{border-left:0;border-top:1px solid var(--line);padding:28px 0 0}
 .kartenrahmen{height:330px}
}


/* V4: Anfrage zuerst, danach drei Standorte mit jeweils eigener Karte */
.kontakt-main{padding:42px 0 50px}
.kontakt-layout{display:flex;flex-direction:column;gap:0}
.kontakt-formular{order:1;width:100%;border:0;padding:0;margin:0 0 46px}
.kontakt-daten{order:2;width:100%;border-top:1px solid var(--line);padding-top:38px}
.kontakt-karte{display:none}
.kontakt-daten>h2{margin-bottom:22px}
.kontakt-direkt{display:flex;gap:28px;flex-wrap:wrap;margin-bottom:28px}
.bueros-mit-karten{display:flex;gap:18px;align-items:stretch}
.buero-map{flex:1;background:var(--white);border:1px solid var(--line);display:flex;flex-direction:column}
.buero-map-kopf{padding:20px 20px 17px}
.buero-map-kopf h3{font-family:var(--body);color:var(--navy);margin:0 0 8px}
.buero-map-kopf p{font-size:var(--fs-meta);line-height:var(--lh-meta);margin:0}
.buero-map-kopf a{color:var(--navy);text-decoration:none}
.buero-map iframe{width:100%;height:260px;border:0;display:block;margin-top:auto}
.buero-map-link{display:block;padding:12px 20px;color:var(--green2);font-size:var(--fs-meta);font-weight:700;text-decoration:none;border-top:1px solid var(--line)}
.maps-datenschutz{font-size:var(--fs-meta);line-height:var(--lh-meta);color:var(--muted);margin:12px 0 0}
@media(max-width:1024px){.bueros-mit-karten{gap:14px}.buero-map-kopf{padding:17px}}
@media(max-width:767px){
 .kontakt-main{padding:30px 0 38px}
 .kontakt-formular{margin-bottom:34px}
 .bueros-mit-karten{flex-direction:column}
 .buero-map iframe{height:280px}
 .kontakt-direkt{display:block}
}




.kontakt-title{font-family:var(--body);font-size:min(var(--fs-h1),42px);color:var(--navy);margin:0 0 12px}

/* Master 42: keine externen Karten werden automatisch geladen */
.buero-map{align-content:start}.buero-map-link{margin-top:14px}

.form-feld input:focus-visible,.form-feld textarea:focus-visible{outline:3px solid var(--navy);outline-offset:2px;border-color:var(--green2)}

.form-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.form-status{padding:14px 16px;margin:0 0 20px;font-size:var(--fs-small);line-height:var(--lh-small);border-left:3px solid}
.form-status-fehler{background:#fdf1f1;border-color:#b3261e;color:#5b1410}
.form-status a{color:inherit;text-decoration:underline}
.form-aktion small a{color:var(--green2);text-decoration:underline}
.button-form:hover{filter:brightness(.95)}.button-form:disabled{opacity:.7;cursor:wait}
.kontakt-direkt a{display:table}

/* Formular 10/2026: Auswahllisten, Hinweise */
.form-feld select{font-family:var(--body);font-size:var(--fs-body);color:var(--text);background:var(--white);border:1px solid var(--line);padding:13px 40px 13px 14px;line-height:1.2;width:100%;box-sizing:border-box;-webkit-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--navy) 50%),linear-gradient(135deg,var(--navy) 50%,transparent 50%);background-position:calc(100% - 20px) 52%,calc(100% - 14px) 52%;background-size:6px 6px,6px 6px;background-repeat:no-repeat}
.form-feld select:focus{border-color:var(--green2)}
.form-feld select:focus-visible{outline:3px solid var(--navy);outline-offset:2px}
.form-feld select:invalid{color:var(--muted)}
.form-feld select option{color:var(--text)}
.form-feld-voll{margin-bottom:18px}
.form-optional{font-weight:400;color:var(--muted)}
.form-feld input::placeholder,.form-feld textarea::placeholder{color:#9aa1ad}
.form-feld textarea{min-height:120px}
