/* Le socle du site public : les valeurs du dessin, la remise à zéro, et les blocs que toutes les
 * pages partagent — la marque, les boutons, le bloc de contact, le pied.
 *
 * Chargée par `base.html.twig`, donc présente sur chaque page. Ce qui vit ici est ce qui est
 * IDENTIQUE d'une page à l'autre ; tout ce qui varie — la typographie, le rythme des sections,
 * la couleur des liens — reste dans la feuille de la page, qui le porte sous son propre préfixe.
 */

:root {
  --bnm-ink: #141a2e;
  --bnm-ink-soft: #3b4256;
  --bnm-muted: #6b7280;
  --bnm-paper: #faf9f7;
  --bnm-paper-2: #f2f0ec;
  --bnm-line: #e6e3dd;
  --bnm-indigo: #4338ca;
  --bnm-indigo-2: #5b5bd6;
  --bnm-indigo-ink: #1e1b4b;
  --bnm-amber: #e07a3f;
  --bnm-amber-soft: #fbeee4;
  --bnm-amber-ink: #8a4a1f;
  --bnm-bench: #141225;
  --bnm-white: #ffffff;
  --bnm-shadow: 0 1px 2px rgba(20, 26, 46, .04), 0 8px 30px rgba(20, 26, 46, .06);
  --bnm-radius: 16px;
  --bnm-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --bnm-serif: Georgia, "Times New Roman", serif;
  --bnm-display: 'Jost', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

* { box-sizing: border-box; margin: 0; padding: 0 }
html { scroll-behavior: smooth }
img { max-width: 100%; height: auto; display: block }

/* ── La marque ────────────────────────────────────────────────────────────────────────────── */
.bnm-pub-brand { display: flex; align-items: center; gap: 11px; font-weight: 600; font-size: 1.06rem;
  letter-spacing: -.01em; font-family: var(--bnm-display) }
.bnm-pub-brand .bnm-pub-mark { width: 34px; height: 34px; display: block; flex: 0 0 auto }
.bnm-pub-brand small { display: block; font-size: .68rem; font-weight: 600; letter-spacing: .04em;
  color: var(--bnm-muted); text-transform: uppercase }

/* ── Les boutons ──────────────────────────────────────────────────────────────────────────── */
.bnm-pub-btn-primary { background: var(--bnm-indigo); color: #fff; box-shadow: 0 6px 18px rgba(67, 56, 202, .28) }
.bnm-pub-btn-primary:hover { transform: translateY(-1px); box-shadow: 0 10px 26px rgba(67, 56, 202, .34) }
.bnm-pub-btn-ghost { background: transparent; color: var(--bnm-ink); border-color: var(--bnm-line) }
.bnm-pub-btn-ghost:hover { background: var(--bnm-white); border-color: #d4d0c8 }

.bnm-pub-mailbtn { display: inline-flex; align-items: center; gap: 11px; font-family: var(--bnm-display);
  font-weight: 650; font-size: 1.02rem; color: #fff; background: var(--bnm-ink); padding: 14px 24px;
  border-radius: 100px; text-decoration: none; box-shadow: 0 8px 22px rgba(20, 26, 46, .25);
  transition: transform .12s ease, background .2s ease }
.bnm-pub-mailbtn:hover { transform: translateY(-2px); background: var(--bnm-indigo) }
.bnm-pub-mailbtn:focus-visible { outline: 3px solid var(--bnm-indigo-2); outline-offset: 3px }

.bnm-pub-cta-row { display: flex; flex-wrap: wrap; gap: 14px; align-items: center }

/* ── Le bandeau de confiance du hero ──────────────────────────────────────────────────────── */
.bnm-pub-hero-inner { position: relative; max-width: 52rem }
.bnm-pub-trust { margin-top: 26px; font-size: .92rem; color: var(--bnm-muted); display: flex;
  flex-wrap: wrap; gap: 8px 18px; align-items: center }
.bnm-pub-trust b { color: var(--bnm-ink); font-weight: 650 }
.bnm-pub-dot { width: 5px; height: 5px; border-radius: 50%; background: var(--bnm-amber); display: inline-block }

/* ── Le fond de papier millimétré ─────────────────────────────────────────────────────────── */
.bnm-pub-paper { background-color: var(--bnm-paper);
  background-image: linear-gradient(rgba(67, 56, 202, .05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(67, 56, 202, .05) 1px, transparent 1px);
  background-size: 28px 28px }

.bnm-pub-lbl--indigo { color: var(--bnm-indigo); background: #eeecfb }

/* ── Le bloc de contact ───────────────────────────────────────────────────────────────────── */
/* La rupture qui repasse la carte sur une colonne n'est PAS la même d'une page à l'autre : elle
   reste donc dans la feuille de chaque page. */
.bnm-pub-contact { background: var(--bnm-white); border-top: 1px solid var(--bnm-line) }
.bnm-pub-contact-card { background: linear-gradient(135deg, var(--bnm-indigo), #3f2fb0); color: #fff;
  border-radius: 24px; padding: 52px; display: grid; grid-template-columns: 1.2fr 1fr; gap: 40px;
  align-items: center; box-shadow: 0 20px 50px rgba(67, 56, 202, .28) }
.bnm-pub-contact-card h2 { color: #fff }
.bnm-pub-contact-card p { color: #dcd9f5; margin-bottom: 8px }
/* La ligne qui situe — le lieu et la façon de prendre rendez-vous — se lit sous l'invitation,
   plus petite et en retrait. */
.bnm-pub-contact-where { opacity: .85; font-size: .95rem }
.bnm-pub-contact-actions { display: grid; gap: 12px }
.bnm-pub-contact-actions a { display: flex; align-items: center; gap: 12px; background: rgba(255, 255, 255, .12);
  border: 1px solid rgba(255, 255, 255, .18); padding: 15px 18px; border-radius: 12px; font-weight: 600;
  transition: background .15s ease }
.bnm-pub-contact-actions a:hover { background: rgba(255, 255, 255, .2) }
.bnm-pub-contact-actions .bnm-pub-ico { width: 22px; height: 22px; flex: 0 0 auto; opacity: .9 }
.bnm-pub-contact-actions small { display: block; font-weight: 400; font-size: .8rem; color: #cbc7ee }

/* ── Le pied ──────────────────────────────────────────────────────────────────────────────── */
/* `footer` lui-même diverge d'une page à l'autre ; seule la rangée du pied est commune. */
.bnm-pub-foot { display: flex; flex-wrap: wrap; gap: 12px; justify-content: space-between; align-items: center }
.bnm-pub-foot .bnm-pub-brand { font-size: .98rem }
.bnm-pub-foot .bnm-pub-brand small { color: var(--bnm-muted) }
/* Le sigle est plus petit au pied qu'en tête de page. Le sélecteur cite ses deux ancêtres pour
   égaler la spécificité de `.bnm-pub-brand .bnm-pub-mark`, qui pose les 34px et le précède. */
.bnm-pub-foot .bnm-pub-brand .bnm-pub-mark { width: 28px; height: 28px }
