/* Bascuñana · Gabarits : l'habillage « marbre et lave ».
   Les jetons de base (papier, encre, lave, registres, polices, nuit) viennent du socle ; ce fichier ajoute
   les tons des bandes, l'en-tête, la navigation, l'accueil en boussole, les registres et le pied. */

:root {
  --bistre: #1B1815; --bistre-2: #24201C; --bistre-filet: #3D362F;
  --clair: #E8E1D3; --clair-doux: #B3A894; --blanc-chaud: #FFF8EC;
  --lave-clair: #F07255; --lave-fonce: #86261A;
  --eprouver-c: #D9A6C8; --penser-c: #9DBFD0; --combattre-c: #F07255; --batir-c: #D2A961;
  --largeur: 1180px; --gouttiere: clamp(16px, 4vw, 40px);
}
html.insomnie { --bistre: #26211C; --bistre-2: #2E2924; --bistre-filet: #463E36; --lave-fonce: #F48A70; }
@media (prefers-color-scheme: dark) {
  html:not(.jour) { --bistre: #26211C; --bistre-2: #2E2924; --bistre-filet: #463E36; --lave-fonce: #F48A70; }
}

/* Les deux tons : chaque bande et chaque panneau puisent leurs couleurs ici. */
.clair, .bsc-entete, .bsc-pied, .bsc-recherche-boite {
  --b-fond: var(--papier); --b-carte: var(--marbre); --b-titre: var(--encre); --b-texte: var(--texte);
  --b-doux: var(--doux); --b-accent: var(--lave); --b-filet: var(--filet);
  --r-eprouver: var(--eprouver); --r-penser: var(--penser); --r-combattre: var(--combattre); --r-batir: var(--batir);
}
.sombre {
  --b-fond: var(--bistre); --b-carte: var(--bistre-2); --b-titre: var(--blanc-chaud); --b-texte: var(--clair);
  --b-doux: var(--clair-doux); --b-accent: var(--lave-clair); --b-filet: var(--bistre-filet);
  --r-eprouver: var(--eprouver-c); --r-penser: var(--penser-c); --r-combattre: var(--combattre-c); --r-batir: var(--batir-c);
}
.bsc-pied { --b-fond: var(--velin); }

/* Divi s'efface derrière l'habillage. */
body.bsc-habille #main-header, body.bsc-habille #top-header, body.bsc-habille #main-footer,
body.bsc-habille .et_pb_scroll_top { display: none !important; }
body.bsc-habille #page-container { padding-top: 0 !important; margin-top: 0 !important; }
body.bsc-page-inviter .main_title, body.bsc-page-inviter .et_post_meta_wrapper { display: none; }
body.bsc-page-inviter #main-content .container { width: 100%; max-width: none; padding-top: 0; }
body.bsc-page-inviter #main-content .container:before { display: none; }
body.bsc-page-inviter #left-area, body.bsc-page-inviter .et_full_width_page #left-area { width: 100%; padding: 0; }

/* Remises à zéro dans nos composants (y compris dans la colonne de contenu de Divi). */
#left-area .bsc ul, #left-area .bsc ol, #left-area .bsc li, .entry-content .bsc ul, .entry-content .bsc li { padding: 0; margin: 0; list-style: none; line-height: inherit; }
.entry-content .bsc p { padding-bottom: 0; }
.bsc, .bsc-entete, .bsc-pied, .bsc-recherche { font-family: var(--lecture); -webkit-font-smoothing: antialiased; }
.bsc p, .bsc h1, .bsc h2, .bsc h3, .bsc ul, .bsc ol, .bsc li, .bsc figure, .bsc blockquote,
.bsc-entete p, .bsc-entete ul, .bsc-entete li, .bsc-pied p, .bsc-recherche p, .bsc-recherche ol, .bsc-recherche li {
  margin: 0; padding: 0; list-style: none; line-height: inherit;
}
.bsc [hidden], .bsc-entete [hidden], .bsc-recherche[hidden], .bsc-tiroir[hidden] { display: none !important; }
.bsc a, .bsc-entete a, .bsc-pied a, .bsc-recherche a { text-decoration: none; }
#bsc-q::-webkit-search-cancel-button { -webkit-appearance: none; appearance: none; }
.bsc a:focus-visible, .bsc button:focus-visible, .bsc-entete a:focus-visible, .bsc-entete button:focus-visible,
.bsc-pied a:focus-visible, .bsc-pied button:focus-visible, .bsc-recherche :focus-visible { outline: 3px solid var(--b-accent, var(--lave)); outline-offset: 3px; }
.bsc-largeur { max-width: var(--largeur); margin: 0 auto; padding: 0 var(--gouttiere); box-sizing: content-box; }
.bsc-evitement { position: absolute; left: -9999px; top: 8px; z-index: 2000; background: var(--encre); color: var(--papier); padding: 10px 16px; font-family: var(--mono); }
.bsc-evitement:focus { left: 16px; }

/* Typographie commune. */
.bsc-oeil { font-family: var(--mono); font-size: 12.5px; letter-spacing: .14em; text-transform: uppercase; color: var(--b-doux); line-height: 1.4; }
.bsc-oeil.accent { color: var(--b-accent); }
.bsc-oeil.r { color: var(--r, var(--b-accent)); }
.bsc .bsc-h1 { font-family: var(--titre); font-weight: 600; font-size: clamp(44px, 5.4vw, 82px); line-height: 1.02; letter-spacing: -.005em; color: var(--b-titre); padding: 0; }
.bsc .bsc-h2 { font-family: var(--titre); font-weight: 600; font-size: clamp(34px, 4.2vw, 56px); line-height: 1.04; color: var(--b-titre); padding: 0; }
.bsc .bsc-chapo { font-size: 17.5px; line-height: 1.6; color: var(--b-texte); max-width: 60ch; }
.bsc .bsc-note { font-family: var(--mono); font-size: 12px; letter-spacing: .03em; color: var(--b-doux); line-height: 1.6; }
.bsc-mono { font-family: var(--mono); font-size: 12px; letter-spacing: .06em; }

.bsc-boutons { display: flex; flex-wrap: wrap; gap: 12px; }
.bsc-bouton { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 18px; border-radius: 2px; cursor: pointer;
  font-family: var(--mono); font-size: 12.5px; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; line-height: 1; border: 1px solid transparent; background: none; }
.bsc-bouton.encre { background: var(--b-titre); color: var(--b-fond); }
.bsc-bouton.trait { border-color: var(--b-titre); color: var(--b-titre); }
.bsc-bouton.plein { background: var(--b-titre); color: var(--b-fond); }
.bsc-bouton.lave { background: var(--lave); color: var(--marbre); }
.bsc-bouton:hover { filter: brightness(1.08); }
.bsc-bouton.trait:hover { background: var(--b-titre); color: var(--b-fond); }
.bsc-lien-souligne { font-family: var(--mono); font-size: 12.5px; letter-spacing: .08em; text-transform: uppercase; color: var(--b-accent); border-bottom: 1px solid var(--b-accent); padding-bottom: 2px; }
.bsc-tete-bande { display: flex; flex-wrap: wrap; gap: 20px 32px; align-items: flex-end; justify-content: space-between; margin-bottom: 40px; }
.bsc-tete-bande > div { display: flex; flex-direction: column; gap: 14px; max-width: 760px; }

/* ------------------------------------------------------------------ */
/* L'en-tête                                                            */
/* ------------------------------------------------------------------ */
.bsc-entete { background: var(--b-fond); border-bottom: 1px solid var(--b-filet); position: relative; z-index: 90; }
.bsc-entete-ligne { box-sizing: content-box; max-width: var(--largeur); margin: 0 auto; padding: 16px var(--gouttiere); display: flex; align-items: center; gap: clamp(16px, 2.4vw, 32px); }
.bsc-marque { display: flex; flex-direction: column; gap: 5px; color: var(--b-titre); flex: none; }
.bsc-signature { font-family: var(--titre); font-weight: 600; line-height: 1; letter-spacing: .005em; color: var(--b-titre); white-space: nowrap; }
.bsc-n { position: relative; display: inline-block; }
.bsc-n svg { position: absolute; left: 50%; top: .18em; width: .58em; height: .2em; transform: translateX(-50%); overflow: visible; color: var(--lave); }
.bsc-devise { font-family: var(--mono); font-size: 10px; letter-spacing: .16em; text-transform: uppercase; color: var(--b-doux); white-space: nowrap; }

.bsc-nav { flex: 1 1 auto; }
.bsc-nav > ul { display: flex; flex-wrap: wrap; align-items: center; gap: clamp(10px, 1.7vw, 26px); }
.bsc-nav-item { display: flex; align-items: center; gap: 1px; }
.bsc-nav-lien { font-family: var(--titre); font-size: 23px; font-weight: 600; line-height: 1.2; color: var(--b-titre); padding: 4px 0 2px; border-bottom: 2px solid transparent; transition: border-color .15s; }
.bsc-nav-lien:hover, .bsc-nav-item.ouvert .bsc-nav-lien, .bsc-nav-lien[aria-current] { border-bottom-color: var(--r, var(--b-accent)); color: var(--b-titre); }
.bsc-qui .bsc-nav-lien { font-style: italic; font-weight: 500; color: var(--b-doux); }
.bsc-deplier { width: 26px; height: 32px; display: inline-flex; align-items: center; justify-content: center; border: 0; background: none; color: var(--b-doux); cursor: pointer; border-radius: 2px; padding: 0; }
.bsc-deplier svg { transition: transform .2s; }
.bsc-nav-item.ouvert .bsc-deplier svg { transform: rotate(180deg); }
.bsc-deplier:hover { color: var(--b-titre); }

.bsc-outils { display: flex; align-items: center; gap: 8px; margin-left: auto; flex: none; }
.bsc-rond { width: 44px; height: 44px; border: 1px solid var(--b-filet); background: transparent; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; color: var(--b-titre); cursor: pointer; padding: 0; }
.bsc-rond:hover { border-color: var(--b-titre); }
.bsc-soleil { display: none; }
[data-bsc-nuit][aria-pressed="true"] .bsc-lune { display: none; }
[data-bsc-nuit][aria-pressed="true"] .bsc-soleil { display: block; }
.bsc-inviter { margin-left: 6px; display: inline-flex; align-items: center; gap: 10px; min-height: 44px; padding: 0 18px 0 20px; border: 0; cursor: pointer;
  background: var(--lave); color: var(--marbre); font-family: var(--mono); font-size: 13px; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; border-radius: 2px; }
.bsc-inviter:hover { background: var(--lave-fonce); color: var(--marbre); }
.bsc-burger { display: none; }

/* Les panneaux dépliants. */
.bsc-panneau { position: absolute; left: 50%; top: calc(100% - 1px); transform: translateX(-50%); width: min(var(--largeur), calc(100vw - 32px)); box-sizing: border-box;
  background: var(--b-fond); border: 1px solid var(--b-filet); box-shadow: 0 24px 60px rgba(20, 16, 12, .28); padding: 28px; display: flex; flex-direction: column; gap: 22px; z-index: 95; }
.bsc-panneau-tete { display: flex; flex-wrap: wrap; gap: 8px 24px; justify-content: space-between; align-items: baseline; }
.bsc-panneau-devise { font-family: var(--titre); font-style: italic; font-size: 26px; color: var(--b-titre); }
.bsc-panneau-axe { font-family: var(--mono); font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: var(--b-doux); }
.bsc-panneau-cartes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.bsc-pcarte { display: flex; flex-direction: column; gap: 12px; min-height: 230px; padding: 24px; border: 1px solid var(--b-filet); background: var(--b-carte); color: var(--b-texte); transition: transform .15s; }
.bsc-pcarte:hover { transform: translateY(-2px); }
.bsc-pcarte .bsc-oeil { color: var(--r, var(--b-accent)); }
.bsc-pcarte-titre { font-family: var(--titre); font-size: 31px; font-weight: 600; line-height: 1.02; color: var(--b-titre); }
.bsc-pcarte-texte { font-size: 15px; line-height: 1.55; }
.bsc-pcarte-pied { margin-top: auto; font-family: var(--mono); font-size: 12.5px; color: var(--b-titre); }
.bsc-pcarte.sombre { background: var(--bistre); border-color: var(--bistre); color: var(--clair); }
.bsc-pcarte.sombre .bsc-oeil { color: var(--r-c, var(--penser-c)); }
.bsc-pcarte.sombre .bsc-pcarte-titre, .bsc-pcarte.sombre .bsc-pcarte-pied { color: var(--blanc-chaud); }
.bsc-pcarte.lave { background: var(--lave); border-color: var(--lave); color: var(--marbre); }
.bsc-pcarte.lave .bsc-oeil, .bsc-pcarte.lave .bsc-pcarte-titre, .bsc-pcarte.lave .bsc-pcarte-pied { color: #FFF8EC; }
.bsc-nav-item[data-registre="eprouver"] { --r-c: var(--eprouver-c); }
.bsc-nav-item[data-registre="penser"] { --r-c: var(--penser-c); }
.bsc-nav-item[data-registre="combattre"] { --r-c: var(--combattre-c); }
.bsc-nav-item[data-registre="batir"] { --r-c: var(--batir-c); }
.bsc-panneau-pied { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 28px; border-top: 1px solid var(--b-filet); padding-top: 16px; font-family: var(--mono); font-size: 12.5px; color: var(--b-doux); }
.bsc-panneau-pied a { color: var(--b-accent); }
.bsc-panneau-pied .bsc-tout { margin-left: auto; color: var(--b-titre); }

/* L'arbre « M'inviter ». */
.bsc-arbre { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; position: relative; padding-top: 18px; }
.bsc-arbre::before { content: ""; position: absolute; top: 0; left: 16.66%; right: 16.66%; height: 18px; border: 1px solid var(--b-filet); border-bottom: 0; }
.bsc-branche { border-top: 3px solid var(--r); padding-top: 16px; display: flex; flex-direction: column; gap: 10px; }
.bsc-branche .bsc-oeil { color: var(--r); }
.bsc-branche-titre { font-family: var(--titre); font-size: 27px; font-weight: 600; line-height: 1.05; color: var(--b-titre); }
.bsc-branche-texte { font-size: 15px; line-height: 1.55; color: var(--b-texte); }
.bsc-branche ul { margin-top: 6px; }
.bsc-branche li a { display: flex; justify-content: space-between; gap: 12px; padding: 11px 0; border-top: 1px solid var(--b-filet); color: var(--b-titre); font-size: 16px; }
.bsc-branche li a:hover { color: var(--b-accent); }

/* Le tiroir du téléphone. */
.bsc-tiroir { border-top: 1px solid var(--b-filet); padding: 8px var(--gouttiere) 24px; display: flex; flex-direction: column; gap: 16px; background: var(--b-fond); }
.bsc-tiroir > ul > li { border-bottom: 1px solid var(--b-filet); padding: 12px 0; }
.bsc-tiroir-registre { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; font-family: var(--titre); font-size: 30px; font-weight: 600; color: var(--b-titre); border-left: 3px solid var(--r, transparent); padding-left: 12px; }
.bsc-tiroir-registre span { font-family: var(--titre); font-style: italic; font-weight: 500; font-size: 17px; color: var(--b-doux); }
.bsc-tiroir-registre.bsc-qui { font-style: italic; color: var(--b-doux); }
.bsc-tiroir-sous { display: flex; flex-wrap: wrap; gap: 6px 18px; padding: 8px 0 0 15px; }
.bsc-tiroir-sous a { font-family: var(--mono); font-size: 12.5px; color: var(--b-accent); }
.bsc-tiroir .bsc-bouton { align-self: flex-start; }

/* La recherche. */
.bsc-recherche { position: fixed; inset: 0; z-index: 1000; background: rgba(20, 16, 12, .55); display: flex; justify-content: center; align-items: flex-start; padding: 9vh 16px 16px; }
.bsc-recherche-boite { width: min(780px, 100%); max-height: 82vh; overflow: auto; box-sizing: border-box; background: var(--b-fond); border: 1px solid var(--b-filet); box-shadow: 0 30px 80px rgba(0, 0, 0, .35); padding: 24px 28px 28px; }
.bsc-recherche-tete { display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; }
.bsc-fermer { border: 1px solid var(--b-filet); background: none; color: var(--b-doux); font-family: var(--mono); font-size: 11px; letter-spacing: .1em; padding: 6px 10px; border-radius: 2px; cursor: pointer; }
#bsc-q { width: 100%; box-sizing: border-box; font-family: var(--titre); font-size: clamp(26px, 3.4vw, 34px); color: var(--b-titre); background: transparent; border: 0; border-bottom: 2px solid var(--b-titre); padding: 8px 0; outline: none; border-radius: 0; }
.bsc-recherche-etat { font-family: var(--mono); font-size: 12px; color: var(--b-doux); margin: 14px 0 6px !important; }
.bsc-resultats a { display: flex; flex-direction: column; gap: 6px; padding: 16px 0; border-top: 1px solid var(--b-filet); color: var(--b-texte); }
.bsc-resultats a:hover .bsc-res-titre, .bsc-resultats a:focus .bsc-res-titre { color: var(--b-accent); }
.bsc-res-oeil { font-family: var(--mono); font-size: 11.5px; letter-spacing: .1em; text-transform: uppercase; color: var(--b-doux); display: flex; align-items: center; gap: 8px; }
.bsc-res-oeil i { width: 8px; height: 8px; border-radius: 50%; background: var(--r, var(--b-filet)); display: inline-block; }
.bsc-res-titre { font-family: var(--titre); font-size: 24px; font-weight: 600; line-height: 1.1; color: var(--b-titre); }
.bsc-res-extrait { font-size: 15px; line-height: 1.55; }
.bsc-resultats mark { background: rgba(168, 50, 30, .16); color: inherit; padding: 0 1px; }

/* ------------------------------------------------------------------ */
/* Les bandes                                                           */
/* ------------------------------------------------------------------ */
.bsc-bandes { display: flex; flex-direction: column; }
.bsc-bande { padding: clamp(64px, 8vw, 104px) 0; background: var(--b-fond); color: var(--b-texte); }

/* La boussole. */
.bsc-boussole { background: var(--b-fond); color: var(--b-texte); }
.bsc-boussole-grille { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: clamp(32px, 5vw, 72px); align-items: center; padding-top: clamp(48px, 6vw, 88px); padding-bottom: clamp(48px, 6vw, 80px); }
.bsc-boussole-intro { display: flex; flex-direction: column; gap: 26px; }
.bsc-presentation { display: flex; gap: 22px; align-items: flex-start; border-top: 1px solid var(--b-filet); padding-top: 24px; }
.bsc-presentation p { font-size: 18.5px; line-height: 1.6; color: var(--b-texte); }
.bsc-cadre { flex: 0 0 132px; background: var(--b-carte); border: 1px solid var(--b-filet); padding: 7px 7px 5px; display: flex; flex-direction: column; gap: 6px; }
.bsc-cadre img { display: block; width: 100%; height: auto; }
.bsc-cadre figcaption { font-family: var(--mono); font-size: 10px; letter-spacing: .05em; color: var(--b-doux); }
.bsc-cadre.grand { flex-basis: 300px; padding: 10px 10px 8px; }
.bsc-boussole-roue { display: flex; flex-direction: column; align-items: center; gap: 14px; text-align: center; }
.bsc-boussole-svg { width: 100%; max-width: 600px; height: auto; display: block; overflow: visible; }
.bsc-anneau { fill: none; stroke: var(--b-filet); stroke-width: 1; }
.bsc-anneau.pointille { stroke-dasharray: 2 6; }
.bsc-graduation { stroke: var(--b-filet); stroke-width: 1; }
.bsc-cap-lien { cursor: pointer; }
.bsc-zone { fill: rgba(0, 0, 0, 0); }
.bsc-cap-lien polygon { transition: opacity .25s, filter .2s; }
.bsc-cap-lien text { transition: opacity .25s, fill .2s; }
.bsc-cap-lien:hover polygon, .bsc-cap-lien:focus-visible polygon { opacity: 1 !important; filter: saturate(1.25) brightness(1.06); }
.bsc-cap-lien:focus { outline: none; }
.bsc-cap-lien:focus-visible polygon { stroke: var(--b-accent); stroke-width: 2.5; }
.bsc-boussole.a-cap .bsc-cap-lien:not(.actif) polygon { opacity: .22; }
.bsc-boussole.a-cap .bsc-cap-lien:not(.actif) text { opacity: .55; }
.bsc-boussole-cardinal { font-family: var(--mono); font-size: 13px; letter-spacing: 2.6px; fill: var(--b-titre); }
.bsc-boussole-passerelle { font-family: var(--titre); font-style: italic; font-size: 16px; fill: var(--b-doux); }
.bsc-cap-lien:hover text, .bsc-cap-lien.actif text { fill: var(--b-accent); opacity: 1; }
.bsc-centre circle { fill: var(--b-fond); stroke: var(--b-titre); stroke-width: 1.5; transition: fill .2s; }
.bsc-centre text { font-family: var(--titre); font-size: 19px; font-weight: 600; fill: var(--b-titre); }
.bsc-centre:hover circle { fill: var(--b-titre); }
.bsc-centre:hover text { fill: var(--b-fond); }
.bsc-boussole-legende { font-family: var(--titre); font-style: italic; font-size: 19px; color: var(--b-texte); }
.bsc-profils { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 8px; }
.bsc-profils .bsc-oeil { margin-right: 4px; }
.bsc-puce { display: inline-flex; align-items: center; gap: 6px; min-height: 36px; padding: 0 14px; border: 1px solid var(--b-filet); border-radius: 999px; font-family: var(--mono); font-size: 12px; letter-spacing: .03em; color: var(--b-titre); background: transparent; cursor: pointer; transition: background .15s, color .15s; }
.bsc-puce span { color: var(--b-doux); }
.bsc-puce:hover, .bsc-puce.actif { background: var(--b-titre); border-color: var(--b-titre); color: var(--b-fond); }
.bsc-puce.actif span, .bsc-puce:hover span { color: var(--b-fond); }

/* Le bandeau du cap. */
.bsc-cap-bandeau { background: var(--b-carte); border-top: 4px solid var(--r); border-bottom: 1px solid var(--b-filet); padding: 20px 0; }
.bsc-cap-bandeau .bsc-largeur { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 22px; }
.bsc-cap-titre { font-family: var(--titre); font-size: 28px; font-weight: 600; color: var(--r); }
.bsc-cap-phrase { font-size: 16px; color: var(--b-texte); flex: 1 1 280px; }
.bsc-cap-registre, .bsc-cap-reset { font-family: var(--mono); font-size: 12.5px; letter-spacing: .06em; }
.bsc-cap-registre { color: var(--r); }
.bsc-cap-reset { color: var(--b-doux); }
.bsc-cap-bandeau .bsc-oeil { flex-basis: 100%; }

/* L'éclat. */
.bsc-eclat { display: flex; flex-direction: column; gap: 30px; }
.bsc .bsc-eclat-texte { max-width: 22ch; font-family: var(--titre); font-style: italic; font-weight: 500; font-size: clamp(36px, 5vw, 74px); line-height: 1.06; letter-spacing: -.01em; color: var(--b-titre); border: 0; }
.bsc-guillemet { color: var(--b-accent); }
.bsc-eclat-pied { display: flex; flex-wrap: wrap; gap: 16px 32px; align-items: center; justify-content: space-between; border-top: 1px solid var(--b-filet); padding-top: 22px; }

/* La rose des registres. */
.bsc-rose { display: grid; grid-template-columns: minmax(0, .75fr) minmax(0, 1.6fr); gap: clamp(32px, 5vw, 80px); align-items: center; }
.bsc-rose-texte { display: flex; flex-direction: column; gap: 20px; }
.bsc-grille-filets { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: 1px; background: var(--b-filet); border: 1px solid var(--b-filet); }
.bsc-grille-filets.cinq { grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); }
.bsc-grille-filets > * { background: var(--b-fond); }
.bsc-porte { display: flex; flex-direction: column; gap: 11px; min-height: 230px; padding: 28px 26px; color: var(--b-texte); transition: background .15s; }
.bsc-porte:hover { background: var(--b-carte); }
.bsc-porte .bsc-oeil { color: var(--r); }
.bsc-porte-titre { font-family: var(--titre); font-size: 42px; font-weight: 600; line-height: 1; color: var(--b-titre); }
.bsc-porte:hover .bsc-porte-titre { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 5px; }
.bsc-porte-devise { font-style: italic; font-size: 18px; color: var(--b-texte); }
.bsc-porte-texte { font-size: 15px; line-height: 1.55; color: var(--b-doux); }
.bsc-porte-pied { margin-top: auto; font-family: var(--mono); font-size: 12px; color: var(--b-doux); }

/* Les cartes du fil. */
.bsc-grille-cartes { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); gap: 48px 40px; }
.bsc-carte { display: flex; flex-direction: column; gap: 13px; border-top: 1px solid var(--b-titre); padding-top: 18px; color: var(--b-texte); }
.bsc-carte-haut { display: flex; align-items: center; gap: 10px; font-family: var(--mono); font-size: 11.5px; letter-spacing: .1em; color: var(--b-doux); }
.bsc-rose-mini { flex: none; }
.bsc-carte-titre { font-family: var(--titre); font-size: 30px; font-weight: 600; line-height: 1.08; color: var(--b-titre); }
.bsc-carte:hover .bsc-carte-titre { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.bsc-carte-texte { font-size: 16px; line-height: 1.6; }
.bsc-carte-bas { font-family: var(--mono); font-size: 11.5px; color: var(--b-doux); }

/* La manchette Politoscope. */
.bsc-manchette { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: 1px; background: var(--b-filet); border: 1px solid var(--b-filet); }
.bsc-manchette li { background: var(--b-fond); padding: 18px 18px 20px; display: flex; flex-direction: column; gap: 8px; }
.bsc-manchette .bsc-oeil { font-size: 11px; }
.bsc-manchette a { font-family: var(--titre); font-size: 23px; font-weight: 600; line-height: 1.12; color: var(--b-titre); }
.bsc-manchette a:hover { color: var(--b-accent); }

/* Les lexiques. */
.bsc-lexiques { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: 28px; }
.bsc-lexique { --lc: var(--b-titre); border-top: 3px solid var(--lc); }
.bsc-lexique.penser { --lc: var(--r-penser); }
.bsc-lexique.lave { --lc: var(--b-accent); }
.bsc-lexique-tete { display: flex; justify-content: space-between; gap: 12px; padding: 14px 0 10px; font-family: var(--mono); font-size: 12px; letter-spacing: .12em; color: var(--lc); }
.bsc-lexique-tete a { color: var(--lc); }
.bsc-lexique li a { display: block; padding: 14px 0; border-top: 1px solid var(--b-filet); font-family: var(--titre); font-size: 24px; font-weight: 600; line-height: 1.15; color: var(--b-titre); }
.bsc-lexique.lave li a { font-style: italic; font-weight: 500; font-size: 22px; }
.bsc-lexique li a:hover { color: var(--lc); }

/* Les portes du temps. */
.bsc-temps { display: flex; flex-direction: column; gap: 10px; height: 100%; box-sizing: border-box; padding: 26px 22px; color: var(--b-texte); }
.bsc-temps:hover { background: var(--b-carte); }
.bsc-temps-titre { font-family: var(--titre); font-size: 28px; font-weight: 600; line-height: 1.05; color: var(--b-titre); }
.bsc-temps-texte { font-size: 15px; line-height: 1.55; color: var(--b-doux); }
.bsc-temps-pied { margin-top: auto; font-family: var(--mono); font-size: 12px; color: var(--b-accent); }

/* Le formateur. */
.bsc-formateur { display: flex; flex-wrap: wrap; gap: clamp(32px, 5vw, 64px); align-items: flex-start; }
.bsc-formateur .bsc-cadre { flex: 0 1 300px; }
.bsc-formateur-texte { flex: 999 1 460px; min-width: 0; display: flex; flex-direction: column; gap: 18px; }
.bsc-cours li { display: flex; justify-content: space-between; gap: 16px; padding: 12px 0; border-top: 1px solid var(--b-filet); font-size: 17px; color: var(--b-titre); }
.bsc-cours li:last-child { border-bottom: 1px solid var(--b-filet); }
.bsc-cours .bsc-oeil { white-space: nowrap; letter-spacing: .06em; }

/* L'établi. */
.bsc-livre { display: flex; flex-direction: column; gap: 10px; padding: 26px 24px; min-height: 220px; }
.bsc-livre .bsc-oeil { color: var(--r); font-size: 11.5px; }
.bsc-livre-titre { font-family: var(--titre); font-size: 30px; font-weight: 600; line-height: 1.05; color: var(--b-titre); }
.bsc-livre-texte { font-size: 15px; line-height: 1.55; color: var(--b-doux); }
.bsc-livre-pied { margin-top: auto; font-family: var(--mono); font-size: 12px; color: var(--b-doux); }

/* La lettre et le hors champ. */
.bsc-lettre { display: flex; flex-wrap: wrap; gap: 32px 48px; align-items: center; justify-content: space-between; }
.bsc-lettre > div { flex: 1 1 380px; display: flex; flex-direction: column; gap: 14px; }
.bsc-lettre-form { flex: 1 1 380px; display: flex; flex-wrap: wrap; gap: 12px; align-items: flex-end; }
.bsc-lettre-form .bsc-note { flex-basis: 100%; }
.bsc-champ { flex: 1 1 240px; display: flex; flex-direction: column; gap: 8px; }
.bsc-champ input, .bsc-champ select, .bsc-champ textarea { min-height: 48px; box-sizing: border-box; width: 100%; padding: 10px 14px; border: 1px solid var(--b-filet); background: var(--b-carte); color: var(--b-titre); font-family: var(--lecture); font-size: 16px; border-radius: 2px; }
.bsc-champ textarea { min-height: 140px; resize: vertical; }
.bsc-champ input:focus, .bsc-champ select:focus, .bsc-champ textarea:focus { outline: 2px solid var(--b-accent); outline-offset: 1px; }
.bsc-pot { position: absolute !important; left: -9999px !important; }
.bsc-merci { font-family: var(--titre); font-style: italic; font-size: 24px; color: var(--b-titre); flex: 1 1 380px; }
.bsc-hors-champ { display: flex; flex-wrap: wrap; gap: 10px 32px; align-items: baseline; border-top: 1px solid var(--b-filet); padding-top: 20px; margin-top: 48px; }
.bsc-hors-champ a, .bsc-hors-champ > span:not(.bsc-oeil) { font-family: var(--titre); font-style: italic; font-size: 21px; color: var(--b-titre); }
.bsc-hors-champ > span:not(.bsc-oeil) { color: var(--b-doux); }

/* ------------------------------------------------------------------ */
/* Le pied                                                              */
/* ------------------------------------------------------------------ */
.bsc-pied { background: var(--b-fond); color: var(--b-texte); padding: 64px 0 40px; border-top: 1px solid var(--b-filet); }
.bsc-pied-grille { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 210px), 1fr)); gap: 40px; }
.bsc-pied-col { display: flex; flex-direction: column; gap: 10px; }
.bsc-pied-col p { font-size: 15px; line-height: 1.6; }
.bsc-pied-col a { color: var(--b-texte); font-size: 15px; }
.bsc-pied-col a:hover { color: var(--b-accent); }
.bsc-pied-col .bsc-mono { color: var(--b-accent); }
.bsc-etiquettes { display: flex; flex-wrap: wrap; gap: 8px; }
.bsc-etiquettes a, .bsc-etiquettes button { font-family: var(--mono); font-size: 12px; color: var(--b-titre); border: 1px solid var(--b-filet); background: none; padding: 6px 10px; border-radius: 2px; cursor: pointer; }
.bsc-etiquettes a:hover, .bsc-etiquettes button:hover { border-color: var(--b-titre); }
.bsc-pied-canaux { display: flex; flex-wrap: wrap; gap: 12px 24px; border-top: 1px solid var(--b-filet); padding-top: 24px; margin-top: 48px; font-family: var(--mono); font-size: 12px; }
.bsc-pied-canaux a { color: var(--b-doux); }
.bsc-pied-canaux a:hover { color: var(--b-accent); }
.bsc-pied-devise { margin-left: auto; color: var(--b-doux); }

