/* ==========================================================================
   OHMAZIN — Fiche business, option A « Dossier »
   S'appuie sur les variables :root existantes du site
   (--yellow, --deep-blue, --navy, --blue, --text-on-blue, --text-soft,
    --muted-on-navy, --hot, --hot-on-dark, --display, --body, --line).
   Préfixe : .fb-  (aucun conflit avec les styles actuels)
   Intégration au site (12/10/2026) : couleurs en variables :root (aucune
   couleur en dur), feuille servie à part sous /fiche-business-<empreinte>.css
   et liée uniquement sur /business/* (build.mjs).
   ========================================================================== */

.fb { background: var(--deep-blue); color: var(--text-on-blue); font-family: var(--body); }
.fb-wrap { max-width: 1360px; margin: 0 auto; padding-inline: 40px; box-sizing: border-box; }
@media (max-width: 720px) { .fb-wrap { padding-inline: 16px; } }

/* Kicker « — FICHE BUSINESS · MUSIQUE » */
.fb-kicker { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; font-size: 13px; font-weight: 800; letter-spacing: .12em; color: var(--yellow); text-transform: uppercase; }
.fb-kicker::before { content: ""; width: 28px; height: 3px; background: currentColor; }
.fb-badge-new { background: var(--hot); color: var(--white); font-size: 11px; padding: 5px 10px; border-radius: 999px; }

/* Fil d'Ariane */
.fb-crumbs { display: flex; flex-wrap: wrap; gap: 8px; font-size: 13px; color: var(--text-soft); margin-bottom: 32px; }
.fb-crumbs a { color: var(--text-soft); text-decoration: none; }
.fb-crumbs [aria-current] { color: var(--white); }

/* ---------- Hero ---------- */
.fb-hero { padding-block: 48px 40px; display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 56px; align-items: center; }
@media (max-width: 960px) { .fb-hero { grid-template-columns: 1fr; gap: 32px; } }
.fb-hero__text { display: flex; flex-direction: column; gap: 22px; }
.fb-title { margin: 0; display: flex; flex-direction: column; gap: 6px; font-family: var(--display); text-transform: uppercase; }
.fb-title__name { font-weight: 900; font-size: clamp(64px, 10vw, 148px); line-height: .85; color: var(--yellow); letter-spacing: -.015em; }
.fb-title__sub { font-weight: 700; font-size: clamp(26px, 3vw, 42px); line-height: 1; color: var(--white); }
.fb-lead { margin: 0; max-width: 600px; font-size: 19px; line-height: 1.6; }
.fb-meta { display: flex; flex-wrap: wrap; gap: 20px; font-size: 14px; color: var(--text-soft); }
.fb-meta > span { display: inline-flex; align-items: center; gap: 8px; }
.fb-meta svg { color: var(--yellow); }
.fb-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; padding-top: 6px; }
.fb-icon-btn { width: 52px; height: 52px; border-radius: 50%; border: 1px solid var(--white-a35); background: transparent; color: var(--white); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; }
.fb-icon-btn:hover { border-color: var(--yellow); color: var(--yellow); }

.fb-photo { margin: 0; display: flex; flex-direction: column; gap: 10px; }
.fb-photo img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 24px; border: 1px solid var(--line); display: block; }
.fb-photo figcaption { font-size: 12px; line-height: 1.5; color: var(--text-soft); }

/* ---------- Carte d'identité ---------- */
.fb-id { margin-bottom: 56px; background: var(--navy); border: 1px solid var(--white-a12); border-radius: 24px; padding: 28px 32px; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); gap: 24px; }
.fb-id dt { font-size: 11px; font-weight: 800; letter-spacing: .14em; color: var(--muted-on-navy); text-transform: uppercase; margin-bottom: 6px; }
.fb-id dd { margin: 0; font-size: 17px; font-weight: 700; color: var(--white); }
.fb-id dd small { font-size: inherit; font-weight: 500; color: var(--text-soft); }
.fb-pill-alert { display: inline-block; font-size: 13px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--white); background: var(--hot); padding: 6px 12px; border-radius: 999px; }

