/* Focused mobile/form corrections. Existing design and business copy retained. */
html { scroll-padding-top: 88px; }
a:focus-visible, button:focus-visible, input:focus-visible,
select:focus-visible, textarea:focus-visible, .sc-radio:focus-within {
    outline: 2px solid #8b743d; outline-offset: 3px;
}
button, a { -webkit-tap-highlight-color: rgba(180,154,94,.2); }
button:disabled { cursor: wait; opacity: .65; }
.nav-inner { gap: 12px; }
.nav .logo { white-space: nowrap; }
.nav-cta, .nav-link, .nav-phone { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; }
.nav-phone { display: none; }
@media (min-width: 640px) { .nav-phone { display: inline-flex; } }
.nav-cta { text-align: center; }
.footer-links a, #regionen a { display: inline-flex; align-items: center; min-height: 44px; }
.reveal { opacity: 1; transform: none; }
.reveal.reveal-pending { opacity: 0; transform: translateY(20px); }
.reveal.visible { opacity: 1; transform: none; }
.counter-icon { display: flex; justify-content: center; }
.counter-icon svg { width: 1em; height: 1em; }
.form-group, .contact-form, .form-row > * { min-width: 0; }
.legal-content .container { padding-inline: 0; }
.form-group input, .form-group select, .form-group textarea { width: 100%; min-width: 0; font-size: 16px; }
.form-group select { appearance: auto; -webkit-appearance: menulist; }
#schnellcheck-form { background: #f8f8f6; border-radius: 12px; padding: 40px; }
#schnellcheck-form fieldset { border: 0; min-width: 0; margin-bottom: 20px; }
#schnellcheck-form legend, #schnellcheck-form .sc-label { display: block; font-size: 14px; font-weight: 500; margin-bottom: 8px; color: #333; }
.sc-options { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.sc-options-three { grid-template-columns: repeat(3,minmax(0,1fr)); }
.sc-radio { min-height: 48px; }
#schnellcheck-form .sc-radio span { overflow-wrap: normal; hyphens: auto; }
.sc-heading { font-size: 12px; text-transform: uppercase; letter-spacing: 2px; color: #80692f; font-weight: 600; margin-bottom: 24px; }
#schnellcheck-form input:not([type=radio]):not([type=hidden]), #schnellcheck-form textarea { width: 100%; min-width: 0; box-sizing: border-box; padding: 12px 16px; border: 1px solid #ccc; border-radius: 6px; font-size: 16px; font-family: inherit; background: #fff; }
#schnellcheck-form .sc-actions { display: flex; gap: 12px; }
#schnellcheck-form button { min-height: 48px; justify-content: center; }
#schnellcheck-form .sc-actions .btn-primary { flex: 1; min-width: 0; padding-inline: 16px; }
#schnellcheck-form .sc-back { flex: 0 0 48px; border: 1px solid #ccc; border-radius: 6px; background: #fff; cursor: pointer; font-size: 18px; }
#schnellcheck-form .sc-field { margin-bottom: 20px; }
.sc-required-note { font-size: 13px; color: #666; margin-bottom: 20px; }
@media (max-width: 600px) {
    .nav .logo { font-size: 1rem; }
    .nav-cta { padding: 10px 12px; }
    .nav-home .nav-inner { height: auto; min-height: 104px; flex-wrap: wrap; padding-block: 8px; gap: 4px; }
    .nav-home .logo { width: 100%; }
    .nav-home .nav-right { width: 100%; gap: 12px; }
    .nav-home .nav-link, .nav-home .nav-cta { flex: 1; font-size: .875rem; }
    .nav-home .nav-link { margin-right: 0 !important; }
    html { scroll-padding-top: 120px; }

    .hero { min-height: 100svh; }
    .hero-content { padding-top: 148px; }
    #schnellcheck-form { padding: 24px 16px; }
    .sc-options, .sc-options-three { grid-template-columns: minmax(0,1fr); }
    .sc-radio { padding: 12px; }
    .region-page > section { padding-left: 0 !important; padding-right: 0 !important; }
    .region-page h1 { overflow-wrap: break-word; hyphens: auto; }
    .legal-page { overflow-wrap: anywhere; }
    .btn-primary, .btn-secondary, .btn-submit { max-width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { animation: none !important; transition: none !important; }
    .reveal.reveal-pending { opacity: 1; transform: none; }
}
