/**
 * Barrierefreiheit (2026-11-03): Kontrast, Fokus, Skip-Link.
 * Wird als letzte Datei geladen. Logo und Markengrün #3EBD5A bleiben unverändert.
 * Auf grünen Flächen steht dunkle Schrift; grüne Schrift auf hellem Grund nutzt --green-ink.
 */
.skip-link { position: fixed; top: 8px; left: 8px; z-index: 100000; padding: 12px 18px; background: var(--black); color: #fff; border-radius: 8px; font-weight: 600; transform: translateY(-200%); }
.skip-link:focus { transform: none; color: #fff; }
:where(a, button, input, select, textarea, [tabindex]):focus-visible { outline: 2px solid var(--green-ink); outline-offset: 2px; }
#main-content:focus { outline: none; }

/* Text auf grünen Flächen: dunkel statt weiß (8:1 statt 2,4:1) */
body .btn-green, body .btn-green:hover,
body .msb-offer, body .form-submit, body .form-submit:hover,
body .svc-btn, body .svc-btn:hover, body .svc-card .svc-btn,
body .map-btn-green, body .map-btn-green:hover,
body .search-btn, body .search-btn:hover,
body .rf-step-num, body .rap-header, body .rap-header span,
body .rof-submit, body .rof-submit:hover,
body .repair-btn:hover, body .repair-variant .repair-btn:hover,
body .repair-btn--secondary:hover,
body .brand-item:hover, body .brand-item.active,
body .model-item:hover, body .model-item.active { color: var(--black); }
#mobile-menu .mm2-primary { color: var(--black) !important; }
#mobile-menu .mm2-primary-ic { background: rgba(0, 0, 0, .1); }

/* WhatsApp: Markengrün bleibt, Schrift dunkel */
body .msb-wa, body .rap-btn--whatsapp, body .rap-btn--whatsapp:hover, body .rap-btn--whatsapp strong, body .rap-btn--whatsapp small, body .rap-btn--whatsapp span { color: var(--black); }
#mobile-menu .mm2-wa { color: var(--black) !important; }

/* Grüne Schrift auf hellem Grund */
body .eyebrow,
body .search-label,
body .repair-price, body .variant-price,
body .rap-price, body .rap-price strong, body .rap-guarantee,
body .nav-open-badge:not(.closed), body .open-badge, body .hero-chip,
body .h-today .h-day, body .h-today .h-time,
body .svc-tag, body .alt-contact a,
body .hero h1 .g { color: var(--green-ink); }
#mobile-menu .mm2-status.open { color: var(--green-ink); }

/* Graue Schrift */
body .h-time.closed, body .h-day, body .stat-lbl, body .cl-sub,
body .rap-price small, body .rf-step-label, body .repair-desc, body .variant-desc,
body .shop-addr, body .svc-desc, body .services-header p, body .contact-left p,
body .gr-fb-text, body .categories-subtitle, body .rof-header p,
body .nav-links a, body .hero h1 .d { color: #66665e; }
#mobile-menu .mm2-foot { color: #66665e; }
body .h-today .h-day, body .h-today .h-time { color: var(--green-ink); }
body .nav-links a:hover { color: var(--black); }

/* Formularfelder mindestens 44 px hoch */
.form-group input:not([type=checkbox]):not([type=radio]):not([type=file]),
.form-group select,
.rof-field input,
.search-field,
.search-btn { min-height: 44px; }

/* Schließen-Button: geerbte Kreuz-Striche der alten Variante entfernen (das Icon ist ein SVG) */
#mobile-menu .mobile-menu__close::before,
#mobile-menu .mobile-menu__close::after { content: none !important; }

body .news-section h2 { color: var(--black); }
body .rof-field label small { color: #66665e; font-size: 11px; }

/* Dunkle Bereiche: Schrift heller */
body .map-info p, body .fcta > p, body .walkin-left > p, body .svc-card.featured .svc-desc,
body footer .ft-brand p, body footer h5, body footer ul a, body footer .footer-bottom p { color: rgba(255, 255, 255, .68); }
body footer ul a:hover { color: #fff; }

/* Platzhaltertexte */
input::placeholder, textarea::placeholder { color: #6f6f68; opacity: 1; }
body .form-group input::placeholder, body .form-group textarea::placeholder, body .repair-form input::placeholder, body .repair-form textarea::placeholder { color: #6f6f68; opacity: 1; }
