/**
 * MazDukan Legal & Documentation Center - Responsive Utilities
 * Supplementary responsive styles beyond legal.css
 */

/* ------------------------------------------------------------------
   Mobile-first utilities
   ------------------------------------------------------------------ */

@media (max-width: 991.98px) {
    .legal-hero h1 { font-size: 1.85rem; }
    .legal-hero .lead { font-size: 1rem; }

    .legal-content h2 { font-size: 1.35rem; }
    .legal-content h3 { font-size: 1.1rem; }

    .legal-workflow {
        flex-direction: column;
        align-items: flex-start;
        gap: 6px;
    }
    .legal-workflow-arrow { display: none; }
    .legal-workflow-step { width: 100%; text-align: center; }

    .legal-contact-form .form-control { font-size: 16px; }
}

@media (max-width: 767.98px) {
    .legal-hero { margin-bottom: 24px; }
    .legal-hero h1 { font-size: 1.55rem; }

    .legal-section { margin-bottom: 36px; }
    .legal-section h2 { font-size: 1.25rem; }

    .legal-callout { padding: 16px; }

    .legal-search-box input { font-size: 16px; padding: 10px 14px 10px 40px; }

    .legal-footer-top { gap: 12px; padding-bottom: 16px; margin-bottom: 16px; }
    .legal-footer-brand { justify-content: center; width: 100%; }
    .legal-footer-nav { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
    .legal-footer-nav a { font-size: 0.85rem; }
    .legal-footer-sep { display: none; }

    .legal-alert { padding: 12px 16px; font-size: 0.9rem; }
}

@media (max-width: 575.98px) {
    .legal-main { padding: 20px 12px; }
    .legal-hero h1 { font-size: 1.35rem; }

    .legal-toc { padding: 16px; }
    .legal-toc-list a { padding: 8px; font-size: 0.82rem; }

    .legal-section ul,
    .legal-section ol { padding-left: 18px; }

    .legal-btn-submit { width: 100%; }
}

/* ------------------------------------------------------------------
   Login page responsive nav
   ------------------------------------------------------------------ */

@media (max-width: 767.98px) {
    .login-legal-nav { display: none !important; }
    .login-legal-mobile-footer { display: flex !important; }
}

@media (min-width: 768px) {
    .login-legal-mobile-footer { display: none !important; }
}

/* ------------------------------------------------------------------
   Touch / accessibility helpers
   ------------------------------------------------------------------ */

@media (hover: none) and (pointer: coarse) {
    .legal-nav-link:hover { background: transparent; }
    .legal-toc-list a:hover { background: transparent; }
}

/* ------------------------------------------------------------------
   High contrast mode
   ------------------------------------------------------------------ */

@media (prefers-contrast: more) {
    .legal-nav-link:focus-visible,
    .legal-toc-list a:focus-visible,
    .login-legal-nav a:focus-visible {
        outline: 3px solid currentColor;
        outline-offset: 3px;
    }

    .legal-callout {
        border-width: 2px;
    }
}
