/* ============================================================
   shared/css/responsive.css
   Responsive global : sidebar, navigation, page accueil
   Le responsive des modules est dans module.css
   ============================================================ */

/* ===== MOBILE (max-width: 768px) ===== */
@media (max-width: 768px) {
    /* Sidebar mobile */
    .sidebar {
        position: fixed;
        top: 0;
        left: -280px;
        height: 100vh;
        height: 100dvh;
        z-index: 99;
        box-shadow: 2px 0 16px rgba(0, 0, 0, 0.15);
        transition: left 0.3s cubic-bezier(0.4, 0, 0.2, 1), background 0.3s, border-color 0.3s;
        display: flex;
        flex-direction: column;
    }

    .sidebar.active {
        left: 0;
    }

    .sidebar-header {
        padding: 5px 8px;
        flex-shrink: 0;
    }

    .logo-text {
        font-size: 16px;
    }

    .sidebar-content {
        flex: 1;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        padding: 3px;
        min-height: 0;
    }

    .sidebar-section {
        margin-bottom: 1px;
    }

    .folder-header {
        padding: 4px 6px;
        font-size: 14px;
    }

    .doc-item {
        padding: 4px 6px;
        margin-bottom: 1px;
        font-size: 13px;
    }

    .badge-soon {
        font-size: 9px;
        padding: 1px 4px;
    }

    .sidebar-footer {
        padding: 4px;
        flex-shrink: 0;
        border-top: 1px solid var(--border);
    }

    .my-docs-btn-sidebar,
    .settings-btn {
        padding: 6px;
        font-size: 13px;
        margin-bottom: 3px;
    }

    .settings-btn {
        margin-bottom: 0;
    }

    /* Boutons navigation mobile */
    .hamburger-btn {
        display: flex;
    }

    .new-project-btn-mobile {
        display: flex;
    }

    /* Page accueil mobile — welcome-content padding (index.css n'a pas de mobile override) */
    .welcome-content {
        padding: 20px 16px;
    }

    .welcome-steps {
        gap: 10px;
        margin-bottom: 14px;
    }

    .step-card {
        padding: 12px 16px;
    }

    .step-number {
        width: 36px;
        height: 36px;
        font-size: 21px;
    }

    .step-title {
        font-size: 18px;
    }

    .step-desc {
        font-size: 15px;
    }

    .welcome-premium {
        margin-top: 14px;
    }

    #btn-premium {
        padding: 12px 28px;
        font-size: 17px;
    }

    /* Index accueil mobile — index.css n'a pas de media query */
    .welcome-static-content .welcome-title {
        font-size: 23px;
    }

    .welcome-static-content .welcome-subtitle {
        margin-bottom: 16px;
        font-size: 15px;
    }

    .welcome-static-content .welcome-logo {
        width: 56px;
        height: 56px;
        margin-bottom: 12px;
    }

    /* Coming soon mobile */
    .coming-soon-content {
        padding: 24px 16px;
    }

    .coming-soon-icon {
        width: 60px;
        height: 60px;
    }

    .coming-soon-content h2 {
        font-size: 23px;
    }
}

/* ===== TABLETTE (769px - 1024px) ===== */
@media (min-width: 769px) and (max-width: 1024px) {
    /* Page accueil tablette */
    .welcome-content {
        padding: 24px 20px;
    }

    .welcome-steps {
        margin-bottom: 24px;
    }

    .welcome-premium {
        margin-top: 16px;
    }
}
