/**
 * CML Course Booking — thème clair (Chalet Montriond).
 * Palette claire : fond crème/blanc, texte vert nuit, or en accent.
 * Polices : Playfair Display (titres) + Jost (texte).
 */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Jost:wght@200;300;400;500;600&display=swap');

.cml-course-booking-wrapper {
    /* Palette claire — fond blanc, titres bleu nuit, accents or (style cartes) */
    --cml-bg:#FFFFFF;              /* texte sur boutons or */
    --cml-bg2:#FFFFFF;            /* fond du formulaire (blanc) */
    --cml-green:#1E3A5F;          /* bleu nuit (titres/accents) */
    --cml-cream:#3A3A38;          /* couleur de texte (gris foncé doux) */
    --cml-gold:#C9A24B;           /* or (boutons, étape active) */
    --cml-champ:#1E3A5F;          /* libellés : bleu nuit */
    --cml-moss:#7FA06B;
    --cml-glass:rgba(30,58,95,.03);
    --cml-line:rgba(30,42,34,.14); /* bordures sur fond clair */
    --cml-gray:#7a7a72;           /* texte secondaire */
    --cml-error:#C0564B; --cml-success:#3F7D34;

    font-family:'Jost',sans-serif; font-weight:400; line-height:1.75; font-size:1.12rem;
    color:var(--cml-cream); max-width:760px; margin:0 auto;
    background:var(--cml-bg2); border:1px solid rgba(30,42,34,.06);
    box-shadow:0 8px 30px rgba(30,42,34,.05);
    border-radius:14px; padding:44px 42px;
    -webkit-font-smoothing:antialiased;
}

.cml-course-booking-wrapper h2,
.cml-course-booking-wrapper h3,
.cml-course-booking-wrapper h4 { font-family:'Playfair Display',serif; font-weight:600; line-height:1.15; color:var(--cml-green); }

