/* GrindLab : charte « noir intégral » (refonte UX du 16/10/2026).
   Chargée EN DERNIER sur toutes les pages : elle redéfinit les variables des anciennes feuilles
   et rhabille leurs composants, puis fournit les composants communs de la nouvelle charte (gl-*). */

:root {
  --gl-bg: #F4F3EE;
  --gl-surface: #FFFFFF;
  --gl-ink: #111111;
  --gl-ink2: #33373D;
  --gl-muted: #5A5F67;
  --gl-line: #E3E1D9;
  --gl-line2: #D2CEC3;
  --gl-soft: #ECEAE3;
  --gl-dark: #111111;
  --gl-dark2: #1E1E1E;
  --gl-radius: 18px;
  /* anciennes variables, réalignées sur la charte */
  --bg: #FFFFFF; --bg2: #F4F3EE; --bg3: #ECEAE3;
  --border: #E3E1D9; --border2: #D2CEC3;
  --text: #111111; --muted: #4D525A; --muted2: #6B7078; --accent: #111111;
}
html { background: var(--gl-bg); }
body { background: var(--gl-bg); color: var(--gl-ink); font-family: var(--font-b); font-size: 16px; line-height: 1.6; }
::selection { background: #111111; color: #FFFFFF; }

/* ---------- En-tête ---------- */
.gl-header { position: sticky; top: 0; z-index: 300; background: rgba(255,255,255,.96); backdrop-filter: saturate(1.2) blur(10px); border-bottom: 1px solid var(--gl-line); }
.gl-header-in { max-width: 1200px; margin: 0 auto; padding: 10px 28px; display: flex; align-items: center; gap: 26px; min-height: 64px; }
.gl-logo { font-family: var(--font-d); font-weight: 800; font-size: 26px; letter-spacing: .04em; color: var(--gl-ink); text-decoration: none; white-space: nowrap; }
.gl-logo span { background: var(--gl-ink); color: #FFFFFF; padding: 0 5px; margin-left: 2px; }
.gl-header nav.gl-nav { position: static; height: auto; background: none; backdrop-filter: none; border: 0; padding: 0; display: flex; flex-direction: row; justify-content: flex-start; align-items: center; gap: 4px; z-index: auto; transform: none; }
.gl-nav-a { position: relative; font-family: var(--font-b); font-weight: 600; font-size: 15px; color: var(--gl-ink2); text-decoration: none; padding: 10px 12px; white-space: nowrap; cursor: pointer; list-style: none; }
/* page active : simple trait sous le mot (pas de fond arrondi) */
.gl-nav-a::before { content: ''; position: absolute; left: 12px; right: 12px; bottom: 3px; height: 2px; background: transparent; }
.gl-nav-a:hover { color: var(--gl-ink); }
.gl-nav-a:hover::before { background: var(--gl-line2); }
.gl-nav-a[aria-current="page"], .gl-nav-a[data-active] { color: var(--gl-ink); }
.gl-nav-a[aria-current="page"]::before, .gl-nav-a[data-active]::before { background: var(--gl-ink); }
.gl-tools > summary.gl-nav-a::before { right: 26px; }
.gl-tools-menu a[aria-current="page"] { background: var(--gl-bg); }
.gl-tools { position: relative; }
.gl-tools > summary { display: inline-flex; align-items: center; gap: 6px; }
.gl-tools > summary::-webkit-details-marker { display: none; }
.gl-tools > summary::after { content: ''; width: 7px; height: 7px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg) translateY(-2px); }
.gl-tools-menu { position: absolute; top: calc(100% + 8px); left: 0; min-width: 250px; background: #FFFFFF; border: 1px solid var(--gl-line); border-radius: 16px; box-shadow: 0 18px 40px rgba(0,0,0,.12); padding: 8px; display: flex; flex-direction: column; z-index: 400; }
.gl-tools-menu a { padding: 12px 14px; border-radius: 10px; color: var(--gl-ink); text-decoration: none; font-weight: 600; font-size: 15px; }
.gl-tools-menu a span { display: block; font-weight: 400; font-size: 13px; color: var(--gl-muted); }
.gl-tools-menu a:hover { background: var(--gl-bg); }
.gl-search { flex: 1 1 220px; display: flex; align-items: center; gap: 8px; max-width: 340px; margin-left: auto; height: 44px; padding: 0 14px; border: 1px solid var(--gl-line); border-radius: 999px; background: var(--gl-bg); }
.gl-search:focus-within { border-color: var(--gl-ink); background: #FFFFFF; }
.gl-search input { border: 0; background: transparent; font: inherit; font-size: 15px; color: var(--gl-ink); width: 100%; outline: none; min-width: 0; }
.gl-search-icon { display: none; color: var(--gl-ink); }
.gl-cta { display: inline-flex; align-items: center; height: 44px; padding: 0 18px; border-radius: 999px; background: var(--gl-ink); color: #FFFFFF; text-decoration: none; font-weight: 700; font-size: 15px; white-space: nowrap; }
.gl-cta:hover { background: #2B2B2B; color: #FFFFFF; }
@media (max-width: 1000px) { .gl-search { display: none; } .gl-search-icon { display: inline-flex; margin-left: auto; width: 44px; height: 44px; align-items: center; justify-content: center; border-radius: 999px; border: 1px solid var(--gl-line); } }
@media (max-width: 760px) {
  .gl-header-in { flex-wrap: wrap; gap: 6px 10px; padding: 8px 16px; min-height: 0; }
  .gl-logo { font-size: 22px; }
  .gl-cta { height: 40px; padding: 0 14px; font-size: 14px; }
  .gl-header nav.gl-nav { order: 3; width: 100%; overflow-x: auto; scrollbar-width: none; margin: 0 -6px; }
  .gl-header nav.gl-nav::-webkit-scrollbar { display: none; }
  .gl-nav-a { padding: 8px 9px; font-size: 14px; }
  /* sans flou : sinon l'en-tête devient le repère du menu fixe, qui serait rogné par la barre défilante */
  .gl-header { backdrop-filter: none; background: #FFFFFF; }
  .gl-tools-menu { position: fixed; left: 16px; right: 16px; top: auto; }
}

/* ---------- Typographie : titres en casse normale, petites étiquettes lisibles ---------- */
h1, h2, h3, h4,
.card-title, .section-title, .seo-section-title, .article-title, .exo-name, .exo-name-mini, .similar-item-title, .info-value, .prog-name, .materiel-name, .stat-n, .page-simple h1, .page-simple h2, .hero-kicker, .article-main h1 {
  text-transform: none !important; letter-spacing: -0.005em !important;
}
.badge, .tag, .pill, .cat-pill, .cat-btn, .cat-btn-tous, .eyebrow, .fiche-eyebrow, .filter-label, .filter-group-label, .results-txt, .stat-l, .duration-label, .share-label, .sidebar-title, .coach-tip-label, .coach-tip-sub, .exo-pill, .muscle-pill, .muscle-tag, .exo-cat, .compare-btn, .mw-link, .info-label, .niveau-badge, .similar-title, .similar-item-cat, .article-cat, .gl-crumbs, .breadcrumb, .exo-muscle-tag, .exo-muscle-pill, .seance-acc-badge, .materiel-cta, .compare-bar-text, .compare-pill, .compare-bar-btn, .compare-bar-clear, .hub-strip a, .hub-strip h2, .links-grid a, .btn-dark, .toc-mobile summary, .yt-facade span, .author-box strong, .faq-q, .cmp-table th, .pdf-btn, .exo-en-title, .diff-score + div, .gl-footer h2, .skip-link, .reset-link, .empty p {
  text-transform: none !important; letter-spacing: 0 !important;
}
.badge, .tag, .pill, .cat-pill, .cat-btn, .cat-btn-tous, .exo-pill, .muscle-pill, .muscle-tag, .exo-muscle-pill, .seance-acc-badge, .niveau-badge, .compare-btn, .mw-link, .pdf-btn, .btn-dark, .hub-strip a, .links-grid a {
  font-family: var(--font-b) !important; font-weight: 600 !important;
}
.badge, .tag, .exo-pill, .muscle-tag, .exo-muscle-pill, .seance-acc-badge { font-size: 13px !important; padding: 4px 10px !important; border-radius: 999px !important; }
.pill, .cat-pill, .cat-btn, .cat-btn-tous { font-size: 14px !important; min-height: 40px; padding: 0 16px !important; border-radius: 999px !important; }
.eyebrow, .fiche-eyebrow, .filter-label, .filter-group-label, .results-txt, .stat-l, .duration-label, .share-label, .sidebar-title, .similar-title, .similar-item-cat, .article-cat, .info-label, .exo-cat, .gl-crumbs, .breadcrumb, .coach-tip-label, .materiel-cta {
  font-family: var(--font-b) !important; font-weight: 600 !important; font-size: 13px !important;
}
.eyebrow::before, .fiche-eyebrow::before { display: none !important; }
.faq-q { font-family: var(--font-b) !important; font-weight: 600 !important; font-size: 17px !important; }
.faq-a { font-size: 15px !important; color: var(--gl-ink2) !important; }

/* Niveaux : nuances de gris (pas de couleur) */
/* Niveaux : texte + indicateur à 3 barres (1 = débutant, 3 = avancé), sans pastille */
.badge.b-deb, .badge.b-int, .badge.b-adv, .b-deb, .b-int, .b-adv, .gl-level { display: inline-flex !important; align-items: center; gap: 7px; background: transparent !important; color: var(--gl-ink) !important; border: 0 !important; border-radius: 0 !important; padding: 0 !important; font-family: var(--font-b) !important; font-weight: 600 !important; font-size: 14px !important; white-space: nowrap; box-shadow: none !important; }
.b-deb::before, .b-int::before, .b-adv::before, .gl-level::before { content: ''; flex: none; width: 13px; height: 12px; background: linear-gradient(var(--lv1), var(--lv1)) 0 100% / 3px 5px no-repeat, linear-gradient(var(--lv2), var(--lv2)) 5px 100% / 3px 8px no-repeat, linear-gradient(var(--lv3), var(--lv3)) 10px 100% / 3px 12px no-repeat; }
.b-deb, .gl-level.l1 { --lv1: #111111; --lv2: #CFCBC0; --lv3: #CFCBC0; }
.b-int, .gl-level.l2 { --lv1: #111111; --lv2: #111111; --lv3: #CFCBC0; }
.b-adv, .gl-level.l3 { --lv1: #111111; --lv2: #111111; --lv3: #111111; }
.tag-obj { background: #FFFFFF !important; color: var(--gl-ink) !important; border: 1px solid var(--gl-line2) !important; }
.tag-info { background: transparent !important; color: var(--gl-muted) !important; border: 1px solid var(--gl-line) !important; }
.card-note, .star-y, .review-block { display: none !important; }

/* Cartes et surfaces */
.card, .carousel-card, .prog-card, .exo-card, .article-card, .materiel-card, .exo-card-mini, .similar-card, .info-box, .seo-conseils, .tip-box, .conseil-card, .pros-cons-card, .coach-tip, .seance-acc {
  border-radius: var(--gl-radius) !important; border-color: var(--gl-line) !important;
}
.card, .carousel-card, .prog-card, .exo-card, .article-card, .materiel-card, .exo-card-mini { background: var(--gl-surface) !important; box-shadow: none !important; }
.card:hover, .carousel-card:hover, .prog-card:hover, .exo-card:hover, .article-card:hover, .materiel-card:hover, .exo-card-mini:hover { border-color: var(--gl-ink) !important; transform: none !important; box-shadow: none !important; }
.card, .exo-card, .article-card { animation: none !important; }
.duration-bar { display: none !important; }
.conseil-card { background: var(--gl-surface) !important; border: 1px solid var(--gl-line) !important; }
.tip-box { background: var(--gl-surface) !important; border: 1px solid var(--gl-line) !important; border-left: 1px solid var(--gl-line) !important; }
.coach-tip-solution { background: var(--gl-bg) !important; border-color: var(--gl-line) !important; }
.coach-tip-solution-label, .coach-tip-solution-text { color: var(--gl-ink) !important; }
.sidebar-card { border-radius: var(--gl-radius) !important; }
.seo-list.pros li::before { content: '+' !important; font-weight: 800; }
.seo-list.cons li::before { content: '−' !important; font-weight: 800; }
.pill.on, .cat-pill.on, .cat-btn.on, .cat-btn-tous.on { background: var(--gl-ink) !important; border-color: var(--gl-ink) !important; color: #FFFFFF !important; box-shadow: none !important; }
.search-input { border-radius: 999px !important; background: #FFFFFF !important; border: 1px solid var(--gl-line) !important; }
.exo-cat { color: var(--gl-muted) !important; }

/* Textes courants : plus grands et plus contrastés */
.article-body p, .article-body li { color: var(--gl-ink2) !important; font-size: 17px !important; }
.article-body h2 { font-size: 30px !important; }
.article-body h3 { font-size: 21px !important; }
.article-body a { color: var(--gl-ink) !important; }
.seo-intro, .fiche-desc, .exo-desc, .hero-sub, .card-desc { color: var(--gl-ink2) !important; }
.meta-text { color: var(--gl-muted) !important; }
.cat-pill, .cat-btn, .cat-btn-tous { background: #FFFFFF !important; border: 1px solid var(--gl-line2) !important; color: var(--gl-ink) !important; }
.cat-pill:hover, .cat-btn:hover, .cat-btn-tous:hover { border-color: var(--gl-ink) !important; }

/* Boutons */
.pdf-btn, .btn-dark, .compare-btn { border-radius: 999px !important; font-size: 15px !important; min-height: 44px; padding: 0 20px !important; display: inline-flex !important; align-items: center; gap: 8px; }
.mw-link { border-radius: 999px !important; font-size: 14px !important; }

/* Fil d'Ariane */
.gl-crumbs, .breadcrumb { color: var(--gl-muted) !important; }
.gl-crumbs a, .breadcrumb a { color: var(--gl-muted) !important; text-decoration: underline; text-decoration-color: transparent; }
.gl-crumbs a:hover, .breadcrumb a:hover { text-decoration-color: currentColor; color: var(--gl-ink) !important; }

/* Pied de page */
footer.gl-footer { background: var(--gl-ink); color: #FFFFFF; border-top: 0; padding: 56px 28px 28px; }
.gl-footer .footer-logo, .gl-footer a { color: #FFFFFF; }
.gl-footer .footer-logo span { background: #FFFFFF; color: var(--gl-ink); padding: 0 5px; margin-left: 2px; }
.gl-footer h2 { color: #A9ADB4 !important; font-family: var(--font-b) !important; font-size: 13px !important; font-weight: 600 !important; }
.gl-footer-brand p, .gl-footer-legal { color: #C3C6CB; }
.gl-footer-legal { border-top-color: #2E2E2E; }
.gl-footer :focus-visible { outline-color: #FFFFFF; }

/* Pages simples */
.page-simple h1 { font-size: clamp(44px, 6vw, 68px) !important; }
.page-simple h2 { font-size: 28px !important; }
.page-simple p, .page-simple li { color: var(--gl-ink2) !important; font-size: 16px !important; }
.links-grid a { border-radius: 14px !important; background: #FFFFFF; font-size: 15px !important; }
.health-note { background: #FFFFFF !important; border-radius: 14px !important; color: var(--gl-ink2) !important; font-size: 14px !important; }

/* ---------- Composants communs de la nouvelle charte ---------- */
.gl-wrap { max-width: 1200px; margin: 0 auto; padding: 0 28px; }
.gl-chip { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 600; padding: 5px 12px; border-radius: 999px; background: #FFFFFF; border: 1px solid var(--gl-line2); color: var(--gl-ink); }
.gl-chip.is-dark { background: var(--gl-ink); border-color: var(--gl-ink); color: #FFFFFF; }
.gl-btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 50px; padding: 0 22px; border-radius: 999px; font: inherit; font-weight: 700; font-size: 16px; text-decoration: none; cursor: pointer; border: 1.5px solid var(--gl-ink); background: transparent; color: var(--gl-ink); }
.gl-btn:hover { background: var(--gl-soft); color: var(--gl-ink); }
.gl-btn.is-dark { background: var(--gl-ink); color: #FFFFFF; }
.gl-btn.is-dark:hover { background: #2B2B2B; color: #FFFFFF; }
.gl-btn.is-light { border-color: var(--gl-line2); background: #FFFFFF; }
.gl-card { background: var(--gl-surface); border: 1px solid var(--gl-line); border-radius: 22px; padding: 24px; }
.gl-card.is-dark { background: var(--gl-dark); border-color: var(--gl-dark); color: #FFFFFF; }
.gl-h1 { font-family: var(--font-d); font-weight: 800; font-size: clamp(48px, 7vw, 80px); line-height: .95; margin: 0; }
.gl-h2 { font-family: var(--font-d); font-weight: 700; font-size: 32px; line-height: 1.05; margin: 0 0 12px; }
.gl-lead { font-size: 19px; line-height: 1.55; color: var(--gl-ink2); max-width: 760px; margin: 0; }
.gl-muted { color: var(--gl-muted); }
.gl-lead a { color: var(--gl-ink); text-underline-offset: 3px; }
.gl-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; }
.gl-stat { background: #FFFFFF; border: 1px solid var(--gl-line); border-radius: 16px; padding: 14px 16px; }
.gl-stat-k { font-size: 13px; font-weight: 600; color: var(--gl-muted); }
.gl-stat-v { font-family: var(--font-d); font-weight: 700; font-size: 28px; line-height: 1.1; }
.gl-table-wrap { overflow-x: auto; }
.gl-table { width: 100%; border-collapse: collapse; font-size: 15px; min-width: 640px; }
.gl-table th { text-align: left; font-size: 13px; font-weight: 600; color: var(--gl-muted); padding: 10px 12px; border-bottom: 1px solid var(--gl-line); white-space: nowrap; }
.gl-table th[data-col] { cursor: pointer; }
.gl-table th.asc::after { content: ' ↑'; } .gl-table th.desc::after { content: ' ↓'; }
.gl-table td { padding: 13px 12px; border-bottom: 1px solid #ECEAE3; vertical-align: middle; }
.gl-table td a { font-weight: 700; text-decoration: none; color: var(--gl-ink); }
.gl-table td a:hover { text-decoration: underline; }
.gl-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 14px; }
.gl-faq details { border-top: 1px solid var(--gl-line); }
.gl-faq summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; gap: 12px; padding: 16px 0; font-weight: 600; font-size: 17px; }
.gl-faq summary::-webkit-details-marker { display: none; }
.gl-faq summary::after { content: '+'; font-size: 22px; line-height: 1; }
.gl-faq details[open] summary::after { content: '−'; }
.gl-faq details p { margin: 0 0 16px; color: var(--gl-ink2); }
.gl-section { padding: 28px 0; }
.gl-subnav { position: sticky; top: var(--gl-head-h, 65px); z-index: 200; background: rgba(244,243,238,.96); backdrop-filter: blur(8px); border-bottom: 1px solid var(--gl-line); }
/* nav.gl-subnav : neutralise les anciennes règles « nav { … } » des feuilles héritées */
nav.gl-subnav { display: block; height: auto; padding: 0; justify-content: initial; flex-direction: initial; }
.gl-subnav-in { width: 100%; box-sizing: border-box; max-width: 1200px; margin: 0 auto; padding: 8px 28px; display: flex; gap: 4px; overflow-x: auto; scrollbar-width: none; }
.gl-subnav-in::-webkit-scrollbar { display: none; }
.gl-subnav a { position: relative; font-size: 15px; font-weight: 600; padding: 10px 12px; color: var(--gl-ink2); text-decoration: none; white-space: nowrap; }
.gl-subnav a::after { content: ''; position: absolute; left: 12px; right: 12px; bottom: 2px; height: 2px; background: transparent; }
.gl-subnav a:hover { color: var(--gl-ink); }
.gl-subnav a:hover::after { background: var(--gl-line2); }
.gl-subnav a.is-active { color: var(--gl-ink); }
.gl-subnav a.is-active::after { background: var(--gl-ink); }
@media (max-width: 760px) { .gl-wrap, .gl-subnav-in { padding-left: 16px; padding-right: 16px; } .gl-card { padding: 18px; border-radius: 18px; } .gl-h2 { font-size: 28px; } .gl-lead { font-size: 17px; } }

/* ---------- Hubs (pages de sélection) ---------- */
.gl-hub-hero { padding: 40px 0 8px; }
.gl-hub-hero .gl-h1 { margin: 12px 0 14px; }
.gl-hub-intro { font-size: 17px; line-height: 1.7; color: var(--gl-ink2); }
.gl-hub-intro h2 { font-family: var(--font-d); font-weight: 700; font-size: 30px; line-height: 1.1; margin: 0 0 12px; color: var(--gl-ink); }
.gl-hub-intro p { margin: 0 0 14px; }
.gl-hub-intro ul { margin: 0 0 14px; padding-left: 20px; display: flex; flex-direction: column; gap: 6px; }
.gl-hub-intro a { color: var(--gl-ink); text-underline-offset: 3px; }
.gl-hub-filters { display: flex; gap: 4px; flex-wrap: wrap; margin-bottom: 16px; border-bottom: 1px solid var(--gl-line); }
.gl-hub-filters button { position: relative; font: inherit; font-size: 15px; font-weight: 600; min-height: 44px; padding: 0 12px; border: 0; background: none; color: var(--gl-ink2); cursor: pointer; }
.gl-hub-filters button::after { content: ''; position: absolute; left: 12px; right: 12px; bottom: -1px; height: 2px; background: transparent; }
.gl-hub-filters button:hover { color: var(--gl-ink); }
.gl-hub-filters button[aria-pressed="true"] { color: var(--gl-ink); }
.gl-hub-filters button[aria-pressed="true"]::after { background: var(--gl-ink); }
.gl-pcard { background: #FFFFFF; border: 1px solid var(--gl-line); border-radius: 20px; padding: 20px; text-decoration: none; color: var(--gl-ink); display: flex; flex-direction: column; gap: 12px; }
.gl-pcard:hover { border-color: var(--gl-ink); }
.gl-pcard-top { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.gl-pcard-author { font-size: 13px; color: var(--gl-muted); text-align: right; }
.gl-pcard h3, .gl-pcard .gl-pcard-t { font-family: var(--font-d); font-weight: 700; font-size: 28px; line-height: 1; margin: 0; }
.gl-pcard p { margin: 0; font-size: 15px; line-height: 1.5; color: var(--gl-ink2); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.gl-week { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 5px; }
.gl-week span { text-align: center; font-size: 12px; font-weight: 700; padding: 6px 0; border-radius: 8px; background: #F1EFE8; color: #7A7E85; }
.gl-week span.on { background: var(--gl-ink); color: #FFFFFF; }
.gl-pcard-meta { display: flex; gap: 14px; flex-wrap: wrap; font-size: 14px; color: var(--gl-ink2); border-top: 1px solid var(--gl-line); padding-top: 12px; }
.gl-guides { list-style: none; margin: 0; padding: 0; }
.gl-guides li { border-top: 1px solid var(--gl-line); }
.gl-guides a { display: block; padding: 12px 0; font-weight: 600; color: var(--gl-ink); text-decoration: none; }
.gl-guides a:hover { text-decoration: underline; }

.gl-hub-cols { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 18px; align-items: start; }
.gl-hub-cols aside { position: sticky; top: 84px; display: flex; flex-direction: column; gap: 18px; }
.gl-hub-cols aside h2 { font-family: var(--font-d); font-weight: 700; font-size: 24px; margin: 0 0 6px; }
.gl-links { display: flex; flex-wrap: wrap; gap: 8px; }
.gl-links a { font-size: 14px; font-weight: 600; padding: 8px 14px; border-radius: 999px; border: 1px solid var(--gl-line2); background: #FFFFFF; color: var(--gl-ink); text-decoration: none; }
.gl-links a:hover { border-color: var(--gl-ink); }
.gl-empty { padding: 28px; text-align: center; color: var(--gl-muted); }
@media (max-width: 960px) { .gl-hub-cols { grid-template-columns: 1fr; } .gl-hub-cols aside { position: static; } }
@media (max-width: 760px) { .gl-hub-hero { padding-top: 24px; } .gl-pcard h3, .gl-pcard .gl-pcard-t { font-size: 26px; } }

/* ---------- Recherche ---------- */
.gl-search-big { display: flex; gap: 10px; margin-top: 18px; max-width: 720px; }
.gl-search-big input { flex: 1; min-width: 0; height: 56px; padding: 0 20px; font: inherit; font-size: 18px; border: 1.5px solid var(--gl-line2); border-radius: 999px; background: #FFFFFF; color: var(--gl-ink); }
.gl-search-big input:focus { outline: none; border-color: var(--gl-ink); }
.gl-search-big .gl-btn { min-height: 56px; }
@media (max-width: 600px) { .gl-search-big .gl-btn { padding: 0 16px; } }
.gl-results { display: flex; flex-direction: column; gap: 22px; }
.gl-results h2 { font-family: var(--font-d); font-weight: 700; font-size: 26px; margin: 0 0 8px; }
.gl-results ul { list-style: none; margin: 0; padding: 0; }
.gl-results li a { display: flex; justify-content: space-between; gap: 12px; padding: 12px 0; border-top: 1px solid var(--gl-line); color: var(--gl-ink); text-decoration: none; font-weight: 600; }
.gl-results li a span { font-weight: 400; color: var(--gl-muted); font-size: 14px; text-align: right; }
.gl-results li a:hover { text-decoration: underline; }

/* ---------- Carte musculaire (face + dos) ---------- */
.bm { margin: 0; --bm-n: #ECE9E1; --bm-o: #D6D2C7; --bm-s: #8F939A; --bm-p: #111111; --bm-line: #B9B4A8; }
.bm.is-dark { --bm-n: #2E2E2E; --bm-o: #454545; --bm-s: #9A9EA5; --bm-p: #FFFFFF; --bm-line: #5A5A5A; }
.bm svg { display: block; width: 100%; max-width: 380px; height: auto; margin: 0 auto; }
.bm use { stroke: none; }
.bm .bm-n { fill: var(--bm-n); }
.bm .bm-o { fill: var(--bm-o); }
.bm .bm-s { fill: var(--bm-s); }
.bm .bm-p { fill: var(--bm-p); }
.bm .bm-ol { fill: none; stroke: var(--bm-line); stroke-width: 2; }
.bm figcaption { display: flex; justify-content: space-around; margin-top: 6px; font-size: 13px; font-weight: 600; color: var(--gl-muted); }
.bm.is-dark figcaption { color: #C9CCD1; }
.bm-legend { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; margin-top: 10px; font-size: 13px; font-weight: 600; }
.bm-legend span { display: inline-flex; align-items: center; gap: 6px; }
.bm-legend i { width: 12px; height: 12px; border-radius: 3px; display: inline-block; }

/* ---------- Fenêtre e-mail avant le PDF ---------- */
.gl-dlg { margin: auto; max-height: calc(100% - 32px); overflow: auto; border: 0; padding: 0; border-radius: 22px; width: min(460px, calc(100% - 32px)); background: #FFFFFF; color: var(--gl-ink); box-shadow: 0 24px 60px rgba(0,0,0,.25); }
.gl-dlg::backdrop { background: rgba(17,17,17,.55); }
.gl-dlg-in { position: relative; display: flex; flex-direction: column; gap: 10px; padding: 28px 24px 22px; }
.gl-dlg h2 { margin: 0 30px 0 0; font-family: var(--font-d); font-weight: 800; font-size: 30px; line-height: 1.05; }
.gl-dlg p { margin: 0; font-size: 15px; line-height: 1.5; color: var(--gl-ink2); }
.gl-dlg label { font-size: 14px; font-weight: 600; margin-top: 6px; }
.gl-dlg input[type="email"] { font: inherit; font-size: 17px; height: 52px; padding: 0 14px; border: 1.5px solid var(--gl-line2); border-radius: 12px; background: #FFFFFF; color: var(--gl-ink); }
.gl-dlg input[type="email"]:focus { outline: none; border-color: var(--gl-ink); }
.gl-dlg .gl-btn { width: 100%; margin-top: 6px; }
.gl-dlg-check { display: flex; gap: 10px; align-items: flex-start; font-weight: 400 !important; font-size: 14px !important; line-height: 1.45; color: var(--gl-ink2); cursor: pointer; }
.gl-dlg-check input { width: 18px; height: 18px; margin: 2px 0 0; flex: none; accent-color: #111111; }
.gl-dlg-err { color: var(--gl-ink) !important; font-weight: 600; background: var(--gl-soft); border-left: 3px solid var(--gl-ink); padding: 8px 10px; border-radius: 8px; }
.gl-dlg-legal { font-size: 12px !important; color: var(--gl-muted) !important; text-align: center; }
.gl-dlg-legal a { color: var(--gl-ink); }
.gl-dlg-x { position: absolute; top: 14px; right: 14px; width: 40px; height: 40px; border: 0; border-radius: 10px; background: none; font-size: 26px; line-height: 1; cursor: pointer; color: var(--gl-muted); }
.gl-dlg-x:hover { background: var(--gl-soft); color: var(--gl-ink); }
.gl-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; }
