/* Nur Kontaktseite. Bestehende globale Gestaltung bleibt unverändert. */
body[data-page="home"] .contact-page { width:min(1120px,calc(100% - 40px)); padding:34px 0 50px; }
.contact-page .contact-intro { margin-bottom:28px; padding-bottom:18px; border-bottom:1px solid #d8b99a; }
.contact-page .contact-kicker { margin:0 0 7px; color:#784b29; font-size:12px; letter-spacing:.18em; font-weight:700; }
body[data-page="home"] .contact-page h1 { width:auto; height:auto; aspect-ratio:auto; font-size:clamp(28px,3vw,38px); }
.contact-page .contact-intro > p:last-child { margin:10px 0 0; max-width:820px; font:normal 17px/1.55 Arial,sans-serif; color:#563a28; }
.contact-columns { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); column-gap:56px; align-items:start; }
.contact-page h2 { margin:0 0 15px; font:700 clamp(22px,2vw,27px)/1.25 Georgia,'Times New Roman',serif; color:#482713; }
.contact-info { padding:14px 0 12px; min-width:0; }
.contact-info p { font:normal 16px/1.55 Arial,sans-serif; color:#543c2b; margin:0 0 12px; }
.contact-info .contact-email { font-weight:700; font-size:18px; overflow-wrap:anywhere; color:#6c3418; }
.contact-info .contact-mailbox-notice { color:#745b3f; font-size:14px; }
.contact-panel { min-width:0; padding:25px 28px 26px; border:1px solid #dcc6aa; border-radius:10px; background:rgba(255,252,245,.8); box-shadow:0 4px 15px rgba(69,38,18,.06); }
.contact-help { margin:0 0 17px; font:normal 13px/1.5 Arial,sans-serif; color:#775b45; }
.contact-field-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.contact-field { display:flex; flex-direction:column; gap:7px; min-width:0; margin:0 0 16px; font:600 14px/1.35 Arial,sans-serif; color:#51321f; }
.contact-field input,.contact-field textarea { width:100%; min-width:0; padding:11px 12px; border:1px solid #cfb795; border-radius:6px; background:#fffcf7; color:#39281b; font:normal 16px/1.4 Arial,sans-serif; }
.contact-field input { min-height:44px; }
.contact-field textarea { min-height:136px; resize:vertical; }
.contact-field input:focus-visible,.contact-field textarea:focus-visible { outline:2px solid #875a32; outline-offset:1px; }
.contact-privacy { font:normal 13px/1.55 Arial,sans-serif; color:#66513e; margin:0 0 14px; }
.contact-privacy a { color:#683418; text-decoration:underline; }
.contact-status { margin:0 0 12px; padding:10px 12px; background:#f5e7d1; border-radius:6px; color:#62421f; font:normal 14px/1.45 Arial,sans-serif; }
.contact-status[hidden] { display:none!important; }
.contact-status.is-error { background:#fae8e2; color:#8d2b21; }
.contact-status.is-success { background:#eaf1df; color:#30512c; }
.contact-submit { min-height:43px; min-width:190px; font:600 15px Arial,sans-serif; }
.contact-submit:disabled { opacity:.75; }
/* Bot-Falle für Menschen unsichtbar, ohne die Eingabe aus dem DOM zu entfernen. */
.contact-honeypot { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
@media (max-width:850px) {
  .contact-columns { grid-template-columns:1fr; gap:22px; }
  .contact-info { padding:0; }
  .contact-panel { padding:24px; }
}
@media (max-width:500px) {
  body[data-page="home"] .contact-page { width:calc(100% - 30px); padding:23px 0 32px; }
  .contact-page .contact-intro { margin-bottom:19px; padding-bottom:14px; }
  .contact-page .contact-intro > p:last-child { font-size:15px; }
  .contact-page h2 { font-size:22px; }
  .contact-info p { font-size:15px; }
  .contact-info .contact-email { font-size:16px; }
  .contact-panel { padding:19px 16px 21px; }
  .contact-field-row { grid-template-columns:1fr; gap:0; }
  .contact-field { margin-bottom:13px; }
  .contact-submit { width:100%; }
}
