:root {
  --red: #e2211c;
  --yellow: #ffd51f;
  --ink: #151515;
  --paper: #f7f4ed;
  --line: #ddd8ce;
}

/* Photos administrables des événements */
.news-grid article.news-with-image {
  display: grid;
  grid-template-columns: 120px 76px minmax(0, 1fr);
  align-items: start;
}
.news-event-image {
  width: 120px;
  height: 150px;
  object-fit: cover;
  border-radius: 3px;
  box-shadow: 0 10px 24px #4b090933;
}
.admin-image-preview {
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 15px;
  background: #f3f6f7;
  border: 1px solid #dfe5e8;
}
.admin-image-preview img {
  width: 110px;
  height: 110px;
  object-fit: cover;
  border-radius: 4px;
}
.admin-image-preview > div { display: grid; gap: 10px; }
.admin-remove-image {
  display: flex !important;
  grid-template-columns: auto 1fr !important;
  align-items: center;
  gap: 8px !important;
}
.admin-remove-image input { width: auto !important; }
@media (max-width: 760px) {
  .news-grid article.news-with-image {
    grid-template-columns: 92px minmax(0, 1fr);
  }
  .news-event-image {
    width: 92px;
    height: 118px;
    grid-row: 1 / 3;
  }
  .news-grid article.news-with-image .date {
    width: 70px;
    height: 72px;
  }
  .news-grid article.news-with-image > div { grid-column: 1 / -1; }
}

.cms-layout{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:calc(100vh - 74px)}.cms-nav{background:#102a38;color:#fff;padding:28px 18px;display:flex;flex-direction:column;gap:5px}.cms-nav h2{font-size:18px;margin:0 10px 18px}.cms-nav a{padding:12px 14px;border-radius:5px;font-weight:700}.cms-nav a:hover,.cms-nav a.active{background:var(--red);color:#fff}.cms-items{display:grid;gap:18px}.private-file-list{display:grid;gap:14px}.private-file-list article{background:#fff;border:1px solid var(--line);padding:20px;display:flex;align-items:center;justify-content:space-between;gap:20px}.private-file-list h2{margin:0 0 6px;font-size:20px}.private-file-list p{margin:0;color:#666}
@media(max-width:800px){.cms-layout{grid-template-columns:1fr}.cms-nav{position:static;display:flex;flex-direction:row;overflow:auto;padding:12px}.cms-nav h2{display:none}.cms-nav a{white-space:nowrap}.private-file-list article{align-items:stretch;flex-direction:column}}

/* Administration de la version PHP */
.php-admin-page{min-height:100vh;background:#f3f6f7;color:#16202a}.php-install,.php-login{width:min(760px,calc(100% - 32px));margin:48px auto;background:#fff;padding:36px;border-top:6px solid #cf171c;box-shadow:0 14px 40px #10293818}.php-login{max-width:520px}.php-install>img,.php-login>img{width:110px;height:auto;margin-bottom:24px}.php-form{display:grid;gap:20px}.php-form fieldset{display:grid;grid-template-columns:1fr 1fr;gap:16px;border:1px solid #dfe5e8;padding:22px}.php-form legend{padding:0 8px;font-weight:900}.php-form label,.php-form-grid label{display:grid;gap:7px;font-size:14px;font-weight:800}.php-form input,.php-form textarea,.php-form-grid input,.php-form-grid textarea{width:100%;padding:12px;border:1px solid #bfcbd0;border-radius:3px;background:#fff;color:#16202a;font:inherit}.php-success,.php-error{padding:15px 18px;border-left:5px solid #15803d;background:#eaf8ef;font-weight:700}.php-error{border-color:#cf171c;background:#fff0f0}.php-admin-header{display:flex;align-items:center;justify-content:space-between;padding:14px clamp(20px,5vw,70px);background:#0c1e29;color:#fff}.php-admin-header img{width:90px;background:#fff;padding:4px}.php-admin-header>div{display:flex;align-items:center;gap:20px}.php-admin-header a{text-decoration:underline}.php-admin{padding:50px clamp(20px,6vw,90px)}.php-admin .admin-toolbar{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:30px}.php-admin h1{font-size:clamp(38px,5vw,70px);margin:0}.php-event-list{display:grid;gap:24px}.php-event-card{background:#fff;padding:28px;border-top:5px solid #0b7892;box-shadow:0 12px 30px #1734420d}.php-event-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.php-event-head h2{margin:0 0 22px}.danger-link{border:0;background:none;color:#b91c1c;font-weight:800;text-decoration:underline;cursor:pointer}.php-form-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:22px}.php-form-grid .wide{grid-column:1/-1}.php-event-card:first-child{border-color:#cf171c;background:#fffbea}
@media(max-width:700px){.php-install,.php-login{margin:20px auto;padding:22px}.php-form fieldset,.php-form-grid{grid-template-columns:1fr}.php-form-grid .wide{grid-column:auto}.php-admin{padding:28px 16px}.php-admin .admin-toolbar,.php-admin-header{align-items:flex-start;flex-direction:column}.php-admin-header>div{width:100%;justify-content:space-between}.php-event-card{padding:20px}}
.page-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.page-choice-card{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px;background:#fff;border-left:6px solid #cf171c;box-shadow:0 10px 28px #10293812;text-decoration:none;color:#16202a}.page-choice-card:hover{transform:translateY(-2px);box-shadow:0 16px 34px #10293820}.page-choice-card h2{margin:0 0 7px;font-size:24px}.page-choice-card p{margin:0;color:#52616b}.page-choice-card>b{white-space:nowrap;color:#cf171c}@media(max-width:760px){.page-choice-grid{grid-template-columns:1fr}.page-choice-card{align-items:flex-start;flex-direction:column}}
* {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
}
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: Arial, Helvetica, sans-serif;
}
a {
  color: inherit;
  text-decoration: none;
}
.mobile-menu-toggle {
  display: none;
}
.site-header {
  height: 88px;
  display: flex;
  align-items: center;
  padding: 0 clamp(24px, 5vw, 80px);
  background: #fff;
  border-bottom: 1px solid #eee;
  gap: 36px;
  position: relative;
  z-index: 10;
}
.brand {
  display: flex;
  align-items: center;
  gap: 11px;
  font-size: 12px;
  line-height: 1.15;
  text-transform: uppercase;
  letter-spacing: 0.09em;
  margin-right: auto;
}
.brand-badge {
  display: grid;
  place-items: center;
  width: 43px;
  height: 43px;
  border-radius: 50%;
  background: var(--red);
  color: #fff;
  font-size: 18px;
  font-weight: 900;
  border: 5px solid var(--yellow);
}
nav {
  display: flex;
  gap: 25px;
  font-size: 13px;
  font-weight: 700;
}
nav a:hover {
  color: var(--red);
}
.header-cta {
  background: var(--ink);
  color: #fff;
  padding: 13px 18px;
  border-radius: 4px;
  font-size: 13px;
  font-weight: bold;
}
.hero {
  min-height: 650px;
  display: grid;
  grid-template-columns: 1.08fr 0.92fr;
  overflow: hidden;
}
.hero-copy {
  padding: 100px clamp(28px, 6.5vw, 110px);
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.eyebrow {
  display: block;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  font-size: 12px;
  font-weight: 900;
  margin-bottom: 24px;
}
.eyebrow.red {
  color: var(--red);
}
.eyebrow.yellow {
  color: var(--yellow);
}
.hero h1,
.page-hero h1 {
  font-size: clamp(55px, 6.6vw, 100px);
  line-height: 0.91;
  letter-spacing: -0.065em;
  margin: 0;
  font-weight: 900;
}
.hero h1 em {
  font-style: normal;
  color: var(--red);
}
.hero-copy > p {
  max-width: 590px;
  font-size: 19px;
  line-height: 1.7;
  color: #5d5a54;
  margin: 30px 0;
}
.actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}
.btn {
  display: inline-block;
  padding: 16px 22px;
  border-radius: 4px;
  font-weight: 800;
  font-size: 14px;
}
.primary {
  background: var(--red);
  color: #fff;
}
.ghost {
  border: 1px solid var(--line);
}
.dark {
  background: var(--ink);
  color: #fff;
}
.white {
  background: #fff;
  color: var(--red);
}
.hero-art {
  position: relative;
  background: var(--red);
  overflow: hidden;
  min-height: 520px;
}
.hero-art:before {
  content: "";
  position: absolute;
  width: 115%;
  height: 48%;
  left: -8%;
  top: 34%;
  background: var(--yellow);
  transform: skewY(-8deg);
}
.hero-mark {
  position: absolute;
  right: 8%;
  bottom: 6%;
  font-size: clamp(65px, 8vw, 125px);
  font-weight: 900;
  line-height: 0.72;
  letter-spacing: -0.08em;
  color: #ffffff1f;
  text-align: right;
}
.ball {
  position: absolute;
  width: 48px;
  height: 48px;
  background: #fff;
  border-radius: 50%;
  top: 18%;
  left: 26%;
  box-shadow: 0 20px 50px #8c100f;
}
.paddle {
  position: absolute;
  width: 155px;
  height: 200px;
  border-radius: 50% 50% 45% 45%;
  background: #171717;
  transform: rotate(-24deg);
  top: 32%;
  left: 18%;
  box-shadow: 0 22px 40px #67100f88;
}
.paddle:after {
  content: "";
  position: absolute;
  width: 39px;
  height: 145px;
  background: #eee0c5;
  left: 58px;
  top: 160px;
  border-radius: 0 0 20px 20px;
}
.paddle-two {
  background: #fff;
  left: 55%;
  top: 28%;
  transform: rotate(28deg) scale(0.82);
}
.stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  background: var(--ink);
  color: #fff;
  padding: 35px clamp(24px, 6vw, 90px);
}
.stats div {
  display: flex;
  align-items: baseline;
  gap: 10px;
  border-right: 1px solid #ffffff20;
  padding: 0 28px;
}
.stats div:last-child {
  border: 0;
}
.stats strong {
  font-size: 42px;
  color: var(--yellow);
}
.stats span {
  text-transform: uppercase;
  font-size: 11px;
  letter-spacing: 0.12em;
}
.section {
  padding: 100px clamp(24px, 7vw, 115px);
}
.section-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  margin-bottom: 45px;
}
.section h2 {
  font-size: clamp(34px, 4vw, 60px);
  letter-spacing: -0.04em;
  line-height: 1;
  margin: 0;
}
.text-link {
  font-weight: 800;
  font-size: 14px;
  border-bottom: 2px solid var(--red);
  padding-bottom: 6px;
}
.schedule-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
.schedule-card {
  background: #fff;
  padding: 32px;
  border-top: 7px solid var(--red);
}
.schedule-card span,
.timetable article > span {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  font-weight: bold;
  color: var(--red);
}
.schedule-card h3 {
  font-size: 30px;
  margin: 35px 0 7px;
}
.schedule-card p {
  font-size: 18px;
  margin: 0;
}
.note {
  margin-top: 18px;
  background: #ffed8d;
  padding: 20px;
}
.news-block {
  background: var(--red);
  color: #fff;
}
.light {
  border-color: var(--yellow);
}
.news-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}
.news-grid article {
  display: flex;
  gap: 24px;
  background: #c91814;
  padding: 30px;
}
.date {
  background: var(--yellow);
  color: var(--ink);
  width: 76px;
  height: 86px;
  display: grid;
  place-content: center;
  text-align: center;
  font-size: 10px;
  font-weight: bold;
  flex: none;
}
.date b {
  font-size: 36px;
  line-height: 1;
}
.news-grid small {
  text-transform: uppercase;
  letter-spacing: 0.15em;
  color: #ffd3d1;
}
.news-grid h3 {
  font-size: 25px;
  margin: 10px 0;
}
.news-grid p {
  color: #ffd3d1;
}
.welcome,
.two-col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10vw;
  align-items: start;
}
.welcome p,
.two-col p {
  font-size: 18px;
  line-height: 1.8;
  color: #65615b;
  margin-top: 0;
}
.cta {
  background: var(--yellow);
  padding: 55px clamp(24px, 7vw, 115px);
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 30px;
}
.cta .eyebrow {
  margin-bottom: 12px;
}
.cta h2 {
  font-size: clamp(30px, 4vw, 52px);
  margin: 0;
  letter-spacing: -0.04em;
}
footer {
  background: var(--ink);
  color: #bbb;
  padding: 60px clamp(24px, 7vw, 115px) 25px;
  display: grid;
  grid-template-columns: 1.2fr 1fr 1fr;
  gap: 30px;
  line-height: 1.7;
  font-size: 14px;
}
footer b {
  color: #fff;
}
footer p {
  grid-column: 1/-1;
  border-top: 1px solid #333;
  padding-top: 20px;
  margin-top: 35px;
  font-size: 12px;
}
.footer-brand {
  color: #fff;
}
.page-hero {
  background: var(--red);
  color: #fff;
  padding: 95px clamp(24px, 7vw, 115px);
}
.page-hero h1 {
  max-width: 1050px;
}
.page-hero p {
  font-size: 19px;
  line-height: 1.7;
  max-width: 700px;
  color: #ffd7d5;
  margin: 30px 0 0;
}
.values,
.teams-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
.values article,
.teams-grid article {
  background: #fff;
  padding: 32px;
}
.values article > b,
.teams-grid article > span {
  color: var(--red);
  font-size: 13px;
}
.values h3 {
  font-size: 27px;
}
.values p {
  color: #68645e;
  line-height: 1.6;
}
.alert {
  display: flex;
  gap: 35px;
  align-items: center;
  background: var(--yellow);
  padding: 25px 30px;
  margin-bottom: 25px;
}
.alert b {
  font-size: 20px;
}
.timetable {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
.timetable article {
  background: #fff;
  padding: 36px;
  border-bottom: 7px solid var(--red);
}
.timetable h2 {
  font-size: 36px;
  margin: 40px 0 8px;
}
.timetable strong {
  font-size: 20px;
}
.location {
  margin-top: 70px;
  border-top: 1px solid var(--line);
  padding-top: 45px;
  display: flex;
  justify-content: space-between;
}
.location p {
  text-align: right;
  font-size: 18px;
  line-height: 1.6;
}
.teams-grid {
  grid-template-columns: repeat(3, 1fr);
}
.teams-grid article {
  border-top: 5px solid var(--red);
}
.teams-grid h2 {
  font-size: 27px;
  margin: 30px 0 8px;
}
.teams-grid p {
  color: #6a665f;
}
.teams-grid b {
  display: inline-block;
  background: #ffed8d;
  padding: 7px 10px;
  font-size: 11px;
  text-transform: uppercase;
}
.event-list article {
  display: grid;
  grid-template-columns: 150px 1fr;
  gap: 40px;
  padding: 45px 0;
  border-bottom: 1px solid var(--line);
  max-width: 1000px;
}
.event-date {
  background: var(--ink);
  color: #fff;
  padding: 24px;
  text-align: center;
}
.event-date b {
  display: block;
  font-size: 58px;
  color: var(--yellow);
}
.event-date span {
  font-size: 12px;
  font-weight: bold;
}
.event-list h2 {
  font-size: 40px;
}
.event-list p {
  line-height: 1.7;
  color: #666;
  max-width: 680px;
}
.contact-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 25px;
}
.contact-card,
.contact-steps {
  background: #fff;
  padding: 45px;
}
.contact-card p {
  font-size: 19px;
  line-height: 1.7;
  margin: 25px 0;
}
.contact-address-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
}
.contact-address-row a {
  flex: 0 0 auto;
  padding: 11px 14px;
  border: 2px solid var(--ink);
  border-radius: 4px;
  color: #0b7892;
  font-size: 13px;
  font-weight: 800;
}
.contact-address-row a:hover {
  background: var(--yellow);
  color: var(--ink);
}
.contact-steps ol {
  padding: 0;
  list-style: none;
  counter-reset: steps;
}
.contact-steps li {
  display: grid;
  grid-template-columns: 40px 120px 1fr;
  padding: 22px 0;
  border-bottom: 1px solid var(--line);
  counter-increment: steps;
}
.contact-steps li:before {
  content: "0" counter(steps);
  color: var(--red);
  font-weight: bold;
}
.contact-steps span {
  color: #666;
}
@media (max-width: 900px) {
  .site-header {
    height: auto;
    padding: 16px 22px;
    flex-wrap: wrap;
  }
  .site-header nav {
    order: 3;
    width: 100%;
    overflow-x: auto;
    padding-top: 12px;
  }
  .site-header nav a {
    white-space: nowrap;
  }
  .header-cta {
    display: none;
  }
  .hero {
    grid-template-columns: 1fr;
  }
  .hero-copy {
    padding: 70px 25px;
  }
  .hero-art {
    min-height: 400px;
  }
  .stats {
    grid-template-columns: 1fr 1fr;
    padding: 20px;
  }
  .stats div {
    padding: 15px;
    border-bottom: 1px solid #ffffff20;
  }
  .schedule-grid,
  .news-grid,
  .values,
  .timetable,
  .teams-grid,
  .contact-grid {
    grid-template-columns: 1fr;
  }
  .section-head,
  .cta,
  .location {
    align-items: start;
    flex-direction: column;
  }
  .section-head {
    gap: 25px;
  }
  .welcome,
  .two-col {
    grid-template-columns: 1fr;
    gap: 35px;
  }
  .section {
    padding: 70px 24px;
  }
  .page-hero {
    padding: 75px 24px;
  }
  .event-list article {
    grid-template-columns: 100px 1fr;
    gap: 22px;
  }
  .event-date {
    padding: 15px;
  }
  .event-date b {
    font-size: 42px;
  }
  footer {
    grid-template-columns: 1fr;
  }
  .contact-steps li {
    grid-template-columns: 35px 95px 1fr;
  }
}

