/* Mégadanse : page tarifs reprise de la version 1 (atelier/v1/css/v1-tarifs.css, v1-effets.css). Complète accueil-v1.css
   (socle : cartes, titres, boutons, SpotlightCard). Tout est limité à .v1-zone : l'en-tête, le pied et le fond du site restent seuls. */

/* ---------- Tête ---------- */
.v1-zone .v1-tete { padding-top: calc(var(--barre) + clamp(32px, 5vw, 72px)); }
.v1-zone .v1-tete-grille { display: grid; gap: 24px; }
.v1-zone .v1-tete-carte { padding: clamp(24px, 4vw, 56px); }
.v1-zone .v1-tete-titre { font-size: clamp(1.95rem, 0.9rem + 5.2vw, 5.8rem); }
/* Mots du titre masqués pendant leur montée ; la marge compense la pente de l'italique. */
.v1-zone .v1-tete-titre .v1-mot { display: inline-block; overflow: hidden; vertical-align: bottom; padding: 0 0.08em 0.1em 0; margin-right: -0.08em; }
.v1-zone .v1-tete-titre .v1-mot-in { display: inline-block; transform-origin: 0 100%; }
.v1-zone .v1-tete-intro { margin: 24px 0 0; padding: 0; list-style: none; display: grid; gap: 10px; max-width: 64ch; }
.v1-zone .v1-tete-intro li { padding-left: 18px; box-shadow: inset 4px 0 0 var(--rouge); font-size: clamp(1rem, 0.95rem + 0.3vw, 1.15rem); color: var(--noir); }
.v1-zone .v1-tete-intro li:first-child { font-family: var(--f-geste); font-style: italic; font-weight: 800; font-size: clamp(1.15rem, 1rem + 0.6vw, 1.45rem); }
.v1-zone .v1-tete-note { padding: clamp(24px, 3vw, 40px); display: grid; align-content: end; gap: 18px; overflow: hidden; min-height: 260px; }
.v1-zone .v1-tete-couple { position: absolute; right: 2%; top: 5%; height: 50%; max-height: 260px; width: auto; filter: brightness(0) invert(1); }
.v1-zone .v1-tete-saison {
  position: relative; margin: 0; max-width: 26ch; font-family: var(--f-geste); font-style: italic; font-weight: 800; font-stretch: 104%;
  font-size: clamp(1.15rem, 1rem + 0.6vw, 1.45rem); line-height: 1.2;
}
.v1-zone .v1-tete-helloasso { position: relative; margin: 0; font-weight: 600; }
@media (min-width: 900px) {
  .v1-zone .v1-tete-grille { grid-template-columns: minmax(0, 8fr) minmax(0, 4fr); align-items: stretch; }
  .v1-zone .v1-tete-note { margin-top: 48px; }
}

