/* ==========================================================================
   Blocs éditoriaux (UI Kit v5.11, brief 24)
   Styles de blocs ordinaires de l'éditeur (« is-style-bdg-… ») et compositions de la catégorie « Barreau du Gabon » :
   cartes, grille de cartes, tableau d'honneur, noms liés à l'annuaire, anciens Bâtonniers mis en avant, sommaire
   « Sur cette page ». Une page sans ces blocs s'affiche comme avant. Noir, blanc, or, angles droits ; l'or ne sert
   jamais au texte courant sur fond clair. Les sélecteurs valent pour la page (.bdg-prose) et pour l'aperçu de
   l'éditeur (.is-root-container).
   ========================================================================== */

/* Cartes : une carte par élément de liste (à puces ou numérotée), titre en gras au début de l'élément ;
   filet or en tête, sans numéro ni pastille */
:where(.bdg-prose, .is-root-container) :is(ul, ol).is-style-bdg-cartes { display: grid; gap: var(--bdg-space-4); margin-block: var(--bdg-space-8); padding: 0; list-style: none; }
@media (min-width: 768px) { :where(.bdg-prose, .is-root-container) :is(ul, ol).is-style-bdg-cartes { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--bdg-layout-gutter); } }
:where(.bdg-prose, .is-root-container) :is(ul, ol).is-style-bdg-cartes > li { margin: 0; padding: var(--bdg-space-6); background: var(--bdg-color-background-page);
  border: var(--bdg-border-width-hairline) solid var(--bdg-color-border-subtle); border-top: var(--bdg-border-width-accent) solid var(--bdg-color-border-accent); box-shadow: var(--bdg-shadow-card); }
:where(.bdg-prose, .is-root-container) :is(ul, ol).is-style-bdg-cartes > li::before { content: none; }
:where(.bdg-prose, .is-root-container) :is(ul, ol).is-style-bdg-cartes > li > strong:first-child { display: block; margin-bottom: var(--bdg-space-2); font-size: var(--bdg-font-size-h4); line-height: var(--bdg-font-line-height-h4); }
:where(.bdg-prose, .is-root-container) :is(ul, ol).is-style-bdg-cartes > li > a:last-child { display: inline-flex; align-items: center; gap: var(--bdg-space-2); margin-top: var(--bdg-space-4);
  font-size: var(--bdg-font-size-small); font-weight: var(--bdg-font-weight-bold); }

/* Grille de cartes : un groupe par carte, intertitre puis texte */
:where(.bdg-prose, .is-root-container) :is(.is-style-bdg-grille-cartes:not(:has(> .wp-block-group__inner-container)), .is-style-bdg-grille-cartes > .wp-block-group__inner-container) {
  display: grid; gap: var(--bdg-space-4); }
:where(.bdg-prose) .is-style-bdg-grille-cartes { margin-block: var(--bdg-space-8); }
@media (min-width: 768px) {
  :where(.bdg-prose, .is-root-container) :is(.is-style-bdg-grille-cartes:not(:has(> .wp-block-group__inner-container)), .is-style-bdg-grille-cartes > .wp-block-group__inner-container) {
    grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--bdg-layout-gutter); }
}
:where(.bdg-prose, .is-root-container) .is-style-bdg-grille-cartes .wp-block-group { margin: 0; padding: var(--bdg-space-6); background: var(--bdg-color-background-page);
  border: var(--bdg-border-width-hairline) solid var(--bdg-color-border-subtle); border-top: var(--bdg-border-width-accent) solid var(--bdg-color-border-accent); box-shadow: var(--bdg-shadow-card); }
:where(.bdg-prose, .is-root-container) .is-style-bdg-grille-cartes .wp-block-group :is(h2, h3) { margin: 0 0 var(--bdg-space-3);
  font-size: var(--bdg-font-size-h4); line-height: var(--bdg-font-line-height-h4); }
:where(.bdg-prose, .is-root-container) .is-style-bdg-grille-cartes .wp-block-group p { margin: 0; }
:where(.bdg-prose, .is-root-container) .is-style-bdg-grille-cartes .wp-block-group p + p { margin-top: var(--bdg-space-3); }

