/* Correctif visuel commun : aucune regle metier, aucun identifiant d'etablissement. */
body.club-public > nav {
  display:flex;align-items:center;justify-content:space-between;flex-wrap:nowrap;
  gap:14px;padding:10px clamp(16px,2vw,32px);min-height:52px;
  background:#153f39;color:#fff;isolation:isolate;
}
body.club-public > nav > b {flex:0 0 auto;font-size:14px;line-height:1.3;white-space:nowrap;}
body.club-public > nav > span {
  display:flex;align-items:center;flex:0 0 auto;flex-wrap:nowrap;
  gap:clamp(7px,.65vw,12px);margin:0;
}
body.club-public > nav a {
  margin:0;padding:5px 0;color:#fff;font-size:clamp(12px,.78vw,14px);
  line-height:1.4;font-weight:650;text-decoration:none;white-space:nowrap;
}
body.club-public > nav a:hover {text-decoration:underline;text-underline-offset:5px;}
body.club-public > nav .admin-link {margin:0;padding:5px 10px;border-color:#d9d8b6;}
body.club-public .menu-toggle {display:none;align-items:center;gap:8px;border:1px solid #c9ddd6;background:transparent;color:white;padding:8px 12px;border-radius:7px;font-size:15px;line-height:1.2;}
body.club-public > nav.is-compact .menu-toggle {display:inline-flex;flex:0 0 auto;}
body.club-public > nav.is-compact > b {white-space:normal;flex:1 1 auto;min-width:0;max-width:none;}
body.club-public > nav.is-compact > span {
  display:none;position:absolute;top:100%;left:0;right:0;background:#153f39;
  padding:12px 18px 20px;box-shadow:0 12px 18px #0003;
  max-height:calc(100dvh - var(--club-nav-height,60px) - 16px);overflow-y:auto;
  flex-direction:column;align-items:stretch;gap:3px;white-space:normal;
}
body.club-public > nav.is-compact.is-open > span {display:flex;}
body.club-public > nav.is-compact > span a {padding:10px 12px;font-size:16px;white-space:normal;border-radius:6px;}
body.club-public > nav.is-compact > span .admin-link {margin-top:6px;align-self:flex-start;}
body.club-public > nav.is-compact > span a:hover {background:#ffffff12;}
/* Sans JavaScript : les liens restent disponibles au lieu d'etre caches. */
@media(max-width:1279px){body.club-public > nav:not(.nav-ready){flex-wrap:wrap;}body.club-public > nav:not(.nav-ready)>span{flex-wrap:wrap;flex:1 1 100%;}}

body.club-public header.hero {display:grid;place-items:center;justify-content:center;align-content:center;min-height:68vh;padding:34px 20px;gap:0;color:#fff;}
body.club-public .hero .box {width:min(100%,900px);max-width:900px;padding:28px 14px;}
body.club-public .hero h1 {font-size:clamp(1.8rem,3.1vw,2.75rem);line-height:1.12;letter-spacing:.015em;margin:10px auto 16px;max-width:26ch;text-wrap:balance;text-shadow:0 2px 8px #000b;}
body.club-public .hero .box > div:first-child {font-size:12px;letter-spacing:.1em!important;line-height:1.5;}
body.club-public .hero p {font-size:clamp(14px,1.1vw,16px);color:#fff;text-shadow:0 1px 5px #000;}
body.club-public .hero h2 {font-size:clamp(1.05rem,1.6vw,1.4rem);line-height:1.4;color:#fff1bd;margin:20px auto 16px;text-shadow:0 1px 5px #000;}
body.club-public .hero .btn {font-size:15px;padding:11px 18px;}
@media(max-width:600px){body.club-public header.hero{min-height:65vh;padding:28px 12px;}body.club-public .hero .box{padding:24px 4px;}body.club-public .hero h1{max-width:20ch;}body.club-public .hero .box>div:first-child{font-size:11px;}}

body.club-public .features .card {background:#fff;color:#253e34;}
body.club-public .features .card h3 {color:#175a42;font-size:19px;line-height:1.4;}
body.club-public .features .card p,body.club-public .features .card small {color:#334d42;}
body.club-public .card:not(.hero .card) {color:#253e34;}
body.club-public #publicCompetitions h3 {color:#175a42;}
body.club-public .form-note {color:#496154;}
body.club-public footer {background:#102b27;color:#f1f6f3;line-height:1.7;}
body.club-public footer a,body.club-public footer a:visited {color:#ffe6a1!important;text-decoration:underline!important;text-underline-offset:3px;}
body.club-public section[id],body.club-public #menu-semaine {scroll-margin-top:calc(var(--club-nav-height,60px) + 16px);}
body.club-public :focus-visible {outline:3px solid #d49b25;outline-offset:4px;}
body.club-public > nav :focus-visible {outline-color:#ffe6a1;}
@media(prefers-reduced-motion:reduce){body.club-public{scroll-behavior:auto;}html{scroll-behavior:auto!important;}}

/* Logiciel de competitions : style seulement, classes et fonctions conservees. */
body[data-interface="competition"] > header {height:auto!important;min-height:88px;flex-wrap:wrap;gap:14px;padding:15px clamp(16px,2.4vw,34px);color:#fff;}
body[data-interface="competition"] > header > div:last-child {flex-wrap:wrap;gap:8px!important;}
body[data-interface="competition"] > header .back,
body[data-interface="competition"] > header .back:visited {
  display:inline-flex;align-items:center;gap:5px;background:#fff!important;
  color:#173f35!important;border:1px solid #d1dfd8!important;text-decoration:none;
  font-size:14px;line-height:1.4;padding:8px 12px;
}
body[data-interface="competition"] > header .back:hover {background:#e3eee8!important;}
body[data-interface="competition"] > header .badge {background:#f0d985!important;color:#173f35!important;border-color:#f0d985!important;}
body[data-interface="competition"] main .muted,
body[data-interface="competition"] main small,
body[data-interface="competition"] > nav .crumb {color:#486254;}
body[data-interface="competition"] main .primary {color:#fff;}
body[data-interface="competition"] main .secondary {color:#174535;}
body[data-interface="competition"] input::placeholder,
body[data-interface="competition"] textarea::placeholder {color:#52675c;opacity:1;}

/* Accueil : un seul titre, formule compacte sur ordinateur. */
body.club-public .hero .box > div:first-child {display:none;}
body.club-public .hero h1 {max-width:none;font-size:clamp(1.8rem,2.6vw,2.25rem);}
body.club-public .hero .box > p {
  display:table;margin:12px auto;padding:7px 14px;border-radius:8px;
  font-size:clamp(1.05rem,1.4vw,1.2rem);font-weight:650;line-height:1.5;
  color:#fff;background:#102b27;text-shadow:none;
}
@media(min-width:1024px){body.club-public .hero h1{white-space:nowrap;}}
@media(max-width:1023px){body.club-public .hero h1{white-space:normal;text-wrap:balance;}}

/* Introduction du club : rapprocher le texte sans changer sa taille ni l'image. */
@media(min-width:761px){
  body.club-public #club > .intro > div > .title {line-height:1.2;margin-top:.2em;margin-bottom:.25em;}
  body.club-public #club > .intro > div > p {margin-top:.55em;margin-bottom:.55em;}
  body.club-public #club > .intro > div > p:last-child {margin-bottom:0;}
}