/* ---------- Corps : sommaire + contenu ---------- */
.fb-body { display: flex; flex-wrap: wrap; gap: 64px; align-items: flex-start; padding-bottom: 80px; }
.fb-aside { flex: 1 1 240px; max-width: 280px; position: sticky; top: 112px; display: flex; flex-direction: column; gap: 20px; }
@media (max-width: 960px) { .fb-aside { position: static; max-width: none; } }
.fb-toc__label { font-size: 12px; font-weight: 800; letter-spacing: .14em; color: var(--muted-on-navy); margin-bottom: 10px; }
.fb-toc a { display: flex; align-items: center; gap: 12px; min-height: 40px; color: var(--text-soft); font-size: 15px; text-decoration: none; }
.fb-toc a::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--white-a25); flex: none; }
.fb-toc a[aria-current="true"] { color: var(--yellow); font-weight: 700; }
.fb-toc a[aria-current="true"]::before { background: var(--yellow); }
.fb-trust { background: var(--blue); border-radius: 18px; padding: 20px; display: flex; flex-direction: column; gap: 10px; font-size: 13px; line-height: 1.55; }
.fb-trust strong { display: flex; align-items: center; gap: 10px; font-size: 15px; color: var(--white); }
.fb-trust a { font-weight: 700; color: var(--yellow); }

.fb-main { flex: 999 1 560px; min-width: 0; max-width: 820px; display: flex; flex-direction: column; gap: 64px; }
.fb-section { display: flex; flex-direction: column; gap: 22px; scroll-margin-top: 112px; }
.fb-h2 { margin: 0; display: flex; align-items: baseline; gap: 14px; font-family: var(--display); font-weight: 900; font-size: clamp(32px, 4vw, 44px); line-height: 1; text-transform: uppercase; color: var(--white); }
.fb-h2__num { font-size: 20px; color: var(--yellow); }
.fb-main p { margin: 0; font-size: 17px; line-height: 1.75; }
.fb-ref { font-weight: 700; color: var(--yellow); text-decoration: none; }

/* Chiffres clés */
.fb-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: 16px; }
.fb-stat { background: var(--blue); border: 1px solid var(--line); border-radius: 20px; padding: 24px; display: flex; flex-direction: column; gap: 8px; }
.fb-stat__label { font-size: 14px; font-weight: 600; color: var(--text-soft); }
.fb-stat__value { font-family: var(--display); font-weight: 900; font-size: 52px; line-height: .95; text-transform: uppercase; color: var(--yellow); }
.fb-stat__date { font-size: 13px; }

/* Encadré « Fortune » */
.fb-callout { background: var(--navy); border: 2px solid var(--yellow); border-radius: 20px; padding: 26px 28px; display: flex; gap: 18px; align-items: flex-start; }
.fb-callout__icon { flex: none; width: 40px; height: 40px; border-radius: 50%; background: var(--yellow); color: var(--deep-blue); display: inline-flex; align-items: center; justify-content: center; }
.fb-callout h3 { margin: 0 0 8px; font-family: var(--display); font-weight: 900; font-size: 28px; text-transform: uppercase; color: var(--yellow); }
.fb-callout p { font-size: 16px; line-height: 1.65; }

