.community-dashboard {
    max-width: 1200px;
    margin: auto;
    padding: 30px;
}

.community-dashboard h1 {
    font-size: 32px;
}

.community-dashboard section {
    margin-top: 30px;
}


/* ================================
   MENU MOBILE FDP
================================ */

.fdp-menu-mobile {
    display:none;
    background:none;
    border:0;
    color:white;
    font-size:32px;
    cursor:pointer;
}


.fdp-menu {
    transition:all .3s ease;
}


@media(max-width:768px){

    .fdp-menu-mobile {
        display:block;
        position:absolute;
        right:15px;
        top:15px;
        z-index:9999;
    }


    .fdp-menu {
        display:none;
        position:absolute;
        top:70px;
        left:0;
        width:100%;
        max-height:calc(100vh - 80px);
        overflow-y:auto;
        background:#020617;
        z-index:9998;
    }


    .fdp-menu.active {
        display:block;
    }


    .fdp-menu ul {
        padding:15px;
        margin:0;
        list-style:none;
    }


    .fdp-menu li {
        margin-bottom:10px;
    }


    .fdp-menu a {
        display:block;
        padding:12px;
        border-radius:10px;
    }


    .menu-highlight-profile a {
        border:2px solid #facc15;
        font-weight:800;
    }

}



/* CONSEIL DES SAGES */

.sage-grid {

display:grid;
grid-template-columns:
repeat(auto-fit,minmax(260px,1fr));

gap:30px;

justify-items:center;

}


.sage-card {

width:260px;

text-align:center;

padding:25px;

border-radius:20px;

background:white;

box-shadow:0 5px 20px rgba(0,0,0,.12);

}


.sage-avatar {

width:120px;
height:120px;

border-radius:50%;

object-fit:cover;

margin:auto;

}




.btn-danger {

display:inline-block;

padding:10px 18px;

border-radius:10px;

background:#b91c1c;

color:white;

text-decoration:none;

}


@media(max-width:600px){

.sage-card{

width:90%;

}

}



.vote-progress {

    width:100%;

    height:18px;

    background:#e5e7eb;

    border-radius:20px;

    overflow:hidden;

    margin:15px 0;

}


.vote-progress-bar {

    height:100%;

    background:#b91c1c;

    border-radius:20px;

}



/* ==========================================================================
   Synthèse Gouvernance
   ========================================================================== */


.governance-summary {

    display:grid;

    grid-template-columns:
        repeat(auto-fit,minmax(250px,1fr));

    gap:20px;

    margin-top:25px;

}


.governance-summary > div {

    padding:20px;

    border-radius:15px;

    background:#f8fafc;

}


.governance-summary h3 {

    margin-top:0;

}


.governance-summary a {

    display:inline-block;

    margin-top:10px;

}


.status-revoked {

    font-weight:bold;

}



/* ========================================================================== 
   MODULES INTERNES — COQUILLE COMMUNE ET RESPONSIVE
   ========================================================================== */
.member-page { background: var(--bg-dark); }
.member-site-header { position: sticky; top: 5px; z-index: 999; background: rgba(2,8,23,.96); backdrop-filter: blur(18px); border-bottom: 1px solid rgba(0,119,255,.35); box-shadow: 0 12px 35px rgba(0,0,0,.55); }
.member-header-inner { width: min(1400px, 100%); margin: 0 auto; min-height: 78px; padding: 10px 24px; display:flex; align-items:center; gap:22px; }
.member-brand { flex:0 0 auto; display:flex; align-items:center; }
.member-brand img { width: 132px; max-height:54px; object-fit:contain; display:block; }
.member-header-inner .fdp-menu { flex:1; display:flex; align-items:center; justify-content:flex-end; gap:6px; flex-wrap:wrap; }
.member-header-inner .fdp-menu a { color:#eaf2ff; text-decoration:none; font-size:.78rem; font-weight:700; padding:9px 10px; border-radius:10px; border:1px solid transparent; white-space:nowrap; transition:.2s ease; }
.member-header-inner .fdp-menu a:hover,.member-header-inner .fdp-menu a:focus,.member-header-inner .fdp-menu a.member-nav-current { background:rgba(0,119,255,.13); border-color:rgba(0,119,255,.35); color:#fff; }
.member-header-inner .fdp-menu .member-nav-logout { color:#ffb4ad; }
.member-main { width:min(1320px, calc(100% - 32px)); margin:0 auto; padding:34px 0 48px; min-height:calc(100vh - 120px); }
.module-shell { width:100%; }
.module-hero { display:flex; align-items:center; justify-content:space-between; gap:25px; padding:28px 30px; border:1px solid rgba(0,119,255,.34); border-radius:20px; background:linear-gradient(135deg,rgba(6,18,46,.96),rgba(3,10,28,.9)); box-shadow:0 18px 45px rgba(0,0,0,.28); margin-bottom:18px; }
.module-hero-compact { padding:22px 26px; }
.module-hero h1 { margin:5px 0 7px; font:800 2rem var(--font-display); color:#fff; }
.module-hero p { color:#b9c7dc; margin:0; line-height:1.55; }
.module-kicker { color:#38bdf8; font:800 .68rem var(--font-display); letter-spacing:.12em; text-transform:uppercase; }
.module-hero-badge,.module-back { display:inline-flex; align-items:center; justify-content:center; gap:8px; color:#fff; text-decoration:none; border:1px solid rgba(0,210,255,.38); background:rgba(0,210,255,.09); border-radius:12px; padding:10px 14px; font-weight:800; white-space:nowrap; }
.department-tabs { display:flex; gap:7px; flex-wrap:wrap; padding:6px; margin-bottom:18px; border:1px solid rgba(255,255,255,.08); border-radius:14px; background:rgba(3,10,28,.75); }
.department-tabs a { color:#cbd5e1; text-decoration:none; padding:10px 13px; border-radius:9px; font-weight:700; font-size:.82rem; }
.department-tabs a:hover,.department-tabs a.active { color:#fff; background:linear-gradient(90deg,rgba(0,85,165,.75),rgba(0,119,255,.35)); }
.department-overview-grid { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr); gap:18px; }
.module-card { border:1px solid rgba(0,119,255,.28); border-radius:18px; background:linear-gradient(145deg,rgba(10,26,64,.92),rgba(3,10,28,.92)); box-shadow:0 15px 40px rgba(0,0,0,.25); color:#fff; }
.department-main-card { display:flex; gap:20px; padding:28px; align-items:flex-start; }
.card-icon { width:56px;height:56px; flex:0 0 56px; display:grid;place-items:center;border-radius:16px;background:rgba(0,119,255,.13);font-size:1.7rem;border:1px solid rgba(0,119,255,.28); }
.module-card h2,.module-card h3 { color:#fff; margin:0 0 9px; font-family:var(--font-display); }
.module-card p { color:#c4d0e1; line-height:1.65; }
.department-code { font-size:.8rem; color:#7dd3fc!important; margin-bottom:10px; }
.quick-card { padding:22px; }
.quick-card a { display:flex; justify-content:space-between; gap:12px; color:#eaf2ff; text-decoration:none; padding:13px 10px; border-top:1px solid rgba(255,255,255,.07); font-weight:700; font-size:.86rem; }
.quick-card a:hover { color:#38bdf8; }
.content-list-card { padding:24px; }
.member-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:12px; }
.member-tile { display:flex;align-items:center;gap:12px;text-decoration:none;color:#fff;padding:14px;border:1px solid rgba(255,255,255,.08);border-radius:13px;background:rgba(255,255,255,.025); }
.member-tile:hover { border-color:rgba(0,119,255,.45); background:rgba(0,119,255,.08); }
.member-tile strong,.member-tile span { display:block; }.member-tile span { color:#8fa2bd;font-size:.76rem;margin-top:3px; }
.member-avatar,.post-avatar,.referent-avatar { width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;border-radius:50%;background:rgba(0,119,255,.14);border:1px solid rgba(0,119,255,.28); }
.event-list { display:grid; gap:12px; }.event-row { display:flex;gap:16px;padding:17px;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:rgba(255,255,255,.025); }.event-date { font-size:1.5rem; }.event-info h2 { font-size:1rem; }.event-info p { margin:0 0 8px; }.event-meta,.post-meta { color:#8193ad;font-size:.74rem; }
.department-post-list { display:grid;gap:12px; }.department-post { display:flex;gap:13px;padding:17px;border-bottom:1px solid rgba(255,255,255,.07); }.department-post:last-child{border-bottom:0}.department-post p{margin:5px 0 0;white-space:normal;}
.referent-panel { display:flex;align-items:center;gap:18px;padding:20px;border-radius:15px;background:rgba(0,119,255,.07);border:1px solid rgba(0,119,255,.22); }.referent-avatar{width:64px;height:64px;flex-basis:64px;font-size:1.5rem}.referent-panel h2{margin:4px 0}.referent-panel p{margin:0}
.composer-card { padding:20px; margin-bottom:18px; }.composer-card textarea { width:100%; resize:vertical; min-height:100px; border:1px solid rgba(0,119,255,.3); border-radius:12px; padding:13px; color:#fff; background:rgba(2,8,23,.75); font:500 .9rem var(--font-body); outline:none; }.composer-card textarea:focus{border-color:#38bdf8;box-shadow:0 0 0 3px rgba(56,189,248,.08)}.composer-footer{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:12px;color:#8193ad;font-size:.75rem}.module-button,.post-actions button{border:0;border-radius:10px;padding:10px 15px;background:linear-gradient(90deg,#0055a5,#0077ff);color:#fff;font-weight:800;cursor:pointer}.timeline-list{display:grid;gap:16px}.timeline-post-card{padding:20px}.post-head{display:flex;align-items:center;gap:12px}.timeline-avatar{width:46px;height:46px;border-radius:50%;object-fit:cover;border:1px solid rgba(0,119,255,.4)}.post-head strong,.post-head span{display:block}.post-head span{font-size:.74rem;color:#8193ad;margin-top:3px}.post-content{padding:18px 0;font-size:.92rem;line-height:1.75;color:#edf3fb;overflow-wrap:anywhere}.post-actions{display:flex;align-items:center;gap:12px;border-top:1px solid rgba(255,255,255,.07);padding-top:12px}.post-actions a{color:#7dd3fc;text-decoration:none;font-size:.78rem;font-weight:700}.post-actions form{margin:0}.empty-state{text-align:center;padding:50px 20px}.empty-icon{font-size:2.5rem;margin-bottom:10px}.empty-state h2{margin-bottom:8px}.empty-state p{max-width:560px;margin:0 auto}.site-footer-carousel-wrapper{margin-top:20px!important;padding:18px 14px 22px!important}.carousel-container{padding:6px 0!important}.carousel-track{animation-duration:55s!important;gap:10px!important}.carousel-item{height:54px!important;padding:3px!important;border-radius:7px!important}.carousel-item img{height:48px!important;max-width:86px!important;object-fit:contain!important}
@media(max-width:1050px){.member-header-inner{align-items:flex-start}.member-header-inner .fdp-menu{justify-content:flex-start}.department-overview-grid{grid-template-columns:1fr}}
@media(max-width:768px){.member-header-inner{min-height:66px;padding:8px 14px;position:relative}.member-brand img{width:112px}.fdp-menu-mobile{display:block!important;margin-left:auto;position:relative!important;top:auto!important;right:auto!important;color:#fff!important}.member-header-inner .fdp-menu{display:none;position:absolute;left:10px;right:10px;top:62px;padding:10px;background:#020617;border:1px solid rgba(0,119,255,.3);border-radius:14px;box-shadow:0 18px 40px rgba(0,0,0,.65);max-height:calc(100vh - 80px);overflow:auto}.member-header-inner .fdp-menu.active{display:grid;grid-template-columns:1fr 1fr}.member-header-inner .fdp-menu a{font-size:.78rem;padding:11px}.member-main{width:min(100% - 20px,1320px);padding-top:20px}.module-hero{padding:22px 18px;align-items:flex-start;flex-direction:column}.module-hero h1{font-size:1.55rem}.module-hero-badge,.module-back{align-self:flex-start}.department-tabs{overflow-x:auto;flex-wrap:nowrap}.department-tabs a{white-space:nowrap}.department-main-card{padding:20px}.content-list-card{padding:15px}.member-grid{grid-template-columns:1fr}.composer-footer{align-items:flex-end;flex-direction:column}.post-actions{flex-wrap:wrap}.carousel-item{height:48px!important}.carousel-item img{height:42px!important;max-width:72px!important}}


/* Espace départemental — création d'événements */
.event-create-card{margin-bottom:20px}
.event-create-head h2{margin:4px 0 4px}
.event-create-head p{margin:0;color:#94a3b8}
.event-create-form{margin-top:18px}
.event-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.event-form-grid label{display:flex;flex-direction:column;gap:7px;color:#e5e7eb;font-weight:700;font-size:.9rem}
.event-form-grid input,.event-form-grid select,.event-form-grid textarea{width:100%;box-sizing:border-box;padding:11px 12px;border-radius:10px;border:1px solid rgba(148,163,184,.3);background:rgba(2,6,23,.72);color:#fff;font:inherit}
.event-form-grid textarea{resize:vertical}
.event-form-full{grid-column:1/-1}
.event-form-message{padding:11px 13px;border-radius:10px;margin-top:14px}
.event-form-message.error{background:rgba(127,29,29,.25);border:1px solid rgba(248,113,113,.45)}
.event-form-message.success{background:rgba(20,83,45,.25);border:1px solid rgba(74,222,128,.45)}
@media(max-width:700px){.event-form-grid{grid-template-columns:1fr}.event-form-full{grid-column:auto}}
