/* ============================================
   CORRECTIONS RESPONSIVE FINALES - MOBILE & PC
   ============================================ */

/* ========== RESET GLOBAL ========== */
* {
    box-sizing: border-box;
}

body {
    overflow-x: hidden !important;
    margin: 0;
    padding: 0;
}

/* ========== PAGE D'ACCUEIL (index.html) ========== */

/* Hero Section */
@media (max-width: 768px) {
    .hero {
        padding: 20px !important;
        text-align: center !important;
    }
    
    .hero h1 {
        font-size: 2.5rem !important;
        line-height: 1.2 !important;
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
        padding: 0 10px !important;
        letter-spacing: 2px !important; /* Réduit pour mobile */
    }
    
    .hero p {
        font-size: 1rem !important;
        padding: 0 15px !important;
        margin: 10px auto !important;
    }
}

@media (max-width: 480px) {
    .hero h1 {
        font-size: 1.8rem !important;
        letter-spacing: 1px !important;
    }
    
    .hero p {
        font-size: 0.9rem !important;
    }
}

/* Stats Grid */
@media (max-width: 768px) {
    .stats-grid {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 15px !important;
        padding: 0 15px !important;
        margin: 20px auto !important;
        max-width: 100% !important;
    }
    
    .stat-card {
        padding: 20px 15px !important;
        min-height: auto !important;
    }
    
    .stat-value {
        font-size: 1.8rem !important;
    }
    
    .stat-label {
        font-size: 0.85rem !important;
    }
}

@media (max-width: 480px) {
    .stats-grid {
        grid-template-columns: 1fr !important;
        gap: 10px !important;
    }
    
    .stat-value {
        font-size: 1.5rem !important;
    }
}

/* Actions Buttons */
@media (max-width: 768px) {
    .actions {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        width: 100% !important;
        padding: 0 20px !important;
        gap: 15px !important;
    }
    
    .btn {
        width: 100% !important;
        max-width: 350px !important;
        padding: 15px 20px !important;
        font-size: 1rem !important;
        text-align: center !important;
    }
    
    .btn-discord {
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        gap: 10px !important;
    }
}

/* Features Grid */
@media (max-width: 768px) {
    .features {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 20px !important;
        padding: 0 15px !important;
    }
    
    .feature-card {
        padding: 20px !important;
    }
    
    .feature-icon {
        font-size: 2rem !important;
    }
}

/* Container */
@media (max-width: 768px) {
    .container {
        padding: 15px !important;
        width: 100% !important;
        max-width: 100% !important;
    }
    
    section {
        margin: 30px 0 !important;
    }
}

/* ========== DASHBOARD ========== */

/* Header */
@media (max-width: 768px) {
    .header {
        padding: 15px 10px !important;
        position: relative !important;
    }
    
    .header-content {
        display: flex !important;
        flex-direction: column !important;
        gap: 15px !important;
        align-items: center !important;
        width: 100% !important;
    }
    
    .logo {
        font-size: 1.3rem !important;
        text-align: center !important;
        letter-spacing: 2px !important;
        word-break: keep-all !important;
    }
    
    /* User Info - IMPORTANT */
    .user-info {
        display: flex !important;
        flex-direction: row !important;
        justify-content: center !important;
        align-items: center !important;
        gap: 15px !important;
        width: 100% !important;
        flex-wrap: wrap !important;
    }
    
    .user-name {
        font-size: 0.9rem !important;
        max-width: 200px !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
        padding: 8px 15px !important;
    }
    
    .logout-btn {
        padding: 8px 20px !important;
        font-size: 0.85rem !important;
        white-space: nowrap !important;
    }
}

/* Navigation Tabs */
@media (max-width: 768px) {
    .nav-tabs {
        display: flex !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        -webkit-overflow-scrolling: touch !important;
        scrollbar-width: none !important;
        gap: 10px !important;
        padding: 10px !important;
        width: 100% !important;
        white-space: nowrap !important;
    }
    
    .nav-tabs::-webkit-scrollbar {
        display: none !important;
    }
    
    .nav-tab, .tab-btn {
        flex: 0 0 auto !important;
        white-space: nowrap !important;
        padding: 12px 20px !important;
        font-size: 0.85rem !important;
        min-height: 44px !important;
        display: inline-block !important;
    }
}

/* Cards & Content */
@media (max-width: 768px) {
    .card {
        margin: 10px !important;
        padding: 20px 15px !important;
        border-radius: 10px !important;
    }
    
    .card-header {
        display: flex !important;
        flex-direction: column !important;
        gap: 15px !important;
        align-items: stretch !important;
        margin-bottom: 20px !important;
    }
    
    .card-title {
        font-size: 1.2rem !important;
        margin: 0 !important;
    }
}

