/* ============================================================
   StreamNest — Mobile Layout (complete rewrite)
   Targets: max-width 768px
   ============================================================ */

/* ── Hide mobile-only elements on desktop ── */
.mobile-menu-btn {
    display: none !important;
}

.mobile-overlay {
    display: none;
}

.mobile-drawer {
    display: none;
}

/* ── Animations ── */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(16px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* ============================================================
   MOBILE BREAKPOINT
   ============================================================ */
@media (max-width: 768px) {

    /* ── Prevent horizontal overflow globally ── */
    html,
    body {
        overflow-x: hidden !important;
        width: 100% !important;
    }

    /* ─────────────────────────────────────────
       NAVBAR
       ───────────────────────────────────────── */
    .navbar {
        height: 60px !important;
        padding: 0 1rem !important;
        position: sticky !important;
        top: 0 !important;
        z-index: 1000 !important;
    }

    .nav-links {
        display: none !important;
    }

    /* Hamburger button */
    .mobile-menu-btn {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 40px !important;
        height: 40px !important;
        border-radius: 10px !important;
        border: 1px solid rgba(124, 92, 252, 0.25) !important;
        background: rgba(124, 92, 252, 0.08) !important;
        color: var(--accent-light) !important;
        font-size: 1.15rem !important;
        cursor: pointer !important;
        z-index: 2000 !important;
        flex-shrink: 0 !important;
        transition: background 0.2s !important;
    }

    .mobile-menu-btn:active {
        background: rgba(124, 92, 252, 0.2) !important;
    }

    /* ── Overlay behind the drawer ── */
    .mobile-overlay {
        display: block !important;
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        width: 100% !important;
        height: 100% !important;
        background: rgba(0, 0, 0, 0.65) !important;
        backdrop-filter: blur(6px) !important;
        -webkit-backdrop-filter: blur(6px) !important;
        z-index: 1400 !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
        transition: opacity 0.3s ease, visibility 0.3s ease !important;
    }

    .mobile-overlay.active {
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: all !important;
    }

    /* ── Side drawer ── */
    .mobile-drawer {
        display: flex !important;
        flex-direction: column !important;
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        width: 100% !important;
        height: 100dvh !important;
        min-height: 100vh !important;
        background: #09090f !important;
        z-index: 1500 !important;
        padding: 1.5rem !important;
        gap: 0.4rem !important;
        transform: translateX(100%) !important;
        transition: transform 0.4s cubic-bezier(0.77, 0, 0.175, 1) !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        box-sizing: border-box !important;
    }

    .mobile-drawer.active {
        transform: translateX(0) !important;
    }

    .mobile-nav-item {
        display: flex !important;
        align-items: center !important;
        gap: 18px !important;
        font-size: 1.15rem !important;
        font-weight: 600 !important;
        color: #fff !important;
        padding: 1rem 1.2rem !important;
        border-radius: 14px !important;
        background: rgba(255, 255, 255, 0.04) !important;
        border: 1px solid rgba(255, 255, 255, 0.06) !important;
        transition: background 0.2s, border-color 0.2s !important;
        opacity: 0;
        transform: translateY(12px);
    }

    .mobile-drawer.active .mobile-nav-item {
        opacity: 1;
        transform: translateY(0);
        transition: opacity 0.35s ease, transform 0.35s ease !important;
    }

    .mobile-nav-item:nth-child(1) {
        transition-delay: 0.06s !important;
    }

    .mobile-nav-item:nth-child(2) {
        transition-delay: 0.10s !important;
    }

    .mobile-nav-item:nth-child(3) {
        transition-delay: 0.14s !important;
    }

    .mobile-nav-item:nth-child(4) {
        transition-delay: 0.18s !important;
    }

    .mobile-nav-item:nth-child(5) {
        transition-delay: 0.22s !important;
    }

    .mobile-nav-item:nth-child(6) {
        transition-delay: 0.26s !important;
    }

    .mobile-nav-item i {
        width: 28px !important;
        text-align: center !important;
        font-size: 1.2rem !important;
        color: var(--accent) !important;
    }

    .mobile-nav-item:active,
    .mobile-nav-item.active {
        background: rgba(124, 92, 252, 0.18) !important;
        border-color: rgba(124, 92, 252, 0.3) !important;
    }

    /* ─────────────────────────────────────────
       GLOBAL CONTAINER
       ───────────────────────────────────────── */
    .container {
        padding: 0.75rem 0.9rem !important;
        max-width: 100% !important;
    }

    .content-wrapper {
        min-height: calc(100vh - 60px) !important;
    }

    /* ─────────────────────────────────────────
       HOME PAGE — VIDEO GRID
       ───────────────────────────────────────── */
    .video-grid {
        grid-template-columns: 1fr !important;
        gap: 1rem !important;
        padding: 0 !important;
    }

    .video-card {
        border-radius: 14px !important;
        margin-bottom: 0 !important;
    }

    .video-card:hover {
        transform: none !important;
    }

    /* ─────────────────────────────────────────
       WATCH PAGE
       ───────────────────────────────────────── */
    .watch-layout {
        grid-template-columns: 1fr !important;
        gap: 0 !important;
        padding: 0 !important;
        animation: fadeInUp 0.5s ease !important;
    }

    .player-container {
        border-radius: 0 !important;
        margin-bottom: 0 !important;
        box-shadow: none !important;
    }

    .main-video-section {
        padding: 0 !important;
    }

    .video-watch-title {
        font-size: 1.1rem !important;
        margin: 0.9rem 0.9rem 0.5rem !important;
        line-height: 1.35 !important;
    }

    .video-actions-bar {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 0.8rem !important;
        padding: 0 0.9rem !important;
        margin-bottom: 0.8rem !important;
    }

    .channel-info {
        width: 100% !important;
        gap: 0.75rem !important;
    }

    .btn-subscribe {
        margin-left: auto !important;
        font-size: 0.82rem !important;
        padding: 0.45rem 0.9rem !important;
    }

    .video-stats-actions {
        width: 100% !important;
        justify-content: flex-start !important;
        gap: 8px !important;
        flex-wrap: wrap !important;
    }

    .action-btn {
        padding: 0.5rem 0.9rem !important;
        font-size: 0.82rem !important;
    }

    .video-description-box {
        margin: 0.5rem 0.9rem 1rem !important;
        padding: 0.9rem !important;
    }

    /* video sidebar — shown below on mobile */
    .video-sidebar {
        padding: 0 0.9rem !important;
        margin-top: 0.5rem !important;
    }

    .video-sidebar h3 {
        font-size: 1rem !important;
        margin-bottom: 0.8rem !important;
    }

    .sidebar-video-card {
        gap: 8px !important;
        margin-bottom: 0.8rem !important;
    }

    .sidebar-thumb-wrap {
        width: 110px !important;
    }

    .sidebar-video-title {
        font-size: 0.8rem !important;
    }

    /* comments section */
    .comments-section {
        padding: 0 0.9rem 2rem !important;
    }

    .add-comment-box {
        gap: 0.7rem !important;
        margin-bottom: 1.5rem !important;
    }

    .comment-avatar {
        width: 32px !important;
        height: 32px !important;
        flex-shrink: 0 !important;
    }

    /* ─────────────────────────────────────────
       STUDIO & ADMIN PAGES (sidebar-based)
       ───────────────────────────────────────── */
    /* Hide the static desktop sidebar entirely */
    .studio-layout>.sidebar,
    .studio-layout>aside.sidebar {
        display: none !important;
    }

    /* NOT admin floating sidebar (that has its own toggle) */
    #adminSidebar {
        display: none !important;
        /* will be shown via .active class via JS */
    }

    #adminSidebar.active {
        display: flex !important;
    }

    .studio-layout {
        grid-template-columns: 1fr !important;
        gap: 0 !important;
        padding: 0 !important;
        min-height: unset !important;
    }

    .dashboard-content {
        padding: 0.75rem 0.9rem !important;
    }

    /* stats cards — 2 columns */
    .stats-grid {
        grid-template-columns: 1fr 1fr !important;
        gap: 0.75rem !important;
        margin-bottom: 1.2rem !important;
    }

    .stat-card {
        padding: 1rem 0.9rem !important;
        border-radius: 14px !important;
    }

    .stat-value {
        font-size: 1.5rem !important;
    }

    .stat-label {
        font-size: 0.78rem !important;
    }

    /* settings / content cards */
    .settings-card {
        padding: 1rem 0.9rem !important;
        border-radius: 14px !important;
        margin-bottom: 1rem !important;
    }

    .settings-card h3 {
        font-size: 1rem !important;
        margin-bottom: 1rem !important;
    }

    /* tables — horizontal scroll, compact cells */
    .table-wrapper {
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
        border-radius: 12px !important;
        margin-top: 0.75rem !important;
    }

    .admin-table,
    .data-table {
        white-space: nowrap !important;
        min-width: 500px !important;
    }

    .admin-table th,
    .admin-table td,
    .data-table th,
    .data-table td {
        padding: 0.6rem 0.75rem !important;
        font-size: 0.82rem !important;
    }

    /* secret panel */
    .secret-panel {
        padding: 1rem !important;
        margin-top: 1rem !important;
    }

    /* ─────────────────────────────────────────
       AUTH PAGES (login / register)
       ───────────────────────────────────────── */
    .auth-container {
        padding: 1rem !important;
        align-items: flex-start !important;
        padding-top: 2rem !important;
    }

    .auth-box {
        padding: 1.8rem 1.2rem !important;
        border-radius: 18px !important;
    }

    /* ─────────────────────────────────────────
       PROFILE PAGE
       ───────────────────────────────────────── */
    .profile-banner {
        height: 160px !important;
    }

    .profile-header {
        padding: 0 0.9rem !important;
        margin-top: -40px !important;
    }

    .profile-avatar {
        width: 80px !important;
        height: 80px !important;
    }

    .profile-info h1 {
        font-size: 1.2rem !important;
    }

    .profile-tabs {
        overflow-x: auto !important;
        gap: 0 !important;
    }

    .profile-tab {
        white-space: nowrap !important;
        padding: 0.7rem 1rem !important;
        font-size: 0.88rem !important;
    }

    /* ─────────────────────────────────────────
       UPLOAD PAGE
       ───────────────────────────────────────── */
    .upload-dropzone {
        padding: 2rem 1rem !important;
    }

    /* ─────────────────────────────────────────
       FORMS
       ───────────────────────────────────────── */
    .form-input,
    .form-textarea,
    .form-select {
        font-size: 1rem !important;
        /* Prevents iOS zoom on focus */
    }

    /* ─────────────────────────────────────────
       CHANGELOG
       ───────────────────────────────────────── */
    .changelog-timeline {
        padding-left: 20px !important;
    }

    .changelog-entry {
        padding: 1.2rem 1rem !important;
    }
}

/* Extra small screens */
@media (max-width: 400px) {
    .stats-grid {
        grid-template-columns: 1fr !important;
    }

    .video-stats-actions {
        gap: 6px !important;
    }

    .action-btn {
        padding: 0.45rem 0.7rem !important;
        font-size: 0.78rem !important;
    }
}