/* ═══════════════════════════════════════════════════════════════
   Licences padel — formulaire des pages de vente (shortcode
   [ge_licence_vente]) et pages merci / désinscription.
   Les pages utilisent le gabarit du site (en-tête 442, pied de page,
   boutons flottants) ; le haut de page est un widget HTML Elementor.
   Tout est rattaché à #gel : ni le thème ni le kit Elementor ne
   l'écrasent. Parcours en étapes sous 860 px, récapitulatif collant
   au-delà.
   ═══════════════════════════════════════════════════════════════ */
@font-face {
  font-family: 'GE Lic Suisse';
  src: url('../fonts/SuisseIntl-Regular.ttf') format('truetype');
  font-weight: 400; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'GE Lic Suisse';
  src: url('../fonts/SuisseIntl-Bold.ttf') format('truetype');
  font-weight: 700; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'GE Lic NewEdge';
  src: url('../fonts/NewEdge666-Rounded-Regular.ttf') format('truetype');
  font-weight: 100 500; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'GE Lic NewEdge';
  src: url('../fonts/NewEdge666-Rounded-SemiBold.ttf') format('truetype');
  font-weight: 600 900; font-style: normal; font-display: swap;
}
/* Titre de page du thème masqué (le haut de page porte le h1), comme sur /cartes-cadeaux/ */
body.ge-lic-page .page-header, body.ge-lic-page .entry-title { display: none; }

#gel {
  --vert: #244022;
  --vert-fonce: #1a2f18;
  --creme: #F3E6DA;
  --fond: #F8F4EE;
  --orange: #FF874D;
  --encre: #090909;
  --sauge: #A6B396;
  --sauge-clair: #C9D2BD;
  --bord: #E4DBCF;
  --bord-champ: #D9CFC2;
  --texte-2: #4A463F;
  --texte-3: #5B574F;
  --note-fond: #FFF0E7;
  --note-texte: #5C2A12;
  --brique: #A8431A;
  --erreur: #B42318;
  /* Noms propres au module : assets/style.css déclare déjà « Suisse Intl »
     avec une adresse sur un autre domaine (police bloquée par CORS) */
  --titre: 'GE Lic NewEdge', 'Arial Black', Arial, sans-serif;
  --corps: 'GE Lic Suisse', 'Helvetica Neue', Arial, sans-serif;
}
#gel *,
#gel *::before,
#gel *::after { box-sizing: border-box; }
#gel {
  --pad: clamp(20px, 4vw, 72px);
  position: relative;
  background: var(--creme);
  color: var(--encre);
  font-family: var(--corps);
  font-size: 16px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  /* Pleine largeur, comme les widgets du site */
  width: 100vw; max-width: 100vw; margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw);
  overflow-x: clip;
}
#gel a { color: var(--vert); }
#gel a:hover { color: var(--vert-fonce); }
#gel button,
#gel input { font: inherit; color: inherit; }
#gel h1,
#gel h2,
#gel h3 { font-family: var(--titre); margin: 0; }
#gel :focus-visible { outline: 3px solid var(--orange); outline-offset: 2px; }
#gel .ge-lic-sr {
  position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