/* Proposals */
@media (max-width: 768px) {
    .proposal-card {
        padding: 20px 15px !important;
        margin-bottom: 15px !important;
    }
    
    .proposal-title {
        font-size: 1.1rem !important;
        margin-bottom: 10px !important;
        word-wrap: break-word !important;
    }
    
    .proposal-description {
        font-size: 0.9rem !important;
        line-height: 1.5 !important;
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
    }
    
    .proposal-meta {
        display: flex !important;
        flex-direction: column !important;
        gap: 10px !important;
        font-size: 0.85rem !important;
        margin: 15px 0 !important;
    }
    
    .vote-buttons {
        display: flex !important;
        flex-direction: row !important;
        gap: 10px !important;
        width: 100% !important;
        margin-top: 15px !important;
    }
    
    .vote-btn {
        flex: 1 !important;
        padding: 12px 10px !important;
        font-size: 0.85rem !important;
        min-height: 44px !important;
        white-space: nowrap !important;
    }
    
    .vote-count {
        font-size: 1rem !important;
        font-weight: bold !important;
    }
}

/* Server Config */
@media (max-width: 768px) {
    .config-param {
        padding: 15px !important;
        margin-bottom: 10px !important;
    }
    
    .config-param-header {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 10px !important;
        align-items: flex-start !important;
        margin-bottom: 10px !important;
    }
    
    .config-param-name {
        font-size: 0.9rem !important;
        word-break: break-word !important;
        flex: 1 1 100% !important;
        margin-bottom: 5px !important;
    }
    
    .config-param-value {
        font-size: 0.85rem !important;
        padding: 5px 12px !important;
        white-space: nowrap !important;
    }
    
    .config-param-desc {
        font-size: 0.8rem !important;
        line-height: 1.4 !important;
        margin-top: 10px !important;
    }
}

/* Ultra petit écran */
@media (max-width: 380px) {
    .logo {
        font-size: 1.1rem !important;
        letter-spacing: 1px !important;
    }
    
    .user-info {
        flex-direction: column !important;
        gap: 10px !important;
    }
    
    .user-name {
        max-width: 100% !important;
        text-align: center !important;
    }
    
    .logout-btn {
        width: 100% !important;
        max-width: 250px !important;
    }
    
    .nav-tab, .tab-btn {
        padding: 10px 15px !important;
        font-size: 0.8rem !important;
    }
    
    .hero h1 {
        font-size: 1.5rem !important;
        letter-spacing: 0 !important;
    }
}

/* ========== MODALS ========== */

@media (max-width: 768px) {
    .modal {
        width: calc(100% - 20px) !important;
        max-width: 500px !important;
        margin: 10px auto !important;
        max-height: calc(100vh - 40px) !important;
        overflow-y: auto !important;
        top: 50% !important;
        left: 50% !important;
        transform: translate(-50%, -50%) !important;
    }
    
    .modal-content {
        padding: 20px !important;
    }
    
    .modal-title {
        font-size: 1.1rem !important;
    }
    
    .form-group {
        margin-bottom: 15px !important;
    }
    
    /* iOS zoom prevention */
    input, select, textarea {
        font-size: 16px !important;
        width: 100% !important;
    }
    
    textarea {
        min-height: 80px !important;
    }
}

/* ========== TABLES (pour admin) ========== */

@media (max-width: 768px) {
    table {
        font-size: 0.85rem !important;
    }
    
    th, td {
        padding: 8px 5px !important;
        word-break: break-word !important;
    }
    
    /* Scroll horizontal pour les tables larges */
    .table-container {
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
    }
}

/* ========== FIXES GÉNÉRAUX ========== */

/* Tous les textes longs */
@media (max-width: 768px) {
    p, span, div, a, li {
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
        hyphens: auto !important;
    }
    
    /* URLs et liens Discord */
    .proposal-description a,
    .server-info a,
    .card a {
        word-break: break-all !important;
    }
    
    /* Support tactile amélioré */
    button, a, .btn, input, select, textarea {
        min-height: 44px !important;
        touch-action: manipulation !important;
    }
}

/* ========== ANIMATIONS ========== */

@keyframes shake {
    0%, 100% { transform: translateX(0); }
    25% { transform: translateX(-5px); }
    75% { transform: translateX(5px); }
}

.modal-error-message {
    animation: shake 0.5s !important;
}

/* ========== Z-INDEX HIERARCHY ========== */

.notification-popup {
    z-index: 999999 !important;
}

.config-error-message {
    z-index: 9999999 !important;
}

.modal {
    z-index: 9999 !important;
}

.modal-overlay {
    z-index: 9998 !important;
}

/* ========== DESKTOP FIXES (pour PC) ========== */

@media (min-width: 1200px) {
    .container {
        max-width: 1140px !important;
        margin: 0 auto !important;
    }
    
    .stats-grid {
        grid-template-columns: repeat(4, 1fr) !important;
    }
    
    .features {
        grid-template-columns: repeat(3, 1fr) !important;
    }
}

/* ========== PRINT STYLES ========== */

@media print {
    .logout-btn, .nav-tabs, .vote-buttons {
        display: none !important;
    }
}/* ============================================
   CORRECTIONS SPÉCIFIQUES MOBILE - PAGE ACCUEIL
   ============================================ */