/* ------------------------------------------------------------------ */
/* Les registres, les axes, le fil                                      */
/* ------------------------------------------------------------------ */
.bsc-archive-tete { background: var(--b-fond); padding: clamp(56px, 7vw, 96px) 0 clamp(40px, 5vw, 64px); border-bottom: 1px solid var(--b-filet); }
.bsc-archive-tete.registre { border-top: 6px solid var(--r); }
.bsc-archive-tete .bsc-largeur { display: flex; flex-direction: column; gap: 18px; }
.bsc-archive-tete .bsc-h1 { color: var(--b-titre); }
.bsc-archive-tete.registre .bsc-h1 { font-size: clamp(56px, 8vw, 120px); }
.bsc-archive-devise { font-family: var(--titre); font-style: italic; font-size: clamp(24px, 2.6vw, 34px); color: var(--r, var(--b-texte)); }
.bsc-archive-tete .bsc-profils { justify-content: flex-start; margin-top: 8px; }
.bsc-pagination ul { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 56px !important; }
.bsc-pagination a, .bsc-pagination span { display: inline-flex; min-width: 44px; min-height: 44px; align-items: center; justify-content: center; padding: 0 12px; border: 1px solid var(--b-filet); font-family: var(--mono); font-size: 12.5px; color: var(--b-titre); }
.bsc-pagination .current { background: var(--b-titre); color: var(--b-fond); }

