/* ═══ Atlas v24 — composants génériques : aucun débordement, recherche simplifiée, fil d'Ariane,
   raccourcis contextuels, module Sciences ═══════════════════════════════════════════════════ */

/* 1. Textes longs (noms scientifiques, chimiques, URL, références) : jamais coupés ni hors cadre */
.modal, .modal *, .a20-page, .a20-page *, .card, .card *, #app-main, #app-main * { min-width: 0; }
.modal p, .modal li, .modal td, .modal th, .modal dd, .modal dt, .modal span, .modal a, .modal em, .modal strong, .modal code,
.param-v, .param-l, .structured-value, .structured-key, .ms-content, .m-title, .m-sub, .m-sci, .m-tag, .a20-chip, .a20-badge,
.card-title, .card-sub, .card-desc, .a20-hit-title, .a20-hit-ex, .phylo-name, .tol-org-name, .tol-org-sci, .zref-citation-box,
#app-main p, #app-main li, #app-main td, #app-main th, #app-main h1, #app-main h2, #app-main h3, #app-main h4 {
  overflow-wrap: anywhere; word-break: normal; hyphens: auto;
}
.modal a[href^="http"], .modal .zref-citation-box, .modal code, #app-main a[href^="http"] { overflow-wrap: anywhere; word-break: break-word; }
.a20-chip, .a20-badge, .m-tag, .m-catbadge, .m-typebadge, .badge { max-width: 100%; white-space: normal; text-align: left; line-height: 1.35; height: auto; }
/* puces : jamais collées au bord du cadre */
.modal ul, .modal ol, #app-main .modal-section ul, #app-main .modal-section ol { padding-left: 1.35em; }
.list-items { padding-left: 0; }
.list-items > li { padding: .38rem .7rem .38rem 1.2rem; position: relative; line-height: 1.5; }
.modal-section, .p21-grp-body, .structured-grid, .params-grid { overflow: visible; }
.params-grid { grid-template-columns: repeat(auto-fill, minmax(min(100%, 190px), 1fr)); }
.param { padding: .55rem .7rem; }
.param-v { line-height: 1.45; }
.modal table, #app-main table { max-width: 100%; }
.modal .tw, .modal .a20-table-wrap, #app-main .a20-table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.modal img, #app-main img { max-width: 100%; height: auto; }
.structured-row { gap: .6rem; padding: .45rem .6rem; }
.a20-fiche-meta span, .a20-fiche-tools .a20-btn { white-space: normal; }

/* 2. Recherche simplifiée */
.v24-search { display: block; }
.v24-filters { margin: 0 0 1rem; }
.v24-sbar { display: flex; flex-wrap: wrap; gap: .6rem .8rem; align-items: flex-end; background: var(--card); border: 1px solid var(--border); border-radius: var(--rad-lg, 12px); padding: .8rem 1rem; }
.v24-f { display: flex; flex-direction: column; gap: .25rem; flex: 1 1 180px; max-width: 280px; }
.v24-f > span { font: 700 .72rem var(--font-ui); letter-spacing: .07em; text-transform: uppercase; color: var(--gold); }
.v24-f select { width: 100%; }
.v24-sbar-act { display: flex; gap: .4rem; flex-wrap: wrap; margin-left: auto; }
.v24-affiner { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 230px), 1fr)); gap: .4rem 1.2rem; margin-top: .6rem; background: var(--card);
  border: 1px solid var(--border); border-radius: var(--rad-lg, 12px); padding: .9rem 1rem; }
.v24-affiner fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
.v24-affiner legend { font: 700 .72rem var(--font-ui); letter-spacing: .07em; text-transform: uppercase; color: var(--gold); margin-bottom: .35rem; }
.v24-hint { grid-column: 1 / -1; font: 400 .8rem/1.5 var(--font-ui); color: var(--dim); margin: .2rem 0; }
@media (max-width: 640px) { .v24-f { max-width: none; flex-basis: 100%; } .v24-sbar-act { margin-left: 0; width: 100%; } }