/* ---------- Formules : des marches qui montent avec le nombre de cours ---------- */
.v1-zone .v1-marches { display: grid; gap: 14px; }
.v1-zone .v1-marches-tete { padding: clamp(22px, 3vw, 36px); }
.v1-zone .v1-marches-tete .v1-titre { font-size: clamp(1.8rem, 1rem + 1.6vw, 2.3rem); }
.v1-zone .v1-marche {
  display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; column-gap: 12px;
  width: calc(66% + (var(--n) - 1) * 8.5%); min-height: 96px; padding: 16px 20px;
}
.v1-zone .v1-marche-disc { grid-column: 1; margin: 0; font-size: 0.74rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: rgb(255 255 255 / 0.6); }
.v1-zone .v1-marche-formule { grid-column: 1; margin: 2px 0 0; font-family: var(--f-geste); font-style: italic; font-weight: 900; font-stretch: 108%; font-size: clamp(1.05rem, 0.9rem + 0.6vw, 1.35rem); line-height: 1.1; text-transform: uppercase; }
.v1-zone .v1-marche-prix { grid-column: 2; grid-row: 1 / span 2; margin: 0; }
.v1-zone .v1-marche .v1-prix { font-size: clamp(2.4rem, 1.6rem + 2.6vw, 4.2rem); text-shadow: none; }
@media (min-width: 900px) {
  .v1-zone .v1-marches { grid-template-columns: minmax(0, 1.7fr) repeat(5, minmax(0, 1fr)); align-items: end; }
  .v1-zone .v1-marche { width: auto; min-height: calc(190px + var(--n) * 56px); display: flex; flex-direction: column; padding: 20px 18px 22px; }
  .v1-zone .v1-marche-prix { order: -1; margin-bottom: auto; }
  .v1-zone .v1-marche-disc { margin-top: 16px; }
  .v1-zone .v1-marches-tete { align-self: end; min-height: 300px; display: grid; grid-template-columns: minmax(0, 1fr); align-content: end; }
}
.v1-zone .v1-autres { display: grid; gap: 16px; margin: clamp(28px, 4vw, 48px) 0 0; padding: 0; list-style: none; }
.v1-zone .v1-autre { padding: clamp(20px, 3vw, 32px); }
.v1-zone .v1-autre-prix { margin: 0 0 10px; }
.v1-zone .v1-autre .v1-prix { font-size: clamp(3rem, 2rem + 3vw, 5rem); color: var(--rouge); text-shadow: none; }
.v1-zone .v1-autre.v1-carte-rouge .v1-prix, .v1-zone .v1-autre.v1-carte-noire .v1-prix { color: var(--blanc); }
.v1-zone .v1-autre .v1-prix-long { display: block; font-family: var(--f-geste); font-style: italic; font-weight: 900; font-stretch: 108%; text-transform: uppercase; font-size: clamp(1.6rem, 1.2rem + 1.4vw, 2.4rem); line-height: 1.02; }
.v1-zone .v1-autre h3 { margin: 0 0 6px; font-family: var(--f-geste); font-style: italic; font-weight: 900; font-stretch: 108%; font-size: clamp(1.15rem, 1rem + 0.6vw, 1.5rem); text-transform: uppercase; }
.v1-zone .v1-autre-formule { margin: 0; color: var(--encre-douce); }
.v1-zone .v1-carte-rouge .v1-autre-formule, .v1-zone .v1-carte-noire .v1-autre-formule { color: rgb(255 255 255 / 0.84); }
@media (min-width: 900px) { .v1-zone .v1-autres { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1.25fr) minmax(0, 1fr); align-items: start; } .v1-zone .v1-autre:nth-child(2) { margin-top: 36px; } }

/* ---------- Documents ---------- */
.v1-zone .v1-docs-grille { display: grid; gap: 22px; }
.v1-zone .v1-docs-tete { padding: clamp(22px, 3vw, 40px); }
.v1-zone .v1-docs-tete .v1-titre { font-size: clamp(1.8rem, 1rem + 2.4vw, 3.3rem); }
.v1-zone .v1-docs-liste { display: grid; gap: 16px; margin: 0; padding: 0; list-style: none; }
.v1-zone .v1-doc {
  display: grid; grid-template-columns: auto minmax(0, 1fr); grid-template-rows: auto auto; column-gap: 18px; row-gap: 10px; align-items: center;
  padding: clamp(18px, 2.4vw, 28px); text-decoration: none; transition: background-color 0.25s, box-shadow 0.25s;
}
.v1-zone .v1-doc:hover, .v1-zone .v1-doc:focus-visible { background: var(--noir); box-shadow: var(--ombre-carte), inset 0 0 0 2px var(--rouge); }
.v1-zone .v1-doc-feuille {
  grid-row: 1 / span 2; position: relative; width: 64px; height: 84px; border-radius: 6px 18px 6px 6px; background: var(--blanc); color: var(--rouge);
  display: grid; place-items: end center; padding-bottom: 12px; box-shadow: 0 10px 24px rgb(0 0 0 / 0.4);
}
.v1-zone .v1-doc-feuille::before { content: ''; position: absolute; top: 0; right: 0; width: 18px; height: 18px; border-radius: 0 0 0 6px; background: var(--rouge); }
.v1-zone .v1-doc-feuille b { font-family: var(--f-geste); font-style: italic; font-weight: 900; font-size: 0.95rem; }
.v1-zone .v1-doc-nom { font-family: var(--f-geste); font-style: italic; font-weight: 800; font-size: clamp(1.02rem, 0.95rem + 0.4vw, 1.25rem); line-height: 1.18; text-transform: uppercase; color: var(--blanc); overflow-wrap: anywhere; }
.v1-zone .v1-doc-action { justify-self: start; padding: 6px 14px; border-radius: 999px; background: var(--rouge); color: var(--blanc); font-weight: 700; font-size: 0.85rem; }
.v1-zone .v1-doc-action::after { content: ' \2193'; }
@media (min-width: 900px) {
  .v1-zone .v1-docs-grille { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); align-items: center; }
}