/* La page « M'inviter ». */
.bsc-inviter-page { box-sizing: content-box; max-width: var(--largeur); margin: 0 auto; padding: clamp(48px, 6vw, 88px) var(--gouttiere) clamp(56px, 7vw, 96px); display: flex; flex-direction: column; gap: 24px; }
.bsc-inviter-page .bsc-arbre { margin-top: 24px; }
.bsc-formulaire { margin-top: 48px; border-top: 1px solid var(--b-filet); padding-top: 40px; display: flex; flex-direction: column; gap: 24px; }
.bsc-formulaire form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 24px; position: relative; }
.bsc-formulaire .large { grid-column: 1 / -1; }
.bsc-formulaire .bsc-bouton { justify-self: start; }

/* La règle des commentaires. */
.bsc-regle { font-family: var(--titre); font-style: italic; font-size: 22px; color: var(--encre); border-left: 3px solid var(--lave); padding-left: 14px; margin: 40px 0 8px; }
body.bsc-habille #comments, body.bsc-habille #reply-title { text-transform: none; font-family: var(--titre); font-size: 28px; color: var(--encre); }
body.bsc-habille #commentform input[type=submit], body.bsc-habille .comment-reply-link { text-transform: uppercase; font-family: var(--mono); font-size: 12.5px; letter-spacing: .08em; background: var(--lave); color: var(--marbre); border: 0; border-radius: 2px; padding: 12px 18px; }
body.bsc-habille #commentform textarea, body.bsc-habille #commentform input[type=text], body.bsc-habille #commentform input[type=email] { background: var(--marbre); border: 1px solid var(--filet); color: var(--encre); font-family: var(--lecture); }

