/**
 * CML Camp Booking — thème V2 Stone & or (Swiss Explorers Camp).
 * Palette : #EAE8E3 pierre clair / #1A1F2B noir bleuté / #C9A24B or / #B58D33 champagne.
 * 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-camp-booking-wrapper {
    --cml-bg:#EAE8E3; --cml-bg2:#DFDCD5; --cml-green:#D2CFC7;
    --cml-cream:#1A1F2B; --cml-gold:#C9A24B; --cml-champ:#B58D33;
    --cml-moss:#5d7e4e; --cml-glass:rgba(255,255,255,.5);
    --cml-line:rgba(26,31,43,.13); --cml-gray:#6B6D72;
    --cml-error:#C0392B; --cml-success:#5d7e4e;

    font-family:'Jost',sans-serif; font-weight:300; line-height:1.7;
    color:var(--cml-cream); max-width:760px; margin:0 auto;
    background:var(--cml-bg2); border:1px solid var(--cml-line);
    border-radius:18px; padding:44px 42px;
    box-shadow:0 18px 50px rgba(0,0,0,.06);
    -webkit-font-smoothing:antialiased;
}

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

.cml-camp-form-title { font-size:2rem; margin-bottom:6px; }
.cml-camp-step-title { font-size:1.75rem; margin-bottom:6px; }
.cml-camp-step-intro { color:var(--cml-gray); font-size:.95rem; margin-bottom:26px; }
.cml-camp-subhead { font-size:1.15rem; color:var(--cml-champ); margin:30px 0 14px; padding-top:18px; border-top:1px solid var(--cml-line); }

/* ---------- BARRE DE PROGRESSION ---------- */
.cml-camp-progress { list-style:none; display:flex; gap:8px; margin:0 0 34px; padding:0; }
.cml-camp-progress-step { flex:1; display:flex; flex-direction:column; align-items:center; gap:7px; position:relative; opacity:.45; transition:opacity .3s; }
.cml-camp-progress-step.is-active, .cml-camp-progress-step.is-done { opacity:1; }
.cml-camp-progress-step.is-clickable { cursor:pointer; }
.cml-camp-progress-step.is-clickable:hover .cml-camp-progress-num { background:rgba(201,162,75,.15); transition:background .2s; }
.cml-camp-progress-step.is-clickable:hover .cml-camp-progress-label { color:var(--cml-champ); transition:color .2s; }
.cml-camp-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:.9rem; background:transparent; transition:all .3s;
}
.cml-camp-progress-step.is-active .cml-camp-progress-num { background:var(--cml-gold); color:#fff; border-color:var(--cml-gold); }
.cml-camp-progress-step.is-done .cml-camp-progress-num { border-color:var(--cml-gold); color:var(--cml-gold); }
.cml-camp-progress-label { font-size:.7rem; letter-spacing:.12em; text-transform:uppercase; color:var(--cml-gray); }
.cml-camp-progress-step.is-active .cml-camp-progress-label { color:var(--cml-champ); }

/* ---------- BANDEAU DE RAPPEL DE LA SESSION ---------- */
.cml-camp-recap {
    display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px 18px;
    margin:0 0 30px; padding:14px 20px;
    background:rgba(201,162,75,.08);
    border:1px solid var(--cml-line); border-left:3px solid var(--cml-gold);
    border-radius:11px;
}
.cml-camp-recap[hidden] { display:none; }
.cml-camp-recap-main { display:flex; align-items:baseline; flex-wrap:wrap; gap:4px 12px; min-width:0; }
.cml-camp-recap-camp { font-family:'Playfair Display',serif; font-size:1.1rem; color:var(--cml-cream); }
.cml-camp-recap-dates { font-size:.92rem; color:var(--cml-champ); }
.cml-camp-recap-meta { display:flex; align-items:center; gap:16px; }
.cml-camp-recap-price { font-size:.95rem; font-weight:500; color:var(--cml-gold); white-space:nowrap; }
.cml-camp-recap-change {
    background:none; border:none; padding:0; cursor:pointer;
    font-family:'Jost',sans-serif; font-size:.74rem; font-weight:500;
    letter-spacing:.1em; text-transform:uppercase; color:var(--cml-gray);
    border-bottom:1px solid transparent; transition:color .25s, border-color .25s;
}
.cml-camp-recap-change:hover { color:var(--cml-champ); border-bottom-color:var(--cml-champ); }
@media (max-width:480px) {
    .cml-camp-recap { flex-direction:column; align-items:flex-start; }
    .cml-camp-recap-meta { width:100%; justify-content:space-between; }
}

/* ---------- ÉTAPES ---------- */
.cml-camp-step-content { display:none; }
.cml-camp-step-content.cml-camp-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-camp-field { margin-bottom:16px; }
.cml-camp-field label {
    display:block; font-size:.74rem; letter-spacing:.1em; text-transform:uppercase;
    color:var(--cml-champ); margin-bottom:7px; font-weight:500;
}
.cml-camp-field label.cml-camp-checkbox,
.cml-camp-consent label {
    font-size:.88rem; 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-camp-booking-wrapper input[type=text],
.cml-camp-booking-wrapper input[type=email],
.cml-camp-booking-wrapper input[type=tel],
.cml-camp-booking-wrapper input[type=date],
.cml-camp-booking-wrapper input[type=number],
.cml-camp-booking-wrapper select,
.cml-camp-booking-wrapper textarea {
    width:100%; box-sizing:border-box; background:rgba(255,255,255,.7);
    border:1px solid var(--cml-line); border-radius:9px; padding:13px 16px;
    color:var(--cml-cream); font-family:'Jost',sans-serif; font-size:.98rem; font-weight:300;
    transition:border-color .3s, background .3s;
}
.cml-camp-booking-wrapper input:focus,
.cml-camp-booking-wrapper select:focus,
.cml-camp-booking-wrapper textarea:focus {
    outline:none; border-color:var(--cml-gold); background:#fff; box-shadow:0 0 0 3px rgba(201,162,75,.15);
}
.cml-camp-booking-wrapper input::placeholder,
.cml-camp-booking-wrapper textarea::placeholder { color:rgba(26,31,43,.45); }
.cml-camp-booking-wrapper select option { background:#fff; color:var(--cml-cream); }
.cml-camp-booking-wrapper textarea { min-height:90px; resize:vertical; }
.cml-camp-booking-wrapper input[type=checkbox],
.cml-camp-booking-wrapper input[type=radio] { accent-color:var(--cml-gold); width:auto; margin-top:3px; flex-shrink:0; }
.cml-camp-field-error { border-color:var(--cml-error)!important; box-shadow:0 0 0 3px rgba(192,57,43,.12)!important; }

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

/* ---------- CARTES ENFANTS (accordéon) ---------- */
.cml-camp-participant { border:1px solid var(--cml-line); border-radius:12px; margin-bottom:14px; overflow:hidden; background:var(--cml-glass); }
.cml-camp-participant-head {
    display:flex; justify-content:space-between; align-items:center;
    padding:16px 20px; cursor:pointer; user-select:none;
}
.cml-camp-participant-num { font-family:'Playfair Display',serif; font-size:1.05rem; color:var(--cml-champ); }
.cml-camp-participant-name { color:var(--cml-gray); font-family:'Jost'; font-size:.92rem; font-style:italic; }
.cml-camp-participant-chevron { display:inline-block; transition:transform .3s; font-size:.7rem; color:var(--cml-gold); }
.cml-camp-participant-open .cml-camp-participant-chevron { transform:rotate(0deg); }
.cml-camp-participant:not(.cml-camp-participant-open) .cml-camp-participant-chevron { transform:rotate(-90deg); }
.cml-camp-participant-body { padding:0 20px 18px; }
.cml-camp-participant:not(.cml-camp-participant-open) .cml-camp-participant-body { display:none; }
.cml-camp-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-camp-btn {
    display:inline-block; border:none; border-radius:9px; cursor:pointer;
    font-family:'Jost',sans-serif; font-weight:500; font-size:.82rem;
    letter-spacing:.06em; text-transform:uppercase; padding:15px 36px;
    transition:transform .3s, box-shadow .3s, background .3s;
}
.cml-camp-btn:active { transform:translateY(1px); }
.cml-camp-btn-primary { background:var(--cml-gold); color:#fff; }
.cml-camp-btn-primary:hover { transform:translateY(-2px); box-shadow:0 14px 34px rgba(201,162,75,.3); }
.cml-camp-btn-secondary { background:transparent; color:var(--cml-champ); border:1px solid var(--cml-line); }
.cml-camp-btn-secondary:hover { border-color:var(--cml-gold); color:var(--cml-gold); }
.cml-camp-btn-ghost { background:transparent; color:var(--cml-gray); border:1px solid var(--cml-line); }
.cml-camp-btn-ghost:hover { color:var(--cml-cream); border-color:var(--cml-champ); }
.cml-camp-btn:disabled { opacity:.5; cursor:not-allowed; }
.cml-camp-actions { display:flex; gap:12px; margin-top:30px; flex-wrap:wrap; align-items:center; }
.cml-camp-actions .cml-camp-prev { margin-right:auto; }
.cml-camp-add-participant { margin-top:6px; }

/* ---------- MODE DE PAIEMENT ---------- */
.cml-camp-payment-mode { display:flex; flex-direction:column; gap:10px; margin:20px 0; }
.cml-camp-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:.95rem;
    background:rgba(255,255,255,.4);
}
.cml-camp-deposit-amount { color:var(--cml-gray); }

/* ---------- RÉCAPITULATIF ---------- */
.cml-camp-summary-table { width:100%; border-collapse:collapse; margin:6px 0; }
.cml-camp-summary-table td { padding:11px 0; border-bottom:1px solid var(--cml-line); }
.cml-camp-summary-table td:last-child { text-align:right; font-variant-numeric:tabular-nums; color:var(--cml-cream); }
.cml-camp-summary-discount td { color:var(--cml-success); }
.cml-camp-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-camp-form-messages { margin-top:18px; }
.cml-camp-message { padding:13px 18px; border-radius:9px; font-size:.9rem; margin-bottom:10px; }
.cml-camp-message-error { background:rgba(192,57,43,.08); color:var(--cml-error); border:1px solid rgba(192,57,43,.25); }
.cml-camp-message-error ul { margin:0; padding-left:18px; }

/* ---------- REDIRECTION / SPINNER ---------- */
.cml-camp-redirect-notice { text-align:center; padding:44px 20px; }
.cml-camp-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-camp-success-icon {
    width:66px; height:66px; line-height:66px; margin:0 auto 18px; border-radius:50%;
    background:var(--cml-gold); color:#fff; font-size:34px; text-align:center;
}
.cml-camp-step-success { text-align:center; padding:44px 24px; }

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

/* ---------- MODALE DE CONFIRMATION (paiement) ---------- */
body.cml-camp-modal-open { overflow:hidden; }
.cml-camp-modal-overlay {
    position:fixed; inset:0; z-index:99999;
    background:rgba(26,31,43,.6); backdrop-filter:blur(4px);
    display:flex; align-items:center; justify-content:center; padding:24px;
    animation:cmlModalFade .25s ease;
}
@keyframes cmlModalFade { from{opacity:0;} to{opacity:1;} }
.cml-camp-modal {
    position:relative; width:100%; max-width:460px;
    background:#fff; border:1px solid var(--cml-line); border-radius:16px;
    padding:38px 36px; color:#1A1F2B; font-family:'Jost',sans-serif;
    box-shadow:0 30px 80px rgba(0,0,0,.25);
    animation:cmlModalUp .3s cubic-bezier(.16,.84,.3,1);
}
@keyframes cmlModalUp { from{opacity:0;transform:translateY(20px);} to{opacity:1;transform:translateY(0);} }
.cml-camp-modal-close {
    position:absolute; top:16px; right:18px; background:none; border:none;
    color:#6B6D72; font-size:1.6rem; line-height:1; cursor:pointer; transition:color .2s;
}
.cml-camp-modal-close:hover { color:#C9A24B; }
.cml-camp-modal-title { font-family:'Playfair Display',serif; font-size:1.5rem; color:#1A1F2B; margin-bottom:22px; }
.cml-camp-modal-recap { width:100%; border-collapse:collapse; margin-bottom:18px; }
.cml-camp-modal-recap td { padding:10px 0; border-bottom:1px solid rgba(26,31,43,.1); font-size:.92rem; }
.cml-camp-modal-recap td:first-child { color:#6B6D72; text-transform:uppercase; font-size:.72rem; letter-spacing:.1em; }
.cml-camp-modal-recap td:last-child { text-align:right; color:#1A1F2B; }
.cml-camp-modal-amount { font-family:'Playfair Display',serif!important; font-style:italic; font-size:1.3rem; color:#B58D33!important; }
.cml-camp-modal-note { font-size:.82rem; color:#6B6D72; margin-bottom:24px; line-height:1.5; }
.cml-camp-modal-actions { display:flex; gap:12px; }
.cml-camp-modal-actions .cml-camp-btn { flex:1; padding:14px 18px; }
@media(max-width:480px){ .cml-camp-modal{ padding:30px 24px; } .cml-camp-modal-actions{ flex-direction:column; } }

/* ---------- CATALOGUE DATES & PRIX ---------- */
.cml-camp-catalog {
    --cml-bg2:#DFDCD5; --cml-cream:#1A1F2B; --cml-gold:#C9A24B; --cml-champ:#B58D33;
    --cml-line:rgba(26,31,43,.13); --cml-gray:#6B6D72;
    font-family:'Jost',sans-serif; color:var(--cml-cream);
    display:grid; gap:28px; max-width:1000px; margin:0 auto;
}
.cml-camp-cat-card {
    display:grid; grid-template-columns:280px 1fr; background:var(--cml-bg2);
    border:1px solid var(--cml-line); border-radius:16px; overflow:hidden;
    box-shadow:0 10px 30px rgba(0,0,0,.05);
}
.cml-camp-cat-photo { background-size:cover; background-position:center; min-height:240px; }
.cml-camp-cat-body { padding:30px 32px; }
.cml-camp-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-camp-cat-sub { color:var(--cml-gray); font-size:.95rem; margin:0 0 4px; }
.cml-camp-cat-age { color:var(--cml-champ); font-size:.8rem; text-transform:uppercase; letter-spacing:.1em; margin:0 0 18px; }
.cml-camp-cat-sessions { list-style:none; margin:0; padding:0; }
.cml-camp-cat-session {
    display:flex; align-items:center; justify-content:space-between; gap:20px;
    padding:14px 0; border-top:1px solid var(--cml-line);
}
.cml-camp-cat-session-info { min-width:0; flex:1; }
.cml-camp-cat-dates { display:block; font-size:1rem; color:var(--cml-cream); font-weight:400; }
.cml-camp-cat-meta { display:block; font-size:.85rem; color:var(--cml-gray); margin-top:2px; }
.cml-camp-cat-seats-low { color:var(--cml-gold); }
.cml-camp-cat-btn {
    flex-shrink:0; background:var(--cml-gold); color:#fff; 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-camp-cat-btn:hover { transform:translateY(-2px); box-shadow:0 12px 28px rgba(201,162,75,.3); color:#fff; }
@media(max-width:680px){
    .cml-camp-cat-card{ grid-template-columns:1fr; }
    .cml-camp-cat-photo{ min-height:160px; }
    .cml-camp-cat-session{ flex-direction:column; align-items:flex-start; }
}

/* ==========================================================================
   PAGE PRIX & DATES (shortcode camps_dates_prix_chalet_montriond) — V2
   Design V2 Stone & or — pierre clair / or / Playfair + Jost
   ========================================================================== */
.cml-camp-pd{
    --bg:#EAE8E3;--bg2:#DFDCD5;--green:#D2CFC7;--cream:#1A1F2B;
    --gold:#C9A24B;--champ:#B58D33;--moss:#5d7e4e;--ice:#5DA9E9;
    --glass:rgba(255,255,255,.5);--line:rgba(26,31,43,.13);--gray:#6B6D72;
    font-family:'Jost',sans-serif;background:var(--bg);color:var(--cream);
    font-weight:300;line-height:1.75;-webkit-font-smoothing:antialiased;
}
.cml-camp-pd h1,.cml-camp-pd h2,.cml-camp-pd h3,.cml-camp-pd h4{font-family:'Playfair Display',serif;font-weight:500;line-height:1.1;color:var(--cream);}
.cml-camp-pd .cml-camp-pd-it{font-style:italic;color:var(--champ);}
.cml-camp-pd-eyebrow{font-size:.68rem;letter-spacing:.45em;text-transform:uppercase;color:var(--gold);font-weight:500;}
.cml-camp-pd a{text-decoration:none;}
.cml-camp-pd-btn{display:inline-block;background:var(--gold);color:#fff!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-camp-pd-btn:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(201,162,75,.3);}

/* HERO */
.cml-camp-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-camp-pd-hero-line{width:50px;height:1px;background:var(--gold);margin-bottom:24px;}
.cml-camp-pd-h1{font-size:clamp(2.4rem,5.5vw,4rem);margin:14px 0 18px;color:var(--cream);}
.cml-camp-pd-hero p{color:var(--gray);font-size:1.08rem;max-width:540px;}

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

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

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

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

/* FINALE */
.cml-camp-pd-finale{padding:120px 24px;text-align:center;position:relative;overflow:hidden;}
.cml-camp-pd-finale h2{font-size:clamp(2.2rem,5vw,3.6rem);font-weight:500;margin:18px 0 24px;color:var(--cream);}
.cml-camp-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-camp-pd-price-grid,.cml-camp-pd-sessions,.cml-camp-pd-terms-grid{grid-template-columns:1fr;}
}
