:root{
  --bg:#f6f7fb;--card:#fff;--txt:#1c1e21;--muted:#6b7280;--b:#e8e8ef;--p:#2563eb;--p-600:#1e40af;--chip:#eef2ff;
  --shadow:0 8px 24px rgba(16,24,40,.06);
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--txt);font:15px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial}
.container{max-width:1100px;margin:0 auto;padding:0 16px}

/* HERO */
.hero{
  margin:18px 0 12px;padding:18px;border-radius:14px;background:
  radial-gradient(80% 120% at 100% -10%, #dbeafe 0%, rgba(219,234,254,0) 60%),
  linear-gradient(180deg,#ffffff, #f9fafb);
  border:1px solid var(--b);
  box-shadow: var(--shadow);
}
.hero h1{margin:0 0 6px;font-size:26px}
.hero p{margin:0;color:var(--muted)}

/* TOP BAR */
.topbar{display:flex;justify-content:space-between;align-items:center;margin:12px 0}
.muted{color:var(--muted);font-size:13px}
.btn{display:inline-block;background:var(--p);color:#fff;padding:9px 12px;border-radius:10px;text-decoration:none;font-weight:600}
.btn.secondary{background:#6b7280}

/* FILTERS */
.filters-wrap{position:sticky;top:0;z-index:5;padding:10px 0 12px;background:linear-gradient(180deg,rgba(246,247,251,.95),rgba(246,247,251,.85))}
.filters{display:grid;gap:14px}
@media(min-width:900px){ .filters{ grid-template-columns:1.3fr 1fr 1fr 1fr 1fr; align-items:end; } }
label{display:block;font-weight:600;margin:0 0 6px}
input[type="search"], select{width:100%;padding:10px 12px;border:1px solid var(--b);border-radius:10px;background:#fff;min-height:42px}
.filters-actions{display:flex;gap:12px;margin-top:10px}

/* GRID + CARD */
.grid{display:grid;grid-template-columns:1fr;gap:16px;margin:16px 0 20px}
@media(min-width:760px){ .grid{grid-template-columns:1fr 1fr} }
.card{background:var(--card);border:1px solid var(--b);border-radius:14px;padding:14px;box-shadow:var(--shadow);transition:transform .1s ease, box-shadow .2s ease}
.card:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(16,24,40,.10)}
.card h3{margin:0 0 8px;font-size:18px}
.card h3 a{text-decoration:none;color:#0f172a}
.meta{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 10px}
.chip{display:inline-flex;gap:6px;align-items:center;padding:5px 9px;border-radius:999px;border:1px solid var(--b);background:#fff;color:#0f172a;font-size:12px}
.chip.cat{background:var(--chip);border-color:#c7d2fe}
.chip.reg{background:#f1f5f9}
.desc{color:#111827;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.tags{margin-top:10px;display:flex;flex-wrap:wrap;gap:6px}
.tag{font-size:12px;color:var(--p-600);background:#eef2ff;border:1px solid #e0e7ff;border-radius:999px;padding:4px 8px}

/* SMALL UTILITIES */
.sr{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}

/* === FIXES TOP BAR / FILTRES === */

/* plus d’air au bord de page et dans le bloc filtres */
.container{ padding-left:24px; padding-right:24px; }
.filters-wrap .single-column-container{
  padding:18px 28px !important;
  border-radius:12px;
  border:1px solid var(--b);
  background:#fff;
  box-shadow: var(--shadow);
}
/* éviter l'effet "collé" des colonnes */
.filters{ margin-left:-6px; margin-right:-6px; }
.filters > div{ padding:0 6px; }

/* bouton Filtrer clairement bleu + lisible, quelle que soit la cascade */
.filters-actions button.btn{
  appearance:none; -webkit-appearance:none;
  background: var(--p) !important;
  color:#fff !important;
  border:1px solid var(--p-600) !important;
  box-shadow:0 1px 0 rgba(0,0,0,.04), 0 2px 8px rgba(37,99,235,.18);
  padding:10px 14px; min-height:42px; border-radius:10px;
  font-weight:700; line-height:1.1;
}
.filters-actions button.btn:hover{ background:#1e40af !important; }

/* bouton Réinitialiser cohérent */
.filters-actions .btn.secondary{
  background:#6b7280 !important; color:#fff !important;
  border:1px solid #5a6268 !important;
  min-height:42px; padding:10px 14px; border-radius:10px; font-weight:700;
}
/* Chips cliquables (compteur) */
a.chip { text-decoration: none; color: inherit; }
.chip { transition: transform .1s ease, box-shadow .2s ease; }
a.chip.link:hover { box-shadow: 0 2px 8px rgba(16,24,40,.10); transform: translateY(-1px); }