/* 3. Fil d'Ariane */
.v24-crumbs { display: flex; flex-wrap: wrap; align-items: center; gap: .15rem .35rem; font: 500 .78rem/1.5 var(--font-ui); color: var(--dim); margin: 0 0 .5rem; padding: 0; list-style: none; }
.v24-crumbs li { display: inline-flex; align-items: center; gap: .35rem; min-width: 0; }
.v24-crumbs li + li::before { content: "›"; color: var(--dim); opacity: .7; }
.v24-crumbs a { color: var(--gold); text-decoration: none; cursor: pointer; }
.v24-crumbs a:hover, .v24-crumbs a:focus-visible { text-decoration: underline; }
.v24-crumbs [aria-current] { color: var(--parch); font-weight: 600; }
.modal .v24-crumbs { margin: 0 0 .6rem; }

/* 4. Raccourcis contextuels */
.v24-explore { margin: .9rem 1.6rem .4rem; padding: .75rem .9rem; border: 1px dashed var(--border); border-radius: 12px; background: color-mix(in srgb, var(--card) 70%, transparent); }
.v24-explore h3 { margin: 0 0 .5rem; font: 700 .72rem var(--font-ui); letter-spacing: .08em; text-transform: uppercase; color: var(--gold); }
.v24-explore-row { display: flex; flex-wrap: wrap; gap: .45rem; }
.v24-explore-row .a20-btn { white-space: normal; text-align: left; }
@media (max-width: 640px) { .v24-explore { margin: .8rem .9rem .3rem; } }
.v24-tree-hit { outline: 3px solid var(--gold); outline-offset: 2px; border-radius: 6px; background: color-mix(in srgb, var(--gold) 14%, transparent); }
.v24-tree-bar { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; margin: .6rem 0 1rem; padding: .7rem .9rem; border: 1px solid var(--border); border-radius: 12px; background: var(--card); }
.v24-tree-bar strong { font: 700 .8rem var(--font-ui); }

/* 5. Sciences */
.v24-sci-domains { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr)); gap: 1rem; }
.v24-sci-dom { background: var(--card); border: 1px solid var(--border); border-radius: 14px; padding: 1rem 1.1rem; min-width: 0; }
.v24-sci-dom h2 { font: 700 1.05rem var(--font-title); margin: 0 0 .25rem; }
.v24-sci-dom p { font: 400 .85rem/1.5 var(--font-ui); color: var(--dim); margin: 0 0 .6rem; }
.v24-sci-list { display: flex; flex-wrap: wrap; gap: .35rem; }
.v24-sci-list .a20-chip { cursor: pointer; }
.v24-eq { font-family: "Cambria Math", "STIX Two Math", Georgia, serif; font-size: 1.02rem; background: color-mix(in srgb, var(--card) 80%, var(--gold) 6%); border-left: 3px solid var(--gold);
  padding: .5rem .8rem; border-radius: 6px; margin: .35rem 0; overflow-x: auto; }
.v24-eq small { display: block; font: 400 .8rem/1.45 var(--font-ui); color: var(--dim); margin-top: .2rem; }
.v24-units { width: 100%; border-collapse: collapse; font: 400 .88rem/1.4 var(--font-ui); }
.v24-units th, .v24-units td { text-align: left; padding: .35rem .5rem; border-bottom: 1px solid var(--border); vertical-align: top; }
/* Arbre du vivant : contraste (fond clair, noms lisibles dans les deux thèmes) */
.tol-tree { background: var(--card) !important; border: 1px solid var(--border); }
.tol-name { filter: saturate(1.1) brightness(.78); }
:root[data-theme="dark"] .tol-name { filter: none; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .tol-name { filter: none; } }
.tol-org-name { color: var(--parch); }
.tol-organism.tol-noref { cursor: default; opacity: .8; }
.tol-organism[role="link"]:focus-visible, .tol-row:focus-visible { outline: 2px solid var(--focus, var(--gold)); outline-offset: 2px; }
/* Champ de recherche des listes : jamais plus large que son bloc (768 px) */
.srch-wrap { min-width: min(100%, 240px); max-width: 100%; flex: 1 1 240px; }
.srch-wrap .srch-inp { box-sizing: border-box; max-width: 100%; min-width: 0; }