/* Champ piège : hors écran, jamais rempli par une personne */
#gel .ge-lic-piege { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
/* Marges latérales des widgets du site (--pad) */
#gel .ge-lic-wrap { max-width: none; margin: 0; padding: 0 var(--pad); }
/* ── En-tête du parcours (mobile) ──────────────────────────── */
#gel .ge-lic-mtop { display: none; }
#gel .ge-lic-cta {
  align-self: flex-start; display: inline-flex; align-items: center; min-height: 56px; padding: 0 30px; border-radius: 8px;
  background: var(--orange); color: var(--encre) !important; font-family: var(--titre); font-size: 17px; font-weight: 700;
  letter-spacing: 0.04em; text-decoration: none;
}
#gel .ge-lic-cta:hover { background: #f27a40; }
/* ── Bloc « passe au Pack Player » (Multi-Raquettes) ──────── */
#gel .ge-lic-upgrade-zone { padding-top: clamp(40px, 5vw, 72px); padding-bottom: 0; }
#gel .ge-lic-upgrade { background: var(--vert); color: var(--creme); border-radius: 18px; padding: 36px 40px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: 40px; align-items: center; }
#gel .ge-lic-upgrade-texte { display: flex; flex-direction: column; gap: 16px; }
#gel .ge-lic-upgrade .ge-lic-pastille { align-self: flex-start; padding: 6px 12px; border-radius: 6px; background: var(--orange); color: var(--encre); font-size: 12.5px; font-weight: 700; letter-spacing: 0.1em; }
#gel .ge-lic-upgrade h2 { font-size: 40px; font-weight: 800; line-height: 1; }
#gel .ge-lic-upgrade .ge-lic-upgrade-membre { font-size: 15px; color: var(--sauge-clair); }
#gel .ge-lic-upgrade p { margin: 0; font-size: 17px; color: #DCE3D3; }
#gel .ge-lic-upgrade .ge-lic-cta { background: var(--creme); color: var(--vert) !important; font-size: 16px; min-height: 54px; padding: 0 26px; }
#gel .ge-lic-comparatif { width: 100%; border-collapse: collapse; font-size: 16px; }
#gel .ge-lic-comparatif th,
#gel .ge-lic-comparatif td { padding: 14px 0; border-top: 1px solid rgba(243, 230, 218, 0.18); text-align: center; }
#gel .ge-lic-comparatif thead th,
#gel .ge-lic-comparatif thead td { border-top: 0; padding-top: 0; font-weight: 700; }
#gel .ge-lic-comparatif thead th:last-child { color: var(--orange); }
#gel .ge-lic-comparatif tbody th { text-align: left; font-weight: 400; }
#gel .ge-lic-comparatif .non { color: var(--sauge); }
#gel .ge-lic-comparatif .oui { font-weight: 700; }
#gel .ge-lic-comparatif .prix { font-family: var(--titre); font-size: 22px; font-weight: 800; }
#gel .ge-lic-comparatif .prix small { font-family: var(--corps); font-size: 13px; font-weight: 400; color: var(--sauge-clair); }
/* ── Configuration + récap ─────────────────────────────────── */
#gel .ge-lic-config { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 32px; align-items: start; padding-top: clamp(40px, 5vw, 72px); padding-bottom: clamp(80px, 9vw, 160px); }
#gel .ge-lic-config--mr { padding-top: 24px; }
#gel .ge-lic-col { display: flex; flex-direction: column; gap: 20px; }
#gel .ge-lic-carte { background: #fff; border: 1px solid var(--bord); border-radius: 14px; padding: 28px; display: flex; flex-direction: column; gap: 18px; }
#gel .ge-lic-carte-titre { display: flex; align-items: center; gap: 12px; }
#gel .ge-lic-carte-titre .num { width: 32px; height: 32px; flex-shrink: 0; border-radius: 50%; background: var(--vert); color: var(--creme); display: flex; align-items: center; justify-content: center; font-weight: 700; }
#gel .ge-lic-carte h2 { font-size: 24px; font-weight: 700; }
#gel fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
#gel legend { padding: 0; font-size: 14px; font-weight: 700; margin-bottom: 10px; }
/* Choix en cartes : de vrais boutons radio, stylés */
#gel .ge-lic-statuts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
#gel .ge-lic-choix { position: relative; display: block; cursor: pointer; }
#gel .ge-lic-choix input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
#gel .ge-lic-choix-boite { display: flex; flex-direction: column; gap: 6px; padding: 20px; border-radius: 12px; border: 2px solid var(--bord); background: #fff; }
#gel .ge-lic-choix-boite .lib { font-size: 15px; font-weight: 700; }
#gel .ge-lic-choix-boite .prix { font-family: var(--titre); font-size: 32px; font-weight: 800; }
#gel .ge-lic-choix input:checked + .ge-lic-choix-boite { background: var(--vert); border-color: var(--vert); color: var(--creme); }
#gel .ge-lic-choix input:focus-visible + .ge-lic-choix-boite { outline: 3px solid var(--orange); outline-offset: 2px; }
#gel .ge-lic-note { margin: 0; padding: 14px 16px; border-radius: 10px; background: var(--note-fond); color: var(--note-texte); font-size: 14.5px; line-height: 1.5; }
#gel .ge-lic-maillot-grille { display: grid; grid-template-columns: minmax(0, 1fr) 200px; gap: 28px; align-items: center; }
#gel .ge-lic-maillot-champs { display: flex; flex-direction: column; gap: 18px; }
#gel .ge-lic-tailles { display: flex; flex-wrap: wrap; gap: 8px; }
#gel .ge-lic-taille { position: relative; }
#gel .ge-lic-taille input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
#gel .ge-lic-taille span { display: flex; align-items: center; justify-content: center; width: 56px; height: 48px; border-radius: 8px; border: 1px solid var(--bord-champ); background: #fff; font-weight: 700; }
#gel .ge-lic-taille input:checked + span { border: 2px solid var(--vert); background: var(--vert); color: var(--creme); }
#gel .ge-lic-taille input:focus-visible + span { outline: 3px solid var(--orange); outline-offset: 2px; }
#gel .ge-lic-taille input:disabled { cursor: not-allowed; }
#gel .ge-lic-taille input:disabled + span { border: 1px dashed #C9C0B4; background: #F2EEE8; color: #8A8378; cursor: not-allowed; }
#gel .ge-lic-taille span b { font-weight: 700; }
#gel .ge-lic-taille input:disabled + span b { text-decoration: line-through; }
#gel .ge-lic-taille span small { display: block; font-size: 11px; font-weight: 700; color: #9B1C1C; line-height: 1; }
#gel .ge-lic-taille span small[hidden] { display: none; }
#gel .ge-lic-taille.est-rupture span { flex-direction: column; gap: 3px; }
#gel .ge-lic-aide { font-size: 13.5px; color: var(--texte-3); }
#gel .ge-lic-case { display: flex; align-items: center; gap: 12px; min-height: 48px; padding: 0 16px; border-radius: 10px; border: 1px solid var(--bord); background: var(--fond); cursor: pointer; }
#gel .ge-lic-case input { width: 20px; height: 20px; accent-color: var(--vert); margin: 0; flex-shrink: 0; }
#gel .ge-lic-case .lib { flex-grow: 1; font-weight: 700; }
#gel .ge-lic-case .plus { font-weight: 700; color: var(--brique); white-space: nowrap; }
#gel .ge-lic-maillot { margin: 0; display: flex; flex-direction: column; align-items: center; gap: 8px; }
#gel .ge-lic-maillot-vue { position: relative; width: 200px; aspect-ratio: 2 / 3; border-radius: 12px; background: #F2EEE8; overflow: hidden; container-type: inline-size; }
#gel .ge-lic-maillot-vue img { width: 100%; height: 100%; object-fit: cover; display: block; }
/* Position et taille du maquettage : 59 px sur 300, 22 px sur 200 de large */
#gel .ge-lic-maillot-nom { position: absolute; left: 0; right: 0; top: 19.7%; text-align: center; font-family: var(--titre); font-size: calc(11cqw * 8 / var(--n, 8)); font-weight: 800; letter-spacing: 0.08em; color: #A6B396; white-space: nowrap; }
#gel .ge-lic-maillot figcaption { font-size: 13px; color: var(--texte-3); }
/* Champs */
#gel .ge-lic-champs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
#gel .ge-lic-fld { display: flex; flex-direction: column; gap: 6px; }
/* Bloc « Nom à floquer » : caché tant que la case Flocage n'est pas cochée */
#gel .ge-lic-fld[hidden] { display: none; }
#gel .ge-lic-fld--large { grid-column: span 2; }
#gel .ge-lic-fld label { font-size: 14px; font-weight: 700; }
#gel .ge-lic-fld input { height: 48px; padding: 0 14px; border: 1px solid var(--bord-champ); border-radius: 8px; background: #fff; font-size: 16px; width: 100%; }
#gel .ge-lic-fld input[aria-invalid="true"] { border-color: var(--erreur); box-shadow: 0 0 0 1px var(--erreur); }
#gel .ge-lic-fld input.majuscules { text-transform: uppercase; }
#gel .ge-lic-erreur { font-size: 13px; color: var(--erreur); font-weight: 700; }
#gel .ge-lic-erreur:empty { display: none; }
#gel .ge-lic-mention { margin: 0; font-size: 13px; line-height: 1.45; color: var(--texte-3); }
#gel .ge-lic-alerte { margin: 0; padding: 12px 16px; border-radius: 10px; background: var(--note-fond); color: var(--note-texte); font-weight: 700; font-size: 14.5px; }
#gel .ge-lic-alerte[hidden] { display: none; }
/* Récapitulatif */
#gel .ge-lic-recap { position: sticky; top: calc(var(--gel-stick, 0px) + 24px); background: #fff; border: 1px solid var(--bord); border-radius: 14px; padding: 26px; display: flex; flex-direction: column; gap: 16px; }
#gel .ge-lic-recap h2 { font-size: 22px; font-weight: 700; }
#gel .ge-lic-recap-boite { display: flex; flex-direction: column; gap: 16px; }
#gel .ge-lic-lignes { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; font-size: 15.5px; }
#gel .ge-lic-lignes li { display: flex; justify-content: space-between; gap: 12px; }
#gel .ge-lic-lignes li b { font-weight: 700; white-space: nowrap; }
#gel .ge-lic-lignes li.secondaire { color: var(--texte-2); }
#gel .ge-lic-total { display: flex; justify-content: space-between; align-items: baseline; padding-top: 14px; border-top: 1px solid var(--bord); }
#gel .ge-lic-total span:first-child { font-weight: 700; }
#gel .ge-lic-total .montant { font-family: var(--titre); font-size: 34px; font-weight: 800; color: var(--vert); }
#gel .ge-lic-rappel-pp { display: flex; flex-direction: column; gap: 4px; padding: 14px 16px; border-radius: 10px; background: var(--note-fond); text-decoration: none; color: var(--note-texte) !important; }
#gel .ge-lic-rappel-pp b { font-weight: 700; }
#gel .ge-lic-rappel-pp span { font-size: 14px; }
#gel .ge-lic-titulaire { display: none; }
#gel .ge-lic-btn-carte,
#gel .ge-lic-btn-payer {
  min-height: 56px; border: 0; border-radius: 10px; background: var(--orange); color: var(--encre);
  font-family: var(--titre); font-size: 16px; font-weight: 700; letter-spacing: 0.03em; cursor: pointer; width: 100%;
}
#gel .ge-lic-btn-carte:hover,
#gel .ge-lic-btn-payer:hover { background: #f27a40; }
#gel .ge-lic-btn-payer[disabled],
#gel .ge-lic-btn-carte[disabled] { opacity: 0.6; cursor: wait; }
#gel .ge-lic-msg-paiement { margin: 0; font-size: 14px; color: var(--erreur); font-weight: 700; }
#gel .ge-lic-msg-paiement:empty { display: none; }
#gel .ge-lic-securite { margin: 0; font-size: 13.5px; line-height: 1.5; color: var(--texte-3); }
#gel .ge-lic-apercu { margin: 0; padding: 10px 14px; background: #fef3c7; color: #92400e; font-size: 14px; font-weight: 700; text-align: center; }
/* Barre du bas et rappels réservés au parcours mobile */
#gel .ge-lic-barre { display: none; }
#gel .ge-lic-mobile-seul { display: none; }
/* ── Pages simples (merci, désinscription) ─────────────────── */
#gel .ge-lic-simple { max-width: 640px; margin: 0 auto; padding: clamp(40px, 6vw, 96px) var(--pad) clamp(80px, 9vw, 160px); box-sizing: content-box; }
#gel .ge-lic-simple .ge-lic-carte { gap: 16px; }
#gel .ge-lic-simple h1 { font-size: 36px; font-weight: 800; line-height: 1.05; color: var(--vert); }
#gel .ge-lic-simple p { margin: 0; font-size: 17px; line-height: 1.55; }