/* Direction 2026 : sportive, joyeuse et assumée */
:root {
  --red: #f02b24;
  --yellow: #ffd82e;
  --ink: #17151d;
  --paper: #fffaf0;
  --purple: #7b61ff;
  --mint: #a9f5d0;
  --line: #ded7ca;
}
body {
  background: var(--paper);
  background-image: radial-gradient(#17151d0c 1px, transparent 1px);
  background-size: 18px 18px;
}
.site-header {
  height: 94px;
  background: #fffdf8e8;
  backdrop-filter: blur(14px);
  border-bottom: 2px solid var(--ink);
  position: sticky;
  top: 0;
}
.brand img {
  width: 105px;
  height: 66px;
  object-fit: contain;
  mix-blend-mode: multiply;
}
.brand-name {
  display: none;
}
.site-header nav a {
  position: relative;
  padding: 9px 2px;
}
.site-header nav a:after {
  content: "";
  position: absolute;
  left: 0;
  right: 100%;
  bottom: 2px;
  height: 4px;
  background: var(--yellow);
  transition: 0.25s;
}
.site-header nav a:hover:after {
  right: 0;
}
.header-cta {
  background: var(--yellow);
  color: var(--ink);
  border: 2px solid var(--ink);
  border-radius: 999px;
  box-shadow: 4px 4px 0 var(--ink);
  transition: 0.18s;
}
.header-cta:hover {
  transform: translate(2px, 2px);
  box-shadow: 2px 2px 0 var(--ink);
}
.hero {
  min-height: 690px;
  background: #fffaf0;
}
.hero-copy {
  position: relative;
}
.hero h1 {
  font-size: clamp(62px, 7.3vw, 116px);
  line-height: 0.79;
  letter-spacing: -0.07em;
  transform: rotate(-1deg);
}
.hero h1 em {
  display: inline-block;
  color: var(--red);
  text-shadow: 4px 4px 0 var(--yellow);
  transform: rotate(1deg);
}
.eyebrow.pill {
  display: inline-flex;
  width: max-content;
  padding: 10px 14px;
  background: var(--mint);
  border: 2px solid var(--ink);
  border-radius: 999px;
  box-shadow: 3px 3px 0 var(--ink);
  letter-spacing: 0.06em;
  transform: rotate(-2deg);
}
.btn {
  border: 2px solid var(--ink);
  border-radius: 999px;
  box-shadow: 4px 4px 0 var(--ink);
  transition: 0.18s;
}
.btn:hover {
  transform: translate(2px, 2px);
  box-shadow: 2px 2px 0 var(--ink);
}
.primary {
  background: var(--red);
}
.ghost {
  background: #fff;
}
.hero-art {
  background: var(--yellow);
  border-left: 2px solid var(--ink);
  display: grid;
  place-items: center;
}
.hero-art:before {
  display: none;
}
.sunburst {
  position: absolute;
  width: 720px;
  height: 720px;
  border-radius: 50%;
  background: repeating-conic-gradient(
    from 0deg,
    var(--red) 0deg 10deg,
    transparent 10deg 20deg
  );
  opacity: 0.13;
  animation: slowspin 28s linear infinite;
}
.logo-stage {
  position: relative;
  width: min(78%, 520px);
  padding: 34px 25px 22px;
  background: #fff;
  border: 3px solid var(--ink);
  border-radius: 40px;
  box-shadow: 14px 14px 0 var(--red);
  transform: rotate(3deg);
  z-index: 2;
}
.logo-stage img {
  display: block;
  width: 100%;
  mix-blend-mode: multiply;
}
.sticker {
  position: absolute;
  padding: 11px 15px;
  border: 2px solid var(--ink);
  border-radius: 999px;
  font-weight: 900;
  text-transform: uppercase;
  font-size: 12px;
  box-shadow: 3px 3px 0 var(--ink);
}
.sticker-one {
  left: -45px;
  top: -25px;
  background: var(--mint);
  transform: rotate(-9deg);
}
.sticker-two {
  right: -35px;
  bottom: -18px;
  background: var(--purple);
  color: #fff;
  transform: rotate(8deg);
}
.spin-ball {
  position: absolute;
  right: 10%;
  top: 10%;
  font-size: 70px;
  color: #fff;
  text-shadow: 4px 4px 0 var(--ink);
  animation: bob 2.2s ease-in-out infinite;
}
.ticker {
  overflow: hidden;
  background: var(--ink);
  color: #fff;
  border-block: 2px solid var(--ink);
  padding: 15px 0;
  font-weight: 900;
  letter-spacing: 0.1em;
  white-space: nowrap;
  transform: rotate(-1deg);
  margin: -10px -5px 20px;
}
.ticker div {
  width: max-content;
  animation: marquee 18s linear infinite;
}
.ticker span {
  color: var(--yellow);
  padding: 0 18px;
}
.stats {
  background: transparent;
  color: var(--ink);
  gap: 16px;
  padding-top: 55px;
}
.stats div {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  background: #fff;
  border: 2px solid var(--ink);
  border-radius: 24px;
  box-shadow: 7px 7px 0 var(--ink);
  padding: 28px;
  border-right: 2px solid var(--ink);
}
.stats div:nth-child(2) {
  background: var(--yellow);
}
.stats div:nth-child(3) {
  background: var(--mint);
}
.stats div:nth-child(4) {
  background: #e9e2ff;
}
.stats strong {
  font-size: 56px;
  color: var(--red);
  line-height: 1;
}
.stats span {
  font-weight: 900;
  margin-top: 7px;
}
.tilt-left {
  transform: rotate(-1.5deg);
}
.tilt-right {
  transform: rotate(1.5deg);
}
.section {
  padding-top: 90px;
}
.section h2 {
  font-weight: 900;
}
.schedule-card,
.values article,
.teams-grid article,
.contact-card,
.contact-steps {
  border: 2px solid var(--ink);
  border-radius: 22px;
  box-shadow: 7px 7px 0 var(--ink);
}
.schedule-card {
  border-top: 2px solid var(--ink);
  transition: 0.2s;
}
.schedule-card:hover {
  transform: translateY(-7px) rotate(-1deg);
}
.schedule-card:nth-child(2) {
  background: var(--yellow);
}
.schedule-card:nth-child(3) {
  background: var(--mint);
}
.note {
  border: 2px dashed var(--ink);
  border-radius: 16px;
}
.news-block {
  margin: 35px clamp(15px, 3vw, 45px);
  border: 3px solid var(--ink);
  border-radius: 38px;
  box-shadow: 11px 11px 0 var(--yellow);
}
.news-grid article {
  border: 2px solid #fff5;
  border-radius: 18px;
}
.date {
  border: 2px solid var(--ink);
  border-radius: 16px;
  transform: rotate(-4deg);
}
.welcome {
  background: #fff;
}
.cta {
  margin: 0 clamp(15px, 3vw, 45px) 45px;
  border: 3px solid var(--ink);
  border-radius: 30px;
  box-shadow: 9px 9px 0 var(--red);
  transform: rotate(-0.4deg);
}
.page-hero {
  background: var(--purple);
  margin: 25px clamp(15px, 3vw, 45px) 0;
  border: 3px solid var(--ink);
  border-radius: 35px;
  box-shadow: 10px 10px 0 var(--yellow);
  transform: rotate(-0.3deg);
}
.page-hero h1 {
  font-size: clamp(54px, 6vw, 92px);
}
.page-hero p {
  color: #fff;
}
.alert {
  border: 2px solid var(--ink);
  border-radius: 18px;
  box-shadow: 6px 6px 0 var(--ink);
}
.timetable article {
  border: 2px solid var(--ink);
  border-radius: 22px;
  box-shadow: 7px 7px 0 var(--ink);
}
.timetable article:nth-child(2) {
  background: var(--yellow);
}
.timetable article:nth-child(3) {
  background: var(--mint);
}
.teams-grid article:nth-child(3n + 2) {
  background: var(--yellow);
}
.teams-grid article:nth-child(3n) {
  background: var(--mint);
}
.event-date {
  border-radius: 20px;
  box-shadow: 6px 6px 0 var(--red);
  transform: rotate(-2deg);
}
footer {
  border-top: 3px solid var(--ink);
}
.footer-brand img {
  width: 150px;
  background: #fff;
  border-radius: 18px;
  padding: 8px;
  mix-blend-mode: normal;
}
@keyframes slowspin {
  to {
    transform: rotate(360deg);
  }
}
@keyframes bob {
  50% {
    transform: translateY(18px) rotate(12deg);
  }
}
@keyframes marquee {
  to {
    transform: translateX(-50%);
  }
}
@media (max-width: 900px) {
  .site-header {
    height: auto;
  }
  .brand img {
    width: 82px;
    height: 52px;
  }
  .hero-copy {
    padding-top: 55px;
  }
  .hero h1 {
    font-size: 64px;
  }
  .hero-art {
    border-left: 0;
    border-top: 2px solid var(--ink);
    min-height: 450px;
  }
  .logo-stage {
    width: 78%;
    padding: 22px 15px;
    border-radius: 26px;
  }
  .sticker-one {
    left: -18px;
  }
  .sticker-two {
    right: -12px;
  }
  .stats {
    gap: 11px;
  }
  .stats div {
    padding: 18px;
  }
  .stats strong {
    font-size: 42px;
  }
  .stats span {
    font-size: 9px;
  }
  .news-block,
  .page-hero,
  .cta {
    margin-left: 12px;
    margin-right: 12px;
  }
  .page-hero {
    padding: 60px 25px;
  }
  .event-list article {
    grid-template-columns: 1fr;
  }
  .event-date {
    width: 120px;
  }
  .site-header nav {
    gap: 20px;
  }
}
.contact-links {
  display: grid;
  gap: 10px;
  margin: 22px 0 28px;
}
.contact-links a {
  display: flex;
  flex-direction: column;
  padding: 15px 17px;
  background: var(--paper);
  border: 2px solid var(--ink);
  border-radius: 14px;
  transition: 0.18s;
}
.contact-links a:hover {
  background: var(--yellow);
  transform: translateX(4px);
}
.contact-links small {
  text-transform: uppercase;
  letter-spacing: 0.13em;
  font-weight: 900;
  font-size: 9px;
  color: var(--red);
  margin-bottom: 5px;
}
.contact-links b {
  font-size: 16px;
  overflow-wrap: anywhere;
}
.free-chip {
  display: inline-block;
  background: var(--mint);
  border: 2px solid var(--ink);
  border-radius: 999px;
  padding: 10px 15px;
  margin-top: 20px;
  font-weight: 900;
  box-shadow: 3px 3px 0 var(--ink);
  transform: rotate(-1deg);
}
.practical {
  background: #fff;
}
.practical-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-top: 35px;
}
.practical-grid article {
  display: flex;
  flex-direction: column;
  gap: 7px;
  background: var(--yellow);
  border: 2px solid var(--ink);
  border-radius: 18px;
  padding: 22px;
  box-shadow: 5px 5px 0 var(--ink);
}
.practical-grid article:nth-child(even) {
  background: var(--mint);
}
.practical-grid span {
  text-transform: uppercase;
  font-size: 10px;
  letter-spacing: 0.15em;
  font-weight: 900;
  color: var(--red);
}
.practical-grid b {
  font-size: 19px;
}
@media (max-width: 700px) {
  .practical-grid {
    grid-template-columns: 1fr;
  }
}
.admin-identity {
  display: flex;
  justify-content: space-between;
  padding: 13px clamp(24px, 7vw, 115px);
  background: var(--ink);
  color: #fff;
  font-size: 13px;
}
.admin-identity a {
  color: var(--yellow);
  font-weight: 800;
}
.admin-app {
  padding: 65px clamp(24px, 7vw, 115px);
  min-height: 70vh;
}
.admin-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 25px;
  margin-bottom: 30px;
}
.admin-toolbar h1 {
  font-size: clamp(38px, 5vw, 70px);
  letter-spacing: -0.05em;
  margin: 0;
}
.admin-toolbar p {
  color: #666;
}
.admin-actions {
  display: flex;
  gap: 12px;
}
.admin-actions button {
  cursor: pointer;
}
.admin-status {
  background: var(--mint);
  border: 2px solid var(--ink);
  border-radius: 12px;
  padding: 13px 16px;
  font-weight: 800;
}
.admin-list {
  display: grid;
  gap: 22px;
}
.admin-list article {
  background: #fff;
  border: 2px solid var(--ink);
  border-radius: 22px;
  box-shadow: 7px 7px 0 var(--ink);
  overflow: hidden;
}
.admin-card-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 18px 22px;
  background: var(--yellow);
  border-bottom: 2px solid var(--ink);
}
.admin-card-head button {
  border: 0;
  background: transparent;
  color: #a00;
  text-decoration: underline;
  cursor: pointer;
}
.admin-form {
  display: grid;
  grid-template-columns: 110px 120px 120px 1fr;
  gap: 16px;
  padding: 24px;
}
.admin-form label {
  display: flex;
  flex-direction: column;
  gap: 7px;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-weight: 900;
}
.admin-form input,
.admin-form textarea {
  width: 100%;
  background: var(--paper);
  border: 2px solid var(--ink);
  border-radius: 10px;
  padding: 12px;
  font: inherit;
  font-size: 15px;
  text-transform: none;
  letter-spacing: 0;
  font-weight: 500;
}
.admin-form input:focus,
.admin-form textarea:focus {
  outline: 4px solid #ffd82e77;
}
.admin-form .wide {
  grid-column: 1/-1;
}
@media (max-width: 800px) {
  .admin-toolbar {
    align-items: start;
    flex-direction: column;
  }
  .admin-form {
    grid-template-columns: 1fr 1fr;
  }
  .admin-form label:nth-child(3) {
    grid-column: 1/-1;
  }
  .admin-actions {
    width: 100%;
  }
  .admin-actions .btn {
    flex: 1;
  }
  .admin-identity {
    flex-direction: column;
    gap: 5px;
  }
}