/* Deals — frise (≤ 4 entrées) */
.fb-timeline { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 16px; }
.fb-timeline li { display: flex; flex-wrap: wrap; gap: 20px; }
.fb-timeline__year { flex: 0 0 110px; font-family: var(--display); font-weight: 900; font-size: 56px; line-height: 1; color: var(--yellow); }
.fb-timeline__card { flex: 1 1 320px; background: var(--blue); border-radius: 20px; padding: 22px 24px; display: flex; flex-direction: column; gap: 8px; }
.fb-timeline__card strong { font-size: 17px; color: var(--white); }
.fb-timeline__card p { font-size: 15px; line-height: 1.6; }
.fb-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.fb-tag { font-size: 12px; font-weight: 700; padding: 5px 10px; border-radius: 999px; background: var(--navy-a60); color: var(--text-soft); text-decoration: none; }
a.fb-tag { color: var(--yellow); }
.fb-tag--warn { background: transparent; border: 1px solid var(--hot-on-dark); color: var(--hot-on-dark); }

/* Deals — liste compacte (≥ 5 entrées) */
.fb-deals { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.fb-deals li { display: flex; flex-wrap: wrap; gap: 6px 20px; padding: 16px 0; border-bottom: 1px solid var(--line); align-items: baseline; }
.fb-deals__year { flex: 0 0 72px; font-family: var(--display); font-weight: 900; font-size: 30px; color: var(--yellow); }
.fb-deals__who { flex: 0 0 190px; font-weight: 800; color: var(--white); }
.fb-deals__what { flex: 1 1 300px; font-size: 15px; line-height: 1.55; }

/* Entités (sociétés, clubs…) */
.fb-entities { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: 12px; }
.fb-entity { border: 1px solid var(--white-a20); border-radius: 18px; padding: 20px; display: flex; flex-direction: column; gap: 10px; }
.fb-entity__name { font-family: var(--display); font-weight: 900; font-size: 28px; text-transform: uppercase; color: var(--white); }

/* Chiffre isolé (ex. décision de justice) */
.fb-figure { background: var(--blue); border-radius: 24px; padding: 30px; display: flex; flex-wrap: wrap; gap: 28px; align-items: center; }
.fb-figure__value { font-family: var(--display); font-weight: 900; font-size: 72px; line-height: .9; color: var(--yellow); }

/* Analyse OHMAZIN — bloc signature */
.fb-analysis { background: var(--yellow); color: var(--deep-blue); border-radius: 24px; padding: 40px; display: flex; flex-direction: column; gap: 18px; }
.fb-analysis .fb-kicker { color: var(--deep-blue); }
.fb-analysis__quote { margin: 0; font-family: var(--display); font-weight: 900; font-size: clamp(32px, 4vw, 46px); line-height: 1; text-transform: uppercase; }
.fb-analysis p:not(.fb-analysis__quote) { color: var(--navy); line-height: 1.7; }
@media (max-width: 720px) { .fb-analysis { padding: 28px 22px; } }

/* À surveiller */
.fb-watch { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: 12px; list-style: none; margin: 0; padding: 0; }
.fb-watch li { background: var(--blue); border-radius: 18px; padding: 22px; display: flex; flex-direction: column; gap: 10px; font-weight: 800; color: var(--white); }
.fb-watch__when { font-size: 12px; letter-spacing: .12em; color: var(--yellow); }

/* Sources */
.fb-sources { margin: 0; padding: 0; list-style: none; counter-reset: src; border-top: 1px solid var(--line); }
.fb-sources li { counter-increment: src; display: flex; gap: 16px; align-items: center; padding: 14px 0; border-bottom: 1px solid var(--line); }
.fb-sources li::before { content: counter(src); flex: none; width: 32px; height: 32px; border-radius: 50%; background: var(--navy); color: var(--yellow); font-weight: 800; font-size: 13px; display: inline-flex; align-items: center; justify-content: center; }
.fb-sources a { flex: 1; color: var(--white); text-decoration: none; font-size: 15px; }
.fb-sources a:hover { color: var(--yellow); }
.fb-sources[data-collapsed] li:nth-child(n+6) { display: none; }
.fb-more { align-self: flex-start; min-height: 48px; padding: 0 24px; border-radius: 999px; border: 1px solid var(--yellow); background: transparent; color: var(--yellow); font: 800 14px var(--body); cursor: pointer; }

/* Autres fiches */
.fb-related { background: var(--navy); padding-block: 64px; }
.fb-related__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr)); gap: 20px; margin-top: 28px; }
.fb-related__card { display: flex; gap: 20px; align-items: center; background: var(--blue); border-radius: 20px; padding: 16px; text-decoration: none; color: var(--white); }
.fb-related__card img { flex: none; width: 120px; height: 120px; object-fit: cover; border-radius: 14px; }
.fb-related__name { font-family: var(--display); font-weight: 900; font-size: 34px; line-height: 1; text-transform: uppercase; }

