/* Original contact structure: form left, map right; restrained current typography. */
body[data-static-page="static-kontakt"] .static-page-title{max-width:1100px;padding-top:34px;padding-bottom:24px}
body[data-static-page="static-kontakt"] .static-page-title h1{font-size:clamp(28px,3vw,36px)}
.contact-layout{max-width:1100px;display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:42px;align-items:stretch;padding-bottom:28px}
.contact-form{min-width:0;font:16px/1.6 Josefin,sans-serif}
.contact-form label{font-family:Josefin,sans-serif;font-size:16px;line-height:1.5;margin:0}
.contact-form>br{display:none}
.contact-form input[type=text],.contact-form input[type=email],.contact-form textarea{display:block;width:100%;font:16px/1.6 Josefin,sans-serif;color:var(--ink);border:1px solid #d8d1ca;border-radius:7px;background:#fff;padding:10px 12px;margin:6px 0 18px;min-height:44px}
.contact-form textarea{resize:vertical;min-height:150px}
.contact-form input[type=button]{width:auto;min-height:44px;font:700 15px/1.4 Josefin,sans-serif;background:var(--orange);color:white;padding:12px 24px;border:0;border-radius:999px;box-shadow:0 3px 0 #a95509,0 7px 14px #78401924;cursor:pointer}
.contact-form input[type=button]:hover{filter:brightness(.96)}
.contact-preview-status{font:13px/1.6 Josefin,sans-serif;margin:18px 0 0;color:var(--ink)}
.contact-map{width:100%;height:100%;min-height:445px;border:0;border-radius:12px;box-shadow:0 3px 12px #2927241a}
.contact-information{max-width:1100px;font:16px/1.8 Josefin,sans-serif;color:var(--ink);padding-bottom:12px}
.contact-information p{margin:0}.contact-information a{text-decoration-color:var(--orange)}
@media(max-width:760px){.contact-layout{gap:24px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
@media(max-width:550px){.contact-layout{grid-template-columns:1fr;gap:26px}.contact-map{min-height:300px;height:300px}.contact-form label,.contact-form input[type=text],.contact-form input[type=email],.contact-form textarea,.contact-information{font-size:15px}}

/* Contact: editorial introduction, message card and a clearly labelled location. */
.contact-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:start;padding-top:8px;padding-bottom:40px}
.contact-form{background:#fff;border:1px solid #dedede;border-radius:16px;padding:28px;box-shadow:0 5px 18px #29272412}
.contact-form h2,.contact-location h2{font:700 28px/1.3 Josefin,sans-serif;color:var(--ink);margin:0 0 22px}
.contact-location{min-width:0}
.contact-location h2{margin:0 0 10px}
.contact-location>p{font:16px/1.7 Josefin,sans-serif;margin:0 0 20px;color:var(--ink)}
.contact-location .contact-map{display:block;height:450px;min-height:0;border-radius:16px}
.contact-information{padding-bottom:40px}
.contact-information a{color:var(--purple);text-decoration:underline;text-underline-offset:4px}
.contact-information .telefon{line-height:2}
@media(max-width:760px){.contact-layout{grid-template-columns:1fr;gap:32px}.contact-form{padding:24px}.contact-location .contact-map{height:330px}.contact-form h2,.contact-location h2{font-size:26px}}

.contact-required{font-size:13px;font-weight:400;color:var(--ink)}
.contact-form .contact-field-error{color:#9c2929;font:14px/1.5 Josefin,sans-serif;margin:-10px 0 18px}
.contact-form [aria-invalid="true"]{border-color:#9c2929;box-shadow:0 0 0 1px #9c2929}
.contact-form input:focus-visible,.contact-form textarea:focus-visible{outline:2px solid var(--purple);outline-offset:3px}

/* Confirmed send status, displayed inline without leaving the form. */
.contact-preview-status[data-state],.school-form-status[data-state]{padding:12px 16px;border-radius:8px;border:1px solid #d8d1ca}
.contact-preview-status[data-state=success],.school-form-status[data-state=success]{background:#e6efe4;border-color:#acc6a5;color:#1a6e02}
.contact-preview-status[data-state=error],.school-form-status[data-state=error]{background:#fff0ef;border-color:#dba7a3;color:#8c2929}
.contact-preview-status[data-state=pending],.school-form-status[data-state=pending]{background:#f5f2ed;color:#3b3b3b}