/* Nouvelle direction inspirée des grands sites de clubs sportifs */
:root {
  --red: #cf171c;
  --yellow: #f4cf22;
  --ink: #16202a;
  --paper: #fff;
  --mint: #e9f4f4;
  --purple: #087e9a;
  --line: #dfe5e8;
}
body {
  background: #fff;
  background-image: none;
  color: var(--ink);
}
body:has(.hero-photo) .site-header {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  background: linear-gradient(#0009, transparent);
  border: 0;
  backdrop-filter: none;
  color: #fff;
  height: 104px;
}
body:has(.hero-photo) .site-header nav a {
  font-weight: 500;
  text-shadow: 0 1px 5px #000;
}
body:has(.hero-photo) .site-header .brand img {
  background: #fff;
  border-radius: 4px;
  padding: 4px;
  mix-blend-mode: normal;
}
body:has(.hero-photo) .site-header .header-cta {
  background: var(--red);
  color: #fff;
  border-color: #fff;
  box-shadow: none;
}
.site-header {
  border-bottom: 1px solid #dde3e5;
  box-shadow: 0 4px 18px #0a27340b;
}
.site-header nav a:after {
  height: 2px;
  background: var(--red);
}
.header-cta {
  border: 0;
  box-shadow: none;
  border-radius: 3px;
  background: var(--red);
  color: #fff;
}
.header-cta:hover {
  transform: none;
  box-shadow: none;
  background: #aa1015;
}
.hero-photo {
  position: relative;
  height: min(820px, 90vh);
  min-height: 650px;
  overflow: hidden;
  color: #fff;
}
.hero-photo > img {
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.hero-shade {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, #07121fc9 0%, #07121f61 46%, #07121f0a 80%),
    linear-gradient(0deg, #07121f70 0%, transparent 45%);
}
.hero-photo-content {
  position: absolute;
  left: clamp(28px, 7vw, 115px);
  bottom: 13%;
  max-width: 790px;
}
.hero-scroll{position:absolute;right:clamp(28px,6vw,80px);bottom:54px;display:flex;align-items:center;gap:14px;color:#fff;text-transform:uppercase;letter-spacing:.22em;font-size:11px;z-index:2}.hero-scroll b{font-size:18px;font-weight:400}
.hero-kicker {
  text-transform: uppercase;
  letter-spacing: 0.25em;
  font-size: 12px;
  font-weight: 700;
  border-left: 4px solid var(--yellow);
  padding-left: 14px;
}
.hero-photo h1 {
  font-size: clamp(58px, 7vw, 104px);
  line-height: 0.88;
  letter-spacing: -0.055em;
  margin: 25px 0;
  font-weight: 300;
}
.hero-photo h1 strong {
  font-weight: 800;
}
.hero-photo-content > p {
  font-size: 20px;
  max-width: 580px;
  line-height: 1.6;
  margin-bottom: 32px;
}
.hero-photo .btn {
  box-shadow: none;
  border-radius: 3px;
  padding: 16px 24px;
}
.hero-photo .btn:hover {
  transform: none;
  box-shadow: none;
}
.hero-primary {
  background: var(--red);
  border-color: var(--red);
  color: #fff;
}
.hero-secondary {
  background: #ffffff18;
  color: #fff;
  border-color: #fff;
  backdrop-filter: blur(8px);
}
.scroll-cue {
  position: absolute;
  right: 4%;
  bottom: 8%;
  display: flex;
  align-items: center;
  gap: 13px;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  font-size: 10px;
}
.scroll-cue i {
  font-style: normal;
  font-size: 23px;
}
.stats {
  background: #f5f7f8;
  padding: 65px clamp(24px, 7vw, 115px);
  gap: 1px;
}
.stats div,
.stats div:nth-child(2),
.stats div:nth-child(3),
.stats div:nth-child(4) {
  background: #fff;
  border: 0;
  border-top: 4px solid var(--red);
  border-radius: 0;
  box-shadow: none;
  transform: none;
  padding: 30px 35px;
}
.stats strong {
  color: var(--red);
  font-size: 52px;
}
.section {
  padding-top: 95px;
  padding-bottom: 95px;
}
.section h2 {
  letter-spacing: -0.035em;
}
.schedule-card,
.values article,
.teams-grid article,
.contact-card,
.contact-steps {
  border: 1px solid var(--line);
  border-radius: 4px;
  box-shadow: 0 12px 35px #1734420d;
}
.schedule-card {
  border-top: 5px solid var(--red);
}
.schedule-card:nth-child(2),
.schedule-card:nth-child(3) {
  background: #fff;
}
.schedule-card:hover {
  transform: translateY(-5px);
}
.note {
  border: 0;
  border-left: 5px solid var(--yellow);
  border-radius: 0;
  background: #fff8cf;
}
.news-block {
  margin: 0;
  background: #0b7892;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
.news-grid article {
  background: #096e85;
  border: 1px solid #ffffff3d;
  border-radius: 3px;
}
.date {
  border: 0;
  border-radius: 0;
  transform: none;
}
.welcome {
  background: #fff;
}
.cta {
  margin: 0;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  transform: none;
  background: var(--yellow);
}
.page-hero {
  margin: 0;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  transform: none;
  background: #0b7892;
}
.timetable article,
.values article,
.teams-grid article {
  border: 1px solid var(--line);
  border-top: 4px solid var(--red);
  border-radius: 4px;
  box-shadow: 0 12px 30px #1734420d;
}
.timetable article:nth-child(2),
.timetable article:nth-child(3),
.teams-grid article:nth-child(3n + 2),
.teams-grid article:nth-child(3n) {
  background: #fff;
}
.alert {
  border: 0;
  border-left: 5px solid var(--red);
  border-radius: 0;
  box-shadow: none;
}
.event-date {
  border-radius: 0;
  box-shadow: none;
  transform: none;
  background: #0b7892;
}
.contact-card,
.contact-steps {
  border-radius: 4px;
  box-shadow: 0 12px 35px #1734420d;
}
footer {
  background: #0c1e29;
}
.footer-brand img {
  border-radius: 3px;
}
.practical-grid article,
.practical-grid article:nth-child(even) {
  border: 0;
  border-radius: 3px;
  box-shadow: none;
  background: #f2f5f6;
  border-top: 4px solid var(--red);
}
@media (max-width: 900px) {
  body:has(.hero-photo) .site-header {
    position: absolute;
    height: auto;
    background: #08131dd9;
  }
  .hero-photo {
    height: 760px;
  }
  .hero-photo > img {
    object-position: 56% center;
  }
  .hero-photo-content {
    left: 24px;
    right: 24px;
    bottom: 10%;
  }
  .hero-photo h1 {
    font-size: 58px;
  }
  .hero-photo-content > p {
    font-size: 17px;
  }
  .scroll-cue {
    display: none;
  }
  .stats {
    padding: 40px 20px;
  }
  .stats div {
    padding: 22px;
  }
  .news-block,
  .page-hero,
  .cta {
    margin-left: 0;
    margin-right: 0;
  }
  .site-header nav {
    border-top: 1px solid #ffffff38;
  }
  .site-header nav a {
    font-size: 12px;
  }
}
.event-list article.event-with-poster {
  grid-template-columns: minmax(220px, 330px) 120px 1fr;
  max-width: 1200px;
  align-items: start;
}
.event-poster {
  display: block;
  width: 100%;
  aspect-ratio: 1054/1493;
  object-fit: cover;
  border-radius: 4px;
  box-shadow: 0 16px 38px #10293822;
}
.event-copy .eyebrow {
  margin-bottom: 14px;
}
.event-copy h2 {
  margin-top: 0;
}
@media (max-width: 900px) {
  .event-list article.event-with-poster {
    grid-template-columns: 150px 1fr;
  }
  .event-poster {
    grid-row: 1/3;
  }
  .event-copy {
    grid-column: 2;
  }
}
@media (max-width: 620px) {
  .event-list article.event-with-poster {
    grid-template-columns: 1fr;
  }
  .event-poster {
    grid-row: auto;
    max-width: 390px;
  }
  .event-copy {
    grid-column: auto;
  }
  .event-date {
    width: 120px;
  }
}
.schedule-grid,
.timetable {
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
}
.teams-grid .team-card {
  display: block;
  background: #fff;
  padding: 32px;
  border: 1px solid var(--line);
  border-top: 4px solid var(--red);
  border-radius: 4px;
  box-shadow: 0 12px 30px #1734420d;
}
.team-card-link {
  position: relative;
  transition:
    transform 0.18s,
    box-shadow 0.18s;
}
.team-card-link:hover,
.team-card-link:focus-visible {
  transform: translateY(-6px);
  box-shadow: 0 18px 36px #17344220;
  outline: 3px solid var(--yellow);
  outline-offset: 3px;
}
.team-card-link > span {
  color: var(--red);
  font-size: 13px;
}
.team-card-link h2 {
  font-size: 27px;
  margin: 30px 0 8px;
}
.team-card-link p {
  color: #6a665f;
}
.team-card-link > b {
  display: inline-block;
  background: #ffed8d;
  padding: 7px 10px;
  font-size: 11px;
  text-transform: uppercase;
}
.fftt-link {
  display: block;
  margin-top: 24px;
  color: #0b7892;
  font-size: 14px;
  text-decoration: underline;
  text-underline-offset: 4px;
}
.photo-gallery {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
  align-items: start;
  background: #f5f7f8;
}
.photo-gallery figure {
  margin: 0;
  background: #fff;
  border: 1px solid var(--line);
  box-shadow: 0 14px 35px #17344212;
  overflow: hidden;
}
.photo-gallery img {
  display: block;
  width: 100%;
  object-fit: cover;
}
.photo-gallery .gallery-wide {
  grid-column: span 2;
}
.photo-gallery .gallery-wide img,
.photo-gallery .gallery-landscape img {
  aspect-ratio: 4/3;
}
.photo-gallery .gallery-portrait img {
  aspect-ratio: 4/5;
}
.photo-gallery .gallery-poster img {
  aspect-ratio: 1054/1493;
}
.photo-gallery figcaption {
  padding: 20px 22px;
  border-top: 4px solid var(--red);
  font-size: 17px;
  font-weight: 800;
}
@media (max-width: 900px) {
  .photo-gallery {
    grid-template-columns: 1fr 1fr;
  }
  .photo-gallery .gallery-wide {
    grid-column: 1/-1;
  }
}
@media (max-width: 600px) {
  .photo-gallery {
    grid-template-columns: 1fr;
  }
  .photo-gallery .gallery-wide {
    grid-column: auto;
  }
}
.history-intro {
  display: grid;
  grid-template-columns: 0.8fr 1.2fr;
  gap: 9vw;
  background: #f5f7f8;
}
.history-intro h2,
.history-section > h2 {
  font-size: clamp(42px, 5vw, 72px);
}
.history-year {
  display: inline-block;
  color: var(--red);
  font-size: clamp(70px, 10vw, 150px);
  font-weight: 900;
  line-height: 0.8;
  letter-spacing: -0.08em;
}
.history-intro p,
.history-lead,
.history-timeline p {
  font-size: 17px;
  line-height: 1.75;
  color: #58636a;
}
.history-signature {
  font-weight: 800;
  color: var(--ink) !important;
}
.history-section {
  background: #fff;
}
.history-lead {
  max-width: 850px;
  margin: 30px 0 55px;
}
.history-timeline {
  max-width: 1050px;
  border-left: 3px solid var(--yellow);
  margin-left: 75px;
}
.history-timeline article {
  display: grid;
  grid-template-columns: 155px 1fr;
  gap: 35px;
  padding: 0 0 48px 42px;
  position: relative;
}
.history-timeline article:before {
  content: "";
  position: absolute;
  left: -10px;
  top: 4px;
  width: 17px;
  height: 17px;
  border-radius: 50%;
  background: var(--red);
  border: 4px solid #fff;
}
.history-timeline article > span {
  color: var(--red);
  font-size: 22px;
  font-weight: 900;
}
.history-timeline h3 {
  font-size: 28px;
  margin: 0 0 10px;
}
.history-timeline p {
  margin: 0;
}
.history-thanks {
  max-width: 900px;
  padding: 24px 28px;
  background: #fff8cf;
  border-left: 5px solid var(--yellow);
  font-weight: 700;
}
@media (max-width: 800px) {
  .history-intro {
    grid-template-columns: 1fr;
  }
  .history-timeline {
    margin-left: 8px;
  }
  .history-timeline article {
    grid-template-columns: 1fr;
    gap: 8px;
    padding-left: 30px;
  }
  .history-year {
    font-size: 90px;
  }
}
.history-section .history-lead {
  margin-bottom: 12px;
}
.history-source {
  max-width: 850px;
  margin: 0 0 55px;
  color: #0b7892;
  font-weight: 800;
}
.nav-dropdown {
  position: relative;
  display: flex;
  align-items: center;
}
.nav-parent span {
  font-size: 15px;
  margin-left: 3px;
}
.nav-submenu {
  display: none;
  position: absolute;
  top: calc(100% + 14px);
  left: -18px;
  width: 250px;
  padding: 10px;
  background: #fff;
  color: var(--ink);
  border-top: 4px solid var(--red);
  box-shadow: 0 15px 35px #10293826;
}
.nav-submenu:before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: -18px;
  height: 18px;
}
.nav-submenu a {
  display: block;
  padding: 11px 13px;
  font-size: 13px;
}
.nav-submenu a:hover,
.nav-submenu a:focus-visible {
  background: #f3f6f7;
  color: var(--red);
}
.nav-dropdown:hover .nav-submenu,
.nav-dropdown:focus-within .nav-submenu {
  display: block;
}
.training-tabs {
  position: sticky;
  top: 94px;
  z-index: 5;
  display: flex;
  justify-content: center;
  gap: 0;
  background: #fff;
  border-bottom: 1px solid var(--line);
  box-shadow: 0 7px 18px #1029380c;
  overflow-x: auto;
}
.training-tabs a {
  white-space: nowrap;
  padding: 20px 22px;
  font-size: 13px;
  font-weight: 800;
  border-bottom: 3px solid transparent;
}
.training-tabs a:hover {
  color: var(--red);
  border-color: var(--red);
}
.training-info,
.training-room,
.training-practical {
  scroll-margin-top: 175px;
}
.training-info {
  background: #f5f7f8;
}
.training-room {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8vw;
  align-items: end;
  background: #fff8cf;
}
.training-room p {
  font-size: 18px;
  line-height: 1.7;
  margin: 0;
}
.training-practical {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 22px;
  background: #f5f7f8;
}
.training-practical article {
  background: #fff;
  border-top: 5px solid var(--red);
  padding: 38px;
  box-shadow: 0 12px 30px #1734420d;
  scroll-margin-top: 175px;
}
.training-practical h2 {
  font-size: 36px;
}
.training-practical p {
  color: #58636a;
  line-height: 1.7;
  margin: 22px 0 28px;
}
.training-practical .btn {
  box-shadow: none;
  border-radius: 3px;
  border-color: var(--red);
}
#planning {
  scroll-margin-top: 175px;
}
@media (max-width: 900px) {
  .nav-dropdown {
    display: block;
  }
  .nav-submenu {
    position: fixed;
    left: 15px;
    right: 15px;
    top: 142px;
    width: auto;
  }
  .training-tabs {
    top: 135px;
    justify-content: flex-start;
  }
  .training-room,
  .training-practical {
    grid-template-columns: 1fr;
  }
  .training-practical article {
    padding: 28px;
  }
  .training-tabs a {
    padding: 16px 17px;
  }
}
.training-pages {
  display: grid;
  gap: 1px;
  background: var(--line);
  padding-top: 70px;
  padding-bottom: 70px;
}
.training-pages > a {
  display: grid;
  grid-template-columns: 70px 1fr 50px;
  align-items: center;
  gap: 25px;
  background: #fff;
  padding: 30px 36px;
  transition: 0.18s;
}
.training-pages > a:hover {
  background: #f5f7f8;
  transform: translateX(6px);
}
.training-pages > a > span {
  color: var(--red);
  font-size: 13px;
  font-weight: 900;
}
.training-pages h2 {
  font-size: 30px;
  margin: 0 0 7px;
}
.training-pages p {
  margin: 0;
  color: #657078;
}
.training-pages b {
  font-size: 28px;
  color: var(--red);
}
.training-detail p {
  font-size: 18px;
  line-height: 1.75;
  color: #58636a;
}
.training-detail .btn {
  margin-top: 12px;
  box-shadow: none;
  border-radius: 3px;
  border-color: var(--red);
}
@media (max-width: 650px) {
  .training-pages > a {
    grid-template-columns: 35px 1fr 25px;
    padding: 24px 20px;
    gap: 12px;
  }
  .training-pages h2 {
    font-size: 24px;
  }
  .training-room {
    align-items: start;
  }
}
body:has(.hero-photo) .site-header .nav-submenu a {
  text-shadow: none;
  font-weight: 700;
}
.room-actions {
  display: flex;
  align-items: center;
  gap: 24px;
  flex-wrap: wrap;
  margin-top: 28px;
}
.room-actions .btn {
  box-shadow: none;
  border: 0;
  border-radius: 3px;
}
.bureau {
  background: #f5f7f8;
}
.bureau-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}
.bureau-grid article {
  background: #fff;
  border: 1px solid var(--line);
  border-top: 5px solid var(--red);
  padding: 30px;
  box-shadow: 0 12px 30px #1734420d;
}
.bureau-grid article:not(.bureau-president) {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
.bureau-grid span {
  color: #0b7892;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.12em;
}
.bureau-grid h3 {
  font-size: 26px;
  margin: 22px 0 0;
}
.bureau-grid .bureau-president {
  padding: 0;
  overflow: hidden;
}
.bureau-president img {
  display: block;
  width: 100%;
  height: 320px;
  object-fit: contain;
  object-position: center;
  background: #eef1f2;
}
.bureau-president div {
  padding: 26px 30px 30px;
  min-height: 126px;
}
.bureau-secretary img {
  height: 320px;
  object-fit: contain;
  object-position: center;
}
@media (max-width: 900px) {
  .bureau-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 560px) {
  .bureau-grid {
    grid-template-columns: 1fr;
  }
}
.committee-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}
.committee-grid article {
  display: flex;
  align-items: center;
  min-height: 105px;
  background: #fff;
  border: 1px solid var(--line);
  border-left: 5px solid #0b7892;
  padding: 24px;
  font-size: 20px;
  font-weight: 800;
  box-shadow: 0 10px 25px #1734420b;
}
.committee-grid .committee-member-woman {
  border-left-color: #e85d9b;
}
@media (max-width: 900px) {
  .committee-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 560px) {
  .committee-grid {
    grid-template-columns: 1fr;
  }
}
.technical-team {
  background: #f5f7f8;
}
.technical-team-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
.technical-team-grid article {
  background: #fff;
  border: 1px solid var(--line);
  border-top: 5px solid var(--red);
  padding: 34px;
  box-shadow: 0 12px 30px #1734420d;
}
.technical-team-grid span {
  color: #0b7892;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.12em;
}
.technical-team-grid h3 {
  font-size: 28px;
  margin: 24px 0 0;
}
.technical-team-grid .technical-team-profile {
  padding: 0;
  overflow: hidden;
}
.technical-team-profile img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 4;
  object-fit: contain;
}
.technical-team-profile div {
  padding: 26px 30px 30px;
}
@media (max-width: 750px) {
  .technical-team-grid {
    grid-template-columns: 1fr;
  }
}
.sponsors-section {
  background: #f5f7f8;
}
.sponsors-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
  max-width: 1000px;
}
.sponsors-grid article {
  background: #fff;
  border: 1px solid var(--line);
  border-top: 5px solid var(--red);
  box-shadow: 0 12px 30px #1734420d;
  overflow: hidden;
}
.sponsor-image {
  height: 280px;
  display: grid;
  place-items: center;
  background: #fff;
  padding: 24px;
}
.sponsor-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.sponsors-grid h3 {
  font-size: 27px;
  margin: 0;
  padding: 25px 30px;
  border-top: 1px solid var(--line);
}
.sponsors-thanks {
  margin: 34px 0 0;
  font-size: 18px;
  color: #5d6870;
}
@media (max-width: 700px) {
  .sponsors-grid {
    grid-template-columns: 1fr;
  }
  .sponsor-image {
    height: 230px;
  }
}
.pricing-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  margin-top: 42px;
}
.pricing-grid article {
  background: #fff;
  border: 1px solid var(--line);
  border-top: 5px solid var(--red);
  padding: 34px;
  box-shadow: 0 12px 30px #1734420d;
}
.pricing-grid span {
  display: block;
  color: #0b7892;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}
.pricing-grid h3 {
  font-size: 26px;
  margin: 24px 0 35px;
}
.pricing-grid strong {
  font-size: 52px;
  color: var(--red);
}
.pricing-help {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  margin-top: 35px;
  padding: 26px 30px;
  background: #fff8cf;
}
.pricing-help p {
  margin: 0;
  color: var(--ink);
}
.pricing-help .btn {
  flex: none;
}
@media (max-width: 800px) {
  .pricing-grid {
    grid-template-columns: 1fr;
  }
  .pricing-help {
    align-items: flex-start;
    flex-direction: column;
  }
}
.room-layout {
  display: grid;
  grid-template-columns: minmax(320px, 0.8fr) minmax(420px, 1.2fr);
  gap: 55px;
  align-items: stretch;
  background: #fff8cf;
}
.room-address {
  align-self: center;
}
.room-address p {
  font-size: 18px;
  line-height: 1.7;
  color: #58636a;
}
.room-map {
  min-height: 440px;
  background: #e8edef;
  box-shadow: 0 15px 35px #1734421b;
}
.room-map iframe {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 440px;
  border: 0;
}
@media (max-width: 850px) {
  .room-layout {
    grid-template-columns: 1fr;
    gap: 35px;
  }
  .room-map,
  .room-map iframe {
    min-height: 360px;
  }
}
.admin-welcome {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 30px;
  padding-bottom: 38px;
  border-bottom: 1px solid var(--line);
}
.admin-welcome h1 {
  font-size: clamp(42px, 5vw, 72px);
  letter-spacing: -0.05em;
  margin: 0;
}
.admin-welcome p {
  font-size: 18px;
  color: #657078;
  margin-bottom: 0;
}
.admin-overview {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin: 30px 0;
}
.admin-overview div {
  display: flex;
  flex-direction: column;
  background: #0b7892;
  color: #fff;
  padding: 25px;
  border-radius: 4px;
}
.admin-overview strong {
  font-size: 42px;
  color: var(--yellow);
}
.admin-overview span {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin-top: 5px;
}
.admin-tools {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin-bottom: 65px;
}
.admin-tools article {
  display: grid;
  grid-template-columns: 42px 1fr;
  gap: 15px;
  position: relative;
  padding: 25px;
  background: #f3f6f7;
  border: 1px solid var(--line);
  opacity: 0.72;
}
.admin-tools article.active {
  background: #fff;
  border-top: 5px solid var(--red);
  box-shadow: 0 12px 28px #17344212;
  opacity: 1;
}
.admin-tools i {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  background: #fff;
  border-radius: 50%;
  font-style: normal;
  font-weight: 900;
  color: var(--red);
}
.admin-tools h2 {
  font-size: 19px;
  margin: 0 0 8px;
}
.admin-tools p {
  font-size: 13px;
  line-height: 1.5;
  color: #657078;
  margin: 0 0 22px;
}
.admin-tools article > span {
  position: absolute;
  bottom: 14px;
  right: 17px;
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
  color: #0b7892;
}
.admin-toolbar h2 {
  font-size: clamp(34px, 4vw, 55px);
  margin: 0;
  letter-spacing: -0.04em;
}
@media (max-width: 850px) {
  .admin-welcome {
    align-items: flex-start;
    flex-direction: column;
  }
  .admin-overview,
  .admin-tools {
    grid-template-columns: 1fr;
  }
  .admin-welcome .btn {
    width: 100%;
    text-align: center;
  }
}
.facebook-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: 8px;
  color: #fff;
  font-weight: 800;
  border-bottom: 2px solid var(--yellow);
  padding: 7px 0;
}
.facebook-link:hover {
  color: var(--yellow);
}
.facebook-logo {
  display: inline-grid;
  place-items: center;
  width: 34px;
  height: 34px;
  flex: none;
  border-radius: 50%;
  background: #1877f2;
  color: #fff;
  font-family: Arial, sans-serif;
  font-size: 29px;
  font-weight: 900;
  line-height: 1;
  padding-top: 6px;
}
.facebook-link:hover .facebook-logo {
  transform: scale(1.08);
}
.criterium-pricing {
  margin-top: 70px;
  padding-top: 55px;
  border-top: 1px solid var(--line);
}
.pricing-discounts {
  display: grid;
  grid-template-columns: minmax(240px, 0.8fr) minmax(420px, 1.2fr);
  gap: 34px;
  align-items: center;
  margin-top: 35px;
  padding: 30px;
  background: #fff8cf;
  border-left: 6px solid var(--yellow);
}
.pricing-discounts h2 {
  margin: 12px 0 0;
  font-size: 30px;
}
.discount-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.discount-cards article {
  display: grid;
  background: #fff;
  padding: 22px 24px;
  border-top: 4px solid var(--red);
  box-shadow: 0 8px 22px #17344212;
}
.discount-cards span {
  color: #0b7892;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}
.discount-cards strong {
  margin-top: 8px;
  color: var(--red);
  font-size: 36px;
}
.discount-cards p {
  margin: 4px 0 0;
  color: var(--ink);
  font-size: 14px;
}
@media (max-width: 850px) {
  .pricing-discounts {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 560px) {
  .discount-cards {
    grid-template-columns: 1fr;
  }
}
.criterium-pricing .eyebrow {
  margin-bottom: 18px;
}
.criterium-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  max-width: 760px;
}
@media (max-width: 800px) {
  .criterium-grid {
    grid-template-columns: 1fr;
  }
}
.registration-terms {
  margin-top: 80px;
  padding-top: 60px;
  border-top: 1px solid var(--line);
}
.registration-intro {
  font-size: 21px !important;
  color: var(--ink) !important;
  font-weight: 700;
  max-width: 850px;
}
.registration-cards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 22px;
  margin: 38px 0;
}
.registration-cards article {
  background: #f5f7f8;
  border-top: 5px solid var(--red);
  padding: 34px;
}
.registration-number {
  color: #0b7892;
  font-weight: 900;
  font-size: 13px;
}
.registration-cards h3 {
  font-size: 27px;
  margin: 18px 0;
}
.registration-cards ul,
.registration-cards ol {
  padding-left: 22px;
  color: #58636a;
  line-height: 1.7;
}
.registration-cards li {
  margin: 12px 0;
}
.registration-cards a {
  color: #0b7892;
  font-weight: 800;
  text-decoration: underline;
}
.info-box {
  background: #fff8cf;
  padding: 18px;
  border-left: 5px solid var(--yellow);
  color: var(--ink) !important;
}
.warning-box {
  background: #fff1f1;
  border-left: 5px solid var(--red);
  padding: 28px 32px;
  margin: 28px 0;
}
.warning-box h3 {
  font-size: 23px;
  margin: 0 0 12px;
}
.warning-box p {
  margin: 0;
}
.registration-details {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin: 28px 0 45px;
}
.registration-details p {
  background: #eef4f6;
  padding: 24px;
  margin: 0;
  border-top: 4px solid #0b7892;
  color: var(--ink);
}
@media (max-width: 850px) {
  .registration-cards,
  .registration-details {
    grid-template-columns: 1fr;
  }
}
.registration-details-two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
@media (max-width: 850px) {
  .registration-details-two {
    grid-template-columns: 1fr;
  }
}
.shop-coming-soon {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 220px;
  gap: 60px;
  align-items: center;
  max-width: 1150px;
  margin: 0 auto;
}
.shop-coming-soon h2 {
  max-width: 700px;
}
.shop-coming-soon p {
  max-width: 720px;
  font-size: 19px;
  line-height: 1.75;
  color: #58636a;
}
.shop-badge {
  display: grid;
  place-items: center;
  width: 190px;
  height: 190px;
  border-radius: 50%;
  background: var(--red);
  color: #fff;
  border: 18px solid var(--yellow);
  font-size: 60px;
  font-weight: 900;
  box-shadow: 0 16px 35px #17344220;
}
@media (max-width: 700px) {
  .shop-coming-soon {
    grid-template-columns: 1fr;
    gap: 35px;
  }
  .shop-badge {
    width: 140px;
    height: 140px;
    border-width: 13px;
    font-size: 44px;
  }
}
.site-header nav .nav-membership {
  color: var(--red);
  font-weight: 900;
  white-space: nowrap;
}
.site-header nav .nav-membership span {
  font-size: 11px;
}
body:has(.hero-photo) .site-header nav .nav-membership {
  color: var(--yellow);
  text-shadow: 0 1px 5px #000;
}
.online-registration {
  background: #f5f7f8;
}
.online-registration > h2 {
  max-width: 850px;
}
.online-registration-intro {
  max-width: 850px;
  margin-bottom: 35px;
}
.helloasso-widget-wrap {
  width: 100%;
  max-width: 1100px;
  background: #fff;
  border: 1px solid var(--line);
  box-shadow: 0 14px 35px #17344212;
  overflow: hidden;
}
.helloasso-widget-wrap iframe {
  display: block;
  width: 100%;
  height: 750px;
  border: 0;
}
.helloasso-fallback {
  margin-top: 28px !important;
}
.online-registration-contact {
  margin-top: 28px;
}
.online-registration-contact a {
  color: #0b7892;
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* Lisibilité et confort tactile sur smartphone */
@media (max-width: 700px) {
  html,
  body {
    overflow-x: hidden;
  }

  body {
    font-size: 16px;
    line-height: 1.6;
  }

  .site-header,
  body:has(.hero-photo) .site-header {
    position: relative;
    height: auto;
    padding: 12px 16px;
    gap: 10px;
    background: #0c1e29;
    color: #fff;
  }

  .site-header .brand {
    min-width: 0;
  }

  .site-header .brand img {
    width: 68px;
    height: 46px;
    object-fit: contain;
  }

  .brand-name {
    font-size: 11px;
  }

  .mobile-menu-toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-height: 44px;
    padding: 9px 13px;
    border: 1px solid #ffffff75;
    border-radius: 5px;
    background: #ffffff12;
    color: #fff;
    font: inherit;
    font-size: 14px;
    font-weight: 800;
  }

  .mobile-menu-icon {
    width: 19px;
    display: grid;
    gap: 4px;
  }

  .mobile-menu-icon i {
    display: block;
    height: 2px;
    border-radius: 2px;
    background: currentColor;
  }

  .site-header nav {
    display: none;
    order: 3;
    width: calc(100% + 32px);
    max-height: calc(100vh - 82px);
    margin: 0 -16px -12px;
    padding: 8px 16px 18px;
    gap: 2px;
    overflow-x: hidden;
    overflow-y: auto;
    flex-direction: column;
    align-items: stretch;
    border-top: 1px solid #ffffff2e;
    background: #0c1e29;
  }

  .site-header nav.mobile-menu-open {
    display: flex;
  }

  .site-header nav > a,
  .site-header nav .nav-parent {
    display: flex;
    align-items: center;
    min-height: 48px;
    justify-content: space-between;
    padding: 0 12px;
    border-bottom: 1px solid #ffffff1f;
    font-size: 16px;
    white-space: nowrap;
  }

  .nav-dropdown {
    display: block;
  }

  .nav-submenu {
    position: static;
    display: grid;
    width: 100%;
    padding: 4px 0 8px 16px;
    background: #102a38;
    color: #fff;
    border: 0;
    box-shadow: none;
  }

  .nav-submenu:before {
    display: none;
  }

  .nav-submenu a {
    min-height: 43px;
    display: flex;
    align-items: center;
    padding: 7px 12px;
    border-left: 3px solid var(--yellow);
    font-size: 14px;
  }

  body:has(.hero-photo) .site-header nav a,
  body:has(.hero-photo) .site-header nav .nav-membership {
    color: #fff;
    text-shadow: none;
  }

  .hero-photo {
    height: auto;
    min-height: 610px;
  }

  .hero-photo-content {
    left: 20px;
    right: 20px;
    bottom: 8%;
  }

  .hero-photo h1,
  .hero h1,
  .page-hero h1 {
    font-size: clamp(38px, 13vw, 54px);
    line-height: 0.98;
    letter-spacing: -0.045em;
  }

  .hero-photo-content > p,
  .hero-copy > p,
  .page-hero p,
  .two-col p {
    font-size: 16px;
    line-height: 1.65;
  }

  .page-hero {
    padding: 48px 20px;
  }

  .page-hero .eyebrow {
    margin-bottom: 14px;
  }

  .contact-address-row {
    align-items: stretch;
    flex-direction: column;
    gap: 0;
  }

  .contact-address-row a {
    min-height: 46px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 15px;
  }

  .section {
    padding: 52px 20px;
  }

  .section h2,
  .training-practical h2 {
    font-size: clamp(30px, 9vw, 40px);
    line-height: 1.08;
  }

  .actions,
  .room-actions {
    width: 100%;
  }

  .btn,
  .actions .btn,
  .room-actions .btn {
    width: 100%;
    min-height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 14px 18px;
    text-align: center;
  }

  .stats,
  .schedule-grid,
  .news-grid,
  .values,
  .timetable,
  .teams-grid,
  .contact-grid,
  .bureau-grid,
  .committee-grid,
  .technical-team-grid,
  .pricing-grid,
  .registration-cards,
  .training-room,
  .training-practical,
  .room-layout,
  .registration-details-two {
    grid-template-columns: minmax(0, 1fr);
  }

  .stats {
    padding: 24px 16px;
  }

  .training-tabs {
    top: 0;
  }

  .training-tabs a {
    min-height: 48px;
    display: flex;
    align-items: center;
    padding: 12px 16px;
    font-size: 14px;
  }

  .training-practical article,
  .bureau-grid article,
  .technical-team-grid article {
    padding: 22px 18px;
  }

  .event-list article.event-with-poster,
  .event-list article {
    grid-template-columns: minmax(0, 1fr);
    gap: 20px;
  }

  .event-poster,
  .news-grid img,
  .bureau-grid img,
  .technical-team-profile img {
    max-width: 100%;
  }

  .room-map iframe,
  .helloasso-widget-wrap iframe {
    width: 100%;
    min-height: 560px;
  }

  footer {
    padding: 42px 20px;
    gap: 26px;
  }
}

