/* Reviews: quiet white cards, native expand/collapse, verified content retained. */
.google-testimonials .review-card:nth-child(n){background:#fff!important;color:#202124!important;border:1px solid #e2e5e8!important;border-radius:12px;box-shadow:0 3px 14px #102b3607;overflow:hidden}
.google-testimonials .review-card:nth-child(n) .review-card-copy{padding:24px;display:block;color:#202124;min-height:0}
.npb-review-header{display:flex;align-items:center;gap:12px;margin-bottom:18px;min-width:0}
.npb-review-avatar{flex:0 0 40px;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#edf2f5;color:#395560;font:600 18px/1 Arial,sans-serif}
.npb-review-identity{flex:1;min-width:0}
.npb-review-identity p{font:600 14px/1.4 Arial,sans-serif!important;margin:0 0 3px!important;padding:0!important;color:#202124;overflow-wrap:anywhere}
.npb-review-identity span{display:block;color:#70757a;font:12px/1.4 Arial,sans-serif}
.npb-review-google{font:600 12px/1 Arial,sans-serif;color:#70757a;flex:none}
.npb-review-stars{font:19px/1 Arial,sans-serif;color:#b87500;letter-spacing:1.5px;margin-bottom:14px}
.google-testimonials .review-card:nth-child(n) blockquote{font:15px/1.65 Arial,sans-serif!important;color:#303134;letter-spacing:0!important;border:0!important;padding:0!important;margin:0 0 14px!important;min-height:0}
.google-testimonials .review-card blockquote::before,.google-testimonials .review-card blockquote::after{display:none}
.google-testimonials .review-card .review-full{margin:0;border:0;padding:0;background:transparent}
.google-testimonials .review-card:nth-child(n) .review-full summary{color:#1769aa;font:600 13px/1.4 Arial,sans-serif;border:0;justify-content:flex-start;gap:8px;padding:0;min-height:44px}
.google-testimonials .review-card .review-full summary span{font-size:18px}
.google-testimonials .review-card:nth-child(n) .review-full p{font:15px/1.65 Arial,sans-serif;color:#303134;margin:10px 0 0;padding:0}
.google-testimonials .review-card:has(.review-full[open]) blockquote{display:none}
.google-testimonials .review-full summary:focus-visible{outline:2px solid #00758b;outline-offset:4px;border-radius:3px}
@media(max-width:760px){.google-testimonials .review-card:nth-child(n) .review-card-copy{padding:22px}.npb-review-header{gap:10px}.npb-review-google{font-size:11px}}

.npb-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.npb-planning-v2{position:relative!important;background:#f3f6f7;color:#102b36;padding:80px 0;overflow:clip}
.npb-planning-heading{display:grid;grid-template-columns:1.1fr 1fr;gap:50px;align-items:end;margin-bottom:32px}
.npb-planning-heading h2{font-size:clamp(42px,5.1vw,70px);line-height:1.02;margin:16px 0 0}
.npb-planning-heading h2 em{color:#00778f;font-style:normal}
.npb-planning-heading>div>p{font:17px/1.6 Arial,sans-serif;color:#536572;margin:0 0 16px;max-width:470px}
.npb-planning-heading .npb-planning-year{font:700 12px/1.4 Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#647782;margin:17px 0 0}
.npb-planning-legend{display:flex;flex-wrap:wrap;gap:12px 25px;font:14px/1.5 Arial,sans-serif}
.npb-planning-legend span{display:flex;align-items:center;gap:8px}
.npb-planning-legend i{width:16px;height:16px;border-radius:4px;display:block;border:1px solid #d0dce0}
.legend-coached{background:#e7f8fd}.legend-open{background:#f1eee5}
.npb-week-table-wrap{background:white;border:1px solid #dbe4e8;border-radius:12px;overflow:hidden}
.npb-week-table{width:100%;table-layout:fixed;border-collapse:collapse;text-align:left;margin:0;font-family:Arial,sans-serif}
.npb-week-table .npb-time-col{width:86px}
.npb-week-table th,.npb-week-table td{border:1px solid #e8edef;padding:9px;vertical-align:top}
.npb-week-table thead th{background:white;color:#102b36;font-size:15px;padding:20px 10px 16px;vertical-align:bottom;font-weight:700}
.npb-week-table thead th:first-child{font-size:12px;color:#657782}
.npb-week-table thead th span{display:block;font:11px/1.4 Arial,sans-serif;color:#627680;margin-top:7px}
.npb-week-table tbody th{font-size:13px;font-weight:600;padding:19px 12px;white-space:nowrap;color:#586c77;font-variant-numeric:tabular-nums}
.npb-session{padding:12px 10px;border-radius:6px;border:1px solid transparent;min-width:0}
.npb-session-coached{background:#e7f8fd;border-color:#daeff5;color:#173943}
.npb-session-open{background:#f1eee5;border-color:#e8e3d7;color:#524d3e}
.npb-session-time{display:block;font:11px/1.5 Arial,sans-serif;font-variant-numeric:tabular-nums;color:#566d76;white-space:nowrap;margin-bottom:6px}
.npb-session b{display:block;font:700 14px/1.35 Arial,sans-serif;overflow-wrap:normal}
.npb-session b+b{margin-top:8px;padding-top:8px;border-top:1px dashed #9ebbc566}
.npb-session small{display:block;font:11px/1.4 Arial,sans-serif;margin-top:6px;color:#56717c}
.npb-session-open .npb-session-time{color:#736b59}
.npb-empty{display:block;text-align:center;color:#a5b2b8;padding:20px 0;font-size:14px}
.npb-week-table .npb-pause-row td,.npb-week-table .npb-pause-row th{background:#f7f9fa}
.npb-table-pause{padding:8px 0;color:#647782;font:11px/1.4 Arial,sans-serif}
.npb-table-pause span,.npb-table-pause b{display:block}.npb-table-pause b{font-weight:500;margin-top:5px;font-variant-numeric:tabular-nums}
.npb-week-table tfoot td,.npb-week-table tfoot th{background:#fff;padding:16px 12px;font-size:12px;color:#647782;font-weight:600;font-variant-numeric:tabular-nums}
.npb-week-table tfoot th{font-size:10px;white-space:nowrap}
.npb-mobile-planning{display:none}
.npb-planning-bottom{display:flex;justify-content:space-between;align-items:center;gap:28px;margin-top:28px}
.npb-planning-bottom>p{font:14px/1.6 Arial,sans-serif;color:#526976;margin:0;padding:0;max-width:470px}
.npb-planning-bottom>div{display:flex;align-items:center;flex-wrap:wrap;gap:16px 24px}
.npb-planning-bottom .btn{font-size:14px;color:#102b36}
.npb-planning-bottom .textlink{font-size:13px;color:#006b80}
.npb-day-controls{display:none;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin-bottom:22px}
.npb-planning-ready .npb-day-controls{display:grid}
.npb-day-controls button{min-height:46px;min-width:0;padding:10px 6px;border:1px solid #d0dde3;border-radius:7px;background:#fff;color:#102b36;font:600 14px/1.3 Arial,sans-serif}
.npb-day-controls button[aria-pressed="true"]{background:#102b36;color:#fff;border-color:#102b36;box-shadow:inset 0 -3px 0 #00d0ff}
.npb-day-controls button:focus-visible{outline:3px solid #00778f;outline-offset:3px}
.npb-mobile-day{background:#fff;border:1px solid #dce5e8;border-radius:10px;overflow:hidden;margin-bottom:18px;max-width:760px;margin-left:auto;margin-right:auto}
.npb-mobile-day[hidden]{display:none!important}
.npb-mobile-day header{padding:21px 22px;border-bottom:1px solid #e5ecef;display:flex;align-items:center;justify-content:space-between;gap:18px}
.npb-mobile-day h3{font:700 22px/1.3 Arial,sans-serif;margin:0;text-transform:none;letter-spacing:0}
.npb-mobile-day header p{font:12px/1.5 Arial,sans-serif;color:#617680;margin:0;max-width:260px}
.npb-mobile-day ol{list-style:none!important;margin:0;padding:16px 20px;display:grid;gap:10px}
.npb-mobile-day li{margin:0;padding:0;min-width:0}
.npb-mobile-day .npb-session{padding:15px 16px}
.npb-mobile-day .npb-session-time{font-size:13px;margin-bottom:5px}
.npb-mobile-day .npb-session b{font-size:16px}
.npb-mobile-day .npb-midday{padding:11px 3px;color:#6b7b84;border-block:1px dashed #d6e0e5;display:flex;justify-content:space-between;gap:16px;font:12px/1.5 Arial,sans-serif}
.npb-midday b{font-weight:500;font-variant-numeric:tabular-nums}
@media(max-width:1199px){.npb-week-table-wrap{display:none}.npb-mobile-planning{display:block}.npb-planning-heading{gap:25px}.npb-planning-bottom{align-items:flex-start}}
@media(max-width:760px){.npb-planning-v2{padding:60px 0}.npb-planning-heading{grid-template-columns:1fr;gap:22px;margin-bottom:25px}.npb-planning-heading h2{font-size:clamp(38px,10.5vw,58px)}.npb-planning-heading>div>p{font-size:16px}.npb-planning-legend{font-size:13px;gap:12px 20px}.npb-day-controls{grid-template-columns:repeat(4,minmax(0,1fr))}.npb-mobile-day header{display:block;padding:20px}.npb-mobile-day header p{margin-top:7px;max-width:none}.npb-mobile-day ol{padding:16px}.npb-planning-bottom{flex-direction:column;gap:20px}.npb-planning-bottom>div{width:100%;flex-direction:column;align-items:stretch;gap:18px}.npb-planning-bottom .textlink{align-self:flex-start}}
@media(prefers-reduced-motion:reduce){.npb-day-controls button{transition:none}}
/* Consistent header baselines and a compact course finder. */
.npb-week-table thead th,.npb-week-table thead th:first-child{vertical-align:top;font:700 15px/1.4 Arial,sans-serif;padding:20px 10px 16px}
.npb-week-table thead th span{font:11px/1.4 Arial,sans-serif;margin-top:8px;min-height:16px}
.npb-week-table tbody th{padding-top:22px}
.npb-course-filter{display:none;margin-bottom:22px}
.npb-planning-ready .npb-course-filter{display:block}
.npb-course-chips{display:flex;flex-wrap:wrap;gap:8px}
.npb-course-chips button{min-height:44px;background:#fff;border:1px solid #d2dfe5;border-radius:7px;color:#102b36;padding:10px 16px;font:600 13px/1.3 Arial,sans-serif}
.npb-course-chips button[aria-pressed="true"]{background:#102b36;color:#fff;border-color:#102b36}
.npb-course-chips button:focus-visible,.npb-course-select select:focus-visible{outline:3px solid #00778f;outline-offset:3px}
.npb-course-select{display:none}
.npb-session-muted{opacity:.35}
.npb-week-table .npb-course-match{color:#00586c;text-decoration:underline;text-decoration-color:#67bfd4;text-underline-offset:4px;text-decoration-thickness:2px}
.npb-day-no-match{color:#75858e!important;background:#f5f7f8!important;border-style:dashed!important}
.npb-day-empty{margin:0;padding:24px 20px;color:#637681;font:15px/1.6 Arial,sans-serif}
.npb-mobile-day li[hidden],.npb-session b[hidden],.npb-session small[hidden],.npb-day-empty[hidden]{display:none!important}
@media(max-width:760px){.npb-course-chips{display:none}.npb-course-select{display:grid;gap:8px;color:#536b76;font:600 13px/1.4 Arial,sans-serif}.npb-course-select select{appearance:auto;width:100%;max-width:100%;min-height:48px;padding:12px 14px;border:1px solid #cddde4;border-radius:7px;background:#fff;color:#102b36;font:16px/1.4 Arial,sans-serif}.npb-course-filter{margin-bottom:20px}}
/* A quieter planning heading and warm gold review stars. */
.npb-planning-heading{display:block}
.npb-review-stars,.google-testimonials .google-rating .review-stars{color:#c58a13}
/* Selected desktop sessions echo the active course filter. */
.npb-week-table .npb-session-selected{background:#102b36;border-color:#102b36;color:#fff;opacity:1}
.npb-week-table .npb-session-selected b,.npb-week-table .npb-session-selected .npb-course-match{color:#fff;text-decoration:none}
.npb-week-table .npb-session-selected .npb-session-time,.npb-week-table .npb-session-selected small{color:#d8e4e9}
.npb-week-table .npb-session-selected b+b{border-top-color:#ffffff40}
.npb-day-controls button[aria-pressed="true"]{box-shadow:none}
/* Neutralise la marge des tableaux Divi et le trait superflu à la fermeture. */
body.npb-home #main-content .npb-week-table{margin:0!important}
body.npb-home .npb-week-table tbody tr:last-child>th,
body.npb-home .npb-week-table tbody tr:last-child>td{border-bottom:0}
body.npb-home .npb-week-table tfoot th,
body.npb-home .npb-week-table tfoot td{border-top:0;border-bottom:0}
/* Les avis se recouvrent progressivement, uniquement sur téléphone. */
@media(max-width:760px) and (prefers-reduced-motion:no-preference){
 .google-testimonials.npb-reviews-stack .review-wall{display:block;padding-bottom:80px}
 .google-testimonials.npb-reviews-stack .review-card:nth-child(n){position:sticky;top:var(--npb-review-top,98px);z-index:var(--npb-review-layer,1);margin:0 0 24px;transform:none!important;box-shadow:0 -4px 18px #102b3612}
 .google-testimonials.npb-reviews-stack .review-card:last-child{margin-bottom:0}
}
