/* ========================================
   ACCESSIBILITY / UX IMPROVEMENTS
   ======================================== */
body.menu-open {
    overflow: hidden;
}

.main-content {
    min-height: 40vh;
}

a:focus-visible,
button:focus-visible,
.btn:focus-visible,
.faq-question:focus-visible,
.mobile-toggle:focus-visible {
    outline: 3px solid rgba(16, 61, 92, 0.22);
    outline-offset: 3px;
}

/* ========================================
   FAQ WRAP
   ======================================== */
.faq-wrap {
    max-width: 820px;
    margin: 0 auto;
}

/* ========================================
   LEGAL CONTENT
   ======================================== */
.legal-content {
    max-width: 820px;
    margin: 0 auto;
}

.legal-content h2 {
    margin-top: 2rem;
    margin-bottom: 0.85rem;
    font-size: 1.5rem;
    color: var(--color-gray-900);
}

.legal-content h3 {
    margin-top: 1.4rem;
    margin-bottom: 0.7rem;
    font-size: 1.15rem;
    color: var(--color-gray-900);
}

.legal-content p,
.legal-content li {
    color: var(--color-gray-700);
    line-height: 1.85;
}

.legal-content ul,
.legal-content ol {
    list-style: disc;
    padding-left: 1.25rem;
    margin: 0 0 1.2rem;
}

.legal-content ol {
    list-style: decimal;
}

.legal-content a {
    color: var(--color-primary);
    text-decoration: underline;
    text-underline-offset: 2px;
}

.legal-date {
    margin-bottom: 1.5rem;
    color: var(--color-gray-500);
    font-size: var(--text-sm);
}

.legal-contact {
    margin-top: 2rem;
    padding: 1.25rem;
    background: var(--color-gray-50);
    border: 1px solid rgba(16, 61, 92, 0.08);
    border-radius: 1rem;
    box-shadow: var(--shadow-xs);
}

/* ========================================
   INTERIOR HERO SUPPORT
   ======================================== */
.hero-interior {
    min-height: auto;
    padding: var(--space-20) 0 var(--space-14);
}

.hero-short {
    min-height: auto;
    padding: var(--space-16) 0 var(--space-10);
}

.hero-subtitle {
    font-size: var(--text-lg);
    color: var(--color-gray-600);
    line-height: 1.75;
    margin-bottom: 0;
}

/* ========================================
   CONTENT LINKS
   ======================================== */
.section a:not(.btn):not(.card-link):not(.nav-item a):not(.footer-links a):not(.footer-location a):not(.footer-social a) {
    color: var(--color-primary);
}

.section a:not(.btn):not(.card-link):not(.nav-item a):not(.footer-links a):not(.footer-location a):not(.footer-social a):hover {
    color: var(--color-primary-dark);
}

/* ========================================
   SMALL RESPONSIVE ADDITIONS
   ======================================== */
@media (max-width: 768px) {
    .legal-content h2 {
        font-size: 1.35rem;
    }

    .legal-content h3 {
        font-size: 1.08rem;
    }

    .hero-subtitle {
        font-size: var(--text-base);
    }
}