/* Catalogue COCAF — autonome, préfixé .cocaf-, neutre pour cohabiter
   avec le thème (Fluida Plus en prod). */

.cocaf-catalogue { margin: 0 auto; max-width: 1180px; }

/* ── Barre de recherche ── */
.cocaf-barre { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; margin-bottom: 1rem; }
.cocaf-cherche {
  flex: 1 1 320px; padding: .65rem 1rem; font-size: 1.05rem;
  border: 2px solid #c9cdd3; border-radius: 999px; outline-offset: 2px;
}
.cocaf-cherche:focus { border-color: #1d6fb8; }
.cocaf-compteur { font-weight: 600; color: #444; white-space: nowrap; }

/* ── Chips ── */
.cocaf-chips { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: .75rem; }
.cocaf-chip {
  --chip-fg: #444; --chip-bg: #eee;
  border: 1.5px solid var(--chip-fg); background: var(--chip-bg); color: var(--chip-fg);
  border-radius: 999px; padding: .3rem .85rem; font-size: .92rem; line-height: 1.3;
  cursor: pointer; transition: transform .08s, box-shadow .12s;
}
.cocaf-chip:hover { transform: translateY(-1px); box-shadow: 0 2px 6px rgba(0,0,0,.12); }
.cocaf-chip[aria-pressed="true"] { background: var(--chip-fg); color: #fff; }
.cocaf-chip[aria-pressed="true"] .cocaf-chip-n { color: #fff; opacity: .8; }
.cocaf-chip-n { font-size: .8em; opacity: .7; margin-left: .15rem; }
.cocaf-chip-format { --chip-fg: #555; --chip-bg: #f4f4f4; }

/* ── Sélecteurs ── */
.cocaf-selecteurs { display: flex; flex-wrap: wrap; gap: .6rem; align-items: center; margin-bottom: 1.25rem; }
.cocaf-selecteurs select {
  padding: .45rem .7rem; border: 1.5px solid #c9cdd3; border-radius: 8px;
  font-size: .95rem; background: #fff; max-width: 100%;
}
.cocaf-reset {
  border: none; background: none; color: #1d6fb8; cursor: pointer;
  font-size: .92rem; text-decoration: underline; padding: .3rem .4rem;
}

/* ── Grille de cartes ── */
.cocaf-grille {
  display: grid; gap: 1.1rem;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
}
.cocaf-carte {
  display: flex; flex-direction: column; gap: .35rem;
  border: 1px solid #e2e5e9; border-radius: 12px; padding: 1rem 1.1rem;
  background: #fff; box-shadow: 0 1px 3px rgba(0,0,0,.05);
  transition: box-shadow .15s, transform .12s;
}
.cocaf-carte:hover { box-shadow: 0 4px 14px rgba(0,0,0,.10); transform: translateY(-2px); }
.cocaf-carte[hidden] { display: none; }
.cocaf-badge {
  align-self: flex-start; font-size: .78rem; font-weight: 600;
  color: var(--chip-fg); background: var(--chip-bg);
  border-radius: 999px; padding: .15rem .7rem;
}
.cocaf-titre { margin: .1rem 0 0; font-size: 1.08rem; line-height: 1.35; }
.cocaf-titre a { text-decoration: none; color: inherit; }
.cocaf-titre a:hover { text-decoration: underline; }
.cocaf-org { margin: 0; font-size: .9rem; font-weight: 600; color: #1d6fb8; }
.cocaf-meta { margin: 0; font-size: .84rem; color: #666; }
.cocaf-extrait { margin: .25rem 0 0; font-size: .9rem; color: #333; line-height: 1.45; }
.cocaf-tags { margin: .3rem 0 0; font-size: .8rem; color: #888; font-style: italic; }

/* ── États ── */
.cocaf-vide { text-align: center; padding: 2.5rem 1rem; color: #555; font-size: 1.05rem; }
.cocaf-plus-rang { text-align: center; margin-top: 1.5rem; }
.cocaf-plus {
  border: 2px solid #1d6fb8; color: #1d6fb8; background: #fff;
  border-radius: 999px; padding: .55rem 1.6rem; font-size: 1rem; cursor: pointer;
}
.cocaf-plus:hover { background: #1d6fb8; color: #fff; }

@media (max-width: 560px) {
  .cocaf-selecteurs select { flex: 1 1 100%; }
}

/* ── Fiche formation (single) ── */
.cocaf-fiche-tete { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 1rem; }
.cocaf-fiche-org {
  border: 1px solid #e2e5e9; border-left: 4px solid #1d6fb8; border-radius: 8px;
  padding: 1rem 1.2rem; margin-top: 1.75rem; background: #fafbfc;
}
.cocaf-fiche-org h2 { margin: 0 0 .4rem; font-size: 1.05rem; }
.cocaf-fiche-org p { margin: .25rem 0; font-size: .95rem; overflow-wrap: anywhere; }
.cocaf-retour { margin-top: 1.25rem; font-size: .95rem; }