/* ═══ 6. Sciences — page d'accueil (v24.0.3) ═══════════════════════════════════════════════ */
.v24s { max-width: 1280px; margin: 0 auto; padding: 1.4rem clamp(1rem, 3vw, 2rem) 3rem; }
:root { --s-bio:#2f8a57; --s-chim:#8150c4; --s-phys:#2f6fc7; --s-alim:#b8691a; --s-quant:#1f8a8a; }
:root[data-theme="dark"] { --s-bio:#5cc489; --s-chim:#b28cf0; --s-phys:#79a9f2; --s-alim:#e8a050; --s-quant:#4fc4c4; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) { --s-bio:#5cc489; --s-chim:#b28cf0; --s-phys:#79a9f2; --s-alim:#e8a050; --s-quant:#4fc4c4; } }
:is(.v24s, .v24f, .v24f-hd) [data-k="bio"], :is(.v24f, .v24f-hd)[data-k="bio"] { --c: var(--s-bio); }
:is(.v24s, .v24f, .v24f-hd) [data-k="chim"], :is(.v24f, .v24f-hd)[data-k="chim"] { --c: var(--s-chim); }
:is(.v24s, .v24f, .v24f-hd) [data-k="phys"], :is(.v24f, .v24f-hd)[data-k="phys"] { --c: var(--s-phys); }
:is(.v24s, .v24f, .v24f-hd) [data-k="alim"], :is(.v24f, .v24f-hd)[data-k="alim"] { --c: var(--s-alim); }
:is(.v24s, .v24f, .v24f-hd) [data-k="quant"], :is(.v24f, .v24f-hd)[data-k="quant"] { --c: var(--s-quant); }
.v24-ico { width: 22px; height: 22px; flex: none; }

/* bandeau */
.v24s-hero { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: 2rem; align-items: end;
  padding: 2rem clamp(1.2rem, 3vw, 2.4rem); border-radius: 20px; border: 1px solid var(--border);
  background: radial-gradient(120% 140% at 0% 0%, color-mix(in srgb, var(--s-phys) 10%, transparent), transparent 55%),
              radial-gradient(120% 140% at 100% 100%, color-mix(in srgb, var(--s-bio) 10%, transparent), transparent 55%), var(--card);
  box-shadow: var(--shadow-1); }
.v24s-eyebrow { font: 700 .72rem var(--font-ui); letter-spacing: .12em; text-transform: uppercase; color: var(--gold); }
.v24s-hero h1 { font: 700 clamp(2rem, 4vw, 2.8rem)/1.05 var(--font-title); color: var(--parch); margin: .35rem 0 .7rem; }
.v24s-hero p { font: 400 1.08rem/1.6 var(--font-body); color: var(--aged); margin: 0; max-width: 62ch; }
.v24s-actions { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 1.2rem; }
.v24s-act { display: inline-flex; align-items: center; gap: .5rem; padding: .55rem 1rem; border-radius: 999px; border: 1px solid var(--border-h);
  font: 600 .88rem var(--font-ui); color: var(--parch); text-decoration: none; background: var(--card); transition: background var(--dur), border-color var(--dur), transform var(--dur); }
.v24s-act .v24-ico { width: 18px; height: 18px; color: var(--gold); }
.v24s-act:hover { border-color: var(--gold); background: var(--chip-bg); transform: translateY(-1px); }
.v24s-stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem; }
.v24s-stat { padding: .9rem 1rem; border-radius: 14px; background: color-mix(in srgb, var(--card-hi) 70%, transparent); border: 1px solid var(--border); }
.v24s-stat strong { display: block; font: 700 1.6rem/1 var(--font-title); color: var(--parch); }
.v24s-stat span { display: block; margin-top: .3rem; font: 500 .78rem var(--font-ui); color: var(--dim); }

/* recherche et domaines */
.v24s-tools { position: sticky; top: var(--header-h, 64px); z-index: 5; display: flex; flex-direction: column; gap: .8rem;
  margin: 1.4rem 0 1.6rem; padding: .9rem 0; background: color-mix(in srgb, var(--bg) 92%, transparent); backdrop-filter: blur(6px); }
.v24s-q { display: flex; align-items: center; gap: .6rem; padding: 0 1rem; height: 52px; border-radius: 14px; border: 1px solid var(--border-h);
  background: var(--card); box-shadow: var(--shadow-1); color: var(--dim); transition: border-color var(--dur), box-shadow var(--dur); }
.v24s-q:focus-within { border-color: var(--gold); box-shadow: 0 0 0 3px color-mix(in srgb, var(--gold) 22%, transparent); }
.v24s-q input { flex: 1; min-width: 0; height: 100%; border: 0; outline: 0; background: transparent; color: var(--parch); font: 400 1.05rem var(--font-ui); }
.v24s-q input::placeholder { color: var(--dim); opacity: .85; }
.v24s-doms { display: flex; flex-wrap: wrap; gap: .45rem; }
.v24s-dom { display: inline-flex; align-items: center; gap: .45rem; padding: .45rem .85rem; border-radius: 999px; border: 1px solid var(--border);
  background: var(--card); color: var(--aged); font: 600 .85rem var(--font-ui); cursor: pointer; transition: all var(--dur); }
.v24s-dom i { width: 9px; height: 9px; border-radius: 50%; background: var(--c, var(--gold)); }
.v24s-dom span { font-weight: 500; color: var(--dim); font-variant-numeric: tabular-nums; }
.v24s-dom:hover { border-color: var(--c, var(--gold)); color: var(--parch); }
.v24s-dom[aria-pressed="true"] { background: var(--c, var(--parch)); border-color: var(--c, var(--parch)); color: #fff; }
.v24s-dom[aria-pressed="true"] span { color: rgba(255,255,255,.85); }
.v24s-dom[aria-pressed="true"] i { background: #fff; }
.v24s-dom[data-dom=""][aria-pressed="true"] { background: var(--parch); border-color: var(--parch); color: var(--bg); }
.v24s-dom[data-dom=""][aria-pressed="true"] span { color: var(--bg); opacity: .75; }

/* sections par domaine */
.v24s-sec { margin: 0 0 2.2rem; }
.a20-page .v24s-sec, .v24s .v24s-sec { padding: 0; border: 0; }
.v24s-sec-hd { display: flex; align-items: center; gap: .9rem; margin-bottom: 1rem; padding-bottom: .8rem; border-bottom: 1px solid var(--border); }
.v24s-badge { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 12px; flex: none;
  color: var(--c); background: color-mix(in srgb, var(--c) 13%, transparent); border: 1px solid color-mix(in srgb, var(--c) 30%, transparent); }
.v24s-sec-hd h2 { font: 700 1.35rem/1.2 var(--font-title); color: var(--parch); margin: 0; }
.v24s-sec-hd p { font: 400 .92rem/1.45 var(--font-ui); color: var(--dim); margin: .15rem 0 0; }
.v24s-count { margin-left: auto; flex: none; font: 600 .78rem var(--font-ui); color: var(--c); padding: .3rem .7rem; border-radius: 999px;
  background: color-mix(in srgb, var(--c) 10%, transparent); }
.v24s-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr)); gap: .9rem; }
.v24s-card { position: relative; display: flex; flex-direction: column; gap: .45rem; text-align: left; padding: 1.05rem 1.15rem 1rem 1.3rem;
  border-radius: 14px; border: 1px solid var(--border); background: var(--card); color: inherit; cursor: pointer; overflow: hidden;
  box-shadow: 0 1px 2px rgba(0,0,0,.04); transition: transform var(--dur) var(--ease), box-shadow var(--dur), border-color var(--dur); }