/* ------------------------------------------------------------------ */
/* Écrans moyens et téléphones                                          */
/* ------------------------------------------------------------------ */
@media (max-width: 1120px) {
  .bsc-nav-lien { font-size: 20px; }
  .bsc-devise { display: none; }
}
@media (max-width: 980px) {
  .bsc-nav, .bsc-inviter-boite { display: none; }
  .bsc-burger { display: inline-flex; }
  .bsc-boussole-grille { grid-template-columns: 1fr; }
  .bsc-rose { grid-template-columns: 1fr; }
  .bsc-panneau-cartes, .bsc-arbre { grid-template-columns: 1fr; }
  .bsc-arbre::before { display: none; }
}
@media (max-width: 640px) {
  .bsc-presentation { flex-direction: column; }
  .bsc-cadre { flex-basis: auto; width: 140px; }
  .bsc-formulaire form { grid-template-columns: 1fr; }
  .bsc-pied-devise { margin-left: 0; }
  .bsc-boussole-passerelle { font-size: 18px; }
  .bsc-boussole-cardinal { font-size: 15px; }
  .bsc-entete-ligne { gap: 10px; }
  .bsc-signature { font-size: 30px !important; }
  .bsc-carte-titre { font-size: 27px; }
}
@media (prefers-reduced-motion: reduce) {
  .bsc *, .bsc-entete * { transition: none !important; }
}

