/* ═══════════════════════════════════════════════════════════════════
   Mighty — style épuré (chargé en dernier, sur tout le site)
   Blanc, noir (#1d1d1f), gris Apple, typographie Inter ; titres en italique gras
   comme le ruban du logo ; couleur seulement en touches (volt, brassard volt).
   ═══════════════════════════════════════════════════════════════════ */
:root { --c-ink: #1d1d1f; --c-mute: #6e6e73; --c-line: #e8e8ed; --c-soft: #f5f5f7; --c-volt: #D4FF00; }
body { background: #fff; color: var(--c-ink); }

/* Boutons : pilules noires, sans ombre décalée */
.btn-gold, .afh__cta .btn-gold, .afp__cta .btn-gold, .ftr__top .btn-gold, .cta-big--circuit .btn-gold, .cta-big .btn-gold, .jform .btn-gold {
  background: var(--c-ink) !important; color: #fff !important; border: 1.5px solid var(--c-ink) !important; box-shadow: none !important; border-radius: 999px; transform: none !important; }
.btn-gold:hover { background: #333 !important; border-color: #333 !important; }
.btn-outline-white, .btn-outline-gold { background: transparent !important; color: var(--c-ink) !important; border: 1.5px solid #d2d2d7 !important; box-shadow: none !important; border-radius: 999px; }
.btn-outline-white:hover, .btn-outline-gold:hover { border-color: var(--c-ink) !important; background: transparent !important; color: var(--c-ink) !important; }

/* Titres de section : plus de bande papier inclinée — titre net, mot clé souligné volt */
.sband { display: block; background: none !important; transform: none !important; box-shadow: none !important; padding: 0 !important; }
.sband::after { display: none !important; }
.sband h2, .sband h1 { color: var(--c-ink) !important; font-size: clamp(2.2rem, 5vw, 4.2rem); letter-spacing: -.01em; }
.sband em, .sband .text-gold { color: var(--c-ink) !important; -webkit-text-fill-color: currentColor; background: linear-gradient(transparent 66%, var(--c-volt) 66%, var(--c-volt) 90%, transparent 90%); padding: 0 .04em; }
.sec-head h2 em, .sec-head h2 .text-gold, .page-hero h1 em, .page-hero h1 .text-gold { color: var(--c-ink) !important; -webkit-text-fill-color: currentColor; background: linear-gradient(transparent 66%, var(--c-volt) 66%, var(--c-volt) 90%, transparent 90%); }
.sec-line { display: none; }

/* En-tête et barre du circuit */
.circuit-bar { background: rgba(255,255,255,.9) !important; -webkit-backdrop-filter: blur(20px); backdrop-filter: blur(20px); border-bottom: 1px solid var(--c-line) !important; }
.circuit-bar__brand { color: var(--c-ink) !important; font: 900 italic 15px var(--font-display); text-transform: uppercase; }
.circuit-bar__nav a { color: #424245 !important; text-transform: none !important; letter-spacing: 0 !important; font: 400 13px var(--font-body) !important; border-bottom-color: transparent !important; }
.circuit-bar__nav a:hover, .circuit-bar__nav a[aria-current] { color: var(--c-ink) !important; border-bottom-color: var(--c-ink) !important; }
.hdr.is-solid { background: rgba(255,255,255,.86) !important; box-shadow: 0 1px 0 var(--c-line) !important; }

/* Héros des pages intérieures (archives, pages) */
.page-hero { background: #fff !important; border-bottom: 1px solid var(--c-line); }
.page-hero h1, .team-hero-name { box-shadow: none !important; background: none !important; transform: none !important; color: var(--c-ink) !important; padding: 0 !important; }
.page-hero p { color: var(--c-mute) !important; }

/* Héros épuré (template-parts/clean-hero.php) */
.chero { background: #fff; padding: clamp(150px, 16vw, 210px) clamp(20px, 4vw, 56px) clamp(56px, 7vw, 90px); border-bottom: 1px solid var(--c-line); }
.chero__in { max-width: 1100px; }
.chero__eb { display: inline-flex; align-items: center; gap: 8px; font: 600 13px var(--font-body); color: var(--c-mute); }
.chero__eb i { width: 8px; height: 8px; border-radius: 50%; background: var(--c-volt); border: 1px solid var(--c-ink); }
.chero__t { margin: 18px 0 0; font: 900 italic clamp(3rem, 8.5vw, 7.5rem)/.92 var(--font-display); text-transform: uppercase; color: var(--c-ink); letter-spacing: -.01em; }
.chero__rb { display: inline-block; background: var(--c-ink); color: #fff; padding: .02em .32em 0 .22em; transform: rotate(-4deg); clip-path: polygon(0 0, 100% 0, 95% 100%, 0 100%); margin: .06em 0 0 .08em; }
.chero__p { margin: 40px 0 0; max-width: 56ch; font: 400 clamp(1.05rem, 1.5vw, 1.25rem)/1.55 var(--font-body); color: #424245; }
.chero__ctas { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; margin-top: 30px; }

/* Bandeau de chiffres */
.stats-strip { background: #fff !important; border-top: 1px solid var(--c-line) !important; border-bottom: 1px solid var(--c-line) !important; color: var(--c-ink) !important; }
.stats-strip .stat-num, .stats-strip > * > div:first-child .stat-num { color: var(--c-ink) !important; }
.stats-strip .stat-lbl { color: var(--c-mute) !important; letter-spacing: .02em !important; text-transform: none !important; }
.facts span { color: var(--c-mute); }

/* Appel à l'action final et pied de page */
.cta-big, .cta-big--circuit { background: var(--c-soft) !important; border-top: 0 !important; }
.cta-big h2 { color: var(--c-ink) !important; } .cta-big h2 em { color: var(--c-mute) !important; }
.cta-big .label { color: var(--c-mute); }
.cta-big .btn-outline-white { color: var(--c-ink) !important; }
.ftr { background: var(--c-soft) !important; border-top: 0 !important; }
.ftr__top { background: var(--c-ink) !important; box-shadow: none !important; border-radius: 22px; }
.ftr__top .btn-gold { background: #fff !important; color: var(--c-ink) !important; border-color: #fff !important; }
.ftr__bottom { background: var(--c-soft) !important; border-top: 1px solid #d2d2d7 !important; }
.ftr__col h5 { color: var(--c-ink) !important; font: 600 12px var(--font-body) !important; text-transform: none !important; letter-spacing: 0 !important; }
.ftr__col a { color: #424245 !important; font-size: 13px; }

/* Bandes défilantes : discrètes */
.strips__a { background: var(--c-ink) !important; box-shadow: none !important; transform: none !important; }
.strips__b { background: var(--c-soft) !important; color: var(--c-mute) !important; transform: none !important; }
.row::before { background: var(--c-ink) !important; }

/* Cartes génériques */
.why__c, .roster-team-card, .team-card, .player-card { border-radius: 20px !important; background: var(--c-soft) !important; }
.why__c b { color: #d2d2d7 !important; }
.roster-team-top { border-top-width: 0 !important; }
.join { background: var(--c-soft) !important; border-top: 0 !important; }
.join__side { background: var(--c-ink) !important; }
.jform input[type=text], .jform input[type=email], .jform input[type=tel], .jform textarea, .jform select { border-radius: 12px !important; border: 1px solid #d2d2d7 !important; background: #fff !important; padding: 12px 14px !important; font: 400 1rem var(--font-body) !important; }

/* ── Format (template-parts/ascent-format.php) ── */
.asc__nums > div { background: var(--c-soft) !important; color: var(--c-ink) !important; }
.asc__nums > div:first-child { background: var(--c-ink) !important; color: #fff !important; }
.asc__nums span { opacity: 1; color: var(--c-mute); } .asc__nums > div:first-child span { color: #a1a1a6; }
.asc__court, .asc__court > * { background: var(--c-soft) !important; color: var(--c-ink) !important; }
.asc__court b { color: var(--c-ink) !important; }
.asc__court::before, .asc__court::after { border-color: #c7c7cc !important; }
.asc__court--l2, .asc__court--l2 > * { background: var(--c-ink) !important; color: #fff !important; }
.asc__court--l2 b { color: var(--c-volt) !important; }
.asc__court--l2::before, .asc__court--l2::after { border-color: #48484a !important; }
.asc__list li::before { background: var(--c-volt); border-color: var(--c-ink); }
.asc__defi { background: var(--c-ink) !important; }
.asc__price > div { border: 1px solid var(--c-line) !important; background: #fff !important; color: var(--c-ink) !important; border-radius: 20px; }
.asc__price--3 > div:first-child { background: var(--c-ink) !important; color: #fff !important; border-color: var(--c-ink) !important; }
.asc__price--3 > div:first-child span, .asc__price--3 > div:first-child small { color: #a1a1a6 !important; }
.asc__price--3 > div:first-child b { color: #fff !important; }
.asc__price > div:nth-child(2) { box-shadow: inset 0 -4px 0 var(--c-volt); }
.asc__h span { background: var(--c-volt); }

/* ── Accueil : « Comment ça marche » (template-parts/ascent-home.php) ── */
.flow__steps li { background: var(--c-soft) !important; color: var(--c-ink) !important; }
.flow__steps b { color: var(--c-ink) !important; } .flow__steps p { color: #424245 !important; } .flow__steps i { color: var(--c-mute) !important; }
.flow__steps li::before { color: #e2e2e7 !important; }
.flow__steps li::after { background: #fff !important; border: 1px solid #d2d2d7 !important; color: var(--c-ink) !important; }
.flow__steps li.is-final { background: var(--c-ink) !important; border: 0 !important; }
.flow__steps li.is-final b { color: #fff !important; } .flow__steps li.is-final p { color: #a1a1a6 !important; } .flow__steps li.is-final i { color: var(--c-volt) !important; }
.flow__steps li.is-final::before { color: #3a3a3c !important; }
.flow__h span { background: var(--c-ink); color: #fff; border: 0; }
.flow__wk { background: var(--c-soft) !important; box-shadow: none !important; }
.flow__wk.is-defis { box-shadow: inset 0 -3px 0 var(--c-ink) !important; }
.flow__wk.is-combine { background: #fff !important; box-shadow: inset 0 0 0 1px #d2d2d7 !important; } .flow__wk.is-combine b { color: var(--c-ink) !important; }
.flow__wk.is-final { background: var(--c-ink) !important; border: 0 !important; } .flow__wk.is-final b { color: var(--c-volt) !important; }
.flow__grid { background: var(--c-soft) !important; }
.flow__row--head span { color: var(--c-mute) !important; } .flow__row--head .is-l2 { color: var(--c-ink) !important; }
.flow__rd { color: var(--c-mute) !important; } .flow__rd b { color: var(--c-ink) !important; }
.flow__c--h { background: var(--c-ink) !important; color: #fff !important; }
.flow__c--f { background: #fff !important; color: var(--c-ink) !important; box-shadow: inset 0 0 0 1.5px var(--c-ink) !important; }
.flow__c--x { background: #8e8e93 !important; color: #fff !important; }
.flow__c--l2 { background: var(--c-volt) !important; color: var(--c-ink) !important; }
.flow__facts li { background: var(--c-soft) !important; }
.flow__g { background: var(--c-soft) !important; color: var(--c-ink) !important; border: 0 !important; }
.flow__g--a { background: var(--c-ink) !important; color: #fff !important; }
.flow__g > i.flow__p { background: #fff !important; } .flow__g--a > i.flow__p { background: #2c2c2e !important; }
.flow__p--f { box-shadow: inset 0 0 0 1.5px var(--c-volt) !important; }
.flow__pair em { background: var(--c-soft) !important; color: var(--c-ink) !important; border: 0 !important; }
.flow__pair:first-of-type em:first-child { background: var(--c-ink) !important; color: #fff !important; border: 0 !important; }
.flow__pair:first-of-type em:last-child, .flow__pair:last-of-type em:last-child { background: #fff !important; color: var(--c-ink) !important; border: 1px solid #d2d2d7 !important; }
.flow__pts > div { border: 1px solid var(--c-line) !important; border-radius: 20px; }
.flow__pts > div.is-defi { background: var(--c-ink) !important; border-color: var(--c-ink) !important; } .flow__pts > div.is-defi b { color: var(--c-volt) !important; }
.flow__cups > div { background: var(--c-soft) !important; }
.flow__prize { background: var(--c-ink) !important; }
.flow__prize-c { background: #fff !important; color: var(--c-ink) !important; } .flow__prize-c b { color: var(--c-ink) !important; }
.flow__prize-c.is-zone { background: #2c2c2e !important; color: #fff !important; } .flow__prize-c.is-zone b { color: #fff !important; }
.flow__prize-c:first-of-type { box-shadow: inset 0 -5px 0 var(--c-volt); }
.flow__legend i.flow__c--x { background: #8e8e93 !important; }
.flow__cta .btn-outline-white { color: var(--c-ink) !important; }

/* ── Classements de la page du circuit ── */
.rank { padding: clamp(64px, 9vw, 120px) 0; background: var(--c-soft); }
.rank__lead { margin: 22px 0 0; max-width: 60ch; color: #424245; font-size: 1.1rem; line-height: 1.55; }
.rank__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 40px; }
.rank__c { background: #fff; border-radius: 20px; padding: 20px 22px; }
.rank__c h3 { display: flex; justify-content: space-between; align-items: baseline; margin: 0 0 10px; font: 900 italic 1.4rem var(--font-display); text-transform: uppercase; color: var(--c-ink); }
.rank__c h3 span { font: 400 12px var(--font-body); text-transform: none; color: var(--c-mute); }
.rank__r { display: grid; grid-template-columns: 24px 1fr auto; gap: 8px; align-items: center; padding: 10px 0; border-top: 1px solid #f0f0f2; color: var(--c-mute); font-size: 14px; }
.rank__r b { color: var(--c-ink); font-weight: 600; } .rank__r em { font-style: normal; }
.rank__c p { margin: 10px 0 0; font-size: 12px; color: var(--c-mute); }
@media (max-width: 900px) { .rank__grid { grid-template-columns: 1fr; } }

/* Titres : on retire les bandeaux noirs inclinés hérités, texte noir net */
.sband h1, .sband h2, .sec-head h2, .page-hero h1, .cta-big h2, .team-hero-name, .player-hero-name, .match-hero-title,
.team-section-title, .match-section-title, .witb-title {
  background: none !important; color: var(--c-ink) !important; -webkit-text-fill-color: var(--c-ink) !important; box-shadow: none !important; transform: none !important; padding: 0 !important; }
.sband em, .sband .text-gold, .sec-head h2 em, .sec-head h2 .text-gold, .page-hero h1 em, .page-hero h1 .text-gold,
.cta-big h2 em, .team-hero-name em, .player-hero-name em, h1 em, h2 em, h3 em {
  color: var(--c-ink) !important; -webkit-text-fill-color: var(--c-ink) !important; }
.cta-big h2 { font-size: clamp(2.6rem, 6vw, 5rem) !important; }
.sec-eyebrow, .cta-big .label { color: var(--c-mute) !important; }
.roster-team-cta { background: transparent !important; color: var(--c-ink) !important; }
.roster-player-dupr { background: var(--c-ink) !important; color: #fff !important; }

/* Étapes (guide, inscription) : cartes grises douces au lieu des billets noirs */
.how__t { background: var(--c-soft) !important; color: var(--c-ink) !important; border-radius: 20px !important; }
.how__t::before, .how__t::after { background: #fff !important; }
.how__l h3, .guide__t .how__l h2 { color: var(--c-ink) !important; -webkit-text-fill-color: var(--c-ink) !important; }
.how__l p, .guide__t .how__l p { color: #424245 !important; }
.guide__t .how__l a { color: var(--c-ink) !important; }
.how__r { background: #fff !important; border-left: 2px dashed #e0e0e5 !important; border-radius: 0 20px 20px 0 !important; }
.how__r b { color: var(--c-ink) !important; }
.how__t:first-child .how__r b { color: var(--c-ink); box-shadow: inset 0 -6px 0 var(--c-volt); }

/* Archives crews / joueurs : badges sobres */
.team-dupr-badge, .rdupr, .roster-card-dupr, .player-card .dupr, .player-dupr-badge { background: var(--c-ink) !important; color: #fff !important; border-color: var(--c-ink) !important; }
.team-card-bar { height: 3px !important; opacity: .9; }
.team-card-cta { background: #fff !important; color: var(--c-ink) !important; border: 1px solid #d2d2d7 !important; border-radius: 999px !important; }
.team-card-footer { background: transparent !important; border-top: 0 !important; }
.page-hero .sec-eyebrow, .page-hero .label { display: block !important; margin-bottom: 14px !important; }

/* Boutique : boutons noirs sobres */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit, .woocommerce a.button.alt, .woocommerce button.button.alt, .add_to_cart_button {
  background: var(--c-ink) !important; color: #fff !important; border: 0 !important; box-shadow: none !important; border-radius: 999px !important; }
.woocommerce a.button:hover, .woocommerce button.button:hover, .add_to_cart_button:hover { background: #333 !important; }

/* « Pour toi + pour ton crew » */
.duo { display: grid; grid-template-columns: 1fr auto 1fr; align-items: stretch; gap: 14px; margin-top: 28px; }
.duo__c { background: var(--c-soft, #f5f5f7); border-radius: 22px; padding: clamp(22px, 3vw, 32px); display: grid; gap: 8px; align-content: start; }
.duo__c--crew { background: var(--c-ink, #1d1d1f); color: #fff; }
.duo__k { font: 600 12px var(--font-body); color: var(--c-mute, #6e6e73); }
.duo__c--crew .duo__k { color: var(--c-volt, #D4FF00); }
.duo__c b { font: 900 italic clamp(1.6rem, 3vw, 2.4rem)/1 var(--font-display); text-transform: uppercase; color: var(--c-ink, #1d1d1f); }
.duo__c--crew b { color: #fff; }
.duo__c p { margin: 0; color: #424245; line-height: 1.55; font-size: 1rem; }
.duo__c--crew p { color: #c7c7cc; }
.duo__plus { align-self: center; width: 44px; height: 44px; border-radius: 50%; background: var(--c-volt, #D4FF00); display: grid; place-items: center; font: 700 1.4rem var(--font-body); color: var(--c-ink, #1d1d1f); }
.duo__top { margin: 16px 0 0; color: #424245; font-size: .98rem; }
.duo__top i { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: var(--c-volt, #D4FF00); border: 1px solid var(--c-ink, #1d1d1f); margin-right: 8px; vertical-align: middle; }
.flow__small { margin: 12px 0 0; font-size: .9rem; color: var(--c-mute, #6e6e73); }
.asc__list--row { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-top: 20px; }
.flow__weeks { grid-template-columns: repeat(14, 1fr) !important; }
@media (max-width: 760px) {
  .duo { grid-template-columns: 1fr; } .duo__plus { justify-self: center; }
  .asc__list--row { grid-template-columns: 1fr; }
  .flow__weeks { grid-template-columns: repeat(7, 1fr) !important; }
}
.zone-circuit .hzh { padding-top: 170px; } .zone-circuit .hzh__num { top: 160px; } @media (max-width: 1000px) { .zone-circuit .hzh { padding-top: 140px; } }
/* Points : titres de cartes plus compacts, semaines du sprint final */
.flow__pts > div b { font-size: clamp(2.2rem, 4vw, 3.2rem) !important; white-space: nowrap; }
.flow__wk.is-sprint { background: #e8e8ed !important; box-shadow: inset 0 -3px 0 var(--c-volt) !important; }
.flow__wk.is-twist { background: var(--c-volt) !important; box-shadow: none !important; } .flow__wk.is-twist b { color: var(--c-ink) !important; }
.hzh__gold { border: 1px solid #1d1d1f; width: 7px !important; height: 7px !important; }
/* Onglet « L2 » de la section Un vendredi */
.flow__facts li.flow__fact-l2 { background: var(--c-ink) !important; }
.flow__fact-l2 b { color: var(--c-volt) !important; font-style: italic; }
.flow__fact-l2 span { color: #c7c7cc !important; }
.flow__fact-l2 strong { display: block; color: #fff; font-weight: 600; margin-bottom: 2px; }

/* ── Inscription : bouton du bloc « Les crews » (fond noir) ── */
.join__side .btn, .join__side .btn-outline-white { background: #fff !important; color: #1d1d1f !important; border: 1.5px solid #fff !important; justify-self: start; }
.join__side .btn:hover, .join__side .btn-outline-white:hover { background: #D4FF00 !important; border-color: #D4FF00 !important; color: #1d1d1f !important; }
.jform__consent a { text-decoration: underline; text-underline-offset: 2px; }

/* ── Pages génériques (confidentialité, photos et vidéos…) ── */
.pg { background: #fff; padding: clamp(40px, 6vw, 88px) 20px clamp(64px, 8vw, 112px); }
.pg__in { max-width: 760px; margin: 0 auto; }
.pg__in--split { max-width: 1120px; display: grid; grid-template-columns: 5fr 7fr; gap: clamp(28px, 5vw, 64px); align-items: start; }
.pg__photo img { width: 100%; height: auto; border-radius: 20px; display: block; }
.pg__photo figcaption { font-size: .85rem; color: #6e6e73; margin-top: 8px; }
.pg__body { color: #1d1d1f; font-size: 1.06rem; line-height: 1.7; }
.pg__body > * + * { margin-top: 1em; }
.pg__body h2 { font: 900 italic clamp(1.5rem, 3vw, 2.1rem)/1.1 var(--font-display, 'Kanit'), sans-serif; text-transform: uppercase; margin-top: 1.8em; padding-top: 1.2em; border-top: 1px solid #e5e5ea; color: #1d1d1f; }
.pg__body h2:first-child { margin-top: 0; padding-top: 0; border-top: 0; }
.pg__body ul { padding-left: 1.2em; }
.pg__body li + li { margin-top: .35em; }
.pg__body li::marker { color: #1d1d1f; }
.pg__body strong { font-weight: 700; box-shadow: inset 0 -.38em 0 #D4FF00; }
.pg__body a { color: #1d1d1f; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 860px) { .pg__in--split { grid-template-columns: 1fr; } }
.pg .pg__body p, .pg .pg__body ul { margin: 0 0 1em !important; }
.pg .pg__body ul { list-style: disc !important; padding-left: 1.3em !important; }
.pg .pg__body li { display: list-item !important; padding: 0 !important; margin: 0 0 .35em !important; }
.pg .pg__body h2 { margin: 1.8em 0 .55em !important; }
.pg .pg__body h2:first-child { margin-top: 0 !important; }
.faq__link { display: inline-block; margin-top: 6px; font-weight: 600; color: var(--c-ink, #1d1d1f); text-decoration: none; box-shadow: inset 0 -.35em 0 #D4FF00; }
.faq__link:hover { box-shadow: inset 0 -1.2em 0 #D4FF00; }

/* ── Page Contact ── */
.pg .pg__body .mp-mail { display: flex; flex-direction: column; gap: 6px; margin: 1.6em 0 2em !important; padding: clamp(22px, 4vw, 34px); background: #1d1d1f; border-radius: 20px; }
.pg .pg__body .mp-mail__k { font-size: .75rem; letter-spacing: .14em; text-transform: uppercase; color: #D4FF00; font-weight: 700; }
.pg .pg__body .mp-mail__v { font: 900 italic clamp(1.35rem, 4.4vw, 2.3rem)/1.1 var(--font-display, 'Kanit'), sans-serif; color: #fff !important; text-decoration: none !important; overflow-wrap: anywhere; }
.pg .pg__body .mp-mail__v:hover { color: #D4FF00 !important; }
.combine-prix { line-height: 1.15; }

/* ── Formulaire de la page Contact ── */
.pg .pg__body .mp-contact .jform { margin-top: 18px; }
.pg .pg__body .mp-contact .jform label { margin: 0; }
.pg .pg__body .mp-contact .join__msg { margin: 8px 0 0 !important; }
.pg .pg__body .mp-contact .jform .btn { color: #1d1d1f; text-decoration: none; }
@media (max-width: 640px) { .pg .pg__body .mp-contact .jform__row { grid-template-columns: 1fr; } }

/* 4 cartes (brassard, capitaines, trophées, prix) */
.flow__cups { grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)) !important; }

/* Logo du Horizon Tour en héros */
.chero__t--logo { margin-top: 22px !important; line-height: 0 !important; }
.chero__t--logo img { display: block; width: min(680px, 100%); height: auto; }
@media (max-width: 760px) { .chero__t--logo img { width: min(440px, 100%); } }

/* ═══ Cartes des crews : le logo en vedette, fond pâle ═══ */
.crewc-grid { display: flex; flex-wrap: wrap; justify-content: center; gap: 22px; }
.crewc-grid > .crewc { flex: 0 1 calc((100% - 66px) / 4); min-width: 230px; }
.crewc { --crew: #a1a1a6; position: relative; isolation: isolate; overflow: hidden; display: flex; flex-direction: column; border-radius: 26px; background: #fff; color: #1d1d1f; text-decoration: none !important; box-shadow: 0 1px 2px rgba(0,0,0,.04), inset 0 0 0 1px rgba(0,0,0,.05); transition: transform .35s cubic-bezier(.2,.8,.2,1), box-shadow .35s; }
.crewc__glow { position: absolute; inset: -15%; z-index: -1; background: radial-gradient(closest-side at 50% 38%, color-mix(in srgb, var(--crew) 32%, #fff), #fff 80%); transition: transform .5s, filter .35s; }
.crewc::after { content: ''; position: absolute; inset: 0; z-index: -1; background: repeating-linear-gradient(135deg, rgba(0,0,0,.025) 0 2px, transparent 2px 14px); }
.crewc__logo { display: grid; place-items: center; padding: 26px 26px 10px; }
.crewc__logo img { width: 100%; max-width: 300px; aspect-ratio: 1; object-fit: contain; filter: drop-shadow(0 14px 18px rgba(0,0,0,.18)); transition: transform .45s cubic-bezier(.2,.8,.2,1); }
.crewc__initial { font: 900 italic 8rem/1 var(--font-display); color: var(--crew); }
.crewc__body { display: grid; gap: 8px; padding: 0 22px 20px; }
.crewc__name { font: 900 italic clamp(1.7rem, 2.6vw, 2.2rem)/.95 var(--font-display); text-transform: uppercase; letter-spacing: -.01em; color: #1d1d1f; }
.crewc__meta { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding-top: 12px; border-top: 1px solid rgba(0,0,0,.08); font-size: .85rem; color: #6e6e73; }
.crewc__meta em { font-style: normal; font-weight: 600; color: #1d1d1f; white-space: nowrap; }
.crewc:hover, .crewc:focus-visible { transform: translateY(-6px); box-shadow: 0 26px 46px -22px color-mix(in srgb, var(--crew) 75%, #000), inset 0 0 0 1px rgba(0,0,0,.05); }
.crewc:hover .crewc__glow, .crewc:focus-visible .crewc__glow { transform: scale(1.1); filter: saturate(1.4); }
.crewc:hover .crewc__logo img, .crewc:focus-visible .crewc__logo img { transform: scale(1.06) rotate(-2deg); }
.crewc:hover .crewc__meta em { text-decoration: underline; text-underline-offset: 3px; text-decoration-color: var(--crew); text-decoration-thickness: 2px; }
.crewc:focus-visible { outline: 3px solid #1d1d1f; outline-offset: 3px; }
@media (max-width: 640px) {
  .crewc-grid { gap: 12px; }
  .crewc-grid > .crewc { flex-basis: calc(50% - 6px); min-width: 0; }
  .crewc { border-radius: 18px; }
  .crewc__logo { padding: 14px 12px 6px; }
  .crewc__body { padding: 0 12px 12px; gap: 6px; }
  .crewc__name { font-size: 1.15rem; }
  .crewc__meta { font-size: .72rem; padding-top: 8px; }
  .crewc__meta em { display: none; }
}
@media (prefers-reduced-motion: reduce) { .crewc, .crewc *, .crewc__glow { transition: none !important; } }

.crewc-more { text-align: center; margin: 28px 0 0; }
.crewc-more a { font-weight: 600; color: #1d1d1f; text-decoration: none; box-shadow: inset 0 -.35em 0 #D4FF00; }


/* ═══ Page d'un crew ═══ */
.crewp { --crew: #a1a1a6; }
.crewp__hero { position: relative; isolation: isolate; overflow: hidden; background: #fff; border-bottom: 1px solid var(--c-line, #e5e5ea); padding: clamp(28px, 4vw, 56px) max(20px, env(safe-area-inset-left, 0px)) clamp(36px, 5vw, 72px); }
.crewp__glow { position: absolute; inset: -30% -10% -30% -30%; z-index: -1; background: radial-gradient(closest-side at 30% 50%, color-mix(in srgb, var(--crew) 30%, #fff), #fff 75%); }
.crewp__hero::after { content: ''; position: absolute; inset: 0; z-index: -1; background: repeating-linear-gradient(135deg, rgba(0,0,0,.022) 0 2px, transparent 2px 16px); }
.crewp__hero-in { max-width: 1100px; margin: 0 auto; display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: clamp(24px, 5vw, 72px); align-items: center; }
.crewp__logo img { display: block; width: 100%; max-width: 440px; margin: 0 auto; aspect-ratio: 1; object-fit: contain; filter: drop-shadow(0 22px 30px rgba(0,0,0,.2)); }
.crewp__name { margin: 14px 0 0; font: 900 italic clamp(3.2rem, 8vw, 6.5rem)/.9 var(--font-display); text-transform: uppercase; letter-spacing: -.015em; color: #1d1d1f; }
.crewp__stats { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 26px; }
.crewp__stats > div { display: grid; gap: 2px; min-width: 120px; padding: 12px 16px; border-radius: 16px; background: rgba(255,255,255,.75); box-shadow: inset 0 0 0 1px rgba(0,0,0,.06); }
.crewp__stats b { font: 900 italic 1.25rem/1.1 var(--font-display); color: #1d1d1f; }
.crewp__stats span { font-size: 12px; color: #6e6e73; }
.crewp__sec { background: var(--c-soft, #f5f5f7); padding: clamp(40px, 6vw, 80px) 0; }
.crewp__lead { color: #6e6e73; max-width: 60ch; margin: 6px 0 22px; }
.crewp__roster { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.crewp__player { display: grid; justify-items: center; text-align: center; gap: 6px; padding: 22px 14px; border-radius: 20px; background: #fff; color: #1d1d1f; text-decoration: none !important; box-shadow: inset 0 0 0 1px rgba(0,0,0,.05); transition: transform .3s, box-shadow .3s; }
a.crewp__player:hover { transform: translateY(-4px); box-shadow: 0 18px 34px -20px color-mix(in srgb, var(--crew) 80%, #000); }
.crewp__player b { font: 900 italic 1.05rem/1.1 var(--font-display); text-transform: uppercase; }
.crewp__player > span:last-child { font-size: 12px; color: #6e6e73; }
.crewp__av { position: relative; width: 76px; height: 76px; border-radius: 50%; display: grid; place-items: center; background: color-mix(in srgb, var(--crew) 22%, #fff); overflow: visible; }
.crewp__av img { width: 100%; height: 100%; border-radius: 50%; object-fit: cover; }
.crewp__av i { font: 900 italic 1.8rem var(--font-display); font-style: italic; color: color-mix(in srgb, var(--crew) 70%, #000); }
.crewp__c { position: absolute; right: -2px; bottom: -2px; width: 26px; height: 26px; border-radius: 50%; display: grid; place-items: center; background: #1d1d1f; color: #D4FF00; font: 900 italic 13px var(--font-display); border: 2px solid #fff; }
.crewp__player.is-open { background: transparent; box-shadow: inset 0 0 0 1.5px rgba(0,0,0,.12); border: 0; }
.crewp__player.is-open .crewp__av { background: #fff; box-shadow: inset 0 0 0 1.5px rgba(0,0,0,.1); }
.crewp__player.is-open .crewp__av i { color: #c7c7cc; }
.crewp__about { margin-top: 28px; max-width: 70ch; }
.crewp__others { background: #fff; padding: clamp(30px, 4vw, 52px) 0; border-top: 1px solid var(--c-line, #e5e5ea); }
.crewp__strip { display: flex; gap: 10px; overflow-x: auto; scrollbar-width: none; padding: 4px 2px 8px; }
.crewp__strip::-webkit-scrollbar { display: none; }
.crewp__strip a { flex: 0 0 auto; width: 104px; display: grid; justify-items: center; gap: 6px; padding: 10px 8px; border-radius: 16px; text-decoration: none !important; color: #1d1d1f; transition: background .2s, transform .2s; }
.crewp__strip a:hover { background: var(--c-soft, #f5f5f7); transform: translateY(-3px); }
.crewp__strip img { width: 76px; height: 76px; object-fit: contain; }
.crewp__strip span { font: 900 italic 11px var(--font-display); text-transform: uppercase; }
@media (max-width: 860px) {
  .crewp__hero-in { grid-template-columns: 1fr; text-align: center; }
  .crewp__logo img { max-width: 300px; }
  .crewp__stats, .crewp__hero .chero__ctas { justify-content: center; }
  .crewp__roster { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 400px) { .crewp__stats > div { min-width: 0; flex: 1 1 30%; padding: 10px 12px; } }


/* ═══ Page des joueurs ═══ */
.plyp { background: var(--c-soft, #f5f5f7); padding: clamp(32px, 5vw, 72px) 0; }
.plyp__top { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 22px; }
.plyp__count { margin: 0; font-size: .95rem; color: #6e6e73; }
.plyp__count b { font: 900 italic 1.6rem var(--font-display); color: #1d1d1f; }
.plyp__filters { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; max-width: 100%; }
.plyp__filters::-webkit-scrollbar { display: none; }
.plyp__filters button { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 8px; height: 40px; padding: 0 16px 0 10px; border: 0; border-radius: 999px; background: #fff; color: #1d1d1f; font: 600 13px var(--font-body); cursor: pointer; box-shadow: inset 0 0 0 1px rgba(0,0,0,.08); }
.plyp__filters button:first-child { padding-left: 16px; }
.plyp__filters button img { width: 26px; height: 26px; object-fit: contain; }
.plyp__filters button.is-on { background: #1d1d1f; color: #fff; box-shadow: none; }
.plyp__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.plyc { --crew: #a1a1a6; position: relative; display: flex; flex-direction: column; border-radius: 22px; overflow: hidden; background: #fff; color: #1d1d1f; text-decoration: none !important; box-shadow: inset 0 0 0 1px rgba(0,0,0,.05); transition: transform .3s cubic-bezier(.2,.8,.2,1), box-shadow .3s; }
a.plyc:hover, a.plyc:focus-visible { transform: translateY(-5px); box-shadow: 0 22px 40px -22px color-mix(in srgb, var(--crew) 80%, #000); }
.plyc__photo { position: relative; display: grid; place-items: center; aspect-ratio: 4 / 5; overflow: hidden; background: radial-gradient(circle at 50% 35%, color-mix(in srgb, var(--crew) 35%, #fff), color-mix(in srgb, var(--crew) 12%, #f5f5f7) 75%); }
.plyc__photo > img:not(.plyc__crew) { width: 100%; height: 100%; object-fit: cover; transition: transform .45s; }
a.plyc:hover .plyc__photo > img:not(.plyc__crew) { transform: scale(1.04); }
.plyc__photo i { font: 900 italic 5rem/1 var(--font-display); color: color-mix(in srgb, var(--crew) 70%, #000); opacity: .5; }
.plyc__crew { position: absolute; right: 10px; bottom: 10px; width: 64px; height: 64px; object-fit: contain; filter: drop-shadow(0 6px 10px rgba(0,0,0,.25)); }
.plyc__c { position: absolute; left: 12px; top: 12px; width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; background: #1d1d1f; color: #D4FF00; font: 900 italic 15px var(--font-display); }
.plyc__body { display: grid; gap: 4px; padding: 14px 16px 16px; }
.plyc__name { font: 900 italic 1.25rem/1.05 var(--font-display); text-transform: uppercase; }
.plyc__team { font-size: 12.5px; color: #6e6e73; }
.plyc__stats { display: flex; gap: 8px; margin-top: 8px; }
.plyc__stats > span { display: grid; flex: 1; padding: 8px 10px; border-radius: 12px; background: var(--c-soft, #f5f5f7); font-size: 11px; color: #6e6e73; }
.plyc__stats b { font: 900 italic 1.05rem/1.1 var(--font-display); color: #1d1d1f; }
.plyp__grid:empty { display: none; }
.plyp__openwrap { margin-top: 34px; }
.plyp__open { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 10px; }
.plyp__slot { display: grid; justify-items: center; gap: 6px; padding: 16px 6px 12px; border-radius: 16px; box-shadow: inset 0 0 0 1.5px rgba(0,0,0,.1); background: repeating-linear-gradient(135deg, rgba(0,0,0,.025) 0 2px, transparent 2px 12px); }
.plyp__slot i { width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; background: #fff; box-shadow: inset 0 0 0 1.5px rgba(0,0,0,.1); font: 900 italic 1.2rem var(--font-display); color: #c7c7cc; }
.plyp__slot b { font: 900 italic 10px/1.1 var(--font-display); text-transform: uppercase; color: #8e8e93; text-align: center; }
.plyp__note { margin: 14px 0 0; font-size: .9rem; color: #6e6e73; }
.plyp__cta { margin: 30px 0 0; text-align: center; }
@media (max-width: 960px) { .plyp__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } .plyp__open { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
@media (max-width: 640px) {
  .plyp__grid { grid-template-columns: 1fr 1fr; gap: 10px; }
  .plyp__open { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
  .plyc { border-radius: 16px; }
  .plyc__body { padding: 10px 12px 12px; }
  .plyc__name { font-size: 1rem; }
  .plyc__crew { width: 44px; height: 44px; right: 6px; bottom: 6px; }
  .plyc__stats { gap: 6px; } .plyc__stats > span { padding: 6px 8px; }
}

/* Mini logo du crew à côté du nom d'un joueur */
.crew-mini { display: inline-block; width: 22px; height: 22px; object-fit: contain; vertical-align: -6px; margin-right: 6px; flex: none; }
.cal__p b .crew-mini { width: 20px; height: 20px; margin-right: 4px; }
.pts__side li span { display: inline-flex; align-items: center; }

/* Classements : logo du crew + nom */
.rank__demo { margin-top: 24px; }
.rank__r.is-set span { display: flex; align-items: center; min-width: 0; color: var(--c-ink); font-weight: 500; }
.rank__r.is-set span > i:not(.hzh__gold) { font-style: normal; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rank__r.is-set span .hzh__gold { margin-left: 6px; flex: none; }
.rank__r.is-set em { color: var(--c-ink); font-weight: 600; font-variant-numeric: tabular-nums; }

/* Page « Notre histoire » : photo collante, signature, bouton final */
@media (min-width: 761px) { .pg__in--split .pg__photo { position: sticky; top: 140px; } }
.pg .pg__body .pg__sign { margin: 2.2em 0 0 !important; display: flex; flex-direction: column; gap: 2px; }
.pg .pg__body .pg__sign b { font: 900 italic clamp(1.6rem, 3.4vw, 2.2rem)/1 var(--font-display, 'Kanit'), sans-serif; text-transform: uppercase; color: #1d1d1f; }
.pg .pg__body .pg__sign span { font-size: .9rem; color: #6e6e73; }
.pg .pg__body .pg__cta { margin: 1.8em 0 0 !important; }
.pg .pg__body .pg__cta a { display: inline-flex; align-items: center; gap: 8px; padding: 14px 24px; border-radius: 999px; background: #1d1d1f; color: #fff !important; font-weight: 600; text-decoration: none !important; transition: background .2s, color .2s; }
.pg .pg__body .pg__cta a:hover { background: #D4FF00; color: #1d1d1f !important; }

/* Logo Horizon Tour (losange) dans le héros */
.chero__t--logo img { width: min(420px, 100%); }
@media (max-width: 760px) { .chero__t--logo img { width: min(300px, 82%); } }

/* Héros Horizon Tour : même design, seul le logo est centré et agrandi */
.chero--center .chero__in { max-width: none; }
.chero--center .chero__t--logo img { width: min(600px, 80vw); margin: 0 auto; }
@media (max-width: 760px) { .chero--center .chero__t--logo img { width: min(340px, 84vw); } }

/* Message de confirmation des formulaires : bloc vert, texte blanc */
.join__msg.join__msg--ok, .pg .pg__body .join__msg.join__msg--ok { background: #1f9d55 !important; color: #fff !important; border: 0; }
.pg .pg__body .join__msg.join__msg--err { color: #111 !important; }
