/* videotheque.css — page Vidéos (/videos/), 8 oct. 2026. Même gabarit que la FAQ :
 * les règles .kb-* sont reprises de faq.css (bandeau, recherche, pastilles, titres,
 * ressources, contact) ; à corriger ensemble. Les .vd-* sont propres à la page. */

.kb-bandeau{background:var(--bone);padding:clamp(72px,9vw,110px) 0 clamp(36px,5vw,56px)}
.kb-titre{font-family:"Poppins",-apple-system,sans-serif;font-weight:500;line-height:1.1;letter-spacing:-.02em;
  font-size:clamp(2rem,4.2vw,3.2rem);color:var(--ink);margin:14px 0 0;text-wrap:balance}
.kb-titre em{font-style:normal;font-weight:300}
.kb-sous{font-size:1.12rem;color:var(--ink-soft);margin:14px 0 0}
.kb-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.kb-recherche{position:relative;display:flex;align-items:center;max-width:640px;margin-top:clamp(24px,3vw,34px)}
.kb-recherche svg{position:absolute;left:20px;width:20px;height:20px;fill:none;stroke:#001d6d;stroke-width:2;stroke-linecap:round}
.kb-recherche input{width:100%;padding:16px 22px 16px 54px;border-radius:999px;border:1px solid #c9d2db;background:#fff;
  font:1rem "Hanken Grotesk",sans-serif;color:var(--ink);outline:none;transition:border-color .2s ease,box-shadow .2s ease}
.kb-recherche input:focus{border-color:#001d6d;box-shadow:0 0 0 4px rgba(0,29,109,.08)}

.kb-corps{background:#fff;padding:clamp(36px,5vw,56px) 0 clamp(56px,7vw,96px)}
.kb-themes{display:flex;flex-wrap:wrap;gap:10px;padding-bottom:clamp(22px,3vw,32px);border-bottom:1px solid var(--line-soft);
  margin-bottom:clamp(24px,3vw,40px)}
.kb-pastille{position:relative;display:inline-flex;cursor:pointer}
.kb-pastille input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.kb-pastille span{display:inline-flex;align-items:center;padding:10px 18px;border-radius:999px;background:#f2f4f5;
  border:1px solid transparent;font-size:.92rem;line-height:1.2;color:var(--ink);transition:background .2s,color .2s}
.kb-pastille:hover span{background:#e7ebee}
.kb-pastille input:checked + span{background:var(--ink);color:#fff}
.kb-pastille input:focus-visible + span{outline:2px solid var(--accent);outline-offset:2px}

.kb-famille{margin-bottom:clamp(36px,5vw,56px)}
.kb-famille[hidden],.kb-theme[hidden],.vd-video[hidden],.vd-grille[hidden]{display:none}
.kb-h2{font-family:"Poppins",-apple-system,sans-serif;font-weight:500;font-size:clamp(1.6rem,3vw,2.4rem);letter-spacing:-.02em;
  line-height:1.15;color:var(--ink);margin:0 0 18px}
.kb-theme{margin-bottom:clamp(30px,4vw,44px);scroll-margin-top:140px}
.kb-h3{font-size:.82rem!important;font-weight:600!important;letter-spacing:.12em!important;text-transform:uppercase;
  color:var(--ink-soft);margin:0 0 14px}
.vd-nb{font-weight:400;letter-spacing:.04em}
.kb-vide{color:var(--ink-soft);padding:20px 0}
.kb-vide[hidden]{display:none}

/* Grilles de vidéos : 16/9, puis les Shorts en 9/16, plus étroits. */
.vd-grille{list-style:none;margin:0 0 22px;padding:0;display:grid;gap:22px 18px;
  grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.vd-courts{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
.vd-video{margin:0;min-width:0}
.vd-video a{position:relative;display:block;aspect-ratio:16/9;border-radius:18px;overflow:hidden;background:#0a1116;
  text-decoration:none;transition:transform .25s ease,box-shadow .25s ease}
.vd-courts .vd-video a{aspect-ratio:9/16}
.vd-video a:hover{transform:translateY(-3px);box-shadow:0 18px 40px -26px rgba(12,40,58,.6)}
.vd-video a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.vd-video img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;margin:0;max-width:none}
.vd-play{position:absolute;left:50%;top:50%;width:52px;height:52px;transform:translate(-50%,-50%);transition:transform .2s ease}
.vd-play svg{display:block;width:100%;height:100%}
.vd-video a:hover .vd-play{transform:translate(-50%,-50%) scale(1.08)}
.vd-badge{position:absolute;left:10px;top:10px;padding:4px 10px;border-radius:999px;background:rgba(10,17,22,.72);color:#fff;
  font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.vd-titre{margin:10px 2px 0;font-family:"Poppins",-apple-system,sans-serif;font-weight:500;font-size:.95rem;line-height:1.35;
  color:var(--ink)}
.vd-courts .vd-titre{font-size:.86rem}
.vd-titre mark{background:#fff3b0;color:inherit;border-radius:3px}

.kb-ressources{background:#fff;padding:0 0 clamp(56px,7vw,96px)}
.kb-cartes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.25rem}
.kb-carte{position:relative;display:flex;flex-direction:column;gap:6px;min-height:150px;padding:24px;border-radius:24px;
  background:#f5f7f9;text-decoration:none;color:var(--ink);transition:background .2s ease,transform .2s ease}
.kb-carte:hover{background:#eef1f4;transform:translateY(-2px)}
.kb-carte-t{font-family:"Poppins",-apple-system,sans-serif;font-weight:500;font-size:1.2rem}
.kb-carte-s{font-size:.9rem;color:var(--ink-soft)}
.kb-carte svg{position:absolute;right:20px;bottom:20px;width:22px;height:22px;fill:none;stroke:#001d6d;stroke-width:1.6;
  stroke-linecap:round;stroke-linejoin:round}

.kb-contact{background:#f5f7f9;padding:clamp(56px,7vw,96px) 0;text-align:center}
.kb-contact h2{font-family:"Poppins",-apple-system,sans-serif;font-weight:500;font-size:clamp(2rem,4vw,3.4rem);
  letter-spacing:-.02em;line-height:1.1;color:#001d6d;margin:0 0 14px}
.kb-contact h2 em{font-style:normal;font-weight:300}
.kb-contact p{color:var(--ink-soft);max-width:60ch;margin:0 auto 26px}
.kb-contact-btns{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}

@media (max-width:900px){ .kb-cartes{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:560px){
  .kb-cartes{grid-template-columns:1fr}
  .vd-grille{grid-template-columns:1fr}
  .vd-courts{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px}
}
@media (prefers-reduced-motion:reduce){ .vd-video a,.vd-play,.kb-carte{transition:none} }
