/*
Theme Name: H254 — RTT AEDEC Hyon-Cuesmes
Description: Identité du club H254, basée sur Twenty Twenty-Four.
Author: H254
Template: twentytwentyfour
Version: 1.1.0
Text Domain: h254
*/
:root{--h254-red:#c8102e;--h254-black:#111111}
.h254-hero h1,.h254-hero h2,.h254-footer h2,.h254-footer h3{color:#fff}
html{scroll-behavior:smooth}body{margin:0}a{text-underline-offset:.2em}a:focus-visible,button:focus-visible{outline:3px solid #e33b54;outline-offset:5px}
.h254-header{border-bottom:1px solid #333;padding:18px 5vw!important}.h254-header .wp-block-site-title{font-size:18px;font-weight:800;letter-spacing:.01em}.h254-header .wp-block-navigation{font-size:14px;font-weight:600}.h254-header a{text-decoration:none}.h254-header .wp-block-image{margin:0}.h254-header img{width:64px;height:64px;object-fit:contain}
.h254-hero{padding:70px max(5vw,calc((100vw - 1200px)/2))!important;background:#111;color:#fff}.h254-hero h1{font-size:clamp(42px,6.5vw,88px);font-weight:850;line-height:1.02;letter-spacing:-.045em;margin:20px 0}.h254-hero h1 strong{color:#ff3652}.h254-hero p{max-width:650px}.h254-eyebrow{font-size:12px!important;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.h254-hero .wp-block-image img{width:100%;height:420px;object-fit:cover;border-radius:4px}.h254-hero .h254-logo img{object-fit:contain;height:370px}
.h254-section{padding:64px 5vw!important}.h254-section h2{font-size:clamp(28px,3.5vw,44px);font-weight:800;letter-spacing:-.03em;line-height:1.15}.h254-card{height:100%;border:1px solid #dedee2;border-radius:8px;overflow:hidden;background:white}.h254-card .wp-block-image{margin:0}.h254-card .wp-block-image img{width:100%;height:220px;object-fit:cover}.h254-card-body{padding:24px!important}.h254-card h3{font-size:25px;font-weight:750;line-height:1.15}.h254-card .wp-block-buttons{margin-top:24px}.h254-note{border-left:4px solid #c8102e;padding:16px 22px;background:#f4f4f5;font-size:15px}.h254-footer{padding:48px 5vw!important}.h254-footer a{color:#fff}.h254-footer p{font-size:14px}.h254-contact a{overflow-wrap:anywhere}.h254-photo img{width:100%;max-height:620px;object-fit:cover;border-radius:6px}.h254-page-content{margin-top:0!important}.wp-block-button__link{font-weight:700}.h254-press{border-top:1px solid #ddd;padding:25px 0}.h254-press h3{font-size:24px}.h254-press p{font-size:16px}
@media(max-width:780px){.h254-hero{padding:45px 6vw!important}.h254-hero .wp-block-image img{height:280px}.h254-section{padding:40px 6vw!important}.h254-header .wp-block-site-title{font-size:14px}.h254-header img{width:45px;height:45px}.h254-header .wp-block-navigation__responsive-container.is-menu-open{background:#111;color:white}.h254-card{margin-bottom:16px}.h254-footer{padding:35px 6vw!important}}

/* Horaires du club */
.h254-training-table{overflow-x:auto}.h254-training-table table{min-width:460px;border-collapse:collapse;font-size:16px}.h254-training-table th{background:#111;color:#fff;text-align:left}.h254-training-table th,.h254-training-table td{padding:16px;border:1px solid #dedee2;vertical-align:top}.h254-training-table th:first-child{width:22%}.h254-training-table th:nth-child(2){width:28%}.h254-training-table tr:nth-child(even) td{background:#f4f4f5}

/* Photo des vétérans */
.h254-hero .h254-veterans-portrait img{height:auto;max-height:600px;object-fit:contain}.h254-card .h254-veterans-card img{object-position:center 65%}

/* Photo de groupe de l’école des jeunes */
.h254-hero .h254-youth-group img,.h254-card .h254-youth-group img{height:auto;max-height:none;object-fit:contain}

/* Official partner logos */
.h254-partner-logos{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px!important}.h254-partner-tile{margin:0!important;padding:24px!important;border:1px solid #d4d4d8;border-radius:16px;background:#fff;text-align:center}.h254-partner-logo{margin:0!important}.h254-partner-logo img{width:100%;height:110px!important;object-fit:contain!important}.h254-logo-wavenet img{object-fit:cover!important}.h254-partner-tile p{font-size:.95rem;font-weight:700}@media(max-width:780px){.h254-partner-logos{grid-template-columns:1fr}.h254-partner-logo{max-width:300px;margin:auto!important}}

.h254-logo-dark{background:#111;border-radius:8px;padding:12px;box-sizing:border-box}.h254-logo-dark img{object-fit:contain!important}

.h254-welcome-photo{width:100%;margin:0!important}.h254-welcome-photo img{display:block;width:100%!important;height:auto!important;max-height:none!important;object-fit:contain!important;border-radius:18px}

/* Equal image heights for section cards */
.h254-card .wp-block-image img,.h254-card .h254-youth-group img{display:block;width:100%;height:220px!important;max-height:none;object-fit:cover!important}.h254-card .h254-youth-group img{object-position:center 60%}

/* Wavenet optical logo sizing */
.h254-partner-tile .h254-logo-wavenet{height:110px;overflow:hidden;position:relative}.h254-partner-tile .h254-logo-wavenet a{display:block;width:100%;height:100%;position:relative}.h254-partner-tile .h254-logo-wavenet img{position:absolute;left:0;top:50%;width:100%!important;max-width:none!important;height:auto!important;max-height:none!important;transform:translateY(-50%);object-fit:contain!important}

/* H254 nouvel elan */
.h254-elan-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:32px 0}.h254-elan-photos figure{margin:0!important;min-width:0}.h254-elan-photos img{display:block;width:100%;height:420px;object-fit:cover;border-radius:8px}.h254-elan-photos figcaption{font-size:15px;margin-top:12px;line-height:1.5}@media(max-width:600px){.h254-elan-photos{grid-template-columns:1fr}.h254-elan-photos img{height:auto;max-height:none}}

/* H254 transferts */
.h254-transferts-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:32px 0}.h254-transferts-gallery figure{margin:0!important;min-width:0}.h254-transferts-gallery img{display:block;width:100%;height:320px;object-fit:contain;background:#f5f5f5;border-radius:8px}@media(max-width:600px){.h254-transferts-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.h254-transferts-gallery img{height:240px}}

/* H254 ping feminin */
.h254-fem-teams,.h254-fem-talents{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.h254-fem-stat,.h254-fem-talent{padding:24px!important;border:1px solid #ddd;border-radius:14px;margin:0!important}.h254-fem-stat{background:#c8102e;color:white}.h254-fem-stat h3{font-size:2.5rem;margin:0}.h254-fem-stat p{margin:8px 0 0}.h254-fem-talent h3{font-size:1.4rem}.h254-fem-gallery{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:start}.h254-fem-gallery figure{margin:0!important}.h254-fem-photo img{width:100%;height:auto;border-radius:12px}.h254-fem-gallery img{height:340px;object-fit:contain;background:#f4f4f5}.h254-fem-photo figcaption{font-size:.9rem;color:#555}.h254-fem-photo{margin-top:28px}.h254-fem-talent p{font-size:1rem}@media(max-width:700px){.h254-fem-gallery,.h254-fem-talents{grid-template-columns:1fr}.h254-fem-gallery img{height:auto}.h254-fem-stat{padding:18px!important}}

/* H254 October 25 additions */
.h254-tournoi-gallery{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.h254-tournoi-gallery figure{margin:0!important}.h254-tournoi-photo img{width:100%;height:300px;object-fit:contain;background:#f4f4f5;border-radius:12px}.h254-person-portrait{width:180px;max-width:100%;margin:0 0 20px!important}.h254-person-portrait img{width:100%;height:auto!important;border-radius:12px}#elite-hommes,#elite-dames,#elite-jeunes,#menu-elite{scroll-margin-top:24px}@media(max-width:700px){.h254-tournoi-gallery{grid-template-columns:1fr}.h254-tournoi-photo img{height:auto}}

/* H254 uniform committee portraits */
:is(#comite,#contacts-jeunes,#contact-veterans) .h254-person-portrait{width:180px;height:220px;margin:0 0 20px!important}
:is(#comite,#contacts-jeunes,#contact-veterans) .h254-person-portrait img{display:block;width:180px!important;height:220px!important;max-width:100%;object-fit:cover;object-position:center top;border-radius:12px}
:is(#comite,#contacts-jeunes,#contact-veterans)>.wp-block-columns>.wp-block-column{padding:24px;box-sizing:border-box;border:1px solid #dedee2;border-radius:12px;margin:0!important}
:is(#comite,#contacts-jeunes,#contact-veterans) .wp-block-column>h3{margin-top:0!important}
@media(min-width:600px){:is(#comite,#contacts-jeunes,#contact-veterans)>.wp-block-columns{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px!important;align-items:stretch!important}:is(#comite,#contacts-jeunes,#contact-veterans)>.wp-block-columns>.wp-block-column:not(:has(.h254-person-portrait))::before{content:"";display:block;height:220px;margin-bottom:20px}}
/* H254 young elite gallery */
.h254-young-names{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:28px 0!important}.h254-young-names p{margin:0!important;background:#c8102e;color:#fff;padding:20px;border-radius:10px;text-align:center}.h254-young-gallery{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.h254-young-photo{margin:24px 0!important;min-width:0}.h254-young-gallery figure{margin:0!important}.h254-young-photo img{display:block;width:100%;height:480px;object-fit:contain;background:#f4f4f5;border-radius:12px}.h254-young-group img{height:auto}.h254-young-photo figcaption{font-size:.95rem;color:#555;margin-top:12px}.h254-young-photo a:focus-visible{display:block}#elite-jeunes>p{max-width:1000px}@media(max-width:700px){.h254-young-names{grid-template-columns:repeat(2,minmax(0,1fr))}.h254-young-gallery{grid-template-columns:1fr}.h254-young-photo img{height:auto}}
/* H254 standard presentation portraits */
.h254-person-portrait,:is(#comite,#contacts-jeunes,#contact-veterans) .h254-person-portrait{width:180px!important;height:220px!important;max-width:100%;margin:0 0 20px!important}
.h254-person-portrait img,:is(#comite,#contacts-jeunes,#contact-veterans) .h254-person-portrait img{display:block;width:180px!important;height:220px!important;max-width:100%;object-fit:cover!important;object-position:center top;border-radius:12px}
.h254-path-section{margin:48px 0!important}.h254-path-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.h254-path-card{padding:24px!important;border:1px solid #dedee2;border-radius:12px;margin:0!important}.h254-path-card h3{margin:0 0 16px!important}.h254-path-card p{margin:0!important}@media(max-width:600px){.h254-path-grid{grid-template-columns:1fr}}
/* H254 useful links */
.h254-useful-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.h254-useful-card{display:flex;flex-direction:column;margin:0!important;padding:28px!important;border:1px solid #ddd;border-radius:14px;background:#fff}.h254-useful-logo{margin:0 0 20px!important;height:130px}.h254-useful-logo img{display:block;width:100%;height:130px!important;object-fit:contain!important}.h254-useful-card h3{font-size:1.5rem;margin:0 0 12px!important}.h254-useful-card p{margin:0 0 24px!important}.h254-useful-card>.wp-block-buttons{margin-top:auto!important}.h254-useful-dispos{border-left:5px solid #c8102e;padding:28px!important;background:#f4f4f5;border-radius:12px;margin:0 0 48px!important}.h254-useful-dispos h2{margin-top:0!important}@media(max-width:600px){.h254-useful-grid{grid-template-columns:1fr}}
/* H254 contact map */
.h254-contact-map{margin:28px 0!important;border:1px solid #ddd;border-radius:14px;overflow:hidden;background:#f4f4f5}.h254-contact-map iframe{display:block;width:100%;height:420px;border:0}@media(max-width:600px){.h254-contact-map iframe{height:320px}}

/* H254 compact women teams */
.h254-fem-teams{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:14px!important}
.h254-fem-teams .h254-fem-stat{display:flex;align-items:center;gap:14px;padding:18px 20px!important;border:0;border-radius:10px}
.h254-fem-teams .h254-fem-stat h3{color:#fff!important;font-size:2rem!important;line-height:1;margin:0!important;flex-shrink:0}
.h254-fem-teams .h254-fem-stat p{color:#fff;font-size:1rem;line-height:1.3;margin:0!important}
@media(max-width:900px){.h254-fem-teams{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:400px){.h254-fem-teams{gap:10px!important}.h254-fem-teams .h254-fem-stat{padding:14px 12px!important;gap:10px}.h254-fem-teams .h254-fem-stat p{font-size:.9rem}}
/* H254 compact committee cards */
:is(#comite,#contacts-jeunes,#contact-veterans)>.wp-block-columns>.wp-block-column{display:grid!important;grid-template-columns:120px minmax(0,1fr);grid-template-rows:auto auto 1fr;column-gap:20px;row-gap:10px;padding:20px!important;align-content:start}
:is(#comite,#contacts-jeunes,#contact-veterans)>.wp-block-columns>.wp-block-column>.h254-person-portrait{grid-column:1;grid-row:1 / span 4;width:120px!important;height:147px!important;margin:0!important}
:is(#comite,#contacts-jeunes,#contact-veterans)>.wp-block-columns>.wp-block-column>.h254-person-portrait img{width:120px!important;height:147px!important;object-fit:cover!important}
:is(#comite,#contacts-jeunes,#contact-veterans)>.wp-block-columns>.wp-block-column>h3,:is(#comite,#contacts-jeunes,#contact-veterans)>.wp-block-columns>.wp-block-column>p{grid-column:2;margin:0!important}
:is(#comite,#contacts-jeunes,#contact-veterans)>.wp-block-columns>.wp-block-column>h3{font-size:1.35rem;line-height:1.2}
:is(#comite,#contacts-jeunes,#contact-veterans)>.wp-block-columns>.wp-block-column>p{font-size:.95rem;line-height:1.5}
:is(#comite,#contacts-jeunes,#contact-veterans)>.wp-block-columns>.wp-block-column:not(:has(.h254-person-portrait)){display:block!important}
:is(#comite,#contacts-jeunes,#contact-veterans)>.wp-block-columns>.wp-block-column:not(:has(.h254-person-portrait))::before{display:none!important}
:is(#comite,#contacts-jeunes,#contact-veterans)>.wp-block-columns>.wp-block-column:not(:has(.h254-person-portrait))>p{margin-top:10px!important}
@media(min-width:600px) and (max-width:1050px){:is(#comite,#contacts-jeunes,#contact-veterans)>.wp-block-columns{grid-template-columns:1fr!important}}
@media(max-width:380px){:is(#comite,#contacts-jeunes,#contact-veterans)>.wp-block-columns>.wp-block-column{grid-template-columns:90px minmax(0,1fr);column-gap:12px;padding:14px!important}:is(#comite,#contacts-jeunes,#contact-veterans)>.wp-block-columns>.wp-block-column>.h254-person-portrait{width:90px!important;height:110px!important}:is(#comite,#contacts-jeunes,#contact-veterans)>.wp-block-columns>.wp-block-column>.h254-person-portrait img{width:90px!important;height:110px!important}}
/* H254 elite histories */
.h254-elite-story{max-width:1100px;margin-inline:auto}.h254-elite-milestones{border-left:4px solid #c8102e;padding:4px 0 4px 24px;margin:28px 0}.h254-elite-milestones p{margin:14px 0}.h254-elite-roster{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:24px 0}.h254-elite-person{display:flex;align-items:flex-start;gap:18px;border:1px solid #ddd;border-radius:12px;padding:18px;margin:0!important}.h254-elite-person .h254-elite-portrait{flex:0 0 110px;width:110px;margin:0!important}.h254-elite-portrait img{display:block;width:110px;height:135px;object-fit:cover;object-position:top center;border-radius:8px}.h254-elite-person-text{min-width:0}.h254-elite-person h4{font-size:20px;margin:0 0 10px}.h254-elite-person p{font-size:15px;line-height:1.6;margin:0}.h254-elite-partner{background:#f6f6f7;border-radius:12px;padding:24px;margin:28px 0}.h254-elite-partner h3{margin-top:0}.h254-latest-report{border-left:4px solid #c8102e}.h254-latest-report h2{font-size:clamp(24px,3vw,36px)}@media(max-width:760px){.h254-elite-roster{grid-template-columns:1fr}}@media(max-width:420px){.h254-elite-person{gap:12px;padding:14px}.h254-elite-person .h254-elite-portrait{flex-basis:85px;width:85px}.h254-elite-portrait img{width:85px;height:104px}}
/* H254 TeleMB archives */
.h254-telemb-shows{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.h254-telemb-show{padding:24px;border:1px solid #ddd;border-radius:12px;margin:0!important}.h254-telemb-show h3{font-size:24px;margin-top:14px}.h254-telemb-show p{font-size:16px}.h254-telemb-show .wp-block-button__link{font-size:15px}@media(max-width:700px){.h254-telemb-shows{grid-template-columns:1fr}}

/* H254 compact national pathway cards */
#parcours-national .h254-path-grid{gap:18px}
#parcours-national .h254-path-card{display:grid!important;grid-template-columns:110px minmax(0,1fr);grid-template-rows:auto 1fr;column-gap:18px;row-gap:10px;padding:18px!important;align-items:start}
#parcours-national .h254-path-card .h254-person-portrait{grid-column:1;grid-row:1 / 3;width:110px!important;height:135px!important;margin:0!important}
#parcours-national .h254-path-card .h254-person-portrait img{width:110px!important;height:135px!important;object-fit:cover!important;object-position:center top}
#parcours-national .h254-path-card h3{grid-column:2;grid-row:1;font-size:22px;line-height:1.2;margin:0!important;overflow-wrap:anywhere}
#parcours-national .h254-path-card p{grid-column:2;grid-row:2;font-size:15px;line-height:1.55;margin:0!important}
@media(max-width:760px){#parcours-national .h254-path-grid{grid-template-columns:1fr}}
@media(max-width:420px){#parcours-national .h254-path-card{grid-template-columns:85px minmax(0,1fr);column-gap:12px;padding:14px!important}#parcours-national .h254-path-card .h254-person-portrait,#parcours-national .h254-path-card .h254-person-portrait img{width:85px!important;height:104px!important}#parcours-national .h254-path-card h3{font-size:20px}}
/* H254 ordered press */
.h254-telemb-ordered>.h254-telemb-show{margin:24px 0!important}.h254-telemb-ordered>.h254-latest-report{padding:24px!important;margin:24px 0!important}.h254-coverage>.wp-block-buttons{margin:24px 0}.h254-telemb-ordered{scroll-margin-top:24px}

/* H254 uniform TeleMB report cards */
#reportages-telemb>.h254-press-illustrated{padding:28px 0!important;margin:0!important;border-radius:0;border-left:0;border-right:0;background:transparent}
#reportages-telemb .h254-press-illustrated>.wp-block-columns{display:grid!important;grid-template-columns:minmax(0,2fr) minmax(0,3fr);align-items:start!important;gap:28px!important;margin:0!important}
#reportages-telemb .h254-press-illustrated .wp-block-column{width:auto!important;min-width:0;flex-basis:auto!important;margin:0!important}
#reportages-telemb .h254-press-illustrated .wp-block-image{width:100%;margin:0!important}
#reportages-telemb .h254-press-illustrated .wp-block-image>a{display:block;width:100%;aspect-ratio:16/9;border-radius:10px;overflow:hidden;background:#f4f4f5}
#reportages-telemb .h254-press-illustrated .wp-block-image img{display:block!important;width:100%!important;max-width:100%!important;height:100%!important;aspect-ratio:16/9!important;object-fit:cover!important;object-position:center!important;padding:0!important;border-radius:0!important}
#reportages-telemb .h254-press-illustrated figcaption{margin:8px 0 0!important;font-size:12px!important;line-height:1.4;text-align:left}
#reportages-telemb .h254-press-illustrated .wp-block-column>p:first-child{margin:0 0 12px!important;font-size:14px!important;font-weight:700;line-height:1.5;text-transform:none;letter-spacing:normal}
#reportages-telemb .h254-press-illustrated h3{font-size:clamp(23px,2.3vw,30px)!important;line-height:1.2;margin:0 0 16px!important}
#reportages-telemb .h254-press-illustrated .wp-block-buttons{margin:20px 0 0!important}
#reportages-telemb .h254-press-illustrated .wp-block-button__link{font-size:15px!important;line-height:1.4;padding:12px 18px!important;border-radius:6px}
@media(max-width:781px){#reportages-telemb .h254-press-illustrated>.wp-block-columns{grid-template-columns:minmax(0,1fr);gap:20px!important}}
/* H254 TeleMB full-width grid consistency on wide screens */
#reportages-telemb>.h254-press-illustrated{width:100%!important;max-width:none!important;box-sizing:border-box}
#reportages-telemb .h254-press-illustrated>.wp-block-columns{width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important;box-sizing:border-box}
#reportages-telemb .h254-press-illustrated .wp-block-column>.wp-block-image{width:100%!important;max-width:none!important}
/* H254 home action photo */
.h254-hero .h254-home-action img{object-position:center top!important}

/* Compact weekly schedule */
.h254-training-table table{font-size:15px;line-height:1.4;min-width:440px}.h254-training-table.wp-block-table th,.h254-training-table.wp-block-table td{padding:8px 12px;vertical-align:middle}.h254-training-table th:first-child{width:18%}.h254-training-table th:nth-child(2){width:25%}.h254-training-table td:nth-child(2){white-space:nowrap}@media(max-width:600px){.h254-training-table.wp-block-table th,.h254-training-table.wp-block-table td{padding:7px 9px}.h254-training-table table{font-size:14px}}

/* Footer production credit */
.h254-footer-finished .h254-footer-credit a{font-size:inherit;font-weight:600;text-underline-offset:3px}
