/* Une même structure pour comparer les trois formules sans étirer les listes. */
.ff-pricing .nav{padding-inline:max(22px,calc((100vw - 1320px)/2))}
.ff-pricing .nav .pricing-theme{width:40px;height:40px;flex-shrink:0;border-radius:50%;border:1px solid var(--ff-line);background:var(--ff-soft);color:var(--ff-ink);font:inherit;cursor:pointer}
.ff-pricing .nav img{height:46px;object-fit:contain}.ff-pricing .pricing-home{color:var(--ff-muted);font-size:.9rem;font-weight:600;text-decoration:none}.ff-pricing .nav a.btn{background:#1b5364;border:1px solid #497882}.ff-pricing .faq h2{color:var(--ff-ink)}.ff-pricing .foot,.ff-pricing .foot p{color:var(--ff-muted)}
.ff-pricing #devisBox input{background:var(--ff-card);color:var(--ff-ink);border-color:var(--ff-line) !important}.ff-pricing #devisBox p{color:var(--ff-muted) !important}
.ff-pricing #devisSend{display:flex;align-items:center;justify-content:center;width:100%;min-height:46px;padding:12px 16px;border:1px solid #296678;border-radius:10px;background:#1b5364;color:#fff;font:700 .9rem/1.4 Inter,system-ui,sans-serif;cursor:pointer}
.ff-pricing #devisSend:hover{background:#246b79}.ff-pricing #devisSend:disabled{opacity:.65;cursor:wait}
.ff-pricing .hero{max-width:1160px;padding:44px 24px 0}
.ff-pricing .hero .pricing-eyebrow{margin:0 0 12px;color:var(--ff-link);font-size:.75rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}
.ff-pricing .hero h1{font-size:clamp(1.8rem,3.4vw,2.65rem);line-height:1.16;color:var(--ff-ink);text-wrap:balance}
.ff-pricing .hero .pricing-intro{max-width:650px;margin:14px auto 0;line-height:1.6;font-size:1rem;color:var(--ff-muted);text-wrap:balance}
.ff-pricing .hero .pricing-free{font-size:.86rem;color:var(--ff-link);margin:14px 0 0;line-height:1.5}
.pricing-calendar{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:26px 0 0;padding:16px 0;border-block:1px solid var(--ff-line);text-align:left}
.pricing-calendar li{min-width:0;padding:0 14px;border-left:1px solid var(--ff-line);line-height:1.5}.pricing-calendar li:first-child{border-left:0;padding-left:0}
.pricing-calendar strong,.pricing-calendar span{display:block}.pricing-calendar strong{font-size:.83rem;font-weight:650;color:var(--ff-ink)}.pricing-calendar span{font-size:.74rem;margin-top:3px;color:var(--ff-muted)}
.ff-pricing .pricing-grid{max-width:1160px;margin:28px auto 0;padding:0 24px;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:stretch}
.ff-pricing .pricing-grid>.card{display:grid;grid-template-rows:auto auto 1fr auto;gap:20px;padding:24px;min-width:0;position:relative;border-width:1px}
.ff-pricing .card--star{box-shadow:0 8px 28px #193d4c09}
.ff-pricing .offer-heading .tag{margin:0;font-size:.7rem;line-height:1.5}
.ff-pricing .offer-heading h2{font-size:1.16rem;line-height:1.35;margin:6px 0 10px;letter-spacing:-.025em}
.ff-pricing .offer-audience{color:var(--ff-muted);font-size:.88rem;line-height:1.5;min-height:2.65em}
.ff-pricing .card .amount{display:flex;align-items:baseline;gap:8px;margin:16px 0 0;min-height:51px;line-height:1.1}
.ff-pricing .card .amount b{font-size:2.65rem;font-weight:800;letter-spacing:-.05em;white-space:nowrap}
.ff-pricing .card .amount .tax{font-size:.78rem;font-weight:650;color:var(--ff-muted);letter-spacing:0}
.ff-pricing .card .amount--custom{align-items:center}.ff-pricing .card .amount--custom b{font-size:1.8rem;letter-spacing:-.035em}
.ff-pricing .offer-unit{font-size:.82rem;color:var(--ff-muted);line-height:1.5;margin:4px 0 0}
.ff-pricing .card .offer-benefits{list-style:none;display:grid;align-content:start;gap:10px;flex:none;margin:0;padding:18px 0 0;border-top:1px solid var(--ff-line)}
.ff-pricing .card .offer-benefits li{font-size:.86rem;line-height:1.5;padding-left:20px;align-self:start}
.ff-pricing .card .offer-benefits li::before{content:'✓';font-size:.94rem;color:#338276;font-weight:750}
.ff-pricing .offer-options{align-self:start;padding-top:18px;border-top:1px solid var(--ff-line);min-width:0}
.ff-pricing .field-label{display:block;font-weight:650;font-size:.82rem;color:var(--ff-ink);margin:0 0 10px;line-height:1.4}
.ff-pricing #courseSel{width:100%;padding:12px 10px;min-height:44px;border:1px solid var(--ff-line);border-radius:10px;background:var(--ff-card);color:var(--ff-ink);font:500 .85rem/1.4 Inter,system-ui,sans-serif}
.ff-pricing .field-note,.ff-pricing .custom-help{margin:10px 0 0;color:var(--ff-muted);font-size:.8rem;line-height:1.6}.ff-pricing .custom-help{margin:0;font-size:.86rem;max-width:31ch}
.ff-pricing .school-courses{border:0;padding:0;margin:0;min-width:0}.ff-pricing .school-courses legend{padding:0}
.school-course-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.school-course-grid label{display:flex;align-items:flex-start;gap:7px;min-width:0;padding:9px 7px;background:var(--ff-bg);border:1px solid var(--ff-line);border-radius:9px;cursor:pointer}
.school-course-grid label:has(input:checked){border-color:#85b3b6;background:var(--ff-soft)}
.school-course-grid input{flex:0 0 auto;margin:2px 0 0;width:15px;height:15px;accent-color:#1b6573}
.school-course-grid label>span{min-width:0}.school-course-grid strong,.school-course-grid small{display:block}
.school-course-grid strong{font-size:.7rem;font-weight:650;line-height:1.4}.school-course-grid small{font-size:.63rem;line-height:1.5;color:var(--ff-muted);margin-top:2px}
.ff-pricing .seats{display:flex;justify-content:space-between;align-items:center;flex-wrap:nowrap;gap:12px;margin:12px 0 0}.ff-pricing .seats label{font-size:.81rem;color:var(--ff-ink);line-height:1.4}
.ff-pricing .seats input{width:78px;min-height:42px;border:1px solid var(--ff-line);background:var(--ff-card);color:var(--ff-ink);font-size:.9rem;padding:8px}
.school-total{margin-top:12px;display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:3px 8px;line-height:1.5}.school-total span{font-size:.68rem;color:var(--ff-muted)}.school-total strong{font-size:.88rem;font-weight:700;color:var(--ff-ink);white-space:nowrap}
.ff-pricing .offer-actions{display:grid;align-content:end;gap:10px;padding:0;margin:0}
.ff-pricing .card .offer-button{display:flex;align-items:center;justify-content:center;width:100%;min-height:46px;margin:0;padding:12px 10px;border:1px solid #296678;border-radius:10px;background:#1b5364;color:#fff;text-decoration:none;font:700 .9rem/1.4 Inter,system-ui,sans-serif;text-align:center;cursor:pointer}
.ff-pricing .card .offer-button:hover{background:#246b79;filter:none}
.ff-pricing .offer-action-note{margin:0;min-height:2.8em;text-align:center;font-size:.71rem;color:var(--ff-muted);line-height:1.4;text-wrap:balance}.ff-pricing .offer-action-note a{margin:0;text-underline-offset:3px;font-weight:600}
.ff-pricing .school-quote{max-width:720px;margin:0 auto;padding:0 24px}.ff-pricing #devisBox{margin-top:22px;padding:24px;border:1px solid var(--ff-line);border-radius:16px;background:var(--ff-card)}.ff-pricing #devisBox h2{font-size:1.2rem;margin:0 0 18px;color:var(--ff-ink)}
.ff-pricing .note{font-size:.78rem;line-height:1.6;color:var(--ff-muted);margin:18px auto 0}
.ff-pricing .sales-notice{background:var(--ff-soft);color:var(--ff-link);border-bottom:1px solid var(--ff-line);padding:10px 24px;text-align:center;font-size:.78rem;font-weight:550;line-height:1.5}
@supports(grid-template-rows:subgrid){@media(min-width:1060px){.ff-pricing .pricing-grid>.card{grid-row:span 4;grid-template-rows:subgrid}}}
@media(max-width:1059px){.ff-pricing .pricing-grid{max-width:650px;grid-template-columns:1fr}.ff-pricing .pricing-grid>.card{gap:18px}.ff-pricing .offer-audience br{display:none}.ff-pricing .offer-audience{min-height:0}.ff-pricing .offer-action-note{min-height:0}.ff-pricing .card .offer-benefits{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px}.ff-pricing .custom-help{max-width:none}.school-course-grid strong{font-size:.8rem}.school-course-grid small{font-size:.72rem}.school-course-grid label{padding:10px}}
@media(max-width:600px){.ff-pricing .hero{padding:28px 20px 0}.ff-pricing .hero .pricing-intro{font-size:.92rem}.ff-pricing .desktop-break{display:none}.pricing-calendar{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px;margin-top:20px}.pricing-calendar li{padding:0;border:0}.pricing-calendar span{font-size:.69rem}.ff-pricing .pricing-grid{padding:0 16px;margin-top:20px;gap:18px}.ff-pricing .pricing-grid>.card{padding:22px}.ff-pricing .card .offer-benefits{grid-template-columns:1fr}.ff-pricing .school-total span{font-size:.73rem}.ff-pricing .offer-action-note{font-size:.75rem}.ff-pricing .note{padding:0 22px}.ff-pricing .school-quote{padding:0 16px}}

/* Les quatre archipels donnent un aperçu concret des cours disponibles. */
.ff-pricing .hero{max-width:1160px;margin-top:28px;padding:32px 24px 24px;border:1px solid #365c6c;border-radius:24px;background:linear-gradient(125deg,#123d4c,#102b3b);color:#edf7f5}
.ff-pricing .hero h1{color:#edf7f5}.ff-pricing .hero .pricing-eyebrow,.ff-pricing .hero .pricing-free{color:#b6dfd7}.ff-pricing .hero .pricing-intro{color:#c2d8df}
.ff-pricing .pricing-calendar{border:0;padding:0;gap:12px;margin-top:26px}
.ff-pricing .pricing-calendar li,.ff-pricing .pricing-calendar li:first-child{padding:0;border:0;min-width:0}
.pricing-calendar a{height:100%;display:flex;flex-direction:column;padding:0 0 14px;overflow:hidden;border:1px solid #456774;border-radius:14px;background:#153b4b;text-decoration:none;transition:background .18s ease,border-color .18s ease}
.pricing-calendar a:hover{background:#1c4b5b;border-color:#9bc7c2}.pricing-calendar a:focus-visible{outline-color:#bbe5dc}
.pricing-calendar img{display:block;width:100%;height:auto;aspect-ratio:1.75;object-fit:contain;background:#0a3246;margin:0 0 12px}
.ff-pricing .pricing-calendar strong{padding:0 14px;color:#f0f8f6;font-size:.9rem;line-height:1.4}
.ff-pricing .pricing-calendar span{padding:0 14px;color:#b7d3dc;line-height:1.5;font-size:.71rem;margin-top:5px}
.offer-illustration{display:flex;align-items:center;gap:12px;height:114px;margin:-8px -8px 22px;padding:8px 14px;border:1px solid var(--ff-line);border-radius:13px;background:var(--ff-soft)}
.offer-illustration img{width:88px;height:98px;object-fit:contain;flex-shrink:0}.offer-illustration>span{font-size:.91rem;line-height:1.45;color:var(--ff-link);font-weight:650}
.offer-illustration--portrait img{width:78px;height:86px;border-radius:12px;object-fit:cover;object-position:center 25%;margin:0 5px}
@media(max-width:1208px){.ff-pricing .hero{margin-left:24px;margin-right:24px}}
@media(max-width:600px){.ff-pricing .hero{margin:18px 16px 0;padding:24px 16px 16px;border-radius:20px}.ff-pricing .pricing-calendar{gap:10px}.ff-pricing .pricing-calendar strong{font-size:.8rem;padding-inline:10px}.ff-pricing .pricing-calendar span{font-size:.68rem;padding-inline:10px}.pricing-calendar img{aspect-ratio:1.4}.offer-illustration{margin-bottom:20px}.ff-pricing .nav b{max-width:140px}.ff-pricing .nav .sp{display:none}.ff-pricing .nav a.btn{margin-left:auto}}
@media(prefers-reduced-motion:reduce){.pricing-calendar a{transition:none}}
@media(max-width:600px){.ff-pricing .nav{padding-inline:16px}}
.pricing-adventure-note{display:flex;align-items:center;flex-wrap:wrap;gap:10px 20px;max-width:1160px;margin:24px auto 0;padding:22px 24px;border:1px solid var(--ff-line);border-radius:18px;background:var(--ff-soft);color:var(--ff-text);line-height:1.55}
.pricing-adventure-note strong{color:var(--ff-link)}.pricing-adventure-note span{flex:1 1 400px;font-size:.9rem}.pricing-adventure-note a{padding:10px 15px;border-radius:9px;background:#1b5666;color:#fff;font-weight:700;text-decoration:none}
@media(max-width:1208px){.pricing-adventure-note{margin-inline:24px}}@media(max-width:600px){.pricing-adventure-note{margin-inline:16px;padding:18px}}
