/* public/assets/css/frontend/pages/legal.css - Rechtsseiten Komponenten und Stile */

/* HAUPTNAVIGATION */
/* Container-Anpassungen */
.page-legal .navbar .container, .page-impressum .navbar .container, .page-datenschutz .navbar .container, .page-agb .navbar .container { height: 59.28px !important; }

/* Navbar-Anpassungen */
.page-legal .navbar-nav, .page-impressum .navbar-nav, .page-datenschutz .navbar-nav, .page-agb .navbar-nav { height: 52.8px !important; max-height: 52.8px !important; margin-bottom: 0 !important; padding-left: 0 !important; }

/* Nav-Item-Anpassungen */
.page-legal .navbar-nav .nav-item, .page-impressum .navbar-nav .nav-item, .page-datenschutz .navbar-nav .nav-item, .page-agb .navbar-nav .nav-item { height: 52.8px !important; display: flex !important; align-items: center !important; margin-bottom: 0 !important; }

/* Logo-Hover-Fix */
.navbar-brand:hover { text-decoration: none !important; }

/* UNTERNAVIGATION */
.legal-subnavigation { text-align: center; padding: 2rem 0 1rem 0; border-bottom: 1px solid #e9ecef; margin-bottom: 2rem !important; }

.legal-subnav-item {
    font-size: 1.25rem !important;
    font-weight: 500 !important;
    color: var(--primary-color) !important;
    text-decoration: none;
    transition: all 0.3s ease;
    padding: 0.65rem 1.25rem !important;
    margin: 0 0.2rem;
    border-radius: 20px !important;
    display: inline-block;
}
.legal-subnav-item:hover { color: white !important; background-color: var(--accent-color) !important; transform: translateY(-1px) scale(1.03) !important; box-shadow: 0 3px 8px rgba(38, 166, 154, 0.25) !important; text-decoration: none !important; }
.legal-subnav-item.active { color: var(--accent-color) !important; background-color: rgba(38, 166, 154, 0.1) !important; font-weight: 600 !important; }
.legal-subnav-separator { display: none; }

/* SEITENABSTÄNDE */
.page-legal main > section:first-child, .page-impressum main > section:first-child, .page-datenschutz main > section:first-child, .page-agb main > section:first-child { margin-top: 0 !important; padding-top: 2rem; }

/* BASISGESTALTUNG */
.page-legal, .page-impressum, .page-datenschutz, .page-agb { background-color: #f8f9fa; }
.impressum-section, .datenschutz-section, .agb-section { background-color: #f8f9fa; padding-top: 2rem; padding-bottom: 2rem; }
.impressum-section .container, .datenschutz-section .container, .agb-section .container { max-width: 1200px; }

/* Karten-Gestaltung */
.page-legal .card, .impressum-section .card, .datenschutz-section .card, .agb-section .card {
    border: none;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    border-radius: 10px;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    margin-bottom: 1rem;
    padding: 1.5rem;
}
.page-legal .card:hover, .impressum-section .card:hover, .datenschutz-section .card:hover, .agb-section .card:hover { transform: translateY(-3px); box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12); }

/* INHALTSKOMPONENTEN */
.page-legal .alert, .impressum-section .alert, .datenschutz-section .alert, .agb-section .alert { border-radius: 8px; border: none; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08); margin-bottom: 1rem; padding: 1rem; }
.page-legal .col-lg-4 .card, .impressum-section .col-lg-4 .card, .datenschutz-section .col-lg-4 .card, .agb-section .col-lg-4 .card { padding: 1rem; margin-bottom: 1rem; }

/* KONTAKTINFORMATIONEN */
.contact-info { background-color: #f8f9fa; padding: 1rem; border-radius: 8px; border-left: 4px solid var(--accent-color, #26a69a); margin: 1rem 0; }
.contact-row { display: flex; align-items: flex-start; margin-bottom: 0.75rem; padding: 0; }
.contact-row:last-child { margin-bottom: 0; }
.contact-label { font-weight: 600; min-width: 80px; color: var(--dark-gray, #757575); flex-shrink: 0; margin-right: 1rem; }
.contact-value { flex: 1; color: var(--primary-color, #1a3c5a); }

/* Adressformatierung */
address { font-style: normal; line-height: 1.6; margin-bottom: 0; }
.email-protection, .phone-protection { display: inline; color: var(--accent-color, #26a69a); font-weight: 500; }

/* PGP-Informationen */
.pgp-info { display: flex; flex-direction: column; }
.pgp-download-link { color: var(--accent-color, #26a69a); text-decoration: none; font-weight: normal; display: inline-flex; align-items: center; transition: all 0.3s ease; }
.pgp-download-link:hover { color: #1e8e82; text-decoration: underline; }
.pgp-info small { font-family: 'Courier New', monospace; font-size: 0.75rem; word-break: break-all; }

/* TYPOGRAFIE */
.page-legal h1, .impressum-section h1, .datenschutz-section h1, .agb-section h1 { color: var(--primary-color, #1a3c5a); margin-bottom: 1.5rem; font-weight: 700; font-size: 2.5rem; }
.page-legal h2, .page-legal .h4, .impressum-section h2, .impressum-section .h4, .datenschutz-section h2, .datenschutz-section .h4, .agb-section h2, .agb-section .h4 {
    color: var(--primary-color, #1a3c5a);
    border-bottom: 2px solid var(--accent-color, #26a69a);
    padding-bottom: 0.5rem;
    margin-bottom: 1rem;
    font-size: 1.5rem;
}
.page-legal p, .impressum-section p, .datenschutz-section p, .agb-section p { margin-bottom: 1rem; line-height: 1.6; }
.page-legal ul, .impressum-section ul, .datenschutz-section ul, .agb-section ul { padding-left: 1.5rem; margin-bottom: 1rem; }
.page-legal li, .impressum-section li, .datenschutz-section li, .agb-section li { margin-bottom: 0.25rem; line-height: 1.6; }

/* INTERAKTIONSELEMENTE */
.page-legal a, .impressum-section a, .datenschutz-section a, .agb-section a { color: var(--accent-color, #26a69a); text-decoration: none; transition: color 0.3s ease; }
.page-legal a:hover, .impressum-section a:hover, .datenschutz-section a:hover, .agb-section a:hover { color: #1e8e82; text-decoration: underline; }

/* RESPONSIVE ANPASSUNGEN */
@media (max-width: 767px) {
    .legal-subnavigation { padding: 1rem 0; }
    .legal-subnav-item { font-size: 1.5rem; margin: 0 0.25rem; padding: 0.25rem 0.5rem; }
    .legal-subnav-separator { font-size: 1.2rem; margin: 0 0.5rem; }
    .pgp-info small { font-size: 0.7rem; }
    .impressum-section, .datenschutz-section, .agb-section { padding-top: 1rem; padding-bottom: 1rem; }
    .page-legal .card, .impressum-section .card, .datenschutz-section .card, .agb-section .card { margin-bottom: 1rem; padding: 1rem; }
    .contact-row { flex-direction: column; align-items: flex-start; margin-bottom: 0.5rem; }
    .contact-label { margin-bottom: 0.25rem; margin-right: 0; min-width: auto; }
    .page-legal h1, .impressum-section h1, .datenschutz-section h1, .agb-section h1 { font-size: 2rem; margin-bottom: 1rem; }
}

/* DRUCKANPASSUNGEN */
@media print {
    .page-legal .card, .impressum-section .card, .datenschutz-section .card, .agb-section .card { box-shadow: none !important; border: 1px solid #ddd !important; transform: none !important; margin-bottom: 1rem !important; padding: 1rem !important; }
}

/* DEBUGGING */
.page-legal *, .impressum-section *, .datenschutz-section *, .agb-section * { min-height: auto !important; height: auto !important; }
.page-legal img, .impressum-section img, .datenschutz-section img, .agb-section img { height: auto !important; max-height: none !important; }