@media (max-width: 860px) {
#gel .ge-lic-wrap { padding: 0 var(--pad); }
#gel .ge-lic-upgrade-zone { display: none; }
#gel .ge-lic-mobile-seul { display: flex; }
#gel .ge-lic-desktop-seul { display: none; }
#gel .ge-lic-mtop { display: flex; flex-direction: column; gap: 14px; background: var(--vert); color: var(--creme); padding: 18px var(--pad) 20px; scroll-margin-top: var(--gel-stick, 0px); }
#gel .ge-lic-mtop-ligne { display: flex; justify-content: space-between; align-items: center; gap: 12px; min-height: 32px; }
#gel .ge-lic-mtop-produit { font-family: var(--titre); font-size: 20px; font-weight: 800; text-transform: uppercase; }
#gel .ge-lic-mtop-saison { font-size: 13px; color: var(--sauge-clair); }
#gel .ge-lic-retour { background: none; border: 0; padding: 0; color: var(--creme); font-size: 14px; cursor: pointer; min-height: 32px; }
#gel .ge-lic-retour[hidden] { display: none; }
#gel .ge-lic-progres { display: flex; gap: 6px; }
#gel .ge-lic-progres span { flex-grow: 1; height: 4px; border-radius: 2px; background: rgba(243, 230, 218, 0.25); }
#gel .ge-lic-progres span.fait { background: var(--orange); }
#gel .ge-lic-mtop-etape { font-size: 14px; font-weight: 700; }
#gel .ge-lic-config { display: block; padding: 20px var(--pad) 140px; }
#gel .ge-lic-col { gap: 20px; }
/* Une étape à la fois : le JS pose data-etape-active sur le formulaire */
#gel [data-etape-active] [data-etape] { display: none; }
#gel [data-etape-active="1"] [data-etape~="1"],
#gel [data-etape-active="2"] [data-etape~="2"],
#gel [data-etape-active="3"] [data-etape~="3"] { display: flex; }
#gel .ge-lic-carte { padding: 0; border: 0; background: transparent; gap: 16px; }
#gel .ge-lic-carte-titre .num { display: none; }
#gel .ge-lic-carte h2 { font-family: var(--corps); font-size: 15px; }
#gel .ge-lic-statuts { gap: 10px; }
#gel .ge-lic-choix-boite { padding: 14px; border-radius: 10px; }
#gel .ge-lic-choix-boite .prix { font-size: 26px; }
#gel .ge-lic-note { font-size: 13px; padding: 10px 12px; }
#gel .ge-lic-maillot-grille { grid-template-columns: minmax(0, 1fr) 72px; gap: 12px; align-items: end; }
#gel .ge-lic-tailles { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 6px; }
#gel .ge-lic-taille span { width: auto; height: 46px; }
#gel .ge-lic-tailles:has(.est-rupture) { gap: 4px; }
#gel .ge-lic-taille span small { font-size: 8.5px; letter-spacing: -0.02em; }
#gel .ge-lic-maillot-vue { width: 72px; border-radius: 8px; }
#gel .ge-lic-maillot figcaption { display: none; }
#gel .ge-lic-champs { gap: 12px; }
#gel .ge-lic-case { padding: 0 14px; gap: 10px; }
#gel .ge-lic-case .lib { font-size: 15px; }
#gel .ge-lic-champs .ge-lic-fld--large { grid-column: span 2; }
#gel .ge-lic-recap { position: static; padding: 0; border: 0; background: transparent; gap: 16px; }
#gel .ge-lic-recap > h2 { display: none; }
#gel .ge-lic-recap-boite { background: #fff; border: 1px solid var(--bord); border-radius: 12px; padding: 18px; display: flex; flex-direction: column; gap: 10px; }
#gel .ge-lic-titulaire { display: flex; flex-direction: column; gap: 6px; background: #fff; border: 1px solid var(--bord); border-radius: 12px; padding: 16px 18px; font-size: 14.5px; }
#gel .ge-lic-titulaire-tete { display: flex; justify-content: space-between; align-items: center; }
#gel .ge-lic-titulaire-tete b { font-weight: 700; }
#gel .ge-lic-titulaire button { background: none; border: 0; padding: 0; color: var(--vert); font-weight: 700; text-decoration: underline; min-height: 32px; cursor: pointer; }
#gel .ge-lic-titulaire .sec { color: var(--texte-3); }
#gel .ge-lic-total .montant { font-size: 30px; }
#gel .ge-lic-barre { display: flex; position: fixed; left: 12px; right: 12px; bottom: 12px; z-index: 9990; align-items: center; gap: 14px; padding: 10px 10px 10px 18px; background: #fff; border: 1px solid var(--bord); border-radius: 14px; box-shadow: 0 10px 30px rgba(9, 9, 9, .14); }
#gel .ge-lic-barre[hidden] { display: none; }
#gel .ge-lic-barre-total { display: flex; flex-direction: column; }
#gel .ge-lic-barre-total span { font-size: 12.5px; color: var(--texte-3); }
#gel .ge-lic-barre-total b { font-family: var(--titre); font-size: 26px; font-weight: 800; color: var(--vert); }
#gel .ge-lic-barre button { flex-grow: 1; min-height: 52px; border: 0; border-radius: 10px; background: var(--orange); color: var(--encre); font-family: var(--titre); font-weight: 700; letter-spacing: 0.03em; font-size: 15px; cursor: pointer; }
#gel .ge-lic-simple { padding-top: 32px; }
#gel .ge-lic-simple h1 { font-size: 28px; }
}


@media (prefers-reduced-motion: reduce) {
#gel * { scroll-behavior: auto !important; transition: none !important; }
}