.builder-admin{max-width:1250px}.builder-help,.block-types{display:flex;gap:14px;align-items:center;background:#fff7cf;border-left:5px solid var(--yellow);padding:18px 22px;margin:0 0 24px}.compact{padding:9px 12px;margin-right:10px}.builder-checks{display:grid;gap:8px;align-content:center}.builder-checks label{display:flex;align-items:center;gap:9px;font-weight:700}.builder-checks input{width:18px;height:18px}.php-form-grid select{width:100%;min-height:46px;border:1px solid var(--line);background:#fff;padding:9px 11px;font:inherit}.builder-page{overflow:hidden}.builder-block{padding:70px clamp(24px,7vw,115px)}.builder-block h2{font-size:clamp(34px,4vw,60px);letter-spacing:-.04em;line-height:1;margin:0 0 24px}.builder-text{max-width:1100px;margin:auto;font-size:18px;line-height:1.75}.builder-columns{display:grid;grid-template-columns:1fr 1fr;gap:60px;font-size:18px;line-height:1.7}.builder-image{margin:0;text-align:center}.builder-image img{display:block;width:min(100%,1100px);max-height:700px;object-fit:cover;margin:auto}.builder-image figcaption{padding:12px;font-weight:700}.builder-button{text-align:center}.builder-callout{background:var(--red);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:30px}.builder-callout p{font-size:18px;max-width:650px}.builder-map{display:grid;grid-template-columns:.8fr 1.2fr;gap:35px;align-items:center}.builder-map iframe,.builder-embed iframe{width:100%;min-height:520px;border:0;background:#fff}.builder-embed h2{text-align:center}.builder-block.dark{background:#151515;color:#fff}.builder-block.red{background:var(--red);color:#fff}.builder-block.yellow{background:var(--yellow);color:#151515}.builder-block.light{background:var(--paper);color:var(--ink)}
@media(max-width:760px){.builder-columns,.builder-map{grid-template-columns:1fr;gap:26px}.builder-block{padding:48px 20px}.builder-callout{align-items:stretch;flex-direction:column}.builder-help,.block-types{align-items:flex-start;flex-direction:column}.compact{display:inline-flex;width:auto}}

/* Priorité d'affichage des photos d'événements */
.news-grid article.news-with-image{display:grid;grid-template-columns:120px 76px minmax(0,1fr);align-items:start}.news-event-image{width:120px;height:150px;object-fit:cover;border-radius:3px;box-shadow:0 10px 24px #4b090933}.admin-image-preview{display:flex;align-items:center;gap:18px;padding:15px;background:#f3f6f7;border:1px solid #dfe5e8}.admin-image-preview img{width:110px;height:110px;object-fit:cover;border-radius:4px}.admin-image-preview>div{display:grid;gap:10px}.admin-remove-image{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;gap:8px!important}.admin-remove-image input{width:auto!important}
@media(max-width:760px){.news-grid article.news-with-image{grid-template-columns:92px minmax(0,1fr)}.news-event-image{width:92px;height:118px;grid-row:1/3}.news-grid article.news-with-image .date{width:70px;height:72px}.news-grid article.news-with-image>div{grid-column:1/-1}}

/* Administration simplifiée des pages */
.simple-create-page{display:grid;gap:18px;border-top-color:var(--red)!important}.simple-step{display:grid;grid-template-columns:48px minmax(0,1fr);gap:18px;align-items:start;padding:20px;background:#f7f9fa}.simple-step>b{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--red);color:#fff;font-size:22px}.simple-step h2{margin:2px 0 5px}.simple-step p{margin:0 0 12px;color:#63717a}.simple-step input,.simple-step textarea,.simple-step select,.simple-settings input,.simple-settings textarea,.simple-settings select,.simple-block-form input,.simple-block-form textarea,.simple-block-form select{width:100%;padding:13px;border:1px solid #bfcbd0;border-radius:4px;background:#fff;font:inherit}.simple-step textarea{margin-top:10px}.simple-main-action{justify-self:start;font-size:17px;padding:15px 22px}.simple-pages-title{margin:55px 0 20px}.simple-page-list,.simple-block-list{display:grid;gap:14px}.simple-page-row,.simple-block-row{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:22px;background:#fff;border-left:5px solid var(--red);box-shadow:0 8px 24px #1029380d}.simple-page-row h2,.simple-page-row p,.simple-block-summary h3{margin:0}.simple-page-row p{margin-top:6px;color:#65717a}.simple-page-actions,.simple-block-actions{display:flex;align-items:center;gap:9px}.simple-page-actions details,.simple-block-actions details{position:relative}.simple-page-actions summary,.simple-block-actions summary{cursor:pointer;list-style:none}.simple-page-actions details[open] summary,.simple-block-actions details[open] summary{margin-bottom:12px}.simple-settings,.simple-editor{display:grid;gap:13px;padding:20px;background:#f3f6f7;border:1px solid #dce3e6}.simple-settings{position:absolute;right:0;z-index:5;width:min(560px,85vw);grid-template-columns:1fr 1fr}.simple-settings label,.simple-block-form label{display:grid;gap:6px;font-weight:750}.simple-settings .check{display:flex;align-items:center}.simple-settings .check input{width:auto}.simple-delete{grid-column:1/-1;background:#fff;padding:10px 20px}.quick-add{padding:26px;background:#fff;border-top:5px solid var(--red)}.quick-add h2{margin-top:0}.quick-add>div{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:12px}.quick-add a{display:flex;align-items:center;gap:12px;padding:17px;background:#f3f6f7;border:1px solid #dde4e7;font-weight:800}.quick-add a:hover{background:#fff2b5;border-color:#e2b700}.quick-add a b{display:grid;place-items:center;width:38px;height:38px;background:#102a38;color:#fff;border-radius:50%;font-size:19px}.new-content-editor{margin:22px 0;border-left:5px solid var(--yellow)}.simple-block-summary{display:flex;align-items:center;gap:14px;min-width:0}.simple-block-summary>span{display:grid;place-items:center;width:46px;height:46px;flex:none;border-radius:50%;background:#102a38;color:#fff;font-size:20px}.simple-block-summary h3{font-size:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:520px}.simple-block-summary b{color:var(--red);font-size:12px;text-transform:uppercase;letter-spacing:.08em}.simple-block-actions>form{display:flex;gap:5px}.simple-block-actions>form button{width:38px;height:38px;border:1px solid #c9d1d5;background:#fff;font-size:20px;cursor:pointer}.simple-block-actions>form button:disabled{opacity:.25}.simple-block-actions details[open]{width:min(680px,90vw)}.simple-block-actions details[open] .simple-editor{position:absolute;right:0;z-index:4;width:min(680px,90vw)}.simple-block-form{display:grid;gap:15px}.simple-editor-actions{display:flex;align-items:center;justify-content:space-between;gap:15px}.empty-page-message{padding:35px;background:#fff;border:2px dashed #bcc8cd;text-align:center;color:#65717a}
@media(max-width:800px){.simple-page-row,.simple-block-row{align-items:stretch;flex-direction:column}.simple-page-actions,.simple-block-actions{flex-wrap:wrap}.quick-add>div{grid-template-columns:1fr 1fr}.simple-settings{position:fixed;inset:10px;width:auto;overflow:auto}.simple-block-actions details[open] .simple-editor{position:fixed;inset:10px;width:auto;overflow:auto}.simple-block-summary h3{max-width:70vw}}
@media(max-width:480px){.quick-add>div{grid-template-columns:1fr}.simple-step{grid-template-columns:38px minmax(0,1fr);padding:15px}.simple-step>b{width:38px;height:38px}.simple-page-actions,.simple-block-actions{align-items:stretch;flex-direction:column}.simple-page-actions .btn,.simple-block-actions .btn{width:100%;justify-content:center}}

/* Alignement stable du menu principal et de l'onglet Entraînements */
@media(min-width:701px){
  .site-header{align-items:center}
  .site-header nav{display:flex;align-items:center;align-self:stretch;flex-wrap:nowrap;min-width:0}
  .site-header nav>a,.site-header nav .nav-parent{display:inline-flex;align-items:center;justify-content:center;min-height:48px;line-height:1.15;white-space:nowrap}
  .site-header .nav-dropdown{display:flex;align-items:center;align-self:stretch;height:100%}
  .site-header .nav-parent span{display:inline-flex;align-items:center;justify-content:center;flex:none;line-height:1;margin-top:-2px}
  .site-header .nav-submenu{top:calc(100% - 7px)}
  .site-header .nav-submenu a{display:flex;align-items:center;justify-content:flex-start;min-height:42px;line-height:1.25;white-space:normal}
}
@media(min-width:701px) and (max-width:1180px){
  .site-header{gap:18px;padding-left:22px;padding-right:22px}
  .site-header nav{gap:13px;font-size:12px}
  .site-header .brand img{width:86px}
  .site-header .header-cta{padding:11px 13px;font-size:12px;white-space:nowrap}
}
@media(max-width:700px){
  .site-header nav .nav-parent{width:100%;box-sizing:border-box}
  .site-header .nav-dropdown,.site-header .nav-submenu{width:100%}
  .site-header .nav-parent span{margin-left:auto}
}

/* Tableau de bord d'administration volontairement simple */
.admin-dashboard-simple{max-width:1250px;margin:0 auto}.admin-big-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.admin-big-card{display:grid;grid-template-columns:64px minmax(0,1fr) 35px;align-items:center;gap:20px;min-height:145px;padding:28px;background:#fff;border:1px solid #dfe5e8;border-left:7px solid var(--red);box-shadow:0 12px 30px #10293810;transition:.16s}.admin-big-card:hover{transform:translateY(-3px);box-shadow:0 18px 38px #1029381b}.admin-big-card>span{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:#102a38;color:#ffd82e;font-size:27px;font-weight:900}.admin-big-card h2{margin:0 0 8px;font-size:26px}.admin-big-card p{margin:0;color:#5f6d75;line-height:1.45}.admin-big-card>b{color:var(--red);font-size:28px}.highlight-shop-page{border-left-color:#ffd82e!important;background:#fffceb!important}.highlight-shop-page h2:after{content:"  ★";color:#cf171c}
@media(max-width:760px){.admin-big-grid{grid-template-columns:1fr}.admin-big-card{grid-template-columns:50px minmax(0,1fr) 24px;min-height:115px;padding:20px;gap:14px}.admin-big-card>span{width:50px;height:50px;font-size:22px}.admin-big-card h2{font-size:21px}.admin-big-card p{font-size:14px}.admin-dashboard-simple .admin-toolbar>div:last-child{display:flex;flex-wrap:wrap}}
.event-link-button{display:inline-flex;margin-top:14px;width:max-content;max-width:100%}
.admin-save-note{margin:2px 0 16px;color:#5f6d75;font-size:14px}
.admin-direct-dashboard{max-width:1050px;margin:0 auto}.admin-direct-list{display:grid;gap:10px}.admin-direct-row{display:grid;grid-template-columns:42px 48px minmax(0,1fr) auto;align-items:center;gap:16px;padding:18px 22px;background:#fff;border:1px solid #dfe5e8;border-left:5px solid #cf171c;box-shadow:0 5px 16px #1029380c;transition:.15s}.admin-direct-row:hover{transform:translateX(4px);box-shadow:0 8px 22px #10293818}.admin-direct-number{font-size:13px;font-weight:900;color:#8a969d}.admin-direct-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#102a38;color:#ffd82e;font-size:19px}.admin-direct-row h2{margin:0 0 3px;font-size:21px}.admin-direct-row p{margin:0;color:#66747b;font-size:14px}.admin-direct-row>strong{color:#cf171c;white-space:nowrap}.admin-direct-row.shop{border-left-color:#ffd82e;background:#fffceb}
@media(max-width:700px){.admin-direct-row{grid-template-columns:34px 42px minmax(0,1fr);padding:15px 14px;gap:10px}.admin-direct-icon{width:40px;height:40px}.admin-direct-row h2{font-size:18px}.admin-direct-row p{font-size:13px}.admin-direct-row>strong{grid-column:3;font-size:13px}.admin-direct-dashboard .admin-toolbar{align-items:flex-start}}
.event-admin-list{display:grid;gap:10px;margin-bottom:30px}.event-admin-list>article{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:18px;background:#fff;border-left:5px solid #cf171c}.event-admin-list h2{margin:3px 0;font-size:20px}.event-admin-list p{margin:0;color:#66747b}.event-admin-list form{margin:0}.event-only-form{scroll-margin-top:20px}.event-only-form>h2{margin-top:0}
@media(max-width:700px){.event-admin-list>article{grid-template-columns:1fr auto}.event-admin-list>article form{grid-column:2}.event-only-form{padding:18px}}

/* Photos insérées dans les pages : affichage compact et sans recadrage. */
.builder-image{padding-top:20px;padding-bottom:20px}
.builder-image img{width:auto;height:auto;max-width:min(100%,360px);max-height:280px;object-fit:contain;margin-inline:auto}
@media(max-width:700px){.builder-image{padding-top:16px;padding-bottom:16px}.builder-image img{max-width:min(100%,300px);max-height:250px}}
