/* Global responsive tweaks — load after php-app.css */

/* Vertical scroll on all pages — body unlocks after loader (.is-ready in php-app.css) */
.main-content {
    overflow-x: clip;
    overflow-y: visible;
    display: block;
}

/* Offset below fixed navbar (avoid doubling .dashboard-goxlr / .hero padding) */
.main-content > .auth-section:first-child:not(.static-page) {
    padding-top: calc(4.5rem + var(--space-xl));
    padding-bottom: var(--space-4xl);
}

.main-content > .static-page:first-child {
    padding-top: calc(4.5rem + var(--space-3xl));
    padding-bottom: var(--space-4xl);
}

.main-content > .addons-hero:first-child {
    padding: calc(4.5rem + var(--space-xl)) 0 var(--space-xl);
}

/* Home hero + device: allow full-width without horizontal scroll */
.hero .goxlr-device-wrap {
    max-width: 100%;
}

/* Slightly tighter gutters on phones */
@media (max-width: 640px) {
    .container,
    .nav-container {
        padding-left: var(--space-md);
        padding-right: var(--space-md);
    }

    .section-title {
        font-size: clamp(1.35rem, 5.5vw, 2rem);
    }

    .hero {
        padding-left: var(--space-md);
        padding-right: var(--space-md);
    }

    .auth-card {
        padding: var(--space-xl);
    }

    .modal {
        margin: var(--space-md);
        padding: var(--space-xl);
    }

    .php-nav .nav-actions {
        gap: var(--space-xs);
    }

    .btn-nav {
        padding: 0.4rem 0.75rem;
        font-size: 0.75rem;
    }
}

/* Nav: keep actions from overflowing */
@media (max-width: 960px) {
    .php-nav .nav-container {
        flex-wrap: wrap;
    }

    .nav-links.active {
        width: 100%;
        order: 3;
        border-top: 1px solid rgba(255, 255, 255, 0.08);
        margin-top: var(--space-sm);
        padding-top: var(--space-md);
    }

    html[data-theme="light"] .nav-links.active {
        border-top-color: rgba(0, 0, 0, 0.08);
    }
}

/* Tables & wide panels */
@media (max-width: 768px) {
    .table-wrap {
        -webkit-overflow-scrolling: touch;
    }

    .data-table {
        font-size: 0.8rem;
    }

    .data-table th,
    .data-table td {
        padding: var(--space-xs) var(--space-sm);
    }
}

/* Footer stacks already; ensure touch targets */
@media (max-width: 767px) {
    .footer-grid {
        text-align: center;
    }

    .site-footer .footer-links ul {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: var(--space-xs);
    }
}

/* Dashboard — panel may extend; vertical scroll on body handles length */
.dashboard-goxlr__inner {
    max-width: 100%;
    min-width: 0;
    overflow-x: clip;
}

@media (max-width: 560px) {
    .goxlr-device-wrap .device {
        padding-left: 12px;
        padding-right: 12px;
    }
}
