/* =============================================
   Seiten-spezifische Styles
   ============================================= */

/* Über-uns Seite */
.page-ueber-mich .page-hero { padding-bottom: var(--sp-8); }

/* Kontakt Seite */
.page-kontakt .kontakt-main { padding-bottom: var(--sp-9); }

/* Lager-Karte (Kontakt) — statisches OSM-Bild, keine externen Requests */
.lager-map { margin: 0; }
.lager-map img {
    width: 100%;
    height: auto;
    border: 1px solid var(--clr-gray-4);
    border-radius: var(--r-lg);
}
.lager-map figcaption {
    margin-top: var(--sp-2);
    font-size: 0.8rem;
    color: var(--clr-gray-2);
}
.lager-map figcaption a { color: var(--clr-gray-2); text-decoration: underline; }

/* =============================================
   Utility / Accessibility
   ============================================= */
.sr-only {
    position: absolute;
    width: 1px; height: 1px;
    padding: 0; margin: -1px;
    overflow: hidden;
    clip: rect(0,0,0,0);
    white-space: nowrap;
    border: 0;
}

:focus-visible {
    outline: 3px solid var(--clr-primary);
    outline-offset: 3px;
    border-radius: var(--r-sm);
}

/* Skip-to-content Link */
.skip-link {
    position: absolute;
    top: -100%;
    left: var(--pad);
    background: var(--clr-primary);
    color: var(--clr-white);
    padding: var(--sp-3) var(--sp-5);
    border-radius: var(--r-md);
    font-weight: 700;
    z-index: 9999;
    transition: top var(--ease);
}
.skip-link:focus { top: var(--sp-3); }

/* =============================================
   Rechtsseiten (Impressum, Datenschutz)
   ============================================= */
.legal-content {
    max-width: 780px;
}
.legal-content h2 {
    font-size: 1.2rem;
    margin: var(--sp-7) 0 var(--sp-3);
    padding-bottom: var(--sp-2);
    border-bottom: 2px solid var(--clr-gray-4);
    color: var(--clr-dark);
}
.legal-content h2:first-child { margin-top: 0; }
.legal-content p  { color: var(--clr-gray-1); line-height: 1.75; margin-bottom: var(--sp-3); }
.legal-content ul {
    list-style: disc;
    padding-left: var(--sp-6);
    margin-bottom: var(--sp-4);
    display: flex;
    flex-direction: column;
    gap: var(--sp-2);
}
.legal-content ul li { color: var(--clr-gray-1); line-height: 1.65; }
.legal-content a    { color: var(--clr-primary); text-decoration: underline; }
.legal-content a:hover { color: var(--clr-primary-dark); }
.legal-updated {
    margin-top: var(--sp-8) !important;
    font-size: 0.82rem;
    color: var(--clr-gray-3) !important;
    border-top: 1px solid var(--clr-gray-4);
    padding-top: var(--sp-4);
}

/* =============================================
   Print
   ============================================= */
@media print {
    .nav, .footer, .cta-banner, .hero__actions { display: none !important; }
}