/* ---------- Inscription : la fiche de main.js, re-mise en scène en étapes ---------- */
.v1-zone .v1-inscription-carte { max-width: 1120px; margin: 0 auto; padding: clamp(20px, 4vw, 56px); }
.v1-zone .v1-inscription-tete .v1-chapo p { margin: 0; }
.v1-zone .st-tete { position: relative; margin: 28px 0 8px; padding-top: 74px; }
.v1-zone .st-etapes { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; padding: 0; list-style: none; }
.v1-zone .st-etape { position: relative; display: flex; justify-content: center; }
.v1-zone .st-pastille {
  position: relative; z-index: 1; display: grid; justify-items: center; gap: 8px; padding: 6px 8px 8px; border: 0; border-radius: 14px;
  background: transparent; color: var(--noir); cursor: pointer; transition: background-color 0.25s, color 0.25s, box-shadow 0.25s;
}
.v1-zone .st-pastille:hover, .v1-zone .st-pastille:focus-visible { background: var(--noir); color: var(--blanc); box-shadow: inset 0 0 0 2px var(--rouge); outline: none; }
.v1-zone .st-num {
  display: grid; place-items: center; width: 46px; height: 46px; border-radius: 50%; background: var(--gris-froid); color: var(--noir);
  font-family: var(--f-geste); font-style: italic; font-weight: 900; font-size: 1.15rem;
  box-shadow: inset 0 0 0 2px rgb(13 11 11 / 0.12); transition: background-color 0.35s, color 0.35s, transform 0.5s var(--ease-ressort), box-shadow 0.35s;
}
.v1-zone .st-num svg { display: none; width: 22px; height: 22px; }
.v1-zone .st-fait .st-num { background: var(--noir); color: var(--blanc); }
.v1-zone .st-fait .st-num b { display: none; }
.v1-zone .st-fait .st-num svg { display: block; }
.v1-zone .st-actif .st-num { background: var(--rouge); color: var(--blanc); transform: scale(1.12); box-shadow: 0 0 0 7px rgb(208 17 31 / 0.18); }
.v1-zone .st-nom { font-weight: 700; font-size: clamp(0.74rem, 0.68rem + 0.3vw, 0.92rem); line-height: 1.1; text-align: center; }
.v1-zone .st-actif .st-nom { color: var(--rouge); }
.v1-zone .st-actif .st-pastille:hover .st-nom { color: var(--blanc); }
.v1-zone .st-ligne { position: absolute; top: 28px; left: calc(50% + 30px); width: calc(100% - 60px); height: 4px; border-radius: 2px; background: var(--gris-froid); overflow: hidden; }
.v1-zone .st-rempli { display: block; height: 100%; background: var(--rouge); transform: scaleX(0); transform-origin: 0 50%; transition: transform 0.7s var(--ease); }
.v1-zone .st-fait .st-rempli { transform: scaleX(1); }
.v1-zone .st-couple { position: absolute; left: 0; top: 0; width: 38px; height: auto; padding: 4px; border-radius: 12px; background: var(--blanc); box-shadow: 0 8px 24px rgb(0 0 0 / 0.3); }
.leger .v1-zone .st-couple { transform: none; }
.v1-zone .st-pas { padding-top: 20px; }
.v1-zone .st-pas[hidden] { display: none !important; }
.v1-zone .st-nav { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px; margin-top: 28px; padding-top: 22px; border-top: 1px solid rgb(13 11 11 / 0.12); }
.v1-zone .st-nav [data-suivant], .v1-zone .st-nav .st-envoyer { margin-left: auto; }
.v1-zone .st-recap { margin-bottom: 24px; padding: clamp(16px, 2.4vw, 26px); border-radius: 14px; background: var(--gris-froid); }
.v1-zone .st-recap h3, .v1-zone .st-recap h4 { margin: 0 0 12px; font-family: var(--f-geste); font-style: italic; font-weight: 900; text-transform: uppercase; }
.v1-zone .st-recap h3 { font-size: 1.3rem; }
.v1-zone .st-recap h4 { margin-top: 18px; font-size: 1rem; color: var(--rouge); }
.v1-zone .st-liste { display: grid; grid-template-columns: minmax(0, 1fr); gap: 2px 18px; margin: 0; }
.v1-zone .st-liste dt { font-weight: 700; font-size: 0.85rem; color: var(--encre-douce); }
.v1-zone .st-liste dd { margin: 0 0 8px; font-weight: 600; overflow-wrap: anywhere; }
.v1-zone .st-cours { margin: 0; padding-left: 1.2em; }
@media (min-width: 700px) { .v1-zone .st-liste { grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); } .v1-zone .st-liste dd { margin: 0; } }

