/* CF7 -> Referenz-Markup-Mapping (A1 Gmunden Startseite) */

/* Feldbreiten: size-/cols-Attribute neutralisieren, Grid-Spalten respektieren.
   Eingegrenzt auf .control-Felder (Text/E-Mail/Tel/Textarea) — trifft NIE Checkbox/Acceptance */
.form-card .wpcf7-form-control-wrap { display: block; min-width: 0; }
.form-card input.control, .form-card textarea.control { display: block; width: 100%; min-width: 0; height: 46px; padding: 0 14px; font-size: 15px; color: #000000; background: #ffffff; border: 1px solid #cfd8e3; border-radius: var(--r-md, 10px); }
.form-card textarea.wpcf7-form-control { height: 124px; min-height: 124px; padding: 13px 14px; line-height: 1.55; resize: vertical; }
.form-card input.control:focus, .form-card textarea.control:focus { outline: none; border-color: var(--primary, #c83c2b); box-shadow: 0 0 0 3px rgba(200,60,43,.16); }

/* Fehler-Tipps im .err-Look */
.form-card .wpcf7-not-valid-tip { font-size: 13px; line-height: 1.4; color: var(--error, #c83c2b); margin: 6px 0 0; }

/* Consent wie Original (inline) */
.form-card .consent .wpcf7-acceptance { display: block; }
.form-card .consent input[type="checkbox"] { width: 18px; height: 18px; margin: 0 10px 0 0; vertical-align: -3px; accent-color: var(--primary, #c83c2b); }
.form-card .consent .wpcf7-list-item-label { font-size: 14px; color: var(--on-body, #333333); }

/* Submit im .btn.btn-primary-Look inkl. Pfeil-Icon */
.form-foot .wpcf7-submit { padding: 15px 26px; background: var(--primary, #c83c2b); color: var(--on-inverse, #ffffff); border: 0; border-radius: var(--r-sm, 6px); font-weight: 500; font-size: 15px; font-family: var(--font-body, Roboto, sans-serif); min-height: 48px; width: auto; cursor: pointer; transition: background-color .2s ease, transform .2s ease; }
.form-foot .wpcf7-submit:hover { background: var(--primary-hover, #b5301f); transform: translateY(-2px); }

/* Status-Ausgabe im .form-status-Look */
.wpcf7-response-output { margin-top: 18px; padding: 14px 18px; border-radius: 10px; font-size: 15px; border-width: 1px; border-style: solid; }
.wpcf7 form.sent .wpcf7-response-output { color: #1a7f37; border-color: #1a7f37; background: rgba(26,127,55,.08); }
.wpcf7 form.failed .wpcf7-response-output, .wpcf7 form.aborted .wpcf7-response-output { color: var(--error, #c83c2b); border-color: var(--error, #c83c2b); background: rgba(200,60,43,.08); }

/* Stunden-Titel: Zeilenhöhe wie Referenz (WP/GP setzt sonst 1.2) */
.hours__title { line-height: 1.55; }

/* Consent-Link im Referenz-Stil (--link = #1E73BE in site.css, hover primary) */
.form-card .consent a { color: var(--link, #1e73be); text-decoration: underline; text-underline-offset: 2px; }
.form-card .consent a:hover { color: var(--primary, #c83c2b); }

/* WP-Admin-Bar: fixed Header unter der Bar halten (WP: 32px / ≤782px: 46px / ≤600px: Bar nicht fixed) */
body.admin-bar .site-header { top: 32px; }
@media (max-width: 782px) {
  body.admin-bar .site-header { top: 46px; }
}
@media (max-width: 600px) {
  body.admin-bar .site-header { top: 0; }
}

/* fieldset-Defaults neutralisieren (CF7 hidden-fields) */
.wpcf7-form fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }

/* response-output standardmaessig aus, bei Status einblenden */
.wpcf7-response-output { display: none; }
.wpcf7 form.sent .wpcf7-response-output, .wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output, .wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.spam .wpcf7-response-output, .wpcf7 form.acceptance-missing .wpcf7-response-output { display: block; }

/* Submit mobil volle Breite wie Referenz */
@media (max-width: 767px) {
  .form-foot .wpcf7-submit { width: 100%; }
}

/* ===== Kundenspezifische Änderung (Edmond, 2026-09-08): ship__head-Hover/Fokus lesbar =====
   WP-Classic-Styles (button:hover/focus { color:#fff; background:#3f4047 }) treffen den
   Accordion-Kopf: Beim Hover weißer Text, nach Klick (Fokus ohne Hover) EINGEFRORENES
   Grau. Referenz kennt keinen Fokus-Stil (nur transienten Hover + focus-visible-Outline).
   Fix: Background im Fokus neutralisieren, Textfarbe immer on-surface. */
.ship__head:hover { color: var(--on-surface, #000); }
.ship__head:focus,
.ship__head:focus-visible { background: transparent; color: var(--on-surface, #000); }

/* ===== Kundenspezifische Änderung (Edmond, 2026-09-08): Google-Maps-Embed (nur Kontaktseite) =====
   Volle Breite zwischen letzter Sektion und Footer, 420px Desktop / 340px mobil, lazy. */
   Volle Breite zwischen Kontakt-Sektion und Footer, nur Startseite. */
.section--map { width: 100%; line-height: 0; }
.section--map iframe { display: block; width: 100%; height: 420px; border: 0; }
@media (max-width: 767px) {
  .section--map iframe { height: 340px; }
}

/* Keep the mobile menu glyph at its intended size despite parent button padding. */
.nav__toggle,.mobile-nav__close{padding:0}
.nav__toggle .icon,.mobile-nav__close .icon{flex-shrink:0}