.cml-course-form-title { font-size:2.3rem; margin-bottom:6px; }
.cml-course-step-title { font-size:2rem; margin-bottom:8px; }
.cml-course-step-intro { color:var(--cml-gray); font-size:1.15rem; margin-bottom:28px; }
/* Intro de l'étape Participants : mise en avant (gras + or). */
.cml-course-step3-intro { color:var(--cml-gold) !important; font-weight:600; }
/* Rappel « Cours · Date » sous le stepper. */
.cml-course-recap-bar {
    text-align:center; margin:-6px 0 26px; padding:10px 18px;
    font-family:'Jost',sans-serif; font-size:.95rem; color:#1E2A22;
    background:rgba(201,162,75,.10); border:1px solid rgba(201,162,75,.30);
    border-radius:9px;
}
.cml-course-recap-course { font-weight:600; color:var(--cml-gold); }
.cml-course-recap-sep { margin:0 8px; color:rgba(30,42,34,.4); }
.cml-course-recap-date { color:#1E2A22; }
.cml-course-subhead { font-size:1.3rem; color:var(--cml-champ); margin:30px 0 14px; padding-top:18px; border-top:1px solid var(--cml-line); }

/* ---------- BARRE DE PROGRESSION ---------- */
.cml-course-progress { list-style:none; display:flex; gap:8px; margin:0 0 34px; padding:0; }
.cml-course-progress-step { flex:1; display:flex; flex-direction:column; align-items:center; gap:7px; position:relative; opacity:.45; transition:opacity .3s; }
.cml-course-progress-step.is-active, .cml-course-progress-step.is-done { opacity:1; }
.cml-course-progress-num {
    width:34px; height:34px; border-radius:50%; display:flex; align-items:center; justify-content:center;
    border:1px solid var(--cml-line); color:var(--cml-champ); font-size:1.05rem; background:transparent; transition:all .3s;
}
.cml-course-progress-step.is-active .cml-course-progress-num { background:var(--cml-gold); color:#1E2A22; border-color:var(--cml-gold); }
.cml-course-progress-step.is-done .cml-course-progress-num { border-color:var(--cml-gold); color:var(--cml-gold); }
.cml-course-progress-label { font-size:.82rem; letter-spacing:.1em; text-transform:uppercase; color:var(--cml-gray); }
.cml-course-progress-step.is-active .cml-course-progress-label { color:var(--cml-champ); }

/* ---------- ÉTAPES ---------- */
.cml-course-step-content { display:none; }
.cml-course-step-content.cml-course-step-content-active { display:block; animation:cmlFade .35s ease; }
@keyframes cmlFade { from{opacity:0;transform:translateY(8px);} to{opacity:1;transform:translateY(0);} }

/* ---------- CHAMPS ---------- */
.cml-course-field { margin-bottom:16px; }
.cml-course-field label {
    display:block; font-size:.9rem; letter-spacing:.07em; text-transform:uppercase;
    color:var(--cml-champ); margin-bottom:7px; font-weight:500;
}
.cml-course-field label.cml-course-checkbox,
.cml-course-consent label {
    font-size:1.1rem; letter-spacing:0; text-transform:none; color:var(--cml-gray);
    font-weight:300; display:flex; align-items:flex-start; gap:9px; cursor:pointer; line-height:1.5;
}
.cml-course-booking-wrapper input[type=text],
.cml-course-booking-wrapper input[type=email],
.cml-course-booking-wrapper input[type=tel],
.cml-course-booking-wrapper input[type=date],
.cml-course-booking-wrapper input[type=number],
.cml-course-booking-wrapper select,
.cml-course-booking-wrapper textarea {
    width:100%; box-sizing:border-box; background:#FAFAF8;
    border:1px solid rgba(30,42,34,.2); border-radius:9px; padding:17px 20px;
    color:var(--cml-cream); font-family:'Jost',sans-serif; font-size:1.18rem; font-weight:400;
    transition:border-color .3s, background .3s;
}
.cml-course-booking-wrapper input:focus,
.cml-course-booking-wrapper select:focus,
.cml-course-booking-wrapper textarea:focus {
    outline:none; border-color:var(--cml-gold); background:#FFFFFF; box-shadow:0 0 0 3px rgba(201,162,75,.15);
}
.cml-course-booking-wrapper input::placeholder,
.cml-course-booking-wrapper textarea::placeholder { color:#9AA096; }
.cml-course-booking-wrapper select option { background:#FFFFFF; color:#1E2A22; }
.cml-course-booking-wrapper textarea { min-height:90px; resize:vertical; }
.cml-course-booking-wrapper input[type=checkbox],
.cml-course-booking-wrapper input[type=radio] { accent-color:var(--cml-gold); width:auto; margin-top:3px; flex-shrink:0; }
.cml-course-field-error { border-color:var(--cml-error)!important; box-shadow:0 0 0 3px rgba(224,133,122,.15)!important; }

.cml-course-grid { display:grid; grid-template-columns:1fr 1fr; gap:0 18px; }
.cml-course-grid .cml-course-field-full { grid-column:1 / -1; }
@media(max-width:560px){ .cml-course-grid{ grid-template-columns:1fr; } .cml-course-booking-wrapper{ padding:30px 22px; } }

/* ---------- CARTES ENFANTS (accordéon) ---------- */
.cml-course-participant { border:1px solid rgba(30,42,34,.14); border-radius:12px; margin-bottom:14px; overflow:hidden; background:#FAFAF8; }
.cml-course-participant-head {
    display:flex; justify-content:space-between; align-items:center;
    padding:16px 20px; cursor:pointer; user-select:none;
}
.cml-course-participant-num { font-family:'Playfair Display',serif; font-size:1.2rem; color:var(--cml-champ); }
.cml-course-participant-name { color:var(--cml-gray); font-family:'Jost'; font-size:.92rem; font-style:italic; }
.cml-course-participant-chevron { display:inline-block; transition:transform .3s; font-size:.7rem; color:var(--cml-gold); }
.cml-course-participant-open .cml-course-participant-chevron { transform:rotate(0deg); }
.cml-course-participant:not(.cml-course-participant-open) .cml-course-participant-chevron { transform:rotate(-90deg); }
.cml-course-participant-body { padding:0 20px 18px; }
.cml-course-participant:not(.cml-course-participant-open) .cml-course-participant-body { display:none; }
.cml-course-remove-participant {
    background:none; border:none; color:var(--cml-error); cursor:pointer;
    font-family:'Jost'; font-size:.78rem; text-transform:uppercase; letter-spacing:.08em;
}

/* ---------- BOUTONS ---------- */
.cml-course-btn {
    display:inline-block; border:none; border-radius:9px; cursor:pointer;
    font-family:'Jost',sans-serif; font-weight:500; font-size:1rem;
    letter-spacing:.06em; text-transform:uppercase; padding:15px 36px;
    transition:transform .3s, box-shadow .3s, background .3s;
}
.cml-course-btn:active { transform:translateY(1px); }
.cml-course-btn-primary { background:var(--cml-gold); color:#1E2A22; }
.cml-course-btn-primary:hover { transform:translateY(-2px); box-shadow:0 14px 34px rgba(201,162,75,.3); }
.cml-course-btn-secondary { background:transparent; color:var(--cml-champ); border:1px solid var(--cml-line); }
.cml-course-btn-secondary:hover { border-color:var(--cml-gold); color:var(--cml-gold); }
.cml-course-btn-ghost { background:transparent; color:var(--cml-gray); border:1px solid var(--cml-line); }
.cml-course-btn-ghost:hover { color:var(--cml-cream); border-color:var(--cml-champ); }
.cml-course-btn:disabled { opacity:.5; cursor:not-allowed; }
.cml-course-actions { display:flex; gap:12px; margin-top:30px; flex-wrap:wrap; align-items:center; }
.cml-course-actions .cml-course-prev { margin-right:auto; }
.cml-course-add-participant { margin-top:6px; }

/* ---------- MODE DE PAIEMENT ---------- */
.cml-course-payment-mode { display:flex; flex-direction:column; gap:10px; margin:20px 0; }
.cml-course-payment-mode label {
    display:flex; align-items:center; gap:11px; padding:14px 16px;
    border:1px solid var(--cml-line); border-radius:9px; cursor:pointer;
    font-weight:400; color:var(--cml-cream); text-transform:none; letter-spacing:0; font-size:1.15rem;
}
.cml-course-deposit-amount { color:var(--cml-gray); }

/* ---------- RÉCAPITULATIF ---------- */
.cml-course-summary-table { width:100%; border-collapse:collapse; margin:6px 0; }
.cml-course-summary-table td { padding:11px 0; border-bottom:1px solid var(--cml-line); }
.cml-course-summary-table td:last-child { text-align:right; font-variant-numeric:tabular-nums; color:var(--cml-cream); }
.cml-course-summary-discount td { color:var(--cml-success); }
.cml-course-summary-total td {
    font-family:'Playfair Display',serif; font-style:italic; font-size:1.5rem;
    color:var(--cml-champ); border-bottom:none; padding-top:14px;
}

/* ---------- MESSAGES ---------- */
.cml-course-form-messages { margin-top:18px; }
.cml-course-message { padding:13px 18px; border-radius:9px; font-size:.9rem; margin-bottom:10px; }
.cml-course-message-error { background:rgba(224,133,122,.1); color:var(--cml-error); border:1px solid rgba(224,133,122,.3); }
.cml-course-message-error ul { margin:0; padding-left:18px; }

/* ---------- REDIRECTION / SPINNER ---------- */
.cml-course-redirect-notice { text-align:center; padding:44px 20px; }
.cml-course-spinner {
    width:38px; height:38px; margin:18px auto 0; border:3px solid var(--cml-line);
    border-top-color:var(--cml-gold); border-radius:50%; animation:cmlSpin .8s linear infinite;
}
@keyframes cmlSpin { to{ transform:rotate(360deg); } }
.cml-course-success-icon {
    width:66px; height:66px; line-height:66px; margin:0 auto 18px; border-radius:50%;
    background:var(--cml-gold); color:#1E2A22; font-size:34px; text-align:center;
}
.cml-course-step-success { text-align:center; padding:44px 24px; }

/* ---------- AUCUN CAMP ---------- */
.cml-course-no-camps { text-align:center; padding:44px 20px; color:var(--cml-gray); }

/* ---------- MODALE DE CONFIRMATION (paiement) ---------- */
body.cml-course-modal-open { overflow:hidden; }
.cml-course-modal-overlay {
    position:fixed; inset:0; z-index:99999;
    background:rgba(21,53,31,.62); backdrop-filter:blur(6px);
    display:flex; align-items:center; justify-content:center; padding:24px;
    animation:cmlModalFade .25s ease;
}
@keyframes cmlModalFade { from{opacity:0;} to{opacity:1;} }
.cml-course-modal {
    position:relative; width:100%; max-width:480px;
    background:#FFFFFF; border:1px solid rgba(201,162,75,.35); border-radius:14px;
    padding:40px 38px; color:#1E2A22; font-family:'Jost',sans-serif;
    box-shadow:0 24px 70px rgba(21,53,31,.32);
    animation:cmlModalUp .3s cubic-bezier(.16,.84,.3,1);
}
.cml-course-modal::before {
    content:""; position:absolute; top:0; left:0; right:0; height:4px;
    background:linear-gradient(90deg,#C9A24B,#e0c074); border-radius:14px 14px 0 0;
}
@keyframes cmlModalUp { from{opacity:0;transform:translateY(20px);} to{opacity:1;transform:translateY(0);} }
.cml-course-modal-close {
    position:absolute; top:16px; right:18px; background:none; border:none;
    color:#B7BBAF; font-size:1.7rem; line-height:1; cursor:pointer; transition:color .2s;
}
.cml-course-modal-close:hover { color:#C9A24B; }
.cml-course-modal-title {
    font-family:'Jost',sans-serif; font-weight:600; font-size:1.45rem;
    color:#15351F; margin:0 0 26px; letter-spacing:.01em;
}
.cml-course-modal-recap { width:100%; border-collapse:collapse; margin-bottom:18px; }
.cml-course-modal-recap td { padding:13px 0; border-bottom:1px solid rgba(30,42,34,.10); font-size:1rem; }
.cml-course-modal-recap td:first-child { color:#6B7268; text-transform:uppercase; font-size:.72rem; letter-spacing:.12em; width:42%; vertical-align:middle; font-family:'Jost',sans-serif; }
.cml-course-modal-recap td:last-child { text-align:right; color:#1E2A22; font-weight:500; }
.cml-course-modal-total-row td { border-bottom:none!important; border-top:2px solid rgba(201,162,75,.4)!important; padding-top:16px!important; }
.cml-course-modal-amount { font-family:'Jost',sans-serif!important; font-weight:700; font-size:1.5rem; color:#C9A24B!important; }
.cml-course-modal-note { font-size:.82rem; color:#6B7268; margin-bottom:26px; line-height:1.5; }
.cml-course-modal-actions { display:flex; gap:12px; }
.cml-course-modal-actions .cml-course-btn { flex:1; padding:14px 18px; }
@media(max-width:480px){ .cml-course-modal{ padding:32px 24px; } .cml-course-modal-actions{ flex-direction:column; } }

/* ---------- CATALOGUE DATES & PRIX ---------- */
.cml-course-catalog {
    --cml-bg2:#102417; --cml-cream:#F2EEE1; --cml-gold:#C9A24B; --cml-champ:#E3CC8F;
    --cml-line:rgba(227,204,143,.18); --cml-gray:#A7AD9C;
    font-family:'Jost',sans-serif; color:var(--cml-cream);
    display:grid; gap:28px; max-width:1000px; margin:0 auto;
}
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,500;1,500&family=Jost:wght@300;400;500&display=swap');
.cml-course-cat-card {
    display:grid; grid-template-columns:280px 1fr; background:var(--cml-bg2);
    border:1px solid var(--cml-line); border-radius:16px; overflow:hidden;
}
.cml-course-cat-photo { background-size:cover; background-position:center; min-height:240px; }
.cml-course-cat-body { padding:30px 32px; }
.cml-course-cat-name { font-family:'Playfair Display',serif; font-weight:500; font-size:1.6rem; color:var(--cml-cream); margin:0 0 4px; line-height:1.15; }
.cml-course-cat-sub { color:var(--cml-gray); font-size:.95rem; margin:0 0 4px; }
.cml-course-cat-age { color:var(--cml-champ); font-size:.8rem; text-transform:uppercase; letter-spacing:.1em; margin:0 0 18px; }
.cml-course-cat-sessions { list-style:none; margin:0; padding:0; }
.cml-course-cat-session {
    display:flex; align-items:center; justify-content:space-between; gap:20px;
    padding:14px 0; border-top:1px solid var(--cml-line);
}
.cml-course-cat-session-info { min-width:0; flex:1; }
.cml-course-cat-dates { display:block; font-size:1rem; color:var(--cml-cream); font-weight:400; }
.cml-course-cat-meta { display:block; font-size:.85rem; color:var(--cml-gray); margin-top:2px; }
.cml-course-cat-seats-low { color:var(--cml-gold); }
.cml-course-cat-btn {
    flex-shrink:0; background:var(--cml-gold); color:#0C1A12; text-decoration:none;
    border-radius:8px; padding:11px 24px; font-family:'Jost',sans-serif; font-weight:500;
    font-size:.78rem; letter-spacing:.06em; text-transform:uppercase;
    transition:transform .3s, box-shadow .3s;
}
.cml-course-cat-btn:hover { transform:translateY(-2px); box-shadow:0 12px 28px rgba(201,162,75,.3); color:#0C1A12; }
@media(max-width:680px){
    .cml-course-cat-card{ grid-template-columns:1fr; }
    .cml-course-cat-photo{ min-height:160px; }
    .cml-course-cat-session{ flex-direction:column; align-items:flex-start; }
}

/* ==========================================================================
   PAGE PRIX & DATES (shortcode camps_dates_prix_chalet_montriond)
   Design repris du thème Swiss Explorers — vert nuit / or / Playfair + Jost
   ========================================================================== */
.cml-course-pd{
    --bg:#0C1A12;--bg2:#102417;--green:#15351F;--cream:#F2EEE1;
    --gold:#C9A24B;--champ:#E3CC8F;--moss:#7FA06B;--ice:#5DA9E9;
    --glass:rgba(255,255,255,.055);--line:rgba(227,204,143,.18);--gray:#A7AD9C;
    font-family:'Jost',sans-serif;background:var(--bg);color:var(--cream);
    font-weight:300;line-height:1.75;-webkit-font-smoothing:antialiased;
}
.cml-course-pd h1,.cml-course-pd h2,.cml-course-pd h3,.cml-course-pd h4{font-family:'Playfair Display',serif;font-weight:500;line-height:1.1;color:var(--cream);}
.cml-course-pd .cml-course-pd-it{font-style:italic;color:var(--champ);}
.cml-course-pd-eyebrow{font-size:.68rem;letter-spacing:.45em;text-transform:uppercase;color:var(--gold);font-weight:500;}
.cml-course-pd a{text-decoration:none;}
.cml-course-pd-btn{display:inline-block;background:var(--gold);color:var(--bg)!important;padding:15px 40px;border-radius:8px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;font-size:.8rem;text-align:center;transition:transform .3s,box-shadow .3s;}
.cml-course-pd-btn:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(201,162,75,.3);}

/* HERO */
.cml-course-pd-hero{min-height:42vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:90px 24px 70px;background:linear-gradient(to bottom,var(--green),var(--bg));}
.cml-course-pd-hero-line{width:50px;height:1px;background:var(--gold);margin-bottom:24px;}
.cml-course-pd-h1{font-size:clamp(2.4rem,5.5vw,4rem);margin:14px 0 18px;color:#fff;}
.cml-course-pd-hero p{color:rgba(242,238,225,.9);font-size:1.08rem;max-width:540px;}

.cml-course-pd-head{text-align:center;max-width:620px;margin:0 auto 50px;}
.cml-course-pd-head h2{font-size:clamp(2rem,4vw,3rem);font-weight:500;margin-top:14px;}

/* CARTES TARIFAIRES */
.cml-course-pd-price{padding:100px 24px;max-width:1000px;margin:0 auto;}
.cml-course-pd-price-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;max-width:920px;margin:0 auto;}
.cml-course-pd-pcard{background:var(--glass);border:1px solid var(--line);border-radius:16px;padding:48px 42px;display:flex;flex-direction:column;position:relative;transition:transform .4s,border-color .4s;}
.cml-course-pd-pcard:hover{transform:translateY(-6px);border-color:var(--gold);}
.cml-course-pd-pcard.is-feat{background:rgba(201,162,75,.08);border-color:var(--gold);}
.cml-course-pd-pcard-tag{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--gold);color:var(--bg);font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;font-weight:600;padding:6px 18px;border-radius:100px;white-space:nowrap;}
.cml-course-pd-dur{font-size:.7rem;letter-spacing:.3em;text-transform:uppercase;color:var(--champ);}
.cml-course-pd-pcard h3{font-size:1.9rem;font-weight:500;margin:6px 0 18px;}
.cml-course-pd-amount{font-family:'Playfair Display',serif;font-size:3rem;color:var(--champ);line-height:1;}
.cml-course-pd-amount span{font-family:'Jost',sans-serif;font-size:.95rem;color:var(--gray);}
.cml-course-pd-save{font-size:.85rem;color:var(--moss);margin-top:10px;font-style:italic;font-family:'Playfair Display',serif;}
.cml-course-pd-pcard ul{list-style:none;margin:24px 0;flex:1;padding:0;}
.cml-course-pd-pcard li{padding:11px 0;border-bottom:1px solid var(--line);color:var(--cream);font-size:.95rem;}
.cml-course-pd-pcard li:last-child{border:none;}
.cml-course-pd-pcard li::before{content:"\2726  ";color:var(--gold);}
.cml-course-pd-pcard .cml-course-pd-btn{margin-top:auto;}

/* CALENDRIER */
.cml-course-pd-dates{padding:100px 24px;background:var(--bg2);}
.cml-course-pd-dates>.cml-course-pd-head,.cml-course-pd-season{max-width:1000px;margin-left:auto;margin-right:auto;}
.cml-course-pd-season{margin-bottom:46px;}
.cml-course-pd-stitle{display:flex;align-items:center;gap:14px;margin-bottom:24px;}
.cml-course-pd-badge{font-size:.66rem;letter-spacing:.3em;text-transform:uppercase;padding:6px 18px;border-radius:100px;border:1px solid var(--line);color:var(--champ);}
.cml-course-pd-badge.is-summer{color:var(--gold);}
.cml-course-pd-badge.is-winter{color:var(--ice);border-color:rgba(93,169,233,.3);}
.cml-course-pd-stitle h3{font-size:1.6rem;font-weight:500;}
.cml-course-pd-sessions{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.cml-course-pd-session{background:var(--glass);border:1px solid var(--line);border-radius:12px;padding:24px 26px;transition:border-color .3s,transform .3s;}
.cml-course-pd-session:hover{border-color:var(--gold);transform:translateY(-3px);}
.cml-course-pd-session.is-full{opacity:.5;}
.cml-course-pd-session.is-full:hover{border-color:var(--line);transform:none;}
.cml-course-pd-session-num{font-size:.64rem;letter-spacing:.25em;text-transform:uppercase;color:var(--champ);}
.cml-course-pd-session-d{font-family:'Playfair Display',serif;font-size:1.3rem;margin:8px 0 4px;color:var(--cream);}
.cml-course-pd-status{font-size:.82rem;color:var(--moss);}
.cml-course-pd-status.is-few{color:var(--gold);}
.cml-course-pd-status.is-full{color:#c98a8a;}
.cml-course-pd-enrl{display:inline-block;margin-top:12px;font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);border-top:1px solid var(--line);padding-top:12px;width:100%;}
.cml-course-pd-empty{text-align:center;color:var(--gray);max-width:1000px;margin:0 auto;}

/* CONDITIONS */
.cml-course-pd-terms{padding:100px 24px;max-width:1000px;margin:0 auto;}
.cml-course-pd-terms-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.cml-course-pd-tcard{background:var(--glass);border:1px solid var(--line);border-radius:14px;padding:36px 32px;}
.cml-course-pd-tic{font-family:'Playfair Display',serif;font-style:italic;font-size:1.6rem;color:var(--gold);}
.cml-course-pd-tcard h4{font-size:1.3rem;font-weight:500;margin:12px 0 8px;}
.cml-course-pd-tcard p{color:var(--gray);font-size:.93rem;}

/* FINALE */
.cml-course-pd-finale{padding:120px 24px;text-align:center;position:relative;overflow:hidden;}
.cml-course-pd-finale h2{font-size:clamp(2.2rem,5vw,3.6rem);font-weight:500;margin:18px 0 24px;color:#fff;}
.cml-course-pd-finale p{color:var(--gray);font-size:1.1rem;margin-bottom:34px;max-width:560px;margin-left:auto;margin-right:auto;}

@media(max-width:900px){
    .cml-course-pd-price-grid,.cml-course-pd-sessions,.cml-course-pd-terms-grid{grid-template-columns:1fr;}
}

/* ====================================================================
 * AGRANDISSEMENT GLOBAL DE LA POLICE (lisibilité renforcée)
 * Surcharge volontaire en fin de fichier pour primer sur le thème.
 * ==================================================================== */
.cml-course-booking-wrapper { font-size:1.12rem !important; line-height:1.75 !important; }
.cml-course-form-title { font-size:2.4rem !important; }
.cml-course-step-title { font-size:2rem !important; }
.cml-course-step-intro { font-size:1.18rem !important; }
.cml-course-subhead { font-size:1.3rem !important; }
.cml-course-field label {
    font-size:.95rem !important; letter-spacing:.06em !important;
}
.cml-course-field label.cml-course-checkbox,
.cml-course-consent label { font-size:1.12rem !important; }
.cml-course-booking-wrapper input[type=text],
.cml-course-booking-wrapper input[type=email],
.cml-course-booking-wrapper input[type=tel],
.cml-course-booking-wrapper input[type=date],
.cml-course-booking-wrapper input[type=number],
.cml-course-booking-wrapper select,
.cml-course-booking-wrapper textarea {
    font-size:1.18rem !important; padding:16px 18px !important;
}
.cml-course-btn { font-size:1.02rem !important; padding:16px 38px !important; }
.cml-course-progress-label { font-size:.82rem !important; }
.cml-course-progress-num { width:38px !important; height:38px !important; font-size:1rem !important; }
.cml-course-participant-num { font-size:1.2rem !important; }
.cml-course-participant-name { font-size:1.02rem !important; }
.cml-course-payment-mode label { font-size:1.15rem !important; }
.cml-course-summary-table { font-size:1.12rem !important; }
.cml-course-summary-total td { font-size:1.7rem !important; }
