/* GÉNÉRÉ par outils-portee-css.py depuis planning.css : chaque sélecteur est limité à la zone .ffgp du parcours. Ne pas modifier à la main. */
.ffgp .planning-question{ justify-content:flex-start !important; align-items:center !important; font-size:14px; line-height:1.5; margin-bottom:10px; }
.ffgp .planning-question .etape-num{ flex:none; }
.ffgp .planning-duree{ padding:12px 14px; border-left:3px solid var(--bright); background:var(--pale); border-radius:0 12px 12px 0; margin-bottom:12px; font-size:13px; line-height:1.6; }
.ffgp .planning-duree strong, .ffgp .planning-duree span{ display:block; }
.ffgp .planning-duree strong{ color:var(--green); }
.ffgp .planning-duree span{ color:var(--muted); }
.ffgp .planning-aide{ font-size:12px; line-height:1.65; color:var(--muted); margin-top:9px; }
.ffgp .planning-message{ font-size:12px; line-height:1.6; color:#8a382b; margin-top:8px; }
.ffgp .planning-message:empty{ display:none; }
.ffgp .planning-plage{ border:0; padding:0; margin:0; min-width:0; }
.ffgp .planning-plage legend{ padding:0; margin-bottom:7px; font-size:15px; font-weight:700; color:var(--ink); }
.ffgp .planning-plage-intro{ font-size:13px; line-height:1.55; color:var(--muted); margin:0 0 12px; }
.ffgp .planning-plage-dates{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.ffgp .planning-plage-dates>div{ min-width:0; }
.ffgp .planning-plage-dates label{ display:block; margin-bottom:6px; font-size:13px; font-weight:700; color:var(--ink); }
.ffgp .planning-plage-dates input{ display:block; box-sizing:border-box; width:100%; min-width:0; max-width:100%; min-height:48px; border:1px solid #bda9cc; border-radius:12px; background:#fff; padding:10px; color:var(--ink); font:inherit; font-size:16px; }
.ffgp .planning-plage-dates input:focus-visible{ outline:2px solid var(--green); outline-offset:2px; }
.ffgp .planning-plage-dates input[aria-invalid=true]{ border-color:#8a382b; }
.ffgp .planning-plage-choix{ margin:10px 0 0; border-left:3px solid var(--green); padding:7px 10px; color:var(--green); font-size:12px; font-weight:700; line-height:1.55; }
@media(max-width:380px){.ffgp .planning-plage-dates{ grid-template-columns:1fr; gap:10px; }}
.ffgp .planning-dialog{ max-width:500px; max-height:calc(100dvh - 32px); overflow:auto; padding:30px; }
.ffgp .planning-dialog .eyebrow{ padding-right:40px; margin:0; }
.ffgp .planning-dialog h2{ font-size:27px; letter-spacing:-.7px; padding-right:16px; }
.ffgp .planning-dialog p{ font-size:14px; line-height:1.65; }
.ffgp .planning-fermer{ position:absolute; right:12px; top:10px; width:44px; height:44px; border:0; background:transparent; color:var(--violet); font-size:28px; border-radius:50%; }
.ffgp .planning-form{ margin-top:20px; }
.ffgp .planning-form label{ display:block; font-size:14px; font-weight:700; margin-bottom:7px; }
.ffgp .planning-form input[type=date]{ display:block; width:100%; min-width:0; max-width:100%; min-height:52px; border:1px solid #bda9cc; background:#fff; border-radius:12px; padding:10px 12px; font-size:16px; color:var(--ink); }
.ffgp .planning-form #planning-minimum{ font-size:12px; color:var(--muted); margin-top:7px; }
.ffgp .planning-erreur{ color:#8a382b; }
.ffgp .planning-erreur:empty{ display:none; }
.ffgp .planning-confirmation{ margin-top:20px; border-radius:14px; padding:15px 17px; background:var(--pale); font-size:14px; color:var(--green); }
.ffgp .planning-confirmation p{ margin:5px 0 0; }
.ffgp .planning-dialog .cta{ font-size:13px; }
.ffgp .planning-demande{ border-left:3px solid var(--bright); padding:13px 15px; margin:15px 0; background:var(--pale); border-radius:0 12px 12px 0; font-size:14px; }
.ffgp .planning-demande strong, .ffgp .planning-demande span{ display:block; }
.ffgp .planning-demande span{ color:var(--muted); font-size:13px; margin-top:4px; }
.ffgp .planning-revoir{ border:0; background:none; color:var(--violet); padding:0; margin-top:7px; text-decoration:underline; text-underline-offset:3px; font-size:12px; }
.ffgp.ville-affinee .cours-table th>small.cours-jour{ display:block; color:var(--muted); font-size:11px; font-weight:400; line-height:1.5; margin-top:5px; }
.ffgp.ville-affinee .cours-table th>strong{ font-size:14px; line-height:1.6; }
.ffgp.ville-affinee .cours-table .cours-inscription{ min-height:44px; }
.ffgp.ville-affinee .cours-autre-date{ margin:0 22px 18px; }
.ffgp.ville-affinee .cours-autre-date button{ border:1px solid var(--violet); color:var(--violet); background:#fff; border-radius:99px; padding:11px 16px; min-height:44px; font-size:12px; font-weight:700; width:100%; }
.ffgp.ville-affinee .cours-autre-date button:hover{ background:#f4eff8; }
.ffgp.ville-affinee .cours-date-retenue{ margin:15px 22px 0; font-size:12px; line-height:1.65; color:var(--green); background:var(--pale); border-radius:12px; padding:12px 15px; }
.ffgp.ville-affinee .cours-date-retenue strong{ display:block; }
.ffgp.ville-affinee .cours-date-continuer{ margin-top:12px; min-height:44px; width:100%; justify-content:center; }
.ffgp.ville-affinee .cours-formules{ padding:0; list-style:none; margin:3px 0 0; }
.ffgp.ville-affinee .cours-formules li{ margin-top:10px; padding-left:0; }
.ffgp.ville-affinee .cours-formules b{ display:block; color:var(--ink); font-weight:700; }
.ffgp.ville-affinee .cours-formules span{ display:block; }
.ffgp .ticket .planning-ticket{ display:block; }
.ffgp .ticket .planning-ticket>span:last-child{ display:block; white-space:normal; color:var(--muted); font-weight:400; }
.ffgp .ticket .planning-ticket strong{ display:block; margin:3px 0 5px; font-size:15px; color:var(--green); }
.ffgp .ticket .planning-ticket small{ margin-top:6px; }
@media(max-width:600px){.ffgp .planning-question{ font-size:13px; }
.ffgp .planning-dialog{ padding:24px 20px; }
.ffgp .planning-dialog h2{ font-size:24px; }
.ffgp.ville-affinee .cours-table tr{ display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:2px 12px; padding:13px 15px; }
.ffgp.ville-affinee .cours-table th{ grid-column:1; grid-row:1/3; padding:0; }
.ffgp.ville-affinee .cours-table td{ padding:0; border:0; }
.ffgp.ville-affinee .cours-table td.cours-prix{ grid-column:2; grid-row:1; text-align:right; font-size:20px; }
.ffgp.ville-affinee .cours-table td:last-child{ grid-column:2; grid-row:2; padding-top:4px; }
.ffgp.ville-affinee .cours-table .cours-inscription{ font-size:11px; padding:10px 12px; min-height:44px; }
.ffgp.ville-affinee .cours-table th>strong{ font-size:13px; }
.ffgp.ville-affinee .cours-date-retenue{ margin:15px 15px 0; }
.ffgp.ville-affinee .cours-autre-date{ margin:0 15px 18px; }}