/* ==========================================================================
   Ultra Digital Finance - Responsive Styles
   ========================================================================== */

@media (max-width: 1200px) {
    .footer-main {
        grid-template-columns: 1.4fr 1fr 1fr;
    }

    .footer-main .footer-col:last-child {
        grid-column: span 3;
    }

    .topbar-links {
        display: none;
    }
}

@media (max-width: 1024px) {
    html {
        scroll-padding-top: 90px;
    }

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

    .grid-3 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .stats-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .hero-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .split {
        grid-template-columns: 1fr;
        gap: 2.5rem;
    }

    .split-media::after {
        display: none;
    }

    .section {
        padding: 4rem 0;
    }

    /* Mobile navigation */
    .mobile-menu-toggle {
        display: block;
    }

    .nav-links {
        position: fixed;
        top: 0;
        right: -100%;
        width: min(84vw, 360px);
        height: 100vh;
        background: linear-gradient(170deg, #1a1a1a 0%, #2f1116 55%, var(--crimson-deep) 100%);
        flex-direction: column;
        align-items: stretch;
        padding: 5.5rem 1.4rem 2rem;
        gap: 0.2rem;
        transition: right 0.32s cubic-bezier(0.22, 1, 0.36, 1);
        overflow-y: auto;
        box-shadow: -20px 0 50px rgba(0, 0, 0, 0.35);
        z-index: 1050;
    }

    .nav-links.active {
        right: 0;
    }

    .nav-links .nav-link {
        color: rgba(255, 255, 255, 0.9);
        padding: 0.95rem 1rem;
        border-radius: 10px;
        font-size: 1rem;
        display: block;
        border-bottom: 1px solid rgba(255, 255, 255, 0.07);
    }

    .nav-links .nav-link::after {
        display: none;
    }

    .nav-links .nav-link:hover,
    .nav-links .nav-link.active {
        background: rgba(255, 255, 255, 0.08);
        color: var(--gold-light);
    }

    .nav-links .online-banking-btn {
        margin: 1.2rem 0 0;
        justify-content: center;
        width: 100%;
    }

    body.menu-open {
        overflow: hidden;
    }
}

@media (max-width: 768px) {
    html {
        font-size: 15px;
    }

    .container,
    .container-narrow {
        padding: 0 1.15rem;
    }

    .hero {
        min-height: 88vh;
        padding: 4.5rem 0 4rem;
    }

    .hero h1 {
        font-size: 2.1rem;
    }

    .hero-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.7rem;
    }

    .hero-stat strong {
        font-size: 1.25rem;
    }

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

    .hero .cta-buttons {
        flex-direction: column;
        align-items: stretch;
    }

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

    .stats-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .topbar-inner {
        justify-content: center;
        text-align: center;
    }

    .topbar-contacts {
        gap: 0.9rem;
        justify-content: center;
    }

    .logo img {
        height: 44px;
    }

    .section {
        padding: 3.2rem 0;
    }

    .section-title {
        font-size: 1.7rem;
    }

    .section-subtitle {
        font-size: 0.97rem;
        margin-bottom: 2rem;
    }

    .page-header {
        padding: 3.2rem 0 2.8rem;
    }

    .page-header h1 {
        font-size: 1.9rem;
    }

    .page-header p {
        font-size: 1rem;
    }

    .card {
        padding: 1.6rem 1.4rem;
    }

    .cta-band {
        padding: 2.2rem 1.6rem;
        flex-direction: column;
        text-align: center;
    }

    .cta-band .actions {
        justify-content: center;
        width: 100%;
        flex-direction: column;
    }

    .cta-band .actions .btn {
        width: 100%;
    }

    .footer-main {
        grid-template-columns: 1fr 1fr;
        gap: 2rem;
        padding: 3rem 1.15rem 2rem;
    }

    .footer-main .footer-col:last-child {
        grid-column: span 2;
    }

    .footer-brand {
        grid-column: span 2;
    }

    .footer-legal {
        padding: 1.5rem 1.15rem 2rem;
    }

    .table-card {
        border-radius: var(--radius-md);
    }

    .modal-box {
        margin: 0;
        border-radius: var(--radius-md);
    }
}

@media (max-width: 480px) {
    html {
        font-size: 14.5px;
    }

    .hero-stats {
        grid-template-columns: 1fr 1fr;
    }

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

    .trust-bar-inner {
        gap: 1rem;
        flex-direction: column;
        align-items: flex-start;
    }

    .topbar {
        font-size: 0.74rem;
    }

    .footer-main {
        grid-template-columns: 1fr;
    }

    .footer-main .footer-col:last-child,
    .footer-brand {
        grid-column: span 1;
    }

    .location-filters {
        gap: 0.4rem;
    }

    .filter-btn {
        padding: 0.45rem 1rem;
        font-size: 0.8rem;
    }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {

    *,
    *::before,
    *::after {
        animation-duration: 0.001ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.001ms !important;
        scroll-behavior: auto !important;
    }
}