/* Champs (balisage de main.js) */
.v1-zone .inscription-form .st-carte h2 {
  margin: 0 0 18px; font-family: var(--f-geste); font-style: italic; font-weight: 900; font-stretch: 108%;
  font-size: clamp(1.3rem, 1.1rem + 0.9vw, 1.9rem); line-height: 1.1; text-transform: uppercase;
}
.v1-zone .inscription-form .st-carte p { margin: 0 0 12px; color: var(--encre-douce); }
.v1-zone .field-group { display: grid; gap: 6px; margin-bottom: 16px; }
.v1-zone .field-label { font-weight: 700; font-size: 0.95rem; color: var(--noir); }
.v1-zone .field-group input[type="text"], .v1-zone .field-group input[type="email"], .v1-zone .field-group input[type="tel"], .v1-zone .field-group input[type="date"] {
  width: 100%; min-height: 50px; padding: 12px 14px; border: 2px solid rgb(13 11 11 / 0.14); border-radius: 12px; background: var(--blanc);
  font: 500 1rem/1.3 var(--f-texte); color: var(--noir); transition: border-color 0.2s, box-shadow 0.2s;
}
.v1-zone .field-group input:focus { outline: none; border-color: var(--rouge); box-shadow: 0 0 0 4px rgb(208 17 31 / 0.18); }
@media (min-width: 700px) {
  .v1-zone .st-pas:first-of-type .st-carte { display: grid; grid-template-columns: 1fr 1fr; column-gap: 20px; }
  .v1-zone .st-pas:first-of-type .st-carte > h2, .v1-zone .st-pas:first-of-type .st-carte > .field-group:first-of-type { grid-column: 1 / -1; }
}
.v1-zone .radio-row { display: flex; flex-wrap: wrap; gap: 8px; }
.v1-zone .radio-line, .v1-zone .checkbox-line {
  display: flex; gap: 10px; align-items: flex-start; padding: 10px 14px; border-radius: 12px; cursor: pointer;
  background: var(--gris-froid); transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;
}
.v1-zone .radio-line { align-items: center; border-radius: 999px; }
.v1-zone .checkbox-line { margin-bottom: 6px; }
.v1-zone .radio-line input, .v1-zone .checkbox-line input { flex: 0 0 auto; width: 20px; height: 20px; margin: 2px 0 0; accent-color: var(--rouge); }
.v1-zone .radio-line:hover, .v1-zone .checkbox-line:hover { background: var(--noir); color: var(--blanc); box-shadow: inset 0 0 0 2px var(--rouge); }
.v1-zone .radio-line:has(input:checked), .v1-zone .checkbox-line:has(input:checked) { background: var(--rouge); color: var(--blanc); }
.v1-zone .radio-line:has(input:checked) input, .v1-zone .checkbox-line:has(input:checked) input { accent-color: var(--noir); }
.v1-zone .radio-line:has(input:checked):hover, .v1-zone .checkbox-line:has(input:checked):hover { background: var(--noir); }
.v1-zone .cours-grid { display: grid; gap: 18px; }
@media (min-width: 900px) { .v1-zone .cours-grid { grid-template-columns: 1fr 1fr; } }
.v1-zone .cours-jour h3 { margin: 0 0 8px; font-family: var(--f-geste); font-style: italic; font-weight: 900; font-size: 1.15rem; text-transform: uppercase; color: var(--rouge); }
.v1-zone .cours-line span { font-size: 0.95rem; }
.v1-zone .mention-adhesion { margin-top: 16px; }
.v1-zone .mention-legale { font-size: 0.88rem; }
.v1-zone .inscription-form table.planning { width: 100%; font-size: 1rem; border-collapse: collapse; margin-bottom: 8px; background: var(--blanc); border-radius: 12px; overflow: hidden; box-shadow: inset 0 0 0 1px rgb(13 11 11 / 0.1); }
.v1-zone .inscription-form table.planning th { padding: 12px; text-align: left; background: var(--noir); color: var(--blanc); font-size: 0.8rem; text-transform: uppercase; letter-spacing: 0.04em; }
.v1-zone .inscription-form table.planning td { padding: 12px; vertical-align: top; font-size: 0.92rem; border-top: 1px solid var(--gris-froid); }
.v1-zone .prix-badge { display: inline-block; padding: 4px 10px; border-radius: 999px; background: var(--rouge); color: var(--blanc); font-weight: 700; white-space: nowrap; }
@media (max-width: 640px) {
  .v1-zone .inscription-form table.planning th:nth-child(2), .v1-zone .inscription-form table.planning td:nth-child(2) { display: none; }
  .v1-zone .prix-badge { white-space: normal; }
}