.v24s-card::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 4px; background: var(--c); opacity: .85; }
.v24s-card:hover { transform: translateY(-2px); border-color: color-mix(in srgb, var(--c) 45%, var(--border)); box-shadow: var(--shadow-2); }
.v24s-card:focus-visible { outline: 3px solid var(--focus); outline-offset: 2px; }
.v24s-card-t { font: 700 1.08rem/1.25 var(--font-title); color: var(--parch); }
.v24s-card-t mark { background: color-mix(in srgb, var(--c) 25%, transparent); color: inherit; border-radius: 3px; padding: 0 .1em; }
.v24s-card-d { font: 400 .9rem/1.5 var(--font-ui); color: var(--aged); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.v24s-card-m { display: flex; align-items: center; gap: .5rem; margin-top: auto; padding-top: .4rem; font: 500 .75rem var(--font-ui); color: var(--dim); }
.v24s-go { margin-left: auto; color: var(--c); display: inline-flex; transition: transform var(--dur); }
.v24s-go .v24-ico { width: 18px; height: 18px; }
.v24s-card:hover .v24s-go { transform: translateX(3px); }
.v24s-empty { display: flex; flex-direction: column; gap: .3rem; padding: 2.4rem 1.5rem; text-align: center; border: 1px dashed var(--border-h); border-radius: 16px; color: var(--dim); font: 400 .95rem var(--font-ui); }
.v24s-empty strong { color: var(--parch); font: 700 1.1rem var(--font-title); }
@media (max-width: 860px) {
  .v24s-hero { grid-template-columns: 1fr; gap: 1.4rem; padding: 1.5rem 1.2rem; }
  .v24s-stats { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
  .v24s-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .v24s-sec-hd { display: grid; grid-template-columns: 44px minmax(0, 1fr); column-gap: .8rem; row-gap: .5rem; }
  .v24s-count { grid-column: 2; justify-self: start; margin-left: 0; }
  .v24s-card-d { -webkit-line-clamp: 2; }
  .v24s-hero p { font-size: 1rem; }
  .v24s-tools { position: static; }
}
@media (prefers-reduced-motion: reduce) { .v24s-card, .v24s-act, .v24s-go { transition: none; } .v24s-card:hover { transform: none; } }

/* ═══ 7. Fiche Sciences ═══════════════════════════════════════════════════════════════════ */
.v24f-hd { border-top: 4px solid var(--c); }
.v24f-hd-row { display: flex; align-items: flex-start; gap: 1rem; }
.v24f-hd .v24s-badge { width: 52px; height: 52px; border-radius: 14px; margin-top: .2rem; }
.v24f-hd .v24s-badge .v24-ico { width: 26px; height: 26px; }
.v24f-eyebrow { color: var(--c) !important; font: 700 .72rem var(--font-ui) !important; letter-spacing: .1em; text-transform: uppercase; }
.v24f-meta { margin-top: .35rem; font: 500 .8rem var(--font-ui); color: var(--dim); }
.v24f .v24f-sec > .ms-ttl { display: flex; align-items: center; gap: .55rem; }
.v24f .v24f-sec > .ms-ttl::before { content: ""; width: 4px; height: 1em; border-radius: 2px; background: var(--c); }
.v24f-lead { margin: 0; padding: 1.1rem 1.3rem; border-radius: 14px; font: 400 1.12rem/1.65 var(--font-body); color: var(--parch);
  background: color-mix(in srgb, var(--c) 8%, var(--card)); border: 1px solid color-mix(in srgb, var(--c) 22%, transparent); }
.v24f-concepts { list-style: none; counter-reset: c; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr)); gap: .7rem; }
.v24f-concepts li { counter-increment: c; position: relative; padding: .85rem 1rem .85rem 3rem; border-radius: 12px; border: 1px solid var(--border); background: var(--card);
  font: 400 .93rem/1.5 var(--font-ui); color: var(--aged); }