/* ------------------------------------------------------------------ */
/* Les onglets d'un article                                             */
/* ------------------------------------------------------------------ */
.bsc-onglets { --o-accent: var(--registre, var(--lave)); margin: 0 0 2.4rem; }
.bsc-onglets-barre { display: flex; flex-wrap: wrap; gap: 4px 26px; border-bottom: 1px solid var(--filet); margin: 0 0 2rem; position: sticky; top: 0; z-index: 5; background: var(--papier); padding-top: 10px; }
body.admin-bar .bsc-onglets-barre { top: 32px; }
.bsc-onglets-barre a { display: inline-flex; align-items: baseline; gap: 8px; padding: 10px 0 11px; margin-bottom: -1px; border-bottom: 2px solid transparent; font-family: var(--mono); font-size: 12.5px; letter-spacing: .08em; text-transform: uppercase; color: var(--doux); text-decoration: none; }
.bsc-onglets-barre a span { font-size: 11px; letter-spacing: .04em; text-transform: none; color: var(--doux); opacity: .8; }
.bsc-onglets-barre a:hover { color: var(--encre); }
.bsc-onglets-barre a[aria-selected="true"] { color: var(--encre); border-bottom-color: var(--o-accent); }
.bsc-onglets:not(.actif) .bsc-onglet-panneau + .bsc-onglet-panneau { border-top: 1px solid var(--filet); margin-top: 2.4rem; padding-top: 1.6rem; }
.bsc-onglet-panneau[hidden] { display: none; }
.bsc-onglet-panneau .bsc-onglet-titre { font-size: 1.9rem; margin: 0 0 1.2rem; }
.bsc-onglets.actif .bsc-onglet-panneau .bsc-onglet-titre { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.bsc-onglet-suite { margin: 2.6rem 0 0; padding: 1.4rem 1.4rem 1.2rem; background: var(--marbre); border: 1px solid var(--filet); border-left: 3px solid var(--o-accent); display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px 22px; }
.bsc-onglet-suite-oeil { flex-basis: 100%; margin: 0 !important; font-family: var(--mono); font-size: 11.5px; letter-spacing: .12em; text-transform: uppercase; color: var(--doux); }
.bsc-onglet-suite a { font-family: var(--titre); font-size: 1.55rem; font-weight: 600; color: var(--encre); text-decoration: none; }
.bsc-onglet-suite a span { font-family: var(--mono); font-size: .75rem; font-weight: 400; color: var(--doux); }
.bsc-onglet-suite a.discret { font-family: var(--mono); font-size: 12px; font-weight: 400; color: var(--o-accent); }
.bsc-onglet-suite a:hover { color: var(--o-accent); }
#sources-et-references ul, #sources-et-references ol { padding-left: 1.1em; }
#sources-et-references li { margin-bottom: .6em; font-size: .97rem; }
.bsc-eclat-tete a { color: inherit; border-bottom: 1px solid currentColor; padding-bottom: 1px; }
.bsc-eclat-tete a:hover { color: var(--b-titre); }
.wpml-ls-statics-footer { display: none !important; }

/* Une page écrite comme un article (« Qui parle ? ») : même colonne, même typographie que les articles. */
body.bsc-page-texte #sidebar { display: none; }
body.bsc-page-texte #main-content .container:before { display: none; }
body.bsc-page-texte #left-area { float: none; width: 100%; max-width: var(--mesure); margin: 0 auto; padding: 0 0 4rem; }
body.bsc-page-texte .main_title, body.bsc-page-texte h1.entry-title {
  font-size: clamp(2.2rem, 1.4rem + 3vw, 3.4rem); margin: 3.5rem 0 1.4rem; padding: 0;
  border-bottom: 2px solid var(--registre); padding-bottom: 0.9rem;
}
body.bsc-page-texte .entry-content { font-size: 1.07rem; }
body.bsc-page-texte .entry-content p { margin: 0 0 1.15em; padding: 0; text-align: left; hyphens: auto; -webkit-hyphens: auto; }
body.bsc-page-texte .entry-content h2 { font-size: 1.9rem; margin: 2.4rem 0 0.9rem; padding: 0; }
body.bsc-page-texte .entry-content h3 { font-size: 1.45rem; margin: 2rem 0 0.7rem; padding: 0; }
body.bsc-page-texte .entry-content p.chapo { font-size: 1.22rem; line-height: 1.55; color: var(--encre); }
body.bsc-page-texte .entry-content blockquote { border-left: 3px solid var(--registre); margin: 1.8rem 0; padding: 0.2rem 0 0.2rem 1.3rem; font-style: italic; color: var(--encre); background: none; }
body.bsc-page-texte .entry-content p.sentence { font-family: var(--titre); font-size: 1.6rem; line-height: 1.25; color: var(--registre); margin: 2.2rem 0 2.6rem; }
body.bsc-page-texte .entry-content .provenance { font-family: var(--mono); font-size: 0.78rem; line-height: 1.6; color: var(--doux); border-top: 1px solid var(--filet); padding-top: 1rem; margin-top: 3rem; }
body.bsc-page-texte .entry-content .provenance a { color: var(--doux); }
body.bsc-page-texte .entry-content ul { padding-left: 1.2rem; }
body.bsc-page-texte .entry-content li { margin-bottom: 0.45em; }
@media (max-width: 980px) {
  body.bsc-page-texte #left-area { padding: 0 16px 3rem; }
}
@media (max-width: 640px) {
  /* Sur téléphone, la barre d'onglets défile d'un geste plutôt que de s'empiler. */
  .bsc-onglets-barre { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; gap: 0 20px; }
  .bsc-onglets-barre::-webkit-scrollbar { display: none; }
  .bsc-onglets-barre a { flex: 0 0 auto; white-space: nowrap; }
  /* Une gouttière de 16 px pour lire, comme partout ailleurs sur le site. */
  body.single-post #main-content .container, body.bsc-page-texte #main-content .container { width: auto; max-width: none; padding-left: 16px; padding-right: 16px; }
  body.single-post #left-area, body.bsc-page-texte #left-area { padding-left: 0; padding-right: 0; }
  /* Le titre et sa ligne de date s'alignent sur le texte, sans seconde marge. */
  body.single-post .et_post_meta_wrapper, body.bsc-page-texte .et_post_meta_wrapper { padding-left: 0; padding-right: 0; }
}

.bsc-onglet-panneau { scroll-margin-top: 84px; }

/* La recherche : le formulaire du dialogue, le lien vers la page complète, la page de résultats. */
.bsc-recherche-form { margin: 0; padding: 0; }
.bsc-recherche-tout { margin: 0 !important; padding: 14px 0 4px !important; border-top: 1px solid var(--b-filet); font-family: var(--mono); font-size: 12px; letter-spacing: .06em; text-transform: uppercase; }
.bsc-recherche-tout a { color: var(--b-accent); text-decoration: none; }
.bsc-recherche-tout a:hover { text-decoration: underline; }
.bsc-cherche-page { display: flex; gap: 12px; align-items: flex-end; max-width: 640px; margin: 18px 0 22px; }
.bsc-cherche-page input[type=search] { flex: 1; min-width: 0; box-sizing: border-box; font-family: var(--titre); font-size: clamp(22px, 2.6vw, 28px); color: var(--b-titre); background: transparent; border: 0; border-bottom: 2px solid var(--b-titre); padding: 6px 0; outline: none; border-radius: 0; -webkit-appearance: none; appearance: none; }
.bsc-cherche-page input[type=search]::-webkit-search-cancel-button { -webkit-appearance: none; appearance: none; }
.bsc-cherche-page button { font-family: var(--mono); font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: #fff; background: var(--b-accent); border: 0; border-radius: 2px; padding: 11px 16px; cursor: pointer; }
.bsc-cherche-page button:hover { filter: brightness(1.08); }

.bsc-res-ailleurs .bsc-res-titre { font-size: .92em; }
.bsc-ailleurs { margin: 34px 0 0; padding-top: 18px; border-top: 1px solid var(--b-filet); }
.bsc-ailleurs ul { list-style: none; margin: 10px 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 4px 28px; }
.bsc-ailleurs li { margin: 0; padding: 0; }
.bsc-ailleurs a { display: flex; flex-direction: column; gap: 3px; padding: 10px 0; border-bottom: 1px solid var(--b-filet); color: var(--b-texte); text-decoration: none; }
.bsc-ailleurs a:hover .bsc-ailleurs-titre { color: var(--b-accent); }
.bsc-ailleurs .bsc-oeil { font-size: 10.5px; margin: 0; }
.bsc-ailleurs-titre { font-family: var(--titre); font-size: 19px; line-height: 1.25; color: var(--b-titre); }
.bsc-erreur { color: var(--b-accent); font-size: 19px; margin: 0 0 14px; }

/* Plumes invitées : la marque de l'auteur en tête d'article. */
.bsc-plume-tete { margin: 0 0 2rem; padding: 0.9rem 1.1rem; border-left: 3px solid var(--registre, var(--lave)); background: color-mix(in srgb, var(--registre, #a33) 6%, transparent); }
.bsc-plume-tete .bsc-oeil { font-family: var(--mono); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--registre, var(--lave)); margin: 0 0 .3rem !important; }
.bsc-plume-qui { font-family: var(--titre); font-size: 1.35rem; line-height: 1.3; margin: 0 0 .35rem !important; color: var(--encre); }
.bsc-plume-qui a { color: inherit; text-decoration: none; }
.bsc-plume-qui span { font-size: .8em; color: var(--doux); }
.bsc-plume-note { font-family: var(--mono); font-size: 12px; line-height: 1.55; color: var(--doux); margin: 0 !important; }
.bsc-plume-note a { color: var(--doux); }

/* Plumes invitées : le bandeau du panneau « Bâtir », le bloc de bas de registre, le tiroir. */
.bsc-pbande { display: grid; grid-template-columns: auto minmax(0, 1fr) auto auto; align-items: center; gap: 18px 24px; margin: 16px 0 0; padding: 16px 24px; border: 1px solid var(--b-filet); border-left: 3px solid var(--r-batir, var(--b-accent)); background: var(--b-carte); color: var(--b-texte); text-decoration: none; transition: transform .15s, border-color .15s; }
.bsc-pbande:hover { transform: translateY(-2px); border-color: var(--r-batir, var(--b-accent)); }
.bsc-pbande .bsc-plume-svg { color: var(--r-batir, var(--b-accent)); }
.bsc-pbande-corps { display: flex; flex-direction: column; gap: 4px; }
.bsc-pbande .bsc-oeil { color: var(--r-batir, var(--b-accent)); margin: 0; }
.bsc-pbande-titre { font-family: var(--titre); font-size: 24px; font-weight: 600; line-height: 1.1; color: var(--b-titre); }
.bsc-pbande-noms { font-family: var(--titre); font-style: italic; font-size: 16px; color: var(--b-doux); }
.bsc-pbande-fleche { font-family: var(--mono); font-size: 12.5px; color: var(--b-titre); white-space: nowrap; }

.bsc-plumes-bloc { border-top: 1px solid var(--b-filet); }
.bsc-plumes-grille { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: clamp(32px, 6vw, 88px); align-items: start; }
.bsc-plumes-appel { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; }
.bsc-plumes-appel .bsc-plume-svg { color: var(--r, var(--b-accent)); }
.bsc-plumes-appel .bsc-oeil.r { color: var(--r, var(--b-accent)); margin: 0; }
.bsc-plumes-appel .bsc-h2 { margin: 0; }
.bsc-plumes-appel .bsc-chapo { margin: 0 0 6px; }
.bsc-plumes-liste { list-style: none; margin: 0; padding: 0; counter-reset: plume; border-top: 1px solid var(--b-filet); }
.bsc-plumes-liste li { margin: 0; padding: 0; counter-increment: plume; }
.bsc-plumes-liste a { display: grid; grid-template-columns: 44px minmax(0, 1fr); grid-template-rows: auto auto; column-gap: 12px; row-gap: 6px; padding: 20px 0; border-bottom: 1px solid var(--b-filet); color: var(--b-texte); text-decoration: none; }
.bsc-plumes-liste a::before { content: counter(plume, decimal-leading-zero); grid-row: 1 / span 2; font-family: var(--mono); font-size: 12px; color: var(--r, var(--b-accent)); padding-top: 3px; }
.bsc-plumes-liste .bsc-oeil { margin: 0; font-size: 11px; }
.bsc-plumes-titre { font-family: var(--titre); font-size: 25px; font-weight: 600; line-height: 1.15; color: var(--b-titre); transition: color .15s; }
.bsc-plumes-liste a:hover .bsc-plumes-titre { color: var(--r, var(--b-accent)); }

.bsc-tiroir-plumes { flex-direction: column; align-items: flex-start; gap: 2px; font-size: 21px; border-left-width: 2px; border-left-style: dashed; }
.bsc-tiroir-plumes span { font-size: 15px; }

@media (max-width: 980px) {
  .bsc-pbande { grid-template-columns: auto minmax(0, 1fr); }
  .bsc-pbande-noms { grid-column: 2; }
  .bsc-pbande-fleche { grid-column: 2; }
  .bsc-plumes-grille { grid-template-columns: 1fr; }
}

/* La page 404 : la boussole au centre, en grand. */
.bsc-introuvable-tete .bsc-largeur { display: flex; flex-direction: column; align-items: center; text-align: center; padding-top: clamp(48px, 6vw, 88px); padding-bottom: clamp(56px, 7vw, 96px); }
.bsc-introuvable-tete .bsc-oeil { margin: 0 0 14px; }
.bsc-introuvable-tete .bsc-h1 { margin: 0; }
.bsc-introuvable-question { font-family: var(--titre); font-style: italic; font-size: clamp(22px, 2.6vw, 30px); line-height: 1.3; color: var(--b-doux); margin: 14px 0 0 !important; }
.bsc-introuvable-roue { width: min(760px, 100%); margin: clamp(18px, 3vw, 36px) auto 6px; }
.bsc-introuvable-roue .bsc-boussole-svg { max-width: none; width: 100%; }
.bsc-introuvable-cherche { width: min(560px, 100%); margin: 26px auto 18px; text-align: left; }
.bsc-introuvable-liens { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 26px; font-family: var(--mono); font-size: 12.5px; letter-spacing: .04em; margin: 0 !important; }
.bsc-introuvable-liens a { color: var(--b-accent); }
@media (max-width: 640px) {
  .bsc-introuvable-roue { padding: 0 22px; box-sizing: border-box; }
}

/* Le lexique : la page, l'alphabet, les entrées ; et la tête d'une entrée. */
.bsc-alphabet { display: flex; flex-wrap: wrap; gap: 4px; margin: 18px 0 10px; font-family: var(--mono); font-size: 13px; }
.bsc-alphabet a, .bsc-alphabet span { display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; border: 1px solid var(--b-filet); border-radius: 2px; }
.bsc-alphabet a { color: var(--b-titre); text-decoration: none; border-color: var(--r, var(--b-accent)); }
.bsc-alphabet a:hover { background: var(--r, var(--b-accent)); color: var(--b-fond); }
.bsc-alphabet span { color: var(--b-filet); }
.bsc-lexique-corps { padding-top: clamp(32px, 4vw, 56px); }
.bsc-lettre { display: grid; grid-template-columns: 90px minmax(0, 1fr); gap: 24px; border-top: 1px solid var(--b-filet); padding: 22px 0; scroll-margin-top: 90px; }
.bsc-lettre-l { font-family: var(--titre); font-size: 64px; line-height: .9; color: var(--r-penser, var(--b-accent)); margin: 0 !important; }
.bsc-lettre ol { list-style: none; margin: 0; padding: 0; }
.bsc-lettre li { margin: 0 0 18px; padding: 0; }
.bsc-lettre li a { display: flex; flex-direction: column; gap: 6px; color: var(--b-texte); text-decoration: none; max-width: 760px; }
.bsc-entree-mot { font-family: var(--titre); font-size: clamp(30px, 3.4vw, 42px); font-weight: 600; line-height: 1.05; color: var(--b-titre); transition: color .15s; }
.bsc-lettre li a:hover .bsc-entree-mot { color: var(--r-penser, var(--b-accent)); }
.bsc-entree-def { font-size: 17px; line-height: 1.55; }
.bsc-entree-pied { font-family: var(--mono); font-size: 12px; color: var(--b-doux); }
.bsc-lexique-tete { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 18px; margin: 0 0 1.6rem; padding-bottom: .8rem; border-bottom: 1px solid var(--filet); font-family: var(--mono); font-size: 12px; color: var(--doux); }
.bsc-lexique-tete .bsc-oeil { color: var(--registre, var(--lave)); text-decoration: none; letter-spacing: .12em; margin: 0; }
.bsc-lexique-tete a:not(.bsc-oeil) { color: var(--doux); }
@media (max-width: 640px) {
  .bsc-lettre { grid-template-columns: 1fr; gap: 6px; }
  .bsc-lettre-l { font-size: 44px; }
}
/* Quatre onglets ou plus : la durée sous le titre, la barre tient sur une ligne. */
.bsc-onglets-barre.dense { gap: 4px 22px; }
.bsc-onglets-barre.dense a { flex-direction: column; align-items: flex-start; gap: 3px; padding: 8px 0 10px; }
.bsc-onglets-barre.dense a span { font-size: 10.5px; }