/* ---------- Effets de la page (v1-effets.css) : transform et opacity seulement ---------- */
.v1-zone .cu-compte { font-variant-numeric: tabular-nums; }
.cs-gerbe { position: fixed; left: 0; top: 0; z-index: 400; width: 0; height: 0; pointer-events: none; }
.cs-gerbe i { position: absolute; left: 0; top: -1px; border-radius: 2px; transform-origin: 0 50%; }
.v1-zone .gh { isolation: isolate; overflow: hidden; }
.gh-reflet { position: absolute; inset: 0; z-index: 2; overflow: hidden; border-radius: inherit; pointer-events: none; mix-blend-mode: screen; }
.gh-bande { position: absolute; left: 50%; top: 50%; opacity: 0; will-change: transform, opacity; }
.v1-zone .gh-eclat { box-shadow: var(--ombre-carte), inset 0 0 0 2px rgb(255 255 255 / 0.5); }
.v1-zone .sh-mot { display: inline-block; white-space: nowrap; }
.v1-zone .sh-case { display: inline-block; overflow: hidden; vertical-align: top; }
.v1-zone .sh-piste { display: inline-flex; }
.v1-zone .sh-piste span { display: inline-block; flex: none; text-align: center; }

/* ---------- Page inscription seule (inscription.html) : même fiche en étapes sous l'en-tête du site ---------- */
.v1-zone .v1-inscription-seule { padding-top: calc(var(--barre) + clamp(32px, 5vw, 72px)); }
/* La bande des disciplines dégage déjà la barre : même respiration que le haut du panneau du planning. */
.page-tete + .v1-zone .v1-tete, .page-tete + .v1-zone .v1-inscription-seule { padding-top: clamp(48px, 8vw, 110px); }

/* ---------- Variables de v1-socle.css absentes d'accueil-v1.css, et balisage de main.js débarrassé du style du site ---------- */
.v1-zone { --gris-froid: #eff0f2; --r-drap: 28px; }
.v1-zone .cours-jour { padding: 0; border-radius: 0; background: none; }
.v1-zone .cours-line { border-top: 0; }
.v1-zone .mention-adhesion { padding: 10px 14px; border-left: 0; border-radius: 12px; background: var(--gris-froid); }
.v1-zone .mention-legale { color: var(--encre-douce); }
.v1-zone .inscription-form table.planning tbody tr:hover { background: transparent; }
.v1-zone .inscription-form table.planning tbody tr:hover td, .v1-zone .inscription-form table.planning tbody tr:hover td :not(.prix-badge) { color: var(--noir); }
.v1-zone .inscription-form table.planning tbody tr:hover td:first-child { box-shadow: none; }
.v1-zone .inscription-form table.planning td:first-child { font-weight: inherit; }
