/* ==================================================================
   CIVIS-CI — Styles spécifiques à la page « Notre organisation »
   ================================================================== */

/* === 2.1 GOUVERNANCE === */
.gov{background:var(--paper)}
.org-chart{ display:flex; flex-direction:column; align-items:center; gap:0; margin-top:24px; }
.org-node{ background:#fff; border:1px solid var(--rule); border-radius:16px; padding:22px 30px; text-align:center; position:relative; min-width:280px; }
.org-node .role{ font-family:'JetBrains Mono', monospace; font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:var(--orange); margin-bottom:8px; }
.org-node .name{ font-family:'Newsreader', serif; font-size:22px; font-weight:600; }
.org-node .sub{ font-size:13px; color:var(--ink-2); margin-top:4px; }
.org-node.top{ background:var(--green-deep); color:#fff; }
.org-node.top .role{color:#F3C39B}
.org-node.exec{ background:var(--ink); color:#fff; }
.org-node.exec .role{color:#F3C39B}
.org-connector{ width:2px; height:32px; background:var(--rule); }
.org-row{ display:flex; gap:20px; flex-wrap:wrap; justify-content:center; }
.org-row .org-node{min-width:200px}
.org-bar{ position:relative; width:80%; height:2px; background:var(--rule); margin:0 auto; }
.gov-detail{ margin-top:72px; display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.gov-card{ background:var(--cream); border:1px solid var(--rule); border-radius:18px; padding:30px; }
.gov-card h4{ font-family:'Newsreader', serif; font-size:24px; font-weight:600; margin-bottom:14px; display:flex; align-items:center; gap:12px; }
.gov-card h4 .dot{width:10px; height:10px; border-radius:50%; background:var(--orange); flex-shrink:0}
.gov-card p{color:var(--ink-2); font-size:14.5px; line-height:1.6}
.gov-card ul{margin:0; padding:0; list-style:none; display:flex; flex-direction:column; gap:12px}
.gov-card ul li{ display:flex; gap:12px; align-items:baseline; font-size:14.5px; color:var(--ink-2); }
.gov-card ul li strong{color:var(--ink); font-weight:700}
.gov-card ul li::before{ content:""; width:6px; height:6px; border-radius:50%; background:var(--green); flex-shrink:0; transform:translateY(-2px); }
.org-note{ margin-top:24px; font-size:13px; color:var(--ink-3); font-style:italic; display:flex; gap:10px; align-items:center; }
.org-note::before{content:"ℹ"; font-style:normal; font-size:15px}

/* === 2.2 STATUTS / DOCS === */
.docs{background:var(--cream)}
.doc-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }
.doc-card{ background:#fff; border:1px solid var(--rule); border-radius:16px; padding:24px 26px; display:flex; align-items:center; gap:20px; transition:transform .2s ease, box-shadow .2s ease; }
.doc-card:hover{transform:translateY(-2px); box-shadow:0 20px 40px -28px rgba(15,45,26,.35)}
.doc-icon{
  width:52px; height:52px; border-radius:12px; flex-shrink:0;
  background:var(--orange-soft); color:var(--orange-deep);
  display:flex; align-items:center; justify-content:center;
  font-family:'JetBrains Mono', monospace; font-weight:600; font-size:11px; border:1px solid rgba(184,79,15,.2);
}
.doc-info{flex:1}
.doc-info .t{font-weight:700; font-size:15.5px; line-height:1.3}
.doc-info .m{font-family:'JetBrains Mono', monospace; font-size:11px; color:var(--ink-3); margin-top:4px; letter-spacing:.04em}
.doc-dl{ width:40px; height:40px; border-radius:50%; flex-shrink:0; border:1.5px solid var(--ink); color:var(--ink); display:flex; align-items:center; justify-content:center; }
.doc-card:hover .doc-dl{background:var(--ink); color:#fff}
.mission-band{ margin-top:48px; background:var(--green-deep); color:#fff; border-radius:20px; padding:48px 52px; display:grid; grid-template-columns:auto 1fr; gap:40px; align-items:center; }
.mission-band .label{ font-family:'JetBrains Mono', monospace; font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:#F3C39B; writing-mode:vertical-rl; transform:rotate(180deg); }
.mission-band p{ font-family:'Newsreader', serif; font-size:26px; line-height:1.4; font-weight:400; }
.mission-band p .hl{color:#F3C39B; font-style:italic}

/* === 2.3 RAPPORTS === */
.reports{background:var(--paper)}
.report-table{ border:1px solid var(--rule); border-radius:18px; overflow:hidden; background:#fff; }
.report-row{ display:grid; grid-template-columns: 64px 1fr 160px 140px; align-items:center; gap:20px; padding:22px 28px; border-bottom:1px solid var(--rule); transition:background .15s ease; }
.report-row:last-child{border-bottom:0}
.report-row:hover{background:var(--cream)}
.report-row .yr{ font-family:'Newsreader', serif; font-size:30px; font-weight:600; color:var(--green); line-height:1; }
.report-row .rt{font-weight:700; font-size:15.5px}
.report-row .rt .desc{font-weight:400; color:var(--ink-2); font-size:13.5px; margin-top:3px; display:block}
.report-row .tagcol{ font-family:'JetBrains Mono', monospace; font-size:10px; letter-spacing:.1em; text-transform:uppercase; }
.report-row .tagcol .badge{ padding:5px 10px; border-radius:999px; background:var(--green-soft); color:var(--green-deep); display:inline-block; }
.report-row .tagcol .badge.fin{background:var(--orange-soft); color:var(--orange-deep)}
.report-row .dlcol{justify-self:end}
.report-row .btn-dl{ display:inline-flex; align-items:center; gap:8px; padding:10px 18px; border:1.5px solid var(--ink); border-radius:999px; font-size:12.5px; font-weight:700; }
.report-row:hover .btn-dl{background:var(--ink); color:#fff}
.transparency-note{ margin-top:24px; font-size:13px; color:var(--ink-3); font-style:italic; display:flex; gap:10px; align-items:center; }
.transparency-note::before{content:"✓"; font-style:normal; color:var(--green); font-weight:700}

/* === 2.4 DEVENIR MEMBRE === */
.member{background:var(--green-darkest); color:#fff; position:relative; overflow:hidden}
.member .member-bg{ position:absolute; inset:0; background: repeating-linear-gradient(135deg, rgba(255,255,255,.03) 0 2px, transparent 2px 16px); }
.member .wrap{position:relative}
.member .section-head h2{color:#fff}
.member .section-head .num{color:rgba(255,255,255,.5)}
.member .section-head p.intro{color:rgba(255,255,255,.75)}
.member-grid{ display:grid; grid-template-columns: 1fr 1fr; gap:64px; margin-top:24px; }
.steps{display:flex; flex-direction:column; gap:0}
.step{ display:grid; grid-template-columns:auto 1fr; gap:24px; padding:24px 0; border-top:1px solid rgba(255,255,255,.15); }
.step:last-child{border-bottom:1px solid rgba(255,255,255,.15)}
.step .step-n{ font-family:'Newsreader', serif; font-size:40px; font-weight:600; color:var(--orange); line-height:1; }
.step h4{font-size:18px; font-weight:700; margin-bottom:6px}
.step p{color:rgba(255,255,255,.7); font-size:14.5px; line-height:1.55}
.member-side{ display:flex; flex-direction:column; gap:28px; }
.who-card, .rights-card{ background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.15); border-radius:18px; padding:30px; }
.who-card h4, .rights-card h4{ font-family:'JetBrains Mono', monospace; font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:#F3C39B; margin-bottom:18px; }
.who-card ul, .rights-card ul{margin:0; padding:0; list-style:none; display:flex; flex-direction:column; gap:14px}
.who-card li, .rights-card li{ display:flex; gap:12px; align-items:baseline; font-size:15px; color:rgba(255,255,255,.85); line-height:1.5; }
.who-card li::before, .rights-card li::before{ content:""; width:7px; height:7px; border-radius:50%; background:var(--orange); flex-shrink:0; transform:translateY(-2px); }
.member-cta{ margin-top:48px; background:var(--orange); border-radius:20px; padding:40px 48px; display:flex; align-items:center; justify-content:space-between; gap:32px; flex-wrap:wrap; }
.member-cta .mc-text h3{font-size:30px; font-weight:800; letter-spacing:-0.02em; color:#fff}
.member-cta .mc-text p{color:rgba(255,255,255,.85); margin-top:8px; font-size:15px}

/* === RESPONSIVE === */
@media (max-width: 1000px){
  .gov-detail, .doc-grid, .member-grid{grid-template-columns:1fr}
  .report-row{grid-template-columns:48px 1fr; gap:12px}
  .report-row .tagcol, .report-row .dlcol{display:none}
  .mission-band{grid-template-columns:1fr; gap:20px}
  .mission-band .label{writing-mode:horizontal-tb; transform:none}
}
