/* ========================================
   ACCESSIBILITY & SEO IMPROVEMENTS
   Heisse Spinne Werbung - Accessibility.css
   ======================================== */

/* ========================================
   SKIP-TO-CONTENT LINK
   ======================================== */
.skip-link {
    position: absolute;
    top: -50px;
    left: 10px;
    background: #c41e3a;
    color: white;
    padding: 12px 20px;
    text-decoration: none;
    font-weight: 600;
    z-index: 9999;
    border-radius: 0 0 8px 8px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.3);
    transition: top 0.3s ease;
}

.skip-link:focus {
    top: 0;
    outline: 3px solid white;
    outline-offset: 3px;
}

/* ========================================
   HERO H1 TITLE (SEO)
   ======================================== */
.hero-title {
    font-size: clamp(1.5rem, 4vw, 2.5rem);
    font-weight: 700;
    color: white;
    text-align: center;
    margin: 1.5rem 0 0.5rem;
    line-height: 1.2;
}

@media (max-width: 768px) {
    .hero-title {
        font-size: 1.5rem;
        margin: 1rem 0 0.5rem;
    }
}

/* ========================================
   IMPROVED FOCUS STYLES
   ======================================== */

/* Globale Focus-Outline */
*:focus {
    outline: 3px solid #c41e3a;
    outline-offset: 2px;
}

/* Für interaktive Elemente */
button:focus,
a:focus,
input:focus,
textarea:focus,
select:focus {
    outline: 3px solid #c41e3a;
    outline-offset: 2px;
    box-shadow: 0 0 0 4px rgba(196, 30, 58, 0.2);
    transition: box-shadow 0.2s ease;
}

/* Cookie-Banner-Buttons (helle Outline auf dunklem Hintergrund) */
.cookie-btn:focus {
    outline: 3px solid #ffffff;
    outline-offset: 2px;
    box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.3);
}

/* Mobile Menu Toggle */
.mobile-menu-toggle:focus {
    outline: 3px solid #c41e3a;
    outline-offset: 3px;
    box-shadow: 0 0 0 5px rgba(196, 30, 58, 0.2);
}

/* Formulare - spezielle Behandlung */
input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
input[type="number"]:focus,
textarea:focus {
    border-color: #c41e3a;
    outline: 2px solid #c41e3a;
    outline-offset: 0;
    box-shadow: 0 0 0 3px rgba(196, 30, 58, 0.1);
}

/* CTA-Button im Hero */
.cta-button:focus {
    outline: 3px solid #fff;
    outline-offset: 3px;
    transform: translateY(-3px);
    box-shadow: 0 8px 20px rgba(196, 30, 58, 0.4);
}

/* Slider Arrows */
.slider-arrow:focus {
    outline: 3px solid #c41e3a;
    outline-offset: 2px;
    box-shadow: 0 0 0 4px rgba(196, 30, 58, 0.3);
}

/* Navigation Links */
.main-nav a:focus,
.footer-nav a:focus,
.mobile-menu a:focus {
    outline: 3px solid #c41e3a;
    outline-offset: 2px;
    box-shadow: 0 0 0 3px rgba(196, 30, 58, 0.15);
}

/* Submit Button */
.submit-button:focus {
    outline: 3px solid #c41e3a;
    outline-offset: 3px;
    box-shadow: 0 0 0 4px rgba(196, 30, 58, 0.2);
}

/* :focus-visible für moderne Browser (nur bei Tastatur-Navigation) */
@supports selector(:focus-visible) {
    *:focus {
        outline: none;
    }

    *:focus-visible {
        outline: 3px solid #c41e3a;
        outline-offset: 2px;
    }

    button:focus-visible,
    a:focus-visible,
    input:focus-visible,
    textarea:focus-visible {
        box-shadow: 0 0 0 4px rgba(196, 30, 58, 0.2);
    }

    .cookie-btn:focus-visible {
        outline: 3px solid #ffffff;
        box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.3);
    }
}