/* ── Communiqués : liste + filtres + viewer PDF ──────────────────────────────
   Couleurs de catégorie : variables CSS posées par le template à partir de
   sfp-europa.yaml (communiques.categories) — --cat, --cat-border, --cat-soft, --cat-text */

.comm-stats { display:flex;gap:1.5rem;flex-wrap:wrap;margin-bottom:1.25rem;padding:.85rem 1.25rem;background:var(--bg);border:1px solid var(--border);border-radius:8px; }
.comm-stat { display:flex;align-items:baseline;gap:.4rem; }
.stat-n { font-family:var(--serif);font-size:1.35rem;font-weight:600;color:var(--blue-deep);line-height:1; }
.stat-n-cat { color:var(--cat-text, var(--blue-deep)); }
.stat-l { font-size:.72rem;color:var(--text-light);text-transform:uppercase;letter-spacing:.06em; }

.comm-filters { display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-bottom:1.25rem;padding:.6rem 1rem;background:var(--white);border:1px solid var(--border);border-radius:8px; }
.filter-label { font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-light);margin-right:.25rem;white-space:nowrap; }
.filter-btn { display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .85rem;font-size:.8rem;font-weight:500;color:var(--text-mid);background:var(--bg);border:1px solid var(--border);border-radius:20px;cursor:pointer;font-family:var(--sans);transition:all .15s;white-space:nowrap; }
.filter-btn:hover { background:var(--blue-light);border-color:var(--blue-mid);color:var(--blue-deep); }
.filter-btn.active { background:var(--blue-deep);border-color:var(--blue-deep);color:var(--white); }

.tdot { width:9px;height:9px;border-radius:50%;flex-shrink:0;background:var(--cat);outline:1px solid var(--cat-border); }

.tbadge { font-size:.6rem;font-weight:700;padding:.12rem .4rem;border-radius:3px;color:var(--text-dark);background:var(--cat-soft, var(--bg));flex-shrink:0;letter-spacing:.04em;white-space:nowrap; }
.tbadge-lang { background:var(--white);border:1px solid var(--border);color:var(--text-mid); }

.comm-layout { display:grid;grid-template-columns:340px 1fr;gap:1.5rem;align-items:start; }

.comm-list { display:flex;flex-direction:column;max-height:calc(100vh - 200px);overflow-y:auto;border:1px solid var(--border);border-radius:8px;background:var(--white);scrollbar-width:thin;scrollbar-color:var(--border) transparent; }
.comm-list::-webkit-scrollbar { width:4px; }
.comm-list::-webkit-scrollbar-thumb { background:var(--border);border-radius:2px; }

.comm-row { display:grid;grid-template-columns:54px 1fr 16px;gap:.6rem;padding:.7rem .9rem;border-bottom:1px solid var(--border);align-items:start;transition:background .12s; }
.comm-row:last-child { border-bottom:none; }
.comm-row.has-pdf { cursor:pointer; }
.comm-row.has-pdf:hover { background:var(--blue-light); }
.comm-row.has-pdf:focus-visible { outline:2px solid var(--blue-mid);outline-offset:-2px; }
.comm-row.active { background:var(--blue-xlight);border-left:3px solid var(--blue-deep);padding-left:calc(.9rem - 3px); }
.comm-row.no-pdf { opacity:.55; }

.crow-meta { display:flex;flex-direction:column;align-items:center;gap:.3rem;padding-top:.1rem; }
.crow-date { font-size:.63rem;color:var(--text-light);text-align:center;line-height:1.3;white-space:nowrap; }
.crow-body { min-width:0; }
.crow-titre { font-size:.82rem;font-weight:600;color:var(--text-dark);line-height:1.35;margin:0 0 .2rem; }
.crow-resume { font-size:.74rem;color:var(--text-light);line-height:1.45;margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden; }
.crow-arrow { font-size:.8rem;align-self:center;color:var(--blue-mid); }
.comm-row.no-pdf .crow-arrow { color:var(--border); }

.comm-viewer { position:sticky;top:calc(var(--nav-h) + 1rem); }
.viewer-empty { display:flex;flex-direction:column;align-items:center;justify-content:center;height:400px;background:var(--bg);border:1px dashed var(--border);border-radius:10px;color:var(--text-light);font-size:.9rem;gap:1rem;text-align:center;padding:2rem; }
.viewer-empty span { font-size:2.75rem; }
.viewer-bar { display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.6rem 1rem;background:var(--blue-deep);border-radius:8px 8px 0 0;flex-wrap:wrap; }
.viewer-title { font-size:.78rem;color:rgba(255,255,255,.8);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.viewer-dl { font-size:.75rem;font-weight:600;color:var(--gold);text-decoration:none;white-space:nowrap;flex-shrink:0;padding:.2rem .6rem;border:1px solid rgba(255,204,0,.35);border-radius:4px;transition:background .15s; }
.viewer-dl:hover { background:rgba(255,204,0,.15); }
.viewer-frame { display:block;width:100%;height:1100px;border:none;background:var(--bg); }

/* Filtres, ?cat= et viewer : visibilité pilotée uniquement par .hidden */
.comm-row.hidden,
.comm-viewer .hidden { display:none; }

@media (max-width:980px) {
  .comm-layout { grid-template-columns:1fr; }
  .comm-viewer { position:static; }
  .comm-list { max-height:55vh; }
  .viewer-frame { height:75vh; }
}
