    body {
        background: linear-gradient(180deg,
            #0a0a0f 0%,
            #14141f 40%,
            #1a0d14 100%
        ) !important;
        background-attachment: scroll !important;
    }

    body::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: radial-gradient(ellipse at 20% 30%, rgba(199, 31, 55, 0.12) 0%, transparent 55%),
                    radial-gradient(ellipse at 80% 70%, rgba(212, 175, 55, 0.07) 0%, transparent 55%) !important;
        pointer-events: none;
        z-index: 0;
        visibility: visible;
        animation: none !important;
        opacity: 1 !important;
    }
    
    #site-footer {
        display: none !important;
    }

    /* Structure du dashboard2 : un seul mecanisme de centrage, une seule fois, avec des noms de
       classe (d2-shell / d2-content) qui n existent dans AUCUNE autre feuille de style du site
       (contrairement a .profile-container/.profile-content, utilisees a la fois ici et dans
       combined.css avec des valeurs differentes -- deux regles concurrentes pour le meme
       selecteur, resolues par la cascade CSS mais dont la resolution s est averee incoherente
       sous Safari lors de mutations DOM asynchrones proches, causant un decalage visuel du
       contenu jamais observe sur Chrome). Aucune ambiguite possible ici : ce sont les deux seules
       regles qui existent pour ces classes sur tout le site.
       Reservation de la place de la barre laterale geree uniquement par #main-content
       (margin-left:220px, deja prouve stable) -- .d2-shell n a donc besoin d aucune marge ni
       padding-left propre. */
    /* Mobile/tablette (<1127px) : reprend exactement l apparence d origine (plein largeur, sans
       marge/arrondi/bordure, fond sombre uni) -- la version desktop (>=1127px) est la seule a
       utiliser la carte centree avec bordure/ombre. */
    .d2-shell {
        position: relative;
        z-index: 1;
        padding: 0;
        box-sizing: border-box;
    }

    .d2-content {
        max-width: 100%;
        margin: 0 auto;
        background: rgba(13, 18, 30, 0.86);
        border-radius: 0;
        padding: 0;
        box-shadow: 0 10px 26px rgba(0, 0, 0, 0.35);
        border: none;
        box-sizing: border-box;
    }

    @media (min-width: 1127px) {
        .d2-shell {
            padding: 1.5rem 2rem;
        }
        .d2-content {
            max-width: 1127px;
            background: rgba(26, 26, 40, 0.93);
            border-radius: 24px;
            padding: 1.5rem 2.5rem 2.5rem;
            box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);
            border: 1px solid rgba(199, 31, 55, 0.15);
        }
    }


    /* Boutons like/commentaire des billets : annuler le min-height tactile */
    .dash-social-like {
        min-height: 0 !important;
        min-width: 0 !important;
        line-height: 1 !important;
    }
    
    /* Bandeau flash aligné sur le contenu desktop */
    .flash-messages-container {
        max-width: 100% !important;
        padding-left: 1rem !important;
        padding-right: 1rem !important;
    }

    /* Prévenir le flash du graphique au chargement */
    #section-statistiques {
        display: none;
    }
    
    #section-statistiques.active {
        display: block;
    }

    /* ── Halo animé bouton blog ── */
    @keyframes dashBlogGlow {
        0%, 100% { opacity: 0.88; }
        50%       { opacity: 1; }
    }
    /* ── Carrousel blog (desktop + mobile) ── */
    .dash-social-grid {
        display: flex;
        flex-wrap: nowrap;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        scroll-snap-type: x mandatory;
        overscroll-behavior-x: contain;
        gap: 1rem;
        padding: 1rem 1.4rem 1.4rem;
    }
    .dash-social-grid::-webkit-scrollbar { display: none; }
    .dash-social-grid > div {
        flex: 0 0 calc((100% - 2rem) / 3.2);
        min-width: 0;
        scroll-snap-align: start;
    }
    /* Desktop : flèches et tous les items affichés */
    @media (min-width: 1127px) {
        .dash-blog-arrow { display: flex !important; }
        .dash-social-card-hide-mobile { display: flex !important; }
        .dash-social-card-hide-mobile-7plus { display: flex !important; }
        #blog-carousel > div { flex: 0 0 calc((100% - 3rem) / 4) !important; }
    }
    /* Mobile : 2 visibles + peek, scroll libre jusqu'à 12 items */
    @media (max-width: 1126px) {
        .dash-social-grid > div {
            flex: 0 0 calc((100vw - 6rem) / 2) !important;
        }
        .dash-blog-arrow { display: none !important; }
        .dash-social-card-hide-mobile { display: flex !important; }
        #blog-carousel > div { flex: 0 0 calc((100vw - 6rem) / 2.5) !important; }
    }
    .member-online-dot {
        bottom: 4px !important; right: 4px !important;
        width: 18px !important; height: 18px !important;
        border: 3px solid #0f172a !important;
        box-shadow: 0 1px 4px rgba(0,0,0,.5) !important;
    }
    .online-modal-content {
        max-height: calc(100dvh - env(safe-area-inset-top, 0px) - 80px) !important;
    }
    .online-modal-header {
        padding-top: 0.4rem !important;
    }
    /* Bouton "Mode Discussion" du header modal mobile : un peu plus de confort tactile
       que la version desktop (même classe .panel-disc-btn), sans toucher au style partagé. */
    #mobile-disc-link {
        padding: 0.5rem 0.8rem !important;
        font-size: 0.78rem !important;
        border-radius: 12px !important;
    }
    /* Liste des membres : marge de sécurité en bas pour ne pas passer sous la home
       indicator bar des iPhone à encoche/Dynamic Island. */
    #online-members-mobile-list {
        padding-bottom: calc(1.5rem + env(safe-area-inset-bottom, 0px)) !important;
    }

        /* ── Carrousel profils suggérés (desktop + mobile) ── */
        .suggested-profiles-grid {
            display: flex;
            flex-wrap: nowrap;
            overflow-x: auto;
            -webkit-overflow-scrolling: touch;
            scrollbar-width: none;
            scroll-snap-type: x mandatory;
            overscroll-behavior-x: contain;
            gap: 1rem;
            padding: 1.25rem 1.4rem;
        }
        .suggested-profiles-grid::-webkit-scrollbar { display: none; }
        .suggested-profiles-grid > a {
            flex: 0 0 calc((100% - 5 * 1rem) / 5.3);
            min-width: 0;
            scroll-snap-align: start;
        }
        /* Mobile : 3 visibles + peek */
        @media (max-width: 1126px) {
            .suggested-profiles-grid > a {
                flex: 0 0 calc((100vw - 7.8rem) / 3) !important;
            }
            .ps-swipe-hint { display: flex !important; }
            .ps-arrow { display: none !important; }
        }
        /* Desktop : flèches de navigation */
        @media (min-width: 1127px) {
            .ps-swipe-hint { display: none !important; }
            .ps-arrow { display: flex !important; }
        }
        @media (max-width: 1126px) {
            .blog-card-author-line {
                flex-wrap: nowrap !important;
                min-width: 0;
            }
            .blog-card-author-pseudo {
                white-space: nowrap;
                overflow: hidden;
                text-overflow: ellipsis;
                min-width: 0;
                flex-shrink: 1;
            }
        }
        

        .dashboard-tabs-container {
            margin-bottom: 0;
            position: relative;
            display: none;
        }

        @media (max-width: 1126px) {
            .dashboard-tabs-container {
                display: block;
                margin-bottom: 0.2rem;
            }
        }

        .dashboard-tabs-bar {
            display: flex;
            background: linear-gradient(135deg, rgba(40, 45, 60, 0.98) 0%, rgba(30, 35, 48, 0.98) 100%);
            border-radius: 12px;
            padding: 0.5rem;
            box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.05);
            border: 1px solid rgba(100, 116, 139, 0.2);
            position: relative;
            overflow: hidden;
        }

        .dashboard-tabs-bar::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background: radial-gradient(circle at 30% 50%, rgba(71, 85, 105, 0.15) 0%, transparent 60%),
                        radial-gradient(circle at 70% 50%, rgba(100, 116, 139, 0.1) 0%, transparent 60%);
            pointer-events: none;
        }

        .dashboard-tab {
            flex: 1;
            padding: 1rem 2rem;
            background: transparent;
            border: none;
            border-radius: 8px;
            color: rgba(156, 163, 175, 0.8);
            font-weight: 600;
            font-size: 0.95rem;
            cursor: pointer;
            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
            position: relative;
            z-index: 1;
            letter-spacing: 0.5px;
        }

        .dashboard-tab .tab-content {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 0.625rem;
            position: relative;
        }

        .dashboard-tab svg {
            transition: all 0.3s ease;
            filter: drop-shadow(0 0 0 transparent);
        }

        .dashboard-tab:hover:not(.active) {
            background: rgba(100, 116, 139, 0.2);
            color: rgba(148, 163, 184, 1);
            transform: translateY(-1px);
        }

        .dashboard-tab:hover:not(.active) svg {
            filter: drop-shadow(0 0 4px rgba(100, 116, 139, 0.5));
        }

        .dashboard-tab.active {
            background: linear-gradient(135deg, rgba(71, 85, 105, 0.95) 0%, rgba(51, 65, 85, 0.95) 100%);
            color: white;
            box-shadow: 0 4px 16px rgba(71, 85, 105, 0.6),
                        inset 0 1px 0 rgba(255, 255, 255, 0.15);
            border: 1px solid rgba(100, 116, 139, 0.4);
        }

        .dashboard-tab.active svg {
            filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.3));
        }

        .dashboard-tab.active::before {
            content: '';
            position: absolute;
            bottom: 0;
            left: 50%;
            transform: translateX(-50%);
            width: 60%;
            height: 3px;
            background: linear-gradient(90deg, transparent, rgba(129, 140, 248, 0.8), transparent);
            border-radius: 2px 2px 0 0;
        }

        /* Responsive */
        @media (max-width: 1126px) {
            .dashboard-tabs-bar {
                padding: 0.2rem;
                border-radius: 10px;
            }

            .dashboard-tab {
                padding: 0.4rem 0.5rem;
                font-size: 0.8rem;
                line-height: 1;
                min-height: unset !important;
                height: auto !important;
            }

            .dashboard-tab .tab-content { flex-direction: column; gap: 2px; }
            .dashboard-tab .tab-label { display: block; font-size: 0.55rem; line-height: 1; letter-spacing: 0.02em; }

            .dashboard-tab svg {
                width: 18px;
                height: 18px;
            }
        }

        @media (max-width: 480px) {
            .dashboard-tab {
                padding: 0.4rem 0.5rem;
                min-height: unset !important;
                height: auto !important;
            }
        }
        

        /* Séparation visuelle mobile des sections dashboard (2026-08-13) */
        @media (max-width: 1126px) {
            body.dashboard-page {
                background: linear-gradient(180deg, #0e1019 0%, #4a4a6a 100%) !important;
            }
            .dash-section-card {
                border-color: rgba(255,255,255,0.16) !important;
                border-left-width: 3px !important;
                border-left-color: var(--primary-color) !important;
                box-shadow: 0 6px 18px rgba(0,0,0,0.45) !important;
                background: linear-gradient(180deg, rgba(255,255,255,0.035) 0%, rgba(255,255,255,0.01) 55%, var(--bg-card) 100%) !important;
                margin-bottom: 0.9rem !important;
            }
            .dash-section-card:last-child {
                margin-bottom: 0 !important;
            }
            .dash-section-card > div:first-child {
                background: linear-gradient(135deg, rgba(255,255,255,0.06) 0%, rgba(199,31,55,0.14) 100%) !important;
                border-bottom-color: rgba(255,255,255,0.14) !important;
            }
            /* Tuiles blog: masquer la date, icônes like/commentaire plus visibles */
            .dash-blog-date {
                display: none !important;
            }
            .dash-social-like svg,
            .dash-forum-like svg,
            .dash-blog-comment-count svg {
                width: 15px !important;
                height: 15px !important;
                flex-shrink: 0;
            }
            .dash-forum-like,
            .dash-social-like,
            .dash-blog-comment-count {
                padding: 0.3rem 0.6rem !important;
                font-size: 0.8rem !important;
                line-height: 1 !important;
                box-sizing: border-box !important;
                height: auto !important;
                min-height: 0 !important;
                border: none !important;
                margin: 0 !important;
                vertical-align: middle !important;
            }
            .dash-social-like[data-liked="0"],
            .dash-social-like[data-liked="0"] svg,
            .dash-forum-like[data-liked="0"],
            .dash-forum-like[data-liked="0"] svg {
                color: rgba(255,255,255,0.68) !important;
                stroke: rgba(255,255,255,0.68) !important;
            }
            .dash-blog-comment-count {
                color: rgba(255,255,255,0.64) !important;
            }
        }
        

        .dash-onb-card{position:relative;overflow:hidden;grid-column:1/-1;min-width:0;box-sizing:border-box;background:linear-gradient(135deg, rgba(212,175,55,0.10) 0%, rgba(199,31,55,0.07) 45%, rgba(20,20,35,0.5) 100%);border:1px solid rgba(212,175,55,0.3);border-radius:18px;box-shadow:0 16px 40px rgba(0,0,0,0.35),inset 0 1px 0 rgba(255,255,255,0.06);}
        .dash-onb-card::before{content:'';position:absolute;top:-45%;right:-8%;width:340px;height:340px;background:radial-gradient(circle,rgba(212,175,55,0.16) 0%,transparent 70%);pointer-events:none;}
        .dash-onb-head{display:flex;align-items:center;gap:.75rem;padding:1.2rem 1.4rem .9rem;flex-wrap:wrap;position:relative;z-index:1;}
        .dash-onb-badge{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:14px;background:linear-gradient(135deg,#d4af37 0%,#c71f37 100%);flex-shrink:0;font-size:1.35rem;box-shadow:0 6px 18px rgba(212,175,55,0.4);}
        .dash-onb-title{font-size:1.08rem;font-weight:800;color:#fff;margin:0;letter-spacing:.01em;}
        .dash-onb-subtitle{font-size:.78rem;color:rgba(226,232,240,0.55);margin-top:.2rem;}
        .dash-onb-tabwrap{padding:0 1.4rem;position:relative;z-index:1;}
        .dash-onb-tabs{display:flex;gap:0;width:100%;min-width:0;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.12);border-radius:12px;padding:3px;}
        .dash-onb-tab{flex:1;min-width:0;display:flex;align-items:center;justify-content:center;gap:.4rem;padding:.65rem .7rem;border:none;background:transparent;color:rgba(226,232,240,0.62);font-size:.79rem;font-weight:700;border-radius:9px;cursor:pointer;transition:all .2s ease;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
        .dash-onb-tab:hover{color:#fff;background:rgba(255,255,255,0.05);}
        .dash-onb-tab.active{background:linear-gradient(135deg,#d4af37 0%,#c71f37 100%);color:#fff;box-shadow:0 4px 14px rgba(199,31,55,0.38);}
        .dash-onb-step-num{display:inline-flex;align-items:center;justify-content:center;width:17px;height:17px;border-radius:50%;background:rgba(255,255,255,0.14);font-size:.66rem;font-weight:800;flex-shrink:0;}
        .dash-onb-tab.active .dash-onb-step-num{background:rgba(255,255,255,0.28);}
        .dash-onb-body{padding:1.35rem 1.5rem 1.6rem;position:relative;z-index:1;}
        .dash-onb-text{font-size:.87rem;line-height:1.68;color:rgba(226,232,240,0.85);margin:0 0 1rem;}
        .dash-onb-rules{list-style:none;margin:0 0 1.15rem;padding:0;display:flex;flex-direction:column;gap:.6rem;}
        .dash-onb-rules li{display:flex;align-items:flex-start;gap:.6rem;font-size:.85rem;color:rgba(226,232,240,0.82);line-height:1.5;}
        .dash-onb-rules li svg{flex-shrink:0;margin-top:.2rem;}
        .dash-onb-closing{font-size:.92rem;font-weight:700;color:#f0d477;margin:0;}
        .dash-onb-checklist{list-style:none;margin:0 0 1.2rem;padding:0;display:flex;flex-direction:column;gap:.5rem;}
        .dash-onb-check-item{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.7rem .95rem;background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.08);border-radius:10px;font-size:.85rem;color:rgba(226,232,240,0.88);font-weight:600;transition:border-color .2s;}
        .dash-onb-check-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;flex-shrink:0;}
        .dash-onb-check-icon.done{background:rgba(74,222,128,0.16);color:#4ade80;}
        .dash-onb-check-icon.missing{background:rgba(248,113,113,0.16);color:#f87171;}
        .dash-onb-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.85rem 1.45rem;background:linear-gradient(135deg,#d4af37 0%,#c71f37 100%);border:none;border-radius:12px;color:#fff !important;font-size:.85rem;font-weight:700;text-decoration:none !important;box-shadow:0 8px 22px rgba(199,31,55,0.32);transition:transform .2s ease,box-shadow .2s ease;}
        .dash-onb-btn:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(199,31,55,0.45);}
        .dash-onb-dismiss-wrap{grid-column:1/-1;display:flex;justify-content:flex-end;margin-top:-1px;padding:0 1.3rem;position:relative;z-index:2;}
        .dash-onb-dismiss{display:inline-flex;align-items:center;gap:.35rem;background:rgba(20,20,35,0.6);border:1px solid rgba(212,175,55,0.28);border-top:none;border-radius:0 0 12px 12px;color:rgba(226,232,240,0.5);font-size:.72rem;font-weight:600;cursor:pointer;padding:.4rem .95rem;transition:all .2s ease;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);}
        .dash-onb-dismiss:hover{color:#fff;background:rgba(199,31,55,0.2);border-color:rgba(212,175,55,0.5);}
        @media(max-width:640px){
            .dash-onb-tabs{flex-wrap:wrap;gap:3px;}
            .dash-onb-tab{flex:1 1 calc(50% - 3px);}
        }
        

        .fa-card{grid-column:1/-1;margin-bottom:.75rem;}
        .fa-link{display:flex;align-items:center;gap:.85rem;padding:.8rem 1.1rem;background:linear-gradient(120deg,#0d0d12 0%,#1a1a22 60%,#111116 100%);border:1px solid rgba(255,255,255,.09);border-radius:12px;text-decoration:none;transition:border-color .2s,box-shadow .2s;position:relative;overflow:hidden;}
        .fa-link:hover{border-color:rgba(199,31,55,.4);box-shadow:0 4px 24px rgba(0,0,0,.5);}
        .fa-link::before{content:'';position:absolute;inset:0;background:linear-gradient(120deg,rgba(199,31,55,.04) 0%,transparent 60%);pointer-events:none;opacity:0;transition:opacity .2s;}
        .fa-link:hover::before{opacity:1;}
        .fa-icon-wrap{position:relative;flex-shrink:0;width:38px;height:38px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:10px;display:flex;align-items:center;justify-content:center;}
        .fa-pulse{position:absolute;top:-3px;right:-3px;width:10px;height:10px;border-radius:50%;background:#c71f37;border:2px solid #0d0d12;animation:fa-pulse-anim 2s ease-in-out infinite;}
        @keyframes fa-pulse-anim{0%,100%{box-shadow:0 0 0 0 rgba(199,31,55,.6);}50%{box-shadow:0 0 0 5px rgba(199,31,55,0);}}
        /* Effet doré (identique à .staff-banner sur les profils staff, voir profile-inline.min.css)
           appliqué à la carte du fil d'actu quand il y a de l'actualité non lue, pour la faire
           ressortir visuellement de la même façon qu'un membre du staff sur son profil. */
        .fa-link.fa-unread-glow{background:linear-gradient(135deg,#2a1f00 0%,#3d2e00 40%,#2a1f00 100%);border-color:#f5c518;box-shadow:0 0 18px rgba(245,197,24,.35),inset 0 1px 0 rgba(255,255,255,.08);}
        .fa-link.fa-unread-glow::after{content:'';position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(90deg,transparent,rgba(245,197,24,.14),transparent);animation:fa-staff-sheen 3s ease-in-out infinite;pointer-events:none;}
        @keyframes fa-staff-sheen{0%{left:-60%;}100%{left:120%;}}
        .fa-link.fa-unread-glow .fa-title{color:#f5c518;text-shadow:0 0 10px rgba(245,197,24,.5);}
        .fa-link.fa-unread-glow .fa-pulse{background:#f5c518;box-shadow:0 0 6px rgba(245,197,24,.8);}
        @keyframes fa-pulse-anim-gold{0%,100%{box-shadow:0 0 0 0 rgba(245,197,24,.6);}50%{box-shadow:0 0 0 5px rgba(245,197,24,0);}}
        .fa-link.fa-unread-glow .fa-pulse{animation:fa-pulse-anim-gold 2s ease-in-out infinite;}
        .fa-body{flex:1;min-width:0;}
        .fa-title{font-size:.85rem;font-weight:700;color:#f1f5f9;letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
        .fa-sub{display:flex;align-items:center;gap:.5rem;margin-top:.2rem;flex-wrap:wrap;}
        .fa-avatars{display:flex;align-items:center;}
        .fa-av{width:20px;height:20px;border-radius:50%;border:1.5px solid #0d0d12;object-fit:cover;margin-left:-5px;flex-shrink:0;}
        .fa-av:first-child{margin-left:0;}
        .fa-new-label{font-size:.75rem;font-weight:700;color:rgba(241,245,249,.55);margin-left:.2rem;}
        .fa-chips{display:flex;gap:.35rem;margin-top:.3rem;flex-wrap:wrap;}
        .fa-chip{display:inline-flex;align-items:center;gap:.3rem;font-size:.68rem;font-weight:600;color:rgba(199,31,55,.85);background:rgba(199,31,55,.08);border:1px solid rgba(199,31,55,.18);padding:.18rem .5rem;border-radius:20px;}
        .fa-right{flex-shrink:0;display:flex;align-items:center;gap:.55rem;}
        .fa-badge{background:linear-gradient(135deg,#c71f37 0%,#9b1829 100%);color:#fff;font-size:.72rem;font-weight:800;padding:.2rem .6rem;border-radius:20px;letter-spacing:.02em;box-shadow:0 2px 8px rgba(199,31,55,.4);}
        .fa-check{width:22px;height:22px;border-radius:50%;background:rgba(34,197,94,.12);border:1px solid rgba(34,197,94,.25);display:flex;align-items:center;justify-content:center;color:#4ade80;}
        .fa-arrow{color:rgba(255,255,255,.3);transition:color .2s,transform .2s;}
        .fa-link:hover .fa-arrow{color:rgba(199,31,55,.7);transform:translateX(3px);}
        .fa-uptodate{font-size:.75rem;color:rgba(241,245,249,.35);margin-top:.15rem;}
        @media(max-width:640px){.fa-chips{display:none;}.fa-new-label{font-size:.7rem;}}
        @media(max-width:400px){.fa-avatars{display:none;}}
        

        @media (max-width: 480px) {
            .credit-widget { flex-direction: column; align-items: flex-start !important; }
            .credit-widget > div:first-child { width: 100%; }
            .credit-actions { width: 100%; }
            .credit-actions a, .credit-actions button { flex: 1; justify-content: center; }
        }
        

        @media (max-width: 1126px) {
            .mobile-hide { display: none !important; }
            .desktop-text { display: none !important; }
            .mobile-text { display: block !important; }
            .desktop-socials { display: none !important; }
            .mobile-socials { display: block !important; }
            /* Onglets Profils suggérés + Mur : taille réduite sur mobile */
            #pstab-suggested, #pstab-new, #pstab-available,
            #dashMurTab1, #dashMurTab2, #dashMurTab3 {
                padding: 0.32rem 0.55rem !important;
                font-size: 0.72rem !important;
                gap: 0.25rem !important;
                height: auto !important;
                /* La règle globale mobile "button{min-height:44px}" (combined.css, < 1024px) étirait ces onglets
                   à 44px de haut (26px sur PC) : on l'annule explicitement pour retrouver la hauteur PC. */
                min-height: 0 !important;
            }
            #dashPubTab1, #dashPubTab2, #dashPubTab3 { min-height: 0 !important; }
            #pscard-tabsrow #psCardCaption { margin-top: calc(0.3rem - 5.2px) !important; }
            #dashPubTabBar #dashPubCaption { margin-top: 0.3rem !important; }
            .evt-dash-hdr #evtDashCaption { margin-top: 0.2rem !important; }
            /* Onglets Événements : exemptés de la règle globale mobile "button{min-height:44px}" (hauteur PC conservée) */
            #evtDashTabRegion, #evtDashTabOther { min-height: 0 !important; }
        }
        

        .dash-section-blogs { margin-top: 0; }
        @media (min-width: 541px) {
            .dash-action-btns { order: 10; }
        }
        @media (max-width: 540px) {
            .dash-action-btns { flex-wrap: wrap !important; gap: 0.5rem !important; }
            .dash-btn-blog { flex: 1 1 calc(50% - 0.25rem) !important; order: 1; font-size: 0.76rem !important; padding: 0.75rem 0.6rem !important; gap: 0.4rem !important; }
            .dash-btn-event { flex: 1 1 calc(50% - 0.25rem) !important; min-width: 0 !important; order: 2; font-size: 0.76rem !important; padding: 0.75rem 0.6rem !important; gap: 0.4rem !important; }
            .dash-action-btns a:not(.dash-btn-blog):not(.dash-btn-event) { flex: 1 1 calc(50% - 0.25rem) !important; min-width: 0 !important; order: 3; font-size: 0.76rem !important; padding: 0.75rem 0.6rem !important; }
            .dash-section-blogs { margin-top: -0.6rem !important; }
        }
        

        @media(max-width:1126px){
            #dashMurTabBar { padding:0.45rem 0.6rem !important; gap:0.25rem !important; }
            #dashMurTabBar .dmur-icon { display:flex !important; width:26px !important; height:26px !important; min-width:26px !important; }
            #dashMurTabBar .dmur-icon svg { width:14px !important; height:14px !important; }
            #dashMurTab1,#dashMurTab2,#dashMurTab3 { padding:0.45rem 0.65rem !important; font-size:0.75rem !important; gap:0.25rem !important; line-height:1 !important; }
            #dashMurTabBar .dmur-link { font-size:0.72rem !important; }
            #dashMurTabBar #dashMurCaption { margin-top:0.3rem !important; }
        }
        

        @media(min-width:1127px){
            #pub-carousel-1 > div { flex: 0 0 calc((100% - 3rem) / 4) !important; }
        }
        @media(max-width:1126px){
            #dashPubTabBar { padding:0.45rem 0.6rem !important; gap:0.25rem !important; }
            #dashPubTabBar .dpub-icon { display:flex !important; width:26px !important; height:26px !important; min-width:26px !important; }
            #dashPubTabBar .dpub-icon svg { width:14px !important; height:14px !important; }
            #dashPubTab1,#dashPubTab2,#dashPubTab3 { padding:0.45rem 0.65rem !important; font-size:0.75rem !important; gap:0.25rem !important; line-height:1 !important; }
            #dashPubTabBar .dpub-link { font-size:0.72rem !important; }
            #pub-carousel-1 > div { flex: 0 0 calc((100vw - 6rem) / 2.5) !important; }
        }
        /* Cartes forum (reprises de l'ancienne rubrique Forum) */
        .dash-forum-imgwrap{position:relative;width:100%;height:75px;flex-shrink:0;background:#111;overflow:hidden;}
        .dash-forum-imgwrap img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 0.35s;filter:brightness(0.85);}
        .dash-forum-imgwrap:hover img{transform:scale(1.04);}
        .dash-forum-imgwrap::after{content:'';position:absolute;bottom:0;left:0;right:0;height:55%;background:linear-gradient(to bottom,transparent 0%,rgba(14,12,20,0.85) 100%);pointer-events:none;}
        .dash-forum-noimg{width:100%;height:75px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,rgba(199,31,55,0.12) 0%,rgba(80,20,40,0.3) 100%);flex-shrink:0;}
        .dash-forum-noimg svg{opacity:0.18;}
        .dash-forum-badges{position:absolute;top:0.55rem;left:0.6rem;display:flex;gap:0.35rem;flex-wrap:wrap;z-index:2;}
        .dash-forum-badge-theme{font-size:0.64rem;font-weight:700;letter-spacing:0.04em;text-transform:uppercase;background:rgba(0,0,0,0.78);border:1px solid rgba(255,255,255,0.12);color:rgba(255,255,255,0.85);padding:0.18rem 0.5rem;border-radius:5px;white-space:nowrap;max-width:130px;overflow:hidden;text-overflow:ellipsis;}
        .dash-forum-badge-unread{font-size:0.62rem;font-weight:800;letter-spacing:0.06em;text-transform:uppercase;background:linear-gradient(135deg,#c71f37 0%,#a01428 100%);color:#fff;padding:0.18rem 0.5rem;border-radius:5px;white-space:nowrap;}
        .dash-forum-body{padding:0.75rem 1rem 0.3rem;flex:1;display:flex;flex-direction:column;gap:0.3rem;position:relative;z-index:10;}
        .dash-forum-title{font-size:0.95rem;font-weight:700;line-height:1.3;color:var(--text-primary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
        .dash-forum-meta{display:flex;align-items:center;gap:0.4rem;flex-wrap:wrap;}
        .dash-forum-avatar{width:22px;height:22px;border-radius:50%;object-fit:cover;flex-shrink:0;border:1px solid rgba(255,255,255,0.15);}
        .dash-forum-avatar-fb{width:22px;height:22px;border-radius:50%;background:rgba(199,31,55,0.2);flex-shrink:0;display:flex;align-items:center;justify-content:center;border:1px solid rgba(199,31,55,0.3);}
        .dash-forum-author{font-size:0.74rem;font-weight:400;color:#f87171;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:110px;}
        .dash-forum-card{will-change:transform,box-shadow,border-color;}
        .dash-forum-card:hover,.dash-forum-card:focus-within{transform:translateY(-3px);box-shadow:0 12px 32px rgba(0,0,0,0.5);border-color:rgba(199,31,55,0.35)!important;}
        .dash-forum-card a:focus-visible{outline:none;}
        @media(min-width:1127px){
            .dash-forum-card-hide-mobile{display:flex!important;}
            .dash-forum-carousel>.dash-social-grid>div{flex:0 0 calc((100% - 3rem) / 4)!important;}
        }
        @media(max-width:1126px){
            .dash-forum-card-hide-mobile{display:flex!important;}
            .dash-forum-carousel>.dash-social-grid>div{flex:0 0 calc((100vw - 6rem) / 2.5)!important;}
        }
        /* Cartes groupes (reprises de l'ancienne tuile Les groupes) */
        @keyframes dash-actif-blink{0%,100%{opacity:1}50%{opacity:.42}}
        .dash-actif-tag{display:inline-flex;align-items:center;gap:3px;font-size:.56rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#22c55e;border:1px solid rgba(34,197,94,.35);border-radius:20px;padding:.1rem .4rem;background:rgba(34,197,94,.08);animation:dash-actif-blink 2.8s ease-in-out infinite;flex-shrink:0;}
        .dash-actif-dot{width:5px;height:5px;border-radius:50%;background:#22c55e;flex-shrink:0;}
        .dgg-card{display:flex;flex-direction:column;align-items:flex-start;gap:.34rem;padding:.78rem .92rem;background:linear-gradient(160deg,rgba(20,24,40,.78) 0%,rgba(14,18,32,.9) 100%);border:1px solid rgba(148,163,184,.2);border-top:1px solid rgba(255,255,255,.16);border-radius:14px;text-decoration:none;color:var(--text-primary);box-shadow:0 8px 22px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.05);transition:background .2s,border-color .2s,transform .2s,box-shadow .2s;position:relative;overflow:hidden;isolation:isolate;}
        .dgg-card::before{content:'';position:absolute;inset:0;background-image:var(--dgg-cover,none);background-size:cover;background-position:center;opacity:0;z-index:-2;pointer-events:none;border-radius:inherit;transition:opacity .2s,transform .2s;transform:scale(1.02);}
        .dgg-card::after{content:'';position:absolute;inset:0;background:linear-gradient(160deg,rgba(7,10,20,.56) 0%,rgba(7,10,20,.18) 58%,rgba(7,10,20,.72) 100%);z-index:-1;pointer-events:none;}
        .dgg-card[style*='--dgg-cover']::before{opacity:.26;}
        .dgg-card:hover{background:linear-gradient(150deg,rgba(199,31,55,.16) 0%,rgba(199,31,55,.05) 42%,rgba(15,20,34,.9) 100%);border-color:rgba(199,31,55,.5);transform:translateY(-4px);box-shadow:0 14px 30px rgba(0,0,0,.45),0 0 0 1px rgba(199,31,55,.18),inset 0 1px 0 rgba(255,255,255,.08);}
        .dgg-card:hover::before{opacity:.36;transform:scale(1.04);}
        

        .dash-quiz-answered-layout {
            display: grid;
            gap: 0.9rem;
            grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
            align-items: start;
        }
        .dash-quiz-answered-main,
        .dash-quiz-answered-stats {
            min-width: 0;
        }
        .dash-quiz-answered-question {
            margin-bottom: 0.9rem;
        }
        .dash-quiz-answered-user-answer {
            margin-top: 0.15rem;
        }
        .dash-quiz-answered-main {
            padding-right: 0.15rem;
        }
        .dash-quiz-answered-stats {
            display: grid;
            gap: 0.55rem;
            border-left: 1px solid rgba(255,255,255,0.1);
            padding-left: 0.62rem;
        }
        @media (max-width: 359px) {
            .dash-quiz-answered-layout {
                grid-template-columns: 1fr;
            }
            .dash-quiz-answered-question {
                margin-bottom: 1.25rem;
            }
            .dash-quiz-answered-user-answer {
                margin-top: 0.3rem;
            }
            .dash-quiz-answered-main {
                padding-right: 0;
            }
            .dash-quiz-answered-stats {
                border-left: 0;
                padding-left: 0;
            }
        }
        @media (min-width: 360px) and (max-width: 900px) {
            .dash-quiz-answered-question {
                margin-bottom: 1.15rem;
            }
            .dash-quiz-answered-user-answer {
                margin-top: 0.25rem;
            }
        }
        /* Mobile uniquement: 1 colonne, masque activité horaire + encart "Votre réponse", surbrillance verte */
        @media (max-width: 1126px) {
            .dash-quiz-answered-layout {
                grid-template-columns: 1fr !important;
            }
            .dash-quiz-answered-stats {
                border-left: 0 !important;
                padding-left: 0 !important;
                margin-top: 0.2rem;
            }
            .dash-quiz-answered-user-answer {
                display: none !important;
            }
            .dash-quiz-hourly-activity {
                display: none !important;
            }
            .dash-quiz-stat-label.is-selected {
                color: #4ade80 !important;
                font-weight: 800 !important;
            }
            .dash-quiz-stat-fill.is-selected {
                background: linear-gradient(90deg,#22c55e 0%, #4ade80 100%) !important;
            }
        }
        

        @keyframes pulse-green { 0%,100%{opacity:1} 50%{opacity:0.55} }
        @media (max-width: 640px) { .evt-theme-imgs { display: none !important; } }
        /* Desktop : tout sur une ligne, onglets au centre, Tous→ à droite */
        @media (min-width: 560px) {
            .evt-dash-row { flex-wrap: nowrap !important; align-items: flex-end; }
            .evt-dash-tabs { flex: 1; margin-left: 0.5rem; }
        }
        /* Mobile : titre + Tous→ ligne 1, onglets ligne 2 pleine largeur */
        @media (max-width: 559px) {
            .evt-dash-hdr { padding-bottom: 0.65rem; }
            .evt-dash-row { flex-wrap: wrap !important; align-items: center; row-gap: 0.45rem; }
            .evt-dash-title { display: none !important; }
            .evt-dash-tabs { order: 0; flex: 1; margin-left: 0.5rem; max-width: 100%; }
            .evt-dash-spacer { display: none !important; }
            .evt-dash-row > a[href='/evenements'] { order: 2; margin-left: auto !important; padding-bottom: 0 !important; }
            #evtDashTabRegion, #evtDashTabOther { font-size: 0.72rem !important; padding: 0.3rem 0.6rem !important; }
        }
        

/* Désactiver le pull-to-refresh natif du navigateur sur mobile */
@media (max-width: 1126px) {
    body { overscroll-behavior-y: contain; }
}
/* Permettre le scroll interne du chat sans déclencher le pull-to-refresh */
.chat-messages {
    overscroll-behavior: contain;
}
#ptr-indicator {
    position: fixed;
    top: env(safe-area-inset-top, 0px);
    left: 50%;
    transform: translateX(-50%) translateY(-64px);
    z-index: 200000;
    display: flex;
    align-items: center;
    gap: 8px;
    background: var(--primary-color, #c71f37);
    color: #fff;
    padding: 8px 18px;
    border-radius: 0 0 24px 24px;
    font-size: 13px;
    font-weight: 600;
    box-shadow: 0 4px 16px rgba(0,0,0,0.25);
    pointer-events: none;
    white-space: nowrap;
    will-change: transform;
    z-index: 200000;
    visibility: hidden;
}
#ptr-indicator.ptr-snap {
    transition: transform 0.25s ease;
}
#ptr-spinner {
    width: 16px; height: 16px;
    border: 2px solid rgba(255,255,255,0.4);
    border-top-color: #fff;
    border-radius: 50%;
    animation: ptr-spin 0.7s linear infinite;
    display: none;
}
#ptr-indicator.ptr-loading #ptr-spinner { display: block; }
#ptr-indicator.ptr-loading #ptr-arrow   { display: none; }
@keyframes ptr-spin { to { transform: rotate(360deg); } }

/* Regles de couleur/typo du contenu (structure du shell/card geree en haut du fichier). */
.d2-content,
.d2-content p,
.d2-content li,
.d2-content span,
.d2-content small,
.d2-content h1,
.d2-content h2,
.d2-content h3,
.d2-content h4,
.d2-content h5,
.d2-content h6,
.d2-content strong {
    color: #f8fafc !important;
    text-shadow: none !important;
}

.d2-content a {
    color: #ffffff !important;
    text-decoration-color: rgba(255, 255, 255, 0.55) !important;
}

.dashboard-tabs-bar {
    background: rgba(10, 14, 24, 0.78) !important;
    border: 1px solid rgba(255, 255, 255, 0.14) !important;
    border-radius: 16px !important;
    padding: 4px !important;
    gap: 4px !important;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.28) !important;
    backdrop-filter: blur(8px) saturate(120%) !important;
}

.dashboard-tab {
    color: rgba(226, 232, 240, 0.92) !important;
    border-radius: 12px !important;
    border: 1px solid transparent !important;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease !important;
}

.dashboard-tab:not(.active) {
    background: rgba(255, 255, 255, 0.03) !important;
}

.dashboard-tab.active {
    color: #ffffff !important;
    background: linear-gradient(135deg, #d52c49 0%, #a61d38 100%) !important;
    border-color: rgba(255, 255, 255, 0.28) !important;
    box-shadow: 0 6px 14px rgba(166, 29, 56, 0.38), inset 0 1px 0 rgba(255,255,255,0.18) !important;
}

.dashboard-tab .tab-label {
    font-weight: 800 !important;
    letter-spacing: 0.03em !important;
}

#pstab-suggested,
#pstab-new,
#pstab-available,
#evtDashTabRegion,
#evtDashTabOther {
    padding: 0.44rem 0.72rem !important;
    font-size: 0.73rem !important;
    line-height: 1.05 !important;
}

#pstab-suggested svg,
#pstab-new svg,
#pstab-available svg,
#evtDashTabRegion svg,
#evtDashTabOther svg {
    width: 12px !important;
    height: 12px !important;
}

.evt-dash-tabs {
    border-radius: 10px !important;
    padding: 1px !important;
}

#pstab-new { border-radius: 10px 0 0 10px !important; }
#pstab-suggested { border-radius: 0 !important; }
#pstab-available { border-radius: 0 10px 10px 0 !important; }

@media (max-width: 1126px) {
    .pstab-all-links { display: none !important; }
}

#evtDashTabRegion { border-radius: 8px 0 0 8px !important; }
#evtDashTabOther { border-radius: 0 8px 8px 0 !important; }

@media (max-width: 640px) {
    #evtDashTabRegion,
    #evtDashTabOther {
        padding: 0.2rem 0.5rem !important;
        font-size: 0.68rem !important;
    }
}

.d2-content button:not(.dashboard-tab),
.d2-content .btn,
.d2-content a[class*="btn"],
.d2-content input[type="submit"] {
    color: #ffffff !important;
    border: 1px solid rgba(255, 255, 255, 0.28) !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25) !important;
    font-weight: 700 !important;
}

.d2-content input,
.d2-content select,
.d2-content textarea {
    background: rgba(2, 6, 23, 0.72) !important;
    color: #f8fafc !important;
    border: 1px solid rgba(148, 163, 184, 0.48) !important;
}

.d2-content ::placeholder {
    color: #cbd5e1 !important;
    opacity: 1 !important;
}

/* Flèches carrousels: transparentes sans contour */
.ps-arrow,
.dash-blog-arrow,
.dash-forum-arrow,
#ps-arrow-prev,
#ps-arrow-next,
#blog-arrow-prev,
#blog-arrow-next,
#forum-arrow-prev,
#forum-arrow-next {
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
    background: transparent !important;
}

.ps-arrow:focus,
.dash-blog-arrow:focus,
.dash-forum-arrow:focus,
#ps-arrow-prev:focus,
#ps-arrow-next:focus,
#blog-arrow-prev:focus,
#blog-arrow-next:focus,
#forum-arrow-prev:focus,
#forum-arrow-next:focus {
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
}

/* Onboarding - onglet "Vos pratiques" */
.dash-onb-empty {
    display: flex;
    align-items: center;
    gap: .6rem;
    padding: .9rem 1rem;
    background: rgba(248, 113, 113, 0.08);
    border: 1px solid rgba(248, 113, 113, 0.28);
    border-radius: 10px;
    color: #f87171;
    font-weight: 700;
    font-size: .88rem;
    margin-bottom: 1.15rem;
}

.dash-onb-chips {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: .55rem 1.25rem;
    margin: 0 0 1.15rem;
    padding: 0;
    list-style: none;
}

.dash-onb-chip {
    display: flex;
    align-items: center;
    gap: .55rem;
    font-size: .85rem;
    font-weight: 600;
    color: rgba(226, 232, 240, 0.88);
    min-width: 0;
}

.dash-onb-chip::before {
    content: "";
    width: 6px;
    height: 6px;
    flex-shrink: 0;
    border-radius: 50%;
    background: #f0d477;
}

@media (max-width: 480px) {
    .dash-onb-chips {
        grid-template-columns: 1fr;
    }
}
.dash-onb-mechanisms{list-style:none;margin:0 0 1.15rem;padding:0;display:flex;flex-direction:column;gap:.85rem;}.dash-onb-mechanisms li{display:flex;align-items:flex-start;gap:.7rem;}.dash-onb-mech-num{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,#d4af37,#c71f37);color:#fff;font-size:.78rem;font-weight:800;margin-top:.05rem;}.dash-onb-mech-title{font-size:.86rem;font-weight:700;color:#f0d477;margin-bottom:.2rem;}.dash-onb-mech-text{font-size:.85rem;line-height:1.62;color:rgba(226,232,240,0.82);}#dashOnbPanel1 .dash-onb-text{text-align:justify;}#dashOnbPanel1 .dash-onb-mech-text{text-align:justify;}.dash-onb-signature{display:flex;align-items:center;gap:.55rem;margin-top:.85rem;}.dash-onb-signature img{width:38px;height:38px;border-radius:50%;object-fit:cover;flex-shrink:0;border:2px solid rgba(212,175,55,0.5);}.dash-onb-signature span{font-size:.88rem;font-weight:700;color:#f0d477;font-style:italic;}
/* Dashboard mobile, rubrique Écriture > onglet Forum : 2 tuiles visibles + amorce de la 3e, comme les onglets Blogs et Mur (avant : 2,5 tuiles, donc 3 visibles). L'onglet Groupes (#dashPubPanel2) n'est pas concerné. */
@media(max-width:1126px){#dashPubPanel1>.dash-social-grid{gap:.65rem;}#dashPubPanel1>.dash-social-grid>div{flex:0 0 calc((100vw - 6rem) / 2)!important;}}

/* Dashboard, rubrique Membres (onglets Nouveaux / Suggérés / Dispos Auj.), téléphone uniquement : 2 tuiles visibles + amorce de la 3e au lieu de 3 (tuiles plus grandes). Tablette et ordinateur inchangés. */
@media(max-width:480px){.suggested-profiles-grid>a{flex:0 0 calc((100vw - 6rem) / 2)!important;}}

/* Dashboard, rubrique Écriture > onglet Forum, tous écrans (téléphone, tablette, ordinateur) : pas de photo de profil ni de pseudo de l'auteur sur les tuiles. */
#dashPubPanel1 .dash-forum-meta{display:none!important;}

/* Dashboard, bandeau « Fil d'actualité Undesens », téléphone uniquement : texte légèrement plus grand (titre .85 → .95rem, « à jour » .75 → .85rem, « nouvelles depuis ta dernière visite » .7 → .8rem). */
@media(max-width:480px){.fa-title{font-size:.95rem;}.fa-uptodate{font-size:.85rem;}.fa-new-label{font-size:.8rem;}}

/* Dashboard, téléphone uniquement : onglets des rubriques Membres (Nouveaux/Suggérés/Dispos Auj.), Images (Membres/Mur/+ de like) et Écriture (Forums/Groupes/Blogs) légèrement plus grands : .73 / .75rem → .82rem. */
@media(max-width:480px){#pstab-new,#pstab-suggested,#pstab-available,#dashMurTab1,#dashMurTab2,#dashMurTab3,#dashPubTab1,#dashPubTab2,#dashPubTab3{font-size:.82rem!important;}#pstab-new svg,#pstab-suggested svg,#pstab-available svg{width:13px!important;height:13px!important;}}
/* Très petits téléphones (≤ 380px) : marges des onglets Membres réduites pour que les icônes ne soient pas écrasées à .82rem. */
@media(max-width:380px){#pstab-new,#pstab-suggested,#pstab-available{padding:.44rem .45rem!important;}#pstab-new svg,#pstab-suggested svg,#pstab-available svg{flex-shrink:0!important;}}
@media(max-width:380px){#pstab-new,#pstab-suggested,#pstab-available{padding:.44rem .36rem!important;}}
@media(max-width:350px){#pstab-new,#pstab-suggested,#pstab-available{font-size:.74rem!important;}}

/* Dashboard, rubrique Événements, téléphone uniquement : les deux onglets (région / autres) à la même taille que les onglets des autres rubriques (.82rem, icônes 13px). */
@media(max-width:480px){#evtDashTabRegion,#evtDashTabOther{font-size:.82rem!important;}#evtDashTabRegion svg,#evtDashTabOther svg{width:13px!important;height:13px!important;}}
/* Rubrique Événements, téléphone : hauteur des onglets alignée sur celle des onglets des autres rubriques (≈ 27 px, contre 19,6 px avant). */
@media(max-width:480px){#evtDashTabRegion,#evtDashTabOther{padding:.473rem .6rem!important;}}

/* Rubrique Membres, mobile : le lien « Tous → » de la barre est masqué ; on le remet juste après la légende « Les derniers membres inscrits », onglet Nouveaux uniquement (classe is-on gérée par switchProfilesTab). */
.pscap-tous{display:none;}
@media(max-width:1126px){.pscap-tous.is-on{display:inline;margin-left:auto;font-size:.78rem;font-weight:800;color:var(--primary-color)!important;text-decoration:none;white-space:nowrap;}}

/* Rubrique Images, mobile, onglet Membres : le lien « Membres → » de la barre passe après la légende « Dernières photos de profil publiées » (#dashMurCapLink, classe is-on gérée par dashMurTab). */
@media(max-width:1126px){#dashMurLink1,#dashMurLink2{display:none!important;}}

/* Rubrique Écriture, mobile, onglet Forums : le lien « Forum → » de la barre passe après la légende « Derniers articles publiés sur le forum » (#dashPubCapLink, classe is-on gérée par dashPubTab). */
@media(max-width:1126px){#dashPubLink1,#dashPubLink2,#dashPubLink3{display:none!important;}}


/* ── Confort de glissement des carrousels (dashboard) ─────────────────────────
   Corrige un glissement difficile signalé sur tous les carrousels (nouveaux,
   suggérés, dispos, mur, forums, groupes, blogs). Deux causes :

   1. scroll-snap-type: x mandatory obligeait le navigateur à toujours retomber
      sur un point d'accroche : un petit geste n'atteignant pas le seuil revenait
      en arrière, d'où l'impression que « ça ne glisse pas ». 'proximity' ne colle
      la vignette que si le geste s'arrête déjà près d'un point d'accroche.

   2. Les vignettes sont des liens (<a>) contenant des images : au moindre
      déplacement, le navigateur démarrait une sélection de texte ou un glisser-
      déposer natif de l'image/du lien au lieu de faire défiler — c'est la
      sensation « ça sélectionne les images trop vite ».

   touch-action n'est volontairement pas restreint à pan-x : cela empêcherait de
   faire défiler la page verticalement lorsque le doigt démarre sur un carrousel.
   ────────────────────────────────────────────────────────────────────────── */
.dash-social-grid,
.suggested-profiles-grid {
    scroll-snap-type: x proximity;
    scroll-padding-left: 1.4rem;
    -webkit-user-select: none;
    user-select: none;
    -webkit-touch-callout: none;
}
.dash-social-grid a,
.dash-social-grid img,
.suggested-profiles-grid a,
.suggested-profiles-grid img {
    -webkit-user-drag: none;
    -webkit-touch-callout: none;
}
