/* ==========================================================================
   ZULQARNAIN HAIDER — RESPONSIVE DESIGN & MOBILE OPTIMIZATIONS
   ========================================================================== */

/* Tablet & Smaller Desktops */
@media (max-width: 992px) {
    .grid-2 {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .grid-4 {
        grid-template-columns: repeat(2, 1fr);
        gap: 2rem;
    }

    .desktop-nav {
        display: none;
    }

    .mobile-menu-toggle {
        display: flex;
    }

    .timeline-item {
        width: 100%;
        margin-right: 0 !important;
        margin-left: 0 !important;
        padding-left: 0 !important;
        padding-right: 3.5rem !important;
        text-align: right;
    }

    .vertical-timeline::before {
        right: 18px;
        left: auto;
    }

    .timeline-right .timeline-dot,
    .timeline-left .timeline-dot {
        right: 0;
        left: auto;
    }

    .purpose-flow {
        flex-direction: column;
    }

    .flow-arrow {
        transform: rotate(90deg);
    }

    .flow-step {
        max-width: 100%;
        width: 100%;
    }
}

/* Mobile Screens */
@media (max-width: 640px) {
    :root {
        --header-height: 64px;
    }

    .container {
        padding-left: 1.2rem;
        padding-right: 1.2rem;
    }

    .section-padding {
        padding-top: 3.5rem;
        padding-bottom: 3.5rem;
    }

    .section-padding-lg {
        padding-top: 4.5rem;
        padding-bottom: 4.5rem;
    }

    .grid-4 {
        grid-template-columns: 1fr;
    }

    .hero-motto-bar {
        font-size: 1.1rem;
        gap: 0.5rem;
    }

    .hero-intro-text {
        font-size: 1rem;
    }

    .hero-cta-group {
        flex-direction: column;
        width: 100%;
    }

    .hero-cta-group .btn {
        width: 100%;
    }

    .verse-card {
        padding: 2rem 1.2rem;
    }

    .arabic-verse {
        font-size: 1.8rem;
    }

    .verse-translation {
        font-size: 1.05rem;
    }

    .status-filter-row {
        flex-direction: column;
        align-items: flex-start;
    }

    .status-pills {
        flex-wrap: wrap;
    }

    .footer-bottom-container {
        flex-direction: column;
        text-align: center;
    }

    .modal-dialog {
        padding: 1.5rem 1.2rem;
    }

    .lightbox-container {
        flex-direction: column;
    }

    .lightbox-nav-btn {
        display: none;
    }

    .gallery-masonry {
        columns: 1 100%;
    }
}

/* iOS and Dynamic Viewport Units */
@supports (min-height: 100svh) {
    .hero-section {
        min-height: calc(100svh - var(--header-height));
    }
}