.v24f-concepts li::before { content: counter(c); position: absolute; left: .9rem; top: .8rem; width: 1.5rem; height: 1.5rem; display: grid; place-items: center; border-radius: 50%;
  font: 700 .75rem var(--font-ui); color: var(--c); background: color-mix(in srgb, var(--c) 14%, transparent); }
.v24f-voc { margin: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr)); gap: .7rem; }
.v24f-voc > div { padding: .85rem 1rem; border-radius: 12px; border: 1px solid var(--border); background: var(--card-hi); }
.v24f-voc dt { font: 700 1rem var(--font-title); color: var(--parch); margin-bottom: .25rem; }
.v24f-voc dd { margin: 0; font: 400 .9rem/1.5 var(--font-ui); color: var(--aged); }
.v24f .v24-units { border: 1px solid var(--border); border-radius: 12px; overflow: hidden; border-collapse: separate; border-spacing: 0; background: var(--card); }
.v24f .v24-units th { background: color-mix(in srgb, var(--c) 8%, var(--card)); font: 700 .74rem var(--font-ui); letter-spacing: .06em; text-transform: uppercase; color: var(--dim); padding: .6rem .9rem; }
.v24f .v24-units td { padding: .6rem .9rem; font: 400 .93rem var(--font-ui); color: var(--parch); }
.v24f .v24-units tr:last-child td { border-bottom: 0; }
.v24f-sym { font: italic 600 1.05rem "Cambria Math", "STIX Two Math", Georgia, serif !important; color: var(--c) !important; }
.v24f .v24-units code { font: 500 .85rem var(--font-mono); background: var(--kbd-bg); padding: .1rem .4rem; border-radius: 5px; }
.v24f-eqs { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); gap: .8rem; }
.v24f-eq { margin: 0; padding: 1rem 1.1rem; border-radius: 14px; border: 1px solid var(--border); background: var(--card); }
.v24f-eq figcaption { font: 700 .74rem var(--font-ui); letter-spacing: .06em; text-transform: uppercase; color: var(--dim); }
.v24f-formula { margin: .6rem 0 .3rem; padding: .7rem .9rem; border-radius: 10px; text-align: center; overflow-x: auto;
  font: 400 1.3rem/1.4 "Cambria Math", "STIX Two Math", Georgia, serif; color: var(--parch); background: color-mix(in srgb, var(--c) 7%, var(--card-hi)); }