/* Tableau d'honneur : un panneau par paragraphe ; noms liés à l'annuaire */
:where(.bdg-prose, .is-root-container) .is-style-bdg-honneur:not(:has(> .wp-block-group__inner-container)),
:where(.bdg-prose, .is-root-container) .is-style-bdg-honneur > .wp-block-group__inner-container { display: grid; gap: var(--bdg-space-4); }
:where(.bdg-prose) .is-style-bdg-honneur { margin-block: var(--bdg-space-8); }
@media (min-width: 768px) {
  :where(.bdg-prose, .is-root-container) .is-style-bdg-honneur:not(:has(> .wp-block-group__inner-container)),
  :where(.bdg-prose, .is-root-container) .is-style-bdg-honneur > .wp-block-group__inner-container { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--bdg-layout-gutter); }
}
:where(.bdg-prose, .is-root-container) .is-style-bdg-honneur p { margin: 0; padding: var(--bdg-space-6); background: var(--bdg-color-background-alt);
  border-top: var(--bdg-border-width-accent) solid var(--bdg-color-border-accent); }

/* Noms liés à l'annuaire : liens du texte, en gras */
.bdg-prose a.bdg-recit-nom { font-weight: var(--bdg-font-weight-bold); }

/* Anciens Bâtonniers mis en avant */
.bdg-prose .bdg-marquants { margin-block: var(--bdg-space-8); }
.bdg-prose .bdg-marquants__liste { display: grid; gap: var(--bdg-space-4); margin: 0; padding: 0; list-style: none; }
@media (min-width: 768px) { .bdg-prose .bdg-marquants__liste { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--bdg-layout-gutter); } }
.bdg-prose .bdg-marquant { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: var(--bdg-space-4); align-items: center; margin: 0; padding: var(--bdg-space-4);
  background: var(--bdg-color-background-alt); border-top: var(--bdg-border-width-accent) solid var(--bdg-color-border-accent); }
@media (min-width: 768px) { .bdg-prose .bdg-marquant { grid-template-columns: 112px minmax(0, 1fr); gap: var(--bdg-space-5); padding: var(--bdg-space-5); } }
.bdg-marquant__portrait { position: relative; aspect-ratio: 4 / 5; overflow: hidden; background: var(--bdg-color-background-disabled); }
.bdg-marquant__portrait img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.bdg-marquant__portrait .bdg-portrait-placeholder { font-size: 32px; font-weight: var(--bdg-font-weight-bold); color: var(--bdg-color-text-primary); }
.bdg-prose .bdg-marquant__texte > p { margin: 0; }
.bdg-prose .bdg-marquant__nom { font-weight: var(--bdg-font-weight-bold); line-height: 1.3; }
.bdg-prose .bdg-marquant__mention { margin-top: var(--bdg-space-1); }
.bdg-prose .bdg-marquant__periode { margin-top: var(--bdg-space-1); font-size: var(--bdg-font-size-small); color: var(--bdg-color-text-secondary); }
.bdg-prose .bdg-marquants__lien { margin: var(--bdg-space-4) 0 0; }

/* Sommaire « Sur cette page » : dernier module de la colonne latérale, sur ordinateur seulement (sur mobile, le texte se
   lit d'un trait). Collant : il reste visible sous le menu compact pendant toute la lecture. La colonne latérale s'étire
   sur toute la hauteur du texte pour lui laisser la place de suivre. Section en cours : même marqueur que la page
   courante de « Dans cette rubrique » (script facultatif sommaire.js ; sans script, le sommaire reste collant). */
.bdg-sommaire { display: none; }
@media (min-width: 1024px) {
  .bdg-layout__aside:has(> .bdg-sommaire) { align-self: stretch; }
  .bdg-sommaire { display: block; position: sticky; top: calc(88px + var(--wp-admin--admin-bar--height, 0px)); max-height: calc(100vh - 88px - var(--wp-admin--admin-bar--height, 0px) - var(--bdg-space-6));
    overflow-y: auto; padding: var(--bdg-space-6) 0; background: var(--bdg-color-background-alt); }
  .bdg-sommaire .bdg-subnav__title { display: block; }
  .bdg-sommaire .bdg-subnav__list { padding: 0; }
  .bdg-sommaire .bdg-subnav__link { padding-inline: calc(var(--bdg-space-6) - var(--bdg-border-width-accent)) var(--bdg-space-6); }
  .bdg-sommaire .bdg-subnav__link[aria-current="location"] { font-weight: var(--bdg-font-weight-bold); border-left-color: var(--bdg-color-border-accent); }
}

/* Barre d'administration de WordPress (personne connectée) : l'en-tête compact descend de sa hauteur ; les ancres et le
   sommaire collant en tiennent compte. Sans barre (visiteurs), la variable vaut 0 et rien ne change. */
html { scroll-padding-top: calc(72px + var(--wp-admin--admin-bar--height, 0px)); }

/* Période insécable dans un intertitre ou le sommaire : « (2024-2026) » ne se coupe pas entre les deux années */
.bdg-insecable { white-space: nowrap; }