/* =========================== HUB /business/ =========================== */
.fb-hub-hero { padding-block: 56px 40px; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 440px), 1fr)); gap: 48px; align-items: end; }
.fb-hub-title { margin: 0; font-family: var(--display); font-weight: 900; font-size: clamp(56px, 8vw, 104px); line-height: .9; text-transform: uppercase; color: var(--yellow); }
.fb-hub-title span { color: var(--white); }
.fb-method { background: var(--navy); border: 1px solid var(--line-on-blue); border-radius: 20px; padding: 28px; display: flex; flex-direction: column; gap: 18px; list-style: none; margin: 0; counter-reset: m; }
.fb-method li { counter-increment: m; display: flex; gap: 14px; }
.fb-method li::before { content: counter(m); flex: none; width: 32px; height: 32px; border-radius: 50%; background: var(--yellow); color: var(--deep-blue); font-weight: 800; font-size: 14px; display: inline-flex; align-items: center; justify-content: center; }
.fb-filters { display: flex; flex-wrap: wrap; gap: 10px; padding-block: 8px 32px; }
.fb-filter { min-height: 44px; padding: 0 22px; border-radius: 999px; border: 1px solid var(--white-a40); background: transparent; color: var(--white); font: 800 13px var(--body); letter-spacing: .06em; text-transform: uppercase; cursor: pointer; }
.fb-filter[aria-pressed="true"] { background: var(--yellow); border-color: var(--yellow); color: var(--deep-blue); }
.fb-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 380px), 1fr)); gap: 28px; padding-bottom: 72px; }
.fb-card { background: var(--blue); border: 1px solid var(--line); border-radius: 24px; overflow: hidden; display: flex; flex-direction: column; }
.fb-card img { width: 100%; height: 260px; object-fit: cover; display: block; }
.fb-card__body { padding: 28px; display: flex; flex-direction: column; gap: 14px; flex-grow: 1; }
.fb-card__name { margin: 0; font-family: var(--display); font-weight: 900; font-size: 52px; line-height: .9; text-transform: uppercase; color: var(--white); }
.fb-chips { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 0; padding: 0; }
.fb-chips li { padding: 7px 12px; border-radius: 999px; background: var(--navy-a55); font-size: 13px; font-weight: 600; }
.fb-card__foot { margin-top: auto; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; padding-top: 18px; border-top: 1px solid var(--white-a18); font-size: 13px; color: var(--text-soft); }
.fb-card--featured { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 480px), 1fr)); }
.fb-card--featured img { height: 100%; min-height: 440px; }
.fb-card--suggest { background: transparent; border: 2px dashed var(--yellow-a55); padding: 36px; justify-content: center; gap: 18px; }

/* ==========================================================================
   Compléments d'intégration (12/10/2026) : éléments propres au rendu du site
   ========================================================================== */
.fb-kicker { margin: 0; }
.fb > .fb-wrap:first-child { padding-top: 28px; }
.fb-main .fb-analysis__quote { font-size: clamp(32px, 4vw, 46px); line-height: 1; }
.fb-title__sub .sr-only { position: absolute; }
.fb-photo figcaption a { color: inherit; }
.fb-actions .button.lime { min-height: 52px; }
.fb-icon-btn svg { flex: none; }

