/* bk-lot-f.css — compléments du lot F (forum, agenda, articles, bibliothèque, pages secondaires)
   Chargé juste après {% include 'header.html' %} par les templates du lot. Tokens uniquement. */

/* ---------- avatar avec initiale de secours ---------- */
.bk-f-av{ position:relative }
.bk-f-av img{ position:absolute; inset:0 }

/* ---------- forum : catégories et sujets ---------- */
.bk-f-cats{ display:grid; grid-template-columns:repeat(auto-fill,minmax(340px,1fr)); gap:20px; align-items:start }
@media (max-width:600px){ .bk-f-cats{ grid-template-columns:1fr } }
.bk-f-cat__title{ display:flex; align-items:center; gap:10px; font-size:18px; margin:0 0 10px }
.bk-f-cat__title i{ width:28px; height:28px; border-radius:50%; display:inline-grid; place-items:center; background:var(--c,var(--bk-line)); color:#111; font-size:15px; font-style:normal }
.bk-f-ico{ width:36px; height:36px; border-radius:10px; display:inline-grid; place-items:center; background:var(--bk-accent-soft); color:var(--bk-accent-ink); font-size:16px }
.bk-topic.is-active{ background:var(--bk-accent-soft) }
.bk-topic p a{ color:var(--bk-ink-2) } .bk-topic p a:hover{ color:var(--bk-accent-ink) }
.bk-f-topic h4{ white-space:normal; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical }
.bk-f-topic__n{ display:grid; justify-items:end; gap:2px; font-size:12px; color:var(--bk-ink-3); font-variant-numeric:tabular-nums; white-space:nowrap }
.bk-f-topic__n b{ font-family:var(--bk-display); font-size:16px; color:var(--bk-ink); font-weight:600 }
.bk-f-last{ display:block; margin-top:2px; font-size:12px; color:var(--bk-ink-3); overflow:hidden; text-overflow:ellipsis; white-space:nowrap }
.bk-f-more{ display:flex; justify-content:center; margin:20px 0 0 }
.bk-f-side{ display:grid; gap:16px }
.bk-f-side .bk-list a{ color:var(--bk-ink-2) } .bk-f-side .bk-list a:hover,.bk-f-side .bk-list a.is-active{ color:var(--bk-accent-ink) }
.bk-f-side .bk-list a.is-active{ font-weight:600 }
.bk-f-side__cat{ font-size:12px; text-transform:uppercase; letter-spacing:.08em; color:var(--bk-ink-3); font-weight:600; margin:10px 0 4px }
.bk-f-side__cat:first-of-type{ margin-top:0 }

/* ---------- fil de discussion (forum/inc_post.html) ---------- */
.bk-f-threads{ display:grid; gap:20px }
.bk-f-thread{ background:var(--bk-surface); border:1px solid var(--bk-line); border-radius:var(--bk-r); padding:4px 18px 18px; min-width:0 }
.bk-f-thread__head{ display:flex; align-items:center; gap:10px; justify-content:space-between; padding:12px 0 4px; border-bottom:1px solid var(--bk-line) }
.bk-f-thread__head h3{ margin:0; font-size:17px; font-weight:600; line-height:1.3 }
.bk-f-thread__head h3 small{ font-family:var(--bk-body); font-weight:400; font-size:13px; color:var(--bk-ink-3) }
.bk-f-thread__head h3 small a{ color:var(--bk-ink-2) }
.bk-f-thread__head--bare{ border-bottom:0; padding-bottom:0; justify-content:flex-end }
.bk-f-follow{ border:1px solid var(--bk-line); background:var(--bk-surface); width:36px; height:36px; border-radius:50%; display:inline-grid; place-items:center; cursor:pointer; color:var(--bk-ink-3); flex:none }
.bk-f-follow:hover{ border-color:var(--bk-ink-3) }
.bk-f-thread .bk-post{ min-width:0 }
.bk-f-thread .bk-post>div{ min-width:0 }
.bk-post__head a{ color:var(--bk-ink) } .bk-post__head a:hover{ color:var(--bk-accent-ink) }
.bk-post__body{ overflow-wrap:anywhere; line-height:1.55 }
.bk-post__body img{ max-width:100%; height:auto; border-radius:var(--bk-r-sm) }
.bk-post__body p:last-child{ margin-bottom:0 }
.bk-post__body blockquote{ margin:8px 0; padding:8px 14px; border-left:3px solid var(--bk-accent); background:var(--bk-bg); border-radius:0 var(--bk-r-sm) var(--bk-r-sm) 0; font-size:14px; color:var(--bk-ink-2) }
.bk-post__body blockquote footer{ font-weight:600; color:var(--bk-ink); font-size:13px }
.bk-post__actions a{ color:var(--bk-ink-3); display:inline-flex; align-items:center; gap:4px; min-height:32px }
.bk-post__actions a:hover{ color:var(--bk-accent-ink) }
.bk-post__actions a.bk-f-danger:hover{ color:var(--bk-danger) }
.bk-f-reply{ margin-top:8px; display:grid; gap:10px; background:var(--bk-bg) }
.bk-f-reply label{ font-weight:600; font-size:14px; margin:0 }
.bk-f-reply textarea{ width:100%; min-height:96px; resize:vertical }
.bk-f-reply__actions{ display:flex; gap:10px; flex-wrap:wrap; justify-content:flex-end; align-items:center }
.bk-f-reply__actions .bk-note{ margin-right:auto }
.bk-f-reply--login{ display:flex; align-items:center; gap:12px; flex-wrap:wrap; justify-content:space-between }
.bk-f-reply--login p{ margin:0; color:var(--bk-ink-2) }

/* ---------- agenda ---------- */
.bk-f-filters{ display:grid; gap:12px; margin:12px 0 24px }
.bk-f-filters .bk-filters{ margin:0 }
.bk-f-month{ font-size:13px; text-transform:uppercase; letter-spacing:.1em; color:var(--bk-ink-3); font-weight:600; margin:28px 0 10px; font-family:var(--bk-body) }
.bk-f-month:first-child{ margin-top:0 }
.bk-f-evs{ display:grid; gap:10px }
.bk-f-ev{ grid-template-columns:58px minmax(0,1fr) auto; padding:12px 14px }
.bk-f-ev h3{ margin:0; font-size:16px; font-weight:600; line-height:1.3 }
.bk-f-ev h3 a{ color:var(--bk-ink) } .bk-f-ev h3 a:hover{ color:var(--bk-accent-ink) }
.bk-f-ev__meta{ display:flex; flex-wrap:wrap; gap:4px 12px; margin-top:4px; font-size:13px; color:var(--bk-ink-3) }
.bk-f-ev__meta a{ color:var(--bk-ink-2) } .bk-f-ev__meta a:hover{ color:var(--bk-accent-ink) }
.bk-f-ev__meta .fa{ margin-right:4px }
.bk-f-ev__ph{ width:84px; height:64px; border-radius:var(--bk-r-sm); overflow:hidden; background:linear-gradient(135deg,var(--bk-accent-soft),var(--bk-line)); display:block; position:relative }
.bk-f-ev__ph img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover }
.bk-f-ev.is-off{ opacity:.65 }
.bk-ev__d small{ font-size:10px; letter-spacing:.04em; margin-top:2px; font-weight:600 }
@media (max-width:600px){ .bk-f-ev{ grid-template-columns:52px minmax(0,1fr) } .bk-f-ev__ph{ display:none } }

