/* RemySpace — responsive.css
   Mobile-first overrides. Base rules above target desktop (~1040px);
   these breakpoints adapt nav, grids, and tables down to 320px. */

@media (max-width: 1024px) {
    .rs-admin-stats-grid { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 900px) {
    .rs-friend-grid { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 768px) {
    .rs-dashboard-grid { grid-template-columns: 1fr; }
    .rs-profile-header { grid-template-columns: 140px 1fr; }
    .rs-contact-box { grid-column: 1 / -1; }
    .rs-admin-wrap { grid-template-columns: 140px 1fr; }
    .rs-admin-stats-grid { grid-template-columns: repeat(2, 1fr); }
    .rs-form-row-half { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
    .rs-nav-toggle { display: inline-block; }

    .rs-primary-nav {
        display: none;
    }
    .rs-primary-nav.rs-nav-open {
        display: block;
    }
    .rs-primary-nav ul {
        flex-direction: column;
    }
    .rs-primary-nav li {
        border-right: none;
        border-bottom: 1px solid rgba(255,255,255,0.15);
    }

    .rs-site-header-inner {
        flex-wrap: wrap;
    }
    .rs-header-right {
        flex: 1 1 100%;
        justify-content: flex-end;
        flex-wrap: wrap;
        font-size: 11px;
        gap: 8px;
    }

    .rs-guest-header-inner {
        flex-direction: column;
        text-align: center;
    }
    .rs-guest-tagline {
        text-align: center;
    }
    .rs-guest-nav {
        justify-content: center;
    }
    .rs-guest-home-grid {
        grid-template-columns: 1fr;
    }
    .rs-guest-feature-grid {
        grid-template-columns: 1fr;
    }
    .rs-guest-people-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .rs-profile-header {
        grid-template-columns: 1fr;
    }
    .rs-profile-photo-col {
        max-width: 160px;
        margin: 0 auto 10px;
    }

    .rs-admin-wrap {
        grid-template-columns: 1fr;
    }
    .rs-admin-sidebar {
        margin-bottom: 10px;
    }
    .rs-admin-sidebar ul {
        display: flex;
        flex-wrap: wrap;
    }
    .rs-admin-sidebar a {
        padding: 6px 10px;
    }

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

    .rs-friend-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .rs-admin-table {
        display: block;
        overflow-x: auto;
        white-space: nowrap;
    }

    .rs-form-actions {
        flex-wrap: wrap;
    }

    .rs-inline-search-form {
        flex-direction: column;
    }
}

@media (max-width: 480px) {
    .rs-header-full-label {
        display: none;
    }
    .rs-header-short-label {
        display: inline;
    }
}

@media (max-width: 400px) {
    body { font-size: 12.5px; }
    .rs-friend-grid { grid-template-columns: repeat(2, 1fr); gap: 8px; }
    .rs-admin-stats-grid { grid-template-columns: 1fr 1fr; }
    .rs-hero-heading { font-size: 21px; }
    .rs-hero-kicker { font-size: 14px; }
    .rs-guest-people-grid { grid-template-columns: 1fr 1fr; }
    .rs-guest-nav a { font-size: 11px; }
}