/* Encadré Fortune/Revenus : plusieurs paragraphes possibles */
.fb-callout > div { min-width: 0; }
.fb-callout p + p { margin-top: 12px; }
@media (max-width: 720px) { .fb-callout { flex-direction: column; gap: 14px; padding: 22px; } .fb-callout h3 { font-size: 26px; } }

/* Années longues (« 2025 — campagne documentée ») : précision en petit sous l'année */
.fb-timeline__year small, .fb-deals__year small { display: block; margin-top: 6px; font-family: var(--body); font-size: 12px; font-weight: 700; line-height: 1.3; letter-spacing: .04em; text-transform: uppercase; color: var(--text-soft); }

/* Entités et chiffre isolé */
.fb-entity .fb-tags { gap: 6px; }
.fb-tag .fb-ref { margin-left: 2px; }
.fb-figure__text { flex: 1 1 260px; min-width: 0; display: flex; flex-direction: column; gap: 8px; font-size: 15px; line-height: 1.55; }
.fb-figure__text strong { color: var(--white); font-size: 17px; }
@media (max-width: 720px) { .fb-figure { padding: 24px 22px; gap: 16px; } .fb-figure__value { font-size: 60px; } }

/* Analyse : le titre de section garde l'apparence du kicker */
.fb-analysis h2.fb-kicker { margin: 0; font-family: var(--body); font-size: 13px; font-weight: 800; line-height: 1.2; letter-spacing: .12em; }
.fb-analysis .fb-ref { color: var(--deep-blue); }

/* Sources : ancres visibles sous l'en-tête fixe */
.fb-sources li { scroll-margin-top: 112px; }
.fb-sources a { min-width: 0; overflow-wrap: anywhere; }

/* Nos articles sur X : cartes de l'accueil */
.fb-articles { padding-bottom: 80px; gap: 28px; }

/* Autres fiches */
.fb-related__card > span { min-width: 0; display: flex; flex-direction: column; gap: 8px; }
.fb-related__card:hover .fb-related__name { color: var(--yellow); }
@media (max-width: 720px) { .fb-related__card img { width: 88px; height: 88px; } .fb-related__name { font-size: 28px; } }

/* Hub : méthode, cartes cliquables, filtre */
.fb-hub .fb-lead { margin-top: 18px; }
.fb-method ol { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 18px; counter-reset: m; }
.fb-method li { line-height: 1.5; }
.fb-method__title { margin: 0; font-family: var(--display); font-weight: 900; font-size: 28px; line-height: 1; text-transform: uppercase; letter-spacing: 0; color: var(--yellow); }
.fb-card { position: relative; color: var(--text-on-blue); }
.fb-card[hidden] { display: none; }
.fb-card img { object-position: 50% 25%; }
.fb-card--featured img { max-height: 560px; }
.fb-card .fb-kicker { gap: 10px; }
.fb-card__name a { color: inherit; text-decoration: none; }
.fb-card__name a::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.fb-card:hover .fb-card__name, .fb-card:focus-within .fb-card__name { color: var(--yellow); }
.fb-card:focus-within { outline: 3px solid var(--yellow); outline-offset: 3px; }
.fb-card__summary { margin: 0; font-size: 16px; line-height: 1.6; }
.fb-card__go { display: inline-flex; align-items: center; gap: 8px; font-weight: 800; color: var(--yellow); }
.fb-card__go svg { width: 18px; height: 18px; }
.fb-card--featured .fb-card__name { font-size: clamp(52px, 6vw, 88px); }
.fb-card--suggest { text-decoration: none; }
.fb-card--suggest p { margin: 0; line-height: 1.6; }
.fb-card--suggest:hover { border-color: var(--yellow); }
@media (max-width: 720px) {
  .fb-card img { height: 220px; }
  .fb-card--featured img { min-height: 0; height: 300px; }
  .fb-card__body { padding: 22px; }
  .fb-card__name { font-size: 44px; }
  .fb-card--suggest { padding: 28px 22px; }
}