/* ---------- fiches (agenda, article, livre) ---------- */
.bk-f-photo{ border-radius:var(--bk-r); overflow:hidden; background:linear-gradient(135deg,#5a6f84,var(--bk-anth)); margin:0 0 24px; min-height:120px }
.bk-f-photo img{ width:100%; height:auto; display:block; max-height:520px; object-fit:cover }
.bk-f-photo:not(:has(img)){ display:none }
.bk-f-tags{ display:flex; flex-wrap:wrap; gap:6px; margin:16px 0 0 }
.bk-f-tags .tag{ margin:0 }
.bk-f-block{ margin-top:40px }
.bk-f-block>.bk-sechead{ margin-bottom:14px }
.bk-f-block>.bk-sechead h2{ font-size:24px }
.bk-f-aside{ display:grid; gap:16px }
.bk-f-aside .bk-btn{ width:100% }
.bk-facts dd a{ color:var(--bk-ink) } .bk-facts dd a:hover{ color:var(--bk-accent-ink) }

/* ---------- article ---------- */
.bk-f-lead{ font-size:19px; line-height:1.55; color:var(--bk-ink-2); margin:0 0 24px; max-width:68ch }
.bk-f-lead p{ margin:0 0 8px }
#article-content{ max-width:none }
#article-content img{ max-width:100%; height:auto }
#article-content a{ text-decoration:underline; color:var(--bk-accent-ink) }
#article-content .row{ margin-inline:-8px }
#article-content iframe,#article-content video{ max-width:100% }
#article-content table{ max-width:100%; display:block; overflow-x:auto }
.bk-f-meta{ display:flex; flex-wrap:wrap; align-items:center; gap:10px 16px; padding:16px 0; margin-top:24px; border-top:1px solid var(--bk-line); border-bottom:1px solid var(--bk-line) }
.bk-f-share{ display:flex; gap:8px; margin-left:auto; align-items:center; font-size:13px; color:var(--bk-ink-3) }
.bk-f-share a,.bk-f-share button{ width:36px; height:36px; border-radius:50%; display:inline-grid; place-items:center; background:var(--bk-surface); border:1px solid var(--bk-line); color:var(--bk-ink-2); cursor:pointer; padding:0 }
.bk-f-share a:hover,.bk-f-share button:hover{ border-color:var(--bk-ink-3); color:var(--bk-ink) }
.bk-f-authorbox{ display:flex; gap:14px; align-items:center; margin-top:24px }
.bk-f-authorbox p{ margin:0; font-size:13px; color:var(--bk-ink-3) }
.bk-f-authorbox b a{ color:var(--bk-ink) }
.bk-f-iconbtn{ width:40px; height:40px; padding:0; border-radius:50%; display:inline-grid; place-items:center; border:1px solid var(--bk-line); background:var(--bk-surface); color:var(--bk-ink-3); cursor:pointer }
.bk-f-iconbtn:hover{ border-color:var(--bk-ink-3) }
.bk-f-cc{ margin-top:16px }

/* ---------- cartes du lot (articles, livres) ---------- */
.bk-f-card .bk-eyebrow{ margin:0 }
.bk-f-card .bk-eyebrow a{ color:inherit }
.bk-f-card .bk-card__foot{ flex-wrap:wrap }
.bk-f-card .bk-card__foot time{ margin-left:auto; color:var(--bk-ink-3) }
.bk-f-edit{ font-size:13px; color:var(--bk-ink-3); margin-left:6px }
.bk-f-cover{ aspect-ratio:3/4; --c1:#d9cdb8; --c2:#7a6448 }
.bk-f-cover img{ object-fit:contain; background:var(--bk-surface) }
.bk-f-feature{ display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) }
.bk-f-feature .bk-card__ph{ aspect-ratio:auto; min-height:240px }
.bk-f-feature .bk-card__body{ padding:22px; align-content:center }
.bk-f-feature h3{ font-size:22px }
@media (max-width:700px){ .bk-f-feature{ grid-template-columns:1fr } .bk-f-feature .bk-card__ph{ aspect-ratio:16/9; min-height:0 } }

/* ---------- équipe (Qui sommes-nous) ---------- */
.bk-f-member{ background:var(--bk-surface); border:1px solid var(--bk-line); border-radius:var(--bk-r); padding:18px; display:grid; gap:10px; align-content:start; justify-items:start; min-width:0 }
.bk-f-member h3{ margin:0; font-size:17px }
.bk-f-member h3 a{ color:var(--bk-ink) } .bk-f-member h3 a:hover{ color:var(--bk-accent-ink) }
.bk-f-member p{ margin:0; font-size:14px; color:var(--bk-ink-2); overflow-wrap:anywhere }
.bk-f-member .bk-link{ margin-top:auto; font-size:14px }

/* ---------- activité (news, what_is_new) ---------- */
.bk-f-act .bk-card__body{ gap:8px }
.bk-f-act__type{ display:inline-flex; align-items:center; gap:6px }
.bk-f-act__type .fa{ width:22px; height:22px; border-radius:50%; display:inline-grid; place-items:center; background:var(--c,var(--bk-line)); color:#111; font-size:12px }
.bk-f-act .bk-card__text img{ max-width:100%; height:auto }
.bk-f-actgroup{ margin-top:32px } .bk-f-actgroup:first-of-type{ margin-top:0 }

/* ---------- page d'erreur ---------- */
.bk-f-error{ max-width:560px; margin:40px auto 24px }
.bk-f-error .fa{ font-size:44px }
.bk-topic>div{ min-width:0 }
.bk-f-flush{ padding-top:0 }
.bk-f-push{ margin-left:auto }
@media (max-width:600px){ .bk-f-filters .bk-chips{ flex-wrap:nowrap; overflow-x:auto; padding-bottom:4px; scrollbar-width:thin } .bk-f-filters .bk-chip{ flex:none } }
.bk-label{ font-weight:600; font-size:14px }
.bk-form label.bk-field--inline{ font-weight:400; margin:0 }
.bk-f-thumb{ max-width:180px; border-radius:var(--bk-r-sm); display:block }
.bk-f-lead{ margin-top:16px }
.bk-box>.bk-f-threads>.bk-f-thread,.bk-box .bk-f-threads>.bk-f-thread{ border:0; padding:0; background:transparent }
.bk-f-cover img{ z-index:1 }
.bk-f-book .bk-card__body{ gap:6px }
.bk-f-book .bk-card__title{ font-size:16px }
.bk-f-photo--cover{ margin:0; background:var(--bk-surface); border:1px solid var(--bk-line) }
.bk-f-photo--cover img{ object-fit:contain; max-height:420px }
.bk-f-amazon{ display:flex; justify-content:center }
.bk-f-books{ grid-template-columns:repeat(auto-fill,minmax(170px,1fr)); gap:16px } @media (max-width:600px){ .bk-f-books{ grid-template-columns:repeat(2,1fr); gap:12px } }
.bk-f-act__type .fa{ color:#fff } .bk-f-act .fa-home-o:before{ content:"\f015" }
.bk-form__row{ align-items:start }
.bk-form input.bk-btn,.bk-form button.bk-btn{ border-radius:999px; width:auto }
.bk-form #author_name_container{ margin:0 0 4px 28px }
@media (max-width:600px){ .bk-f-lead{ font-size:17px } }