/* ========== FIXES POUR LE TITRE PALWORLD ========== */
@media (max-width: 768px) {
    /* Titre principal */
    h1 {
        font-size: 2rem !important; /* Au lieu de 3.5em */
        letter-spacing: 1px !important; /* Au lieu de 4px */
        padding: 0 10px !important;
        word-break: break-word !important;
        line-height: 1.2 !important;
    }
    
    .subtitle {
        font-size: 0.9rem !important; /* Réduit aussi */
        letter-spacing: 1px !important;
        padding: 0 10px !important;
    }
    
    /* Hero section */
    .hero-section {
        padding: 20px !important; /* Au lieu de 50px */
        margin-bottom: 30px !important;
    }
}

@media (max-width: 480px) {
    h1 {
        font-size: 1.5rem !important; /* Encore plus petit sur très petit écran */
        letter-spacing: 0 !important; /* Pas de letter-spacing */
    }
    
    .subtitle {
        font-size: 0.8rem !important;
        letter-spacing: 0 !important;
    }
}

/* ========== FIXES POUR LES BOUTONS DISCORD ========== */
@media (max-width: 768px) {
    /* Bouton Discord principal */
    .btn-discord {
        width: 100% !important;
        max-width: 300px !important; /* Limite la largeur */
        margin: 15px auto !important;
        padding: 15px 20px !important;
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        font-size: 0.95rem !important;
        white-space: normal !important; /* Permet le retour à la ligne */
        text-align: center !important;
    }
    
    /* Si le bouton a une icône SVG */
    .btn-discord svg {
        width: 20px !important;
        height: 20px !important;
        margin-right: 8px !important;
        flex-shrink: 0 !important;
    }
    
    /* Actions container */
    .actions {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        width: 100% !important;
        padding: 0 15px !important;
        gap: 15px !important;
    }
    
    .btn {
        width: 100% !important;
        max-width: 300px !important;
        white-space: normal !important;
    }
}

/* ========== FIXES POUR LES LIENS DISCORD DANS LE TEXTE ========== */
@media (max-width: 768px) {
    /* Liens Discord dans les descriptions */
    a[href*="discord"] {
        word-break: break-all !important; /* Force la coupure des URLs */
        display: inline-block !important;
        max-width: 100% !important;
    }
    
    /* Si les liens sont dans des paragraphes */
    p a, .description a, .rule-description a {
        word-break: break-all !important;
    }
    
    /* Code blocks avec liens Discord */
    code {
        word-break: break-all !important;
        white-space: pre-wrap !important;
        display: inline-block !important;
        max-width: 100% !important;
        font-size: 0.85rem !important;
    }
    
    /* Pour les invitations Discord spécifiquement */
    .discord-invite, .server-link {
        display: block !important;
        word-break: break-all !important;
        margin: 10px 0 !important;
        padding: 10px !important;
        background: rgba(88, 101, 242, 0.1) !important;
        border-radius: 8px !important;
        text-align: center !important;
        overflow-wrap: break-word !important;
    }
}

/* ========== CONTAINER ET BODY ========== */
@media (max-width: 768px) {
    body {
        overflow-x: hidden !important;
        width: 100% !important;
    }
    
    .container {
        padding: 20px 10px !important;
        width: 100% !important;
        overflow-x: hidden !important;
    }
    
    header {
        padding: 20px 10px !important;
    }
    
    .header-content {
        padding: 0 10px !important;
        width: 100% !important;
    }
}

/* ========== STATS CARDS (AU CAS OÙ) ========== */
@media (max-width: 768px) {
    .stats-container, .stats-grid {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 10px !important;
        padding: 0 10px !important;
        width: 100% !important;
    }
    
    .stat-card {
        padding: 15px 10px !important;
        min-width: 0 !important; /* Important pour éviter le dépassement */
    }
}

@media (max-width: 480px) {
    .stats-container, .stats-grid {
        grid-template-columns: 1fr !important;
    }
}

/* ========== RÈGLES (SI PRÉSENTES SUR LA PAGE) ========== */
@media (max-width: 768px) {
    .rules-grid {
        grid-template-columns: 1fr !important;
        padding: 0 10px !important;
    }
    
    .rule-card {
        padding: 15px !important;
        margin-bottom: 15px !important;
    }
    
    .rule-title {
        font-size: 1.1rem !important;
        word-wrap: break-word !important;
    }
    
    .rule-description {
        font-size: 0.9rem !important;
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
    }
}

/* ========== FEATURES SECTION ========== */
@media (max-width: 768px) {
    .features {
        grid-template-columns: 1fr !important;
        gap: 20px !important;
        padding: 0 10px !important;
    }
    
    .feature-card {
        padding: 20px 15px !important;
        text-align: center !important;
    }
    
    .feature-icon {
        font-size: 2rem !important;
        margin-bottom: 10px !important;
    }
    
    .feature-title {
        font-size: 1.1rem !important;
        margin-bottom: 10px !important;
    }
    
    .feature-description {
        font-size: 0.9rem !important;
    }
}

/* ========== ULTRA PETIT ÉCRAN (iPhone SE, etc) ========== */
@media (max-width: 375px) {
    h1 {
        font-size: 1.3rem !important;
    }
    
    .btn-discord {
        font-size: 0.85rem !important;
        padding: 12px 15px !important;
    }
    
    .container {
        padding: 15px 5px !important;
    }
}