/* membres.css — Espace membres du Génie (open space virtuel).
   Reprend la charte graphique du site public : navy/or/sauge, Playfair Display + DM Sans.
   Auto-portant comme footer.css : les pages de l'espace membres ne chargent pas site.css. */

:root{
  --navy:#1C2B3A; --gold:#C9993E; --gold-l:#E8C06A; --gold-d:#8A6420;
  --sage:#4A7C6F; --brick:#8B3A2A;
  --white:#FFFFFF; --ink:#1C2B3A; --muted:#50606E; --border:rgba(28,43,58,.12);
  --bg:#F5F3EE;
}
*,*::before,*::after{box-sizing:border-box}
body.gm-body{margin:0;font-family:'DM Sans',sans-serif;color:var(--ink);background:var(--bg);line-height:1.6}

/* ── Bandeau haut ── */
.gm-header{background:var(--navy);color:#fff;padding:0 5%;height:64px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100;box-shadow:0 2px 14px rgba(0,0,0,.15)}
.gm-brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:#fff}
.gm-brand-name{font-family:'Playfair Display',serif;font-weight:900;font-size:1.25rem;color:#fff}
.gm-brand-sub{font-family:'DM Mono',monospace;font-size:10.5px;letter-spacing:1.2px;text-transform:uppercase;color:var(--gold-l);display:block;margin-top:-2px}
.gm-nav{display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.gm-nav a{color:rgba(255,255,255,.75);text-decoration:none;font-size:13.5px;font-weight:500;padding:8px 12px;border-radius:8px;transition:all .18s}
.gm-nav a:hover{color:#fff;background:rgba(255,255,255,.08)}
.gm-nav a.active{color:var(--navy);background:var(--gold-l);font-weight:600}
.gm-user{display:flex;align-items:center;gap:10px}
.gm-user-name{font-size:12.5px;color:rgba(255,255,255,.85);background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:20px;padding:5px 12px}
.gm-btn-out{background:none;border:1px solid rgba(255,255,255,.3);color:rgba(255,255,255,.8);border-radius:8px;padding:6px 12px;font-size:12px;font-family:inherit;cursor:pointer;transition:all .18s}
.gm-btn-out:hover{background:rgba(255,255,255,.12);color:#fff}
.gm-burger{display:none;background:none;border:none;color:#fff;font-size:22px;cursor:pointer}
@media(max-width:860px){
  .gm-nav{display:none;position:absolute;top:64px;left:0;right:0;background:var(--navy);flex-direction:column;padding:10px 5% 16px;gap:2px;box-shadow:0 8px 20px rgba(0,0,0,.2)}
  .gm-nav.open{display:flex}
  .gm-burger{display:block}
}

/* ── Shell / conteneur ── */
.gm-shell{max-width:1080px;margin:0 auto;padding:32px 5% 70px}
.gm-eyebrow{font-family:'DM Mono',monospace;font-size:11px;letter-spacing:1.6px;text-transform:uppercase;color:var(--gold-d)}
.gm-h1{font-family:'Playfair Display',serif;font-weight:900;font-size:clamp(1.7rem,3.6vw,2.5rem);color:var(--navy);letter-spacing:-.5px;margin:8px 0 6px}
.gm-lede{color:var(--muted);font-size:1rem;max-width:640px;margin-bottom:28px}

/* ── Cartes ── */
.gm-card{background:var(--white);border:1.5px solid var(--border);border-radius:14px;padding:22px 24px;margin-bottom:18px}
.gm-card-title{font-weight:700;color:var(--navy);font-size:15px;margin-bottom:14px;display:flex;align-items:center;justify-content:space-between;gap:10px}
.gm-grid-2{display:grid;grid-template-columns:1.4fr 1fr;gap:20px}
@media(max-width:800px){.gm-grid-2{grid-template-columns:1fr}}

/* ── Boutons ── */
.gm-btn{display:inline-flex;align-items:center;gap:8px;border-radius:9px;padding:11px 20px;font-size:14px;font-weight:600;text-decoration:none;border:none;cursor:pointer;font-family:inherit;transition:all .18s}
.gm-btn-primary{background:var(--gold);color:#fff}
.gm-btn-primary:hover{background:var(--gold-d);transform:translateY(-1px)}
.gm-btn-sage{background:var(--sage);color:#fff}
.gm-btn-sage:hover{background:#3a6158}
.gm-btn-ghost{background:transparent;border:1.5px solid var(--border);color:var(--navy)}
.gm-btn-ghost:hover{border-color:var(--gold)}
.gm-btn[disabled]{opacity:.5;cursor:not-allowed}

/* ── Formulaires ── */
.gm-field{margin-bottom:14px}
.gm-field label{display:block;font-size:12.5px;font-weight:600;color:var(--navy);margin-bottom:6px}
.gm-input,.gm-select,.gm-textarea{width:100%;border:1.5px solid var(--border);border-radius:9px;padding:10px 13px;font-size:14.5px;font-family:inherit;color:var(--ink);background:#fff;transition:border .18s}
.gm-input:focus,.gm-select:focus,.gm-textarea:focus{outline:none;border-color:var(--gold)}
.gm-textarea{resize:vertical;min-height:90px}

/* ── Connexion ── */
.gm-login-wrap{min-height:calc(100vh - 64px);display:flex;align-items:center;justify-content:center;padding:24px}
.gm-login-box{background:#fff;border:1.5px solid var(--border);border-radius:16px;padding:40px 36px;width:100%;max-width:420px;box-shadow:0 10px 40px rgba(28,43,58,.1)}
.gm-login-box h2{font-family:'Playfair Display',serif;font-weight:900;color:var(--navy);font-size:1.5rem;margin-bottom:6px}
.gm-login-box p{color:var(--muted);font-size:13.5px;margin-bottom:22px;line-height:1.6}
.gm-alert{border-radius:9px;padding:11px 13px;font-size:13px;margin-top:12px;display:none}
.gm-alert.show{display:block}
.gm-alert.ok{background:#EAF4F1;border:1px solid var(--sage);color:#2e5449}
.gm-alert.err{background:#FBEAE6;border:1px solid var(--brick);color:var(--brick)}

/* ── Catégories d'articles ── */
.gm-tag{display:inline-flex;align-items:center;font-size:10.5px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;padding:4px 10px;border-radius:20px}
.gm-tag-service{background:#EAF4F1;color:var(--sage)}
.gm-tag-utile{background:#EAF1FB;color:#2B5C99}
.gm-tag-divertissement{background:#FBEAF6;color:#9B2C74}
.gm-tag-conseils{background:#FFF6E6;color:var(--gold-d)}
.gm-tag-contacts-pro{background:#EFEAFB;color:#5B3C99}
.gm-tag-fournisseurs{background:#FBEAE6;color:var(--brick)}

/* ── Articles ── */
.gm-article{border-bottom:1px solid var(--border);padding:16px 0}
.gm-article:last-child{border-bottom:none}
.gm-article-head{display:flex;align-items:center;gap:10px;margin-bottom:6px;flex-wrap:wrap}
.gm-article-title{font-weight:700;color:var(--navy);font-size:1rem}
.gm-article-meta{font-size:12px;color:var(--muted)}
.gm-article-body{color:var(--ink);font-size:14px;line-height:1.65;white-space:pre-wrap}
.gm-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}
.gm-chip{border:1.5px solid var(--border);background:#fff;color:var(--muted);border-radius:20px;padding:6px 14px;font-size:12.5px;font-weight:600;cursor:pointer;transition:all .18s}
.gm-chip.active{background:var(--navy);border-color:var(--navy);color:#fff}

/* ── Calendrier repas ── */
.gm-cal-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.gm-cal-nav h3{font-family:'Playfair Display',serif;color:var(--navy);font-size:1.2rem}
.gm-cal-btn{background:none;border:1.5px solid var(--border);width:34px;height:34px;border-radius:8px;cursor:pointer;font-size:18px;display:flex;align-items:center;justify-content:center}
.gm-cal-btn:hover{border-color:var(--gold)}
.gm-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.gm-cal-dow{text-align:center;font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;padding-bottom:4px}
.gm-cal-day{border:1.5px solid var(--border);border-radius:10px;min-height:74px;padding:6px;font-size:12px;position:relative;background:#fff;cursor:pointer;transition:all .15s}
.gm-cal-day:hover{border-color:var(--gold)}
.gm-cal-day.empty{background:transparent;border-color:transparent;cursor:default}
.gm-cal-day.mine{background:#FFF6E6;border-color:var(--gold)}
.gm-cal-day.today{outline:2px solid var(--sage);outline-offset:-2px}
.gm-cal-daynum{font-weight:700;color:var(--navy)}
.gm-cal-avatars{display:flex;flex-wrap:wrap;gap:2px;margin-top:4px}
.gm-cal-avatar{background:var(--sage);color:#fff;border-radius:50%;width:18px;height:18px;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:700}
.gm-recap-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}
.gm-recap-list li{font-size:13.5px;display:flex;justify-content:space-between;gap:10px;border-bottom:1px dashed var(--border);padding-bottom:8px}

/* ── Chat ── */
.gm-chat-wrap{display:grid;grid-template-columns:200px 1fr;gap:0;border:1.5px solid var(--border);border-radius:14px;overflow:hidden;height:min(640px,72vh);background:#fff}
@media(max-width:760px){.gm-chat-wrap{grid-template-columns:1fr;height:auto}}
.gm-chan-list{background:#F8F6F1;border-right:1px solid var(--border);padding:14px 10px;display:flex;flex-direction:column;gap:2px}
.gm-chan{background:none;border:none;text-align:left;padding:9px 12px;border-radius:8px;font-size:13.5px;color:var(--muted);cursor:pointer;font-family:inherit;font-weight:500}
.gm-chan:hover{background:rgba(28,43,58,.05)}
.gm-chan.active{background:var(--navy);color:#fff;font-weight:700}
.gm-chat-main{display:flex;flex-direction:column;min-height:0}
.gm-chat-msgs{flex:1;overflow-y:auto;padding:16px 20px;display:flex;flex-direction:column;gap:12px}
.gm-msg{max-width:80%}
.gm-msg-meta{font-size:11px;color:var(--muted);margin-bottom:2px;display:flex;gap:8px}
.gm-msg-author{font-weight:700;color:var(--navy)}
.gm-msg-body{background:#F1EEE6;border-radius:12px;padding:9px 13px;font-size:14px;line-height:1.5;display:inline-block;white-space:pre-wrap}
.gm-msg.mine .gm-msg-body{background:var(--sage);color:#fff}
.gm-msg.mine{align-self:flex-end;text-align:right}
.gm-chat-form{display:flex;gap:10px;padding:12px 16px;border-top:1px solid var(--border)}
.gm-chat-form input{flex:1}

/* ── Dashboard accueil ── */
.gm-dash-grid{display:grid;grid-template-columns:2fr 1fr;gap:20px}
@media(max-width:800px){.gm-dash-grid{grid-template-columns:1fr}}
.gm-empty{color:var(--muted);font-size:13.5px;font-style:italic;padding:10px 0}

/* ── Footer léger ── */
.gm-body footer{margin-top:20px}