.v24f-eq p { margin: .3rem 0 0; font: 400 .85rem/1.45 var(--font-ui); color: var(--dim); }
.v24f-bul { list-style: none; margin: 0; padding: 0; }
.v24f-bul li { position: relative; padding: .45rem 0 .45rem 1.3rem; font: 400 .95rem/1.5 var(--font-ui); color: var(--aged); border-bottom: 1px dashed var(--border); }
.v24f-bul li:last-child { border-bottom: 0; }
.v24f-bul li::before { content: ""; position: absolute; left: .2rem; top: .95em; width: 6px; height: 6px; border-radius: 50%; background: var(--c); }
@media (min-width: 900px) {
  .v24f { display: grid; grid-template-columns: 1fr 1fr; column-gap: 2rem; }
  .v24f > * { grid-column: 1 / -1; }
  .v24f > .v24f-half { grid-column: auto; }
  .v24f > .p21-toc, .v24f > .a20-toc { grid-column: 1 / -1; }
}
.v24f-relg { margin: .2rem 0 .9rem; }
.v24f-rell { font: 700 .72rem var(--font-ui); letter-spacing: .07em; text-transform: uppercase; color: var(--dim); margin-bottom: .45rem; }
.v24f-rell span { font-weight: 500; opacity: .8; margin-left: .2rem; }
.v24f-chips { display: flex; flex-wrap: wrap; gap: .4rem; }
.v24f .v24f-chip { display: inline-flex; align-items: center; padding: .35rem .75rem; border-radius: 999px; border: 1px solid var(--border); background: var(--card);
  font: 500 .86rem var(--font-ui) !important; color: var(--parch) !important; text-decoration: none !important; cursor: pointer; transition: border-color var(--dur), background var(--dur); }
.v24f .v24f-chip:hover, .v24f .v24f-chip:focus-visible { border-color: var(--c); background: color-mix(in srgb, var(--c) 8%, var(--card)); }
.v24f .v24s-act { cursor: pointer; }
.v24f .v24s-act .v24-ico { width: 18px; height: 18px; color: var(--c); }
.v24f-refs { margin: 0; padding-left: 1.4em; }
.v24f-refs li { margin: .45rem 0; font: 400 .92rem/1.55 var(--font-ui); color: var(--aged); }
.v24f-refs a { color: var(--gold); }
.v24f-id { font: 500 .8rem var(--font-mono); color: var(--dim); }
.v24f .tw { border: 0; padding: 0; background: none; }
.v24f .v24-units { width: 100%; }
.v24f .v24-units th { white-space: nowrap; overflow-wrap: normal; }
.modal .v24f-concepts, .modal .v24f-bul { padding-left: 0; }
@media (max-width: 560px) { .v24f .v24-units th, .v24f .v24-units td { padding: .5rem .6rem; } .v24f .v24-units th { letter-spacing: .02em; } .v24f-formula { font-size: 1.1rem; } }

/* Cartes Leaflet : boutons +/−, calques et légendes restent SOUS l'en-tête et les menus du site */
.leaflet-container { isolation: isolate; z-index: 0; position: relative; }
