/* RG Séances – module de réservation, cartes, page de gestion.
   Charte danse-soufie.com : or #E8B130, texte #101010, noir, gris #F6F6F6,
   Bai Jamjuree (titres), DM Sans (texte), Inter (libellés), Plus Jakarta Sans (boutons).

   Tout ce qui se personnalise passe par des variables CSS posées sur .rgs :
   - couleurs : --rgs-gold, --rgs-black, --rgs-ink, --rgs-paper, --rgs-mist, --rgs-line, --rgs-summary-bg, --rgs-summary-c, --rgs-err ;
   - typographie, par rôle R : --rgs-R-ff (police), --rgs-R-fw (graisse), --rgs-R-fs (taille), --rgs-R-c (couleur),
     rôles : title, month, text, muted, small, step, label, input, button, choice, cal, sumlabel, sum, price ;
   - disposition : --rgs-grid, --rgs-sum-*, --rgs-form-cols, --rgs-dt-cols, --rgs-pad, --rgs-btn-flex, --rgs-step-*.
   Les valeurs ci-dessous sont celles par défaut. Réglages › Apparence et le widget Elementor les remplacent. */
:where(.rgs){
	--rgs-gold:#E8B130; --rgs-gold-soft:#FCF4E1; --rgs-ink:#101010; --rgs-black:#000000; --rgs-paper:#FFFFFF;
	--rgs-mist:#F6F6F6; --rgs-line:#E2E2E2; --rgs-hover:#D0D1D2; --rgs-muted:#797979; --rgs-muted-strong:#5C5C5C;
	--rgs-err:#C4122F; --rgs-ok:#1E6B3A; --rgs-summary-bg:#000000; --rgs-summary-c:#FFFFFF; --rgs-radius:10px; --rgs-btn-radius:100px;
	--rgs-display:"Bai Jamjuree","Segoe UI",system-ui,sans-serif;
	--rgs-body:"DM Sans","Helvetica Neue",Arial,sans-serif;
	--rgs-ui:"Inter","Segoe UI",system-ui,sans-serif;
	--rgs-cta:"Plus Jakarta Sans","DM Sans",Arial,sans-serif;

	--rgs-title-ff:var(--rgs-display); --rgs-title-fw:600; --rgs-title-fs:24px; --rgs-title-c:var(--rgs-black);
	--rgs-month-ff:var(--rgs-display); --rgs-month-fw:600; --rgs-month-fs:19px; --rgs-month-c:var(--rgs-black);
	--rgs-text-ff:var(--rgs-body); --rgs-text-fw:400; --rgs-text-fs:16px; --rgs-text-c:var(--rgs-ink);
	--rgs-muted-ff:var(--rgs-body); --rgs-muted-fw:400; --rgs-muted-fs:16px; --rgs-muted-c:var(--rgs-muted-strong);
	--rgs-small-ff:var(--rgs-body); --rgs-small-fw:400; --rgs-small-fs:14px; --rgs-small-c:var(--rgs-muted-strong);
	--rgs-step-ff:var(--rgs-ui); --rgs-step-fw:400; --rgs-step-fs:14px; --rgs-step-c:var(--rgs-black);
	--rgs-label-ff:var(--rgs-ui); --rgs-label-fw:500; --rgs-label-fs:13px; --rgs-label-c:var(--rgs-ink);
	--rgs-input-ff:var(--rgs-body); --rgs-input-fw:400; --rgs-input-fs:16px; --rgs-input-c:var(--rgs-ink);
	--rgs-button-ff:var(--rgs-cta); --rgs-button-fw:500; --rgs-button-fs:16px; --rgs-button-tt:none; --rgs-button-ls:normal;
	--rgs-choice-ff:var(--rgs-body); --rgs-choice-fw:500; --rgs-choice-fs:17px; --rgs-choice-c:var(--rgs-ink);
	--rgs-cal-ff:var(--rgs-ui); --rgs-cal-fw:500; --rgs-cal-fs:15px; --rgs-cal-c:var(--rgs-black);
	--rgs-sumlabel-ff:var(--rgs-ui); --rgs-sumlabel-fw:500; --rgs-sumlabel-fs:12px; --rgs-sumlabel-c:var(--rgs-gold);
	--rgs-sum-ff:var(--rgs-body); --rgs-sum-fw:400; --rgs-sum-fs:15px; --rgs-sum-c:var(--rgs-summary-c);
	--rgs-price-ff:var(--rgs-display); --rgs-price-fw:600; --rgs-price-fs:32px; --rgs-price-c:var(--rgs-gold);
}
.rgs{
	font-family:var(--rgs-text-ff);font-weight:var(--rgs-text-fw);font-size:var(--rgs-text-fs);color:var(--rgs-text-c);line-height:1.5;
}
.rgs *,.rgs *::before,.rgs *::after{box-sizing:border-box}
.rgs [hidden]{display:none!important}
.rgs h1,.rgs h2,.rgs h3{font-family:var(--rgs-title-ff);font-weight:var(--rgs-title-fw);line-height:1.2;color:var(--rgs-title-c);margin:0;text-wrap:balance}
.rgs p{margin:0}
.rgs :focus-visible{outline:2px solid var(--rgs-gold);outline-offset:3px}

/* Boutons */
.rgs .rgs-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:var(--rgs-button-ff);font-weight:var(--rgs-button-fw);font-size:var(--rgs-button-fs);line-height:1;text-transform:var(--rgs-button-tt);letter-spacing:var(--rgs-button-ls);padding:16px 24px;border-radius:var(--rgs-btn-radius);border:1px solid var(--rgs-black);background:var(--rgs-black);color:var(--rgs-paper);cursor:pointer;text-decoration:none;transition:background .2s,color .2s}
@media (hover:hover){.rgs .rgs-btn:hover{background:transparent;color:var(--rgs-black)}}
.rgs .rgs-btn.rgs-ghost{background:transparent;color:var(--rgs-black)}
@media (hover:hover){.rgs .rgs-btn.rgs-ghost:hover{background:var(--rgs-black);color:var(--rgs-paper)}}
.rgs .rgs-btn:disabled{opacity:.3;cursor:not-allowed}
.rgs .rgs-btn:disabled:hover{background:var(--rgs-black);color:var(--rgs-paper)}
.rgs .rgs-back{all:unset;cursor:pointer;font-family:var(--rgs-text-ff);font-size:calc(var(--rgs-text-fs) - 1px);color:var(--rgs-muted-strong);text-decoration:underline;text-underline-offset:3px}
.rgs .rgs-back:hover{color:var(--rgs-black)}
.rgs .rgs-spinner{width:16px;height:16px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:rgs-spin .7s linear infinite}
@keyframes rgs-spin{to{transform:rotate(360deg)}}

/* ---------- Carte de séance ---------- */
.rgs-card{display:flex;flex-direction:column;gap:18px;height:100%;background:var(--rgs-paper);border:1px solid var(--rgs-line);border-radius:var(--rgs-radius);padding:28px}
.rgs-card .rgs-meta{display:flex;flex-wrap:wrap;gap:8px}
.rgs-chip{font:700 15px/1 var(--rgs-body);padding:10px 16px;border-radius:25px;background:var(--rgs-mist);border:1px solid var(--rgs-line);font-variant-numeric:tabular-nums}
.rgs-chip.rgs-price{background:var(--rgs-gold);border-color:var(--rgs-gold);color:var(--rgs-ink)}
.rgs-card h3{font-size:calc(var(--rgs-title-fs) + 2px)}
.rgs-card .rgs-card-desc{font-family:var(--rgs-muted-ff);color:var(--rgs-muted-c);font-size:calc(var(--rgs-muted-fs) + 1px)}
.rgs-card .rgs-ideal{font-size:var(--rgs-small-fs);padding-top:16px;border-top:1px solid var(--rgs-line)}
.rgs-card .rgs-ideal b{display:block;font:600 12px/1.4 var(--rgs-ui);letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px}
.rgs-card .rgs-btn{margin-top:auto;align-self:flex-start}
.rgs-card-missing{padding:20px;border:1px dashed var(--rgs-hover);border-radius:10px;font-size:14px}

/* ---------- Module : disposition ---------- */
.rgs-booking{display:grid;grid-template-columns:var(--rgs-grid,minmax(0,1fr) var(--rgs-sum-w,330px));gap:var(--rgs-gap,24px);align-items:start;max-width:var(--rgs-max-w,none);margin-inline:auto}
.rgs-booking.rgs-no-summary{--rgs-grid:minmax(0,1fr)}
.rgs-box{background:var(--rgs-paper);border:1px solid var(--rgs-line);border-radius:var(--rgs-radius);overflow:hidden;overflow:clip;min-width:0}
.rgs-booking,.rgs-box{scroll-margin-top:110px}
.rgs-slots,.rgs-actions{scroll-margin-top:110px;scroll-margin-bottom:24px}
.rgs .rgs-stepper li{min-width:0}
.rgs-flag{font:400 12px/1.4 var(--rgs-ui);background:var(--rgs-gold-soft);padding:9px 20px;border-bottom:1px solid var(--rgs-line)}
.rgs-stepper{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--rgs-line);list-style:none;margin:0;padding:0}
.rgs-stepper li{margin:0;padding:0}
.rgs .rgs-stepper button{all:unset;box-sizing:border-box;width:100%;display:flex;align-items:center;gap:10px;padding:16px 20px;font-family:var(--rgs-step-ff);font-weight:var(--rgs-step-fw);font-size:var(--rgs-step-fs);line-height:1.3;color:var(--rgs-muted);cursor:default}
.rgs .rgs-stepper .rgs-n{flex:none;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:13px;font-weight:600;border:1px solid var(--rgs-line)}
.rgs .rgs-stepper .rgs-l{min-width:0;overflow:hidden;text-overflow:ellipsis}
.rgs .rgs-stepper li:not(.is-active) .rgs-l{display:var(--rgs-step-other,inline)}
.rgs .rgs-stepper li.is-active .rgs-l{display:var(--rgs-step-cur,inline)}
.rgs .rgs-stepper li.is-active button{color:var(--rgs-step-c);font-weight:max(500,var(--rgs-step-fw));box-shadow:inset 0 -2px 0 var(--rgs-black)}
.rgs .rgs-stepper li.is-active .rgs-n{background:var(--rgs-black);color:var(--rgs-paper);border-color:var(--rgs-black)}
.rgs .rgs-stepper li.is-done button{color:var(--rgs-step-c);cursor:pointer}
.rgs .rgs-stepper li.is-done .rgs-n{background:var(--rgs-gold);border-color:var(--rgs-gold);color:var(--rgs-ink)}
.rgs-panel{padding:var(--rgs-pad,28px)}
.rgs-panel h3{font-size:var(--rgs-title-fs);margin-bottom:6px}
.rgs-sub{font-family:var(--rgs-muted-ff);font-weight:var(--rgs-muted-fw);color:var(--rgs-muted-c);font-size:var(--rgs-muted-fs);margin-bottom:22px!important}
.rgs-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:28px;padding-top:20px;border-top:1px solid var(--rgs-line)}
.rgs .rgs-actions .rgs-btn{flex:var(--rgs-btn-flex,0 1 auto)}
.rgs-error{color:var(--rgs-err);font-size:var(--rgs-small-fs);margin-top:14px!important}
.rgs-success{color:var(--rgs-ok);font-size:calc(var(--rgs-small-fs) + 1px);margin:12px 0!important}

/* étape 1 */
.rgs-choices{display:grid;gap:12px}
.rgs .rgs-choice{position:relative;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;padding:18px 20px;border:1px solid var(--rgs-line);border-radius:var(--rgs-radius);cursor:pointer;transition:border-color .15s,background .15s;margin:0}
.rgs-choice:hover{border-color:var(--rgs-hover)}
.rgs-choice input{position:absolute;opacity:0;pointer-events:none}
.rgs-dot{width:20px;height:20px;border-radius:50%;border:1.5px solid var(--rgs-muted);display:grid;place-items:center}
.rgs-dot::after{content:"";width:10px;height:10px;border-radius:50%;background:var(--rgs-black);transform:scale(0);transition:transform .15s}
.rgs-choice.is-checked{border-color:var(--rgs-black);background:var(--rgs-mist)}
.rgs-choice.is-checked .rgs-dot{border-color:var(--rgs-black)}
.rgs-choice.is-checked .rgs-dot::after{transform:scale(1)}
.rgs-choice:focus-within{outline:2px solid var(--rgs-gold);outline-offset:2px}
.rgs-t{font-family:var(--rgs-choice-ff);font-weight:var(--rgs-choice-fw);font-size:var(--rgs-choice-fs);color:var(--rgs-choice-c)}
.rgs-d{font-family:var(--rgs-small-ff);font-size:var(--rgs-small-fs);color:var(--rgs-small-c)}
.rgs-p{font-family:var(--rgs-price-ff);font-weight:var(--rgs-price-fw);font-size:calc(var(--rgs-price-fs) * .69);white-space:nowrap;font-variant-numeric:tabular-nums}

/* étape 2 */
.rgs-tzbar{margin-bottom:20px;font-family:var(--rgs-small-ff);font-size:var(--rgs-small-fs);color:var(--rgs-small-c)}
.rgs-tzbar label{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}
.rgs-tzbar select{font:inherit;color:var(--rgs-ink);padding:9px 34px 9px 14px;border-radius:100px;border:1px solid var(--rgs-line);background-color:var(--rgs-paper);max-width:100%;width:auto}
.rgs-dt{display:grid;grid-template-columns:var(--rgs-dt-cols,minmax(0,1.25fr) minmax(0,1fr));gap:28px}
.rgs-cal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.rgs-cal-head strong{font-family:var(--rgs-month-ff);font-weight:var(--rgs-month-fw);font-size:var(--rgs-month-fs);color:var(--rgs-month-c);text-transform:capitalize}
.rgs .rgs-nav{all:unset;cursor:pointer;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--rgs-line)}
.rgs .rgs-nav:hover{background:var(--rgs-mist)}
.rgs .rgs-nav:disabled{opacity:.3;cursor:not-allowed}
.rgs-cal{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center;min-height:250px}
.rgs-cal.is-loading{opacity:.45}
.rgs-dow{font:500 12px var(--rgs-ui);font-family:var(--rgs-cal-ff);color:var(--rgs-muted);padding:6px 0;text-transform:uppercase}
.rgs .rgs-cal button{all:unset;box-sizing:border-box;aspect-ratio:1;max-width:100%;display:grid;place-items:center;border-radius:50%;font-family:var(--rgs-cal-ff);font-weight:400;font-size:var(--rgs-cal-fs);color:#BDBDBD;position:relative;font-variant-numeric:tabular-nums}
.rgs .rgs-cal button.is-av{color:var(--rgs-cal-c);font-weight:max(600,var(--rgs-cal-fw));cursor:pointer;background:var(--rgs-mist)}
.rgs .rgs-cal button.is-av::after{content:"";position:absolute;bottom:16%;width:5px;height:5px;border-radius:50%;background:var(--rgs-gold)}
.rgs .rgs-cal button.is-av:hover{background:var(--rgs-hover)}
.rgs .rgs-cal button.is-sel{background:var(--rgs-black);color:var(--rgs-paper)}
.rgs .rgs-cal button.is-cur{box-shadow:inset 0 0 0 2px var(--rgs-gold)}
.rgs .rgs-cal button:focus-visible{outline:2px solid var(--rgs-gold)}
.rgs-slots h4{font-family:var(--rgs-cal-ff);font-weight:var(--rgs-cal-fw);font-size:var(--rgs-cal-fs);line-height:1.3;margin:0 0 12px;text-transform:capitalize;color:var(--rgs-ink)}
.rgs-slot-grid{display:grid;grid-template-columns:var(--rgs-slot-cols,repeat(auto-fill,minmax(96px,1fr)));gap:8px}
.rgs .rgs-slot{all:unset;box-sizing:border-box;text-align:center;padding:12px 8px;border-radius:var(--rgs-btn-radius);border:1px solid var(--rgs-line);font-family:var(--rgs-cal-ff);font-weight:var(--rgs-cal-fw);font-size:var(--rgs-cal-fs);color:var(--rgs-cal-c);cursor:pointer;background:var(--rgs-paper);font-variant-numeric:tabular-nums}
.rgs .rgs-slot:hover{border-color:var(--rgs-black)}
.rgs .rgs-slot.is-sel{background:var(--rgs-black);color:var(--rgs-paper);border-color:var(--rgs-black)}
.rgs .rgs-slot:disabled{color:#BDBDBD;text-decoration:line-through;cursor:not-allowed;border-style:dashed}
.rgs .rgs-slot small{display:block;font-weight:400;font-size:11px;opacity:.75}
.rgs .rgs-slot:focus-visible{outline:2px solid var(--rgs-gold)}
.rgs-empty{font-family:var(--rgs-small-ff);font-size:calc(var(--rgs-small-fs) + 1px);color:var(--rgs-small-c);padding:20px;border:1px dashed var(--rgs-hover);border-radius:var(--rgs-radius)}

/* étape 3 */
.rgs-form{display:grid;grid-template-columns:var(--rgs-form-cols,1fr 1fr);gap:18px}
.rgs-field{display:grid;gap:8px;min-width:0}
.rgs-full{grid-column:1/-1}
.rgs-field label{font-family:var(--rgs-label-ff);font-weight:var(--rgs-label-fw);font-size:var(--rgs-label-fs);line-height:1.3;color:var(--rgs-label-c)}
.rgs-field label span{font-weight:400;color:var(--rgs-muted)}
.rgs .rgs-field input,.rgs .rgs-field select,.rgs .rgs-field textarea{font-family:var(--rgs-input-ff);font-weight:var(--rgs-input-fw);font-size:var(--rgs-input-fs);line-height:1.4;color:var(--rgs-input-c);background:var(--rgs-paper);border:1px solid var(--rgs-line);border-radius:var(--rgs-radius);padding:13px 14px;width:100%;box-shadow:none;margin:0}
.rgs .rgs-field textarea{min-height:110px;resize:vertical}
.rgs .rgs-field input:focus,.rgs .rgs-field select:focus,.rgs .rgs-field textarea:focus{outline:none;border-color:var(--rgs-black);box-shadow:0 0 0 3px var(--rgs-gold-soft)}
.rgs-err{font-size:13px;color:var(--rgs-err)}
.rgs-field.is-bad input,.rgs-field.is-bad select{border-color:var(--rgs-err)}
.rgs-legal{display:grid;gap:12px}
.rgs-check{display:flex;gap:12px;align-items:flex-start;font-family:var(--rgs-small-ff);font-weight:var(--rgs-small-fw);font-size:var(--rgs-small-fs);color:var(--rgs-small-c);margin:0}
.rgs-check input{margin-top:3px;width:18px;height:18px;accent-color:var(--rgs-black);flex:none}
.rgs-check.is-bad{color:var(--rgs-err)}
.rgs-check strong{color:var(--rgs-ink);font-weight:600}
.rgs-waiver{background:var(--rgs-gold-soft);padding:12px 14px;border-left:2px solid var(--rgs-gold)}
.rgs-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}

/* étape 4 */
.rgs-pay{min-height:160px}
.rgs-pay.is-loading{display:grid;place-items:center;color:var(--rgs-muted)}
.rgs-secure{display:flex;gap:10px;align-items:center;font-family:var(--rgs-small-ff);font-size:var(--rgs-small-fs);color:var(--rgs-small-c);margin-top:16px!important}

/* confirmation */
.rgs-done{text-align:center;padding:24px 0;display:grid;justify-items:center;gap:14px}
.rgs-ok{width:64px;height:64px;border-radius:50%;background:var(--rgs-gold);color:var(--rgs-ink);display:grid;place-items:center}
.rgs .rgs-done h3{font-size:calc(var(--rgs-title-fs) * 1.25)}
.rgs-done p{max-width:46ch;font-family:var(--rgs-muted-ff);color:var(--rgs-muted-c);font-size:var(--rgs-muted-fs)}
.rgs-recap{width:100%;max-width:460px;text-align:left;border:1px solid var(--rgs-line);border-radius:var(--rgs-radius);padding:18px 20px;margin:8px 0;display:grid;gap:8px;font-size:calc(var(--rgs-text-fs) - 1px)}
.rgs-recap div{display:flex;justify-content:space-between;gap:16px}
.rgs-recap span:first-child{color:var(--rgs-muted)}
.rgs-recap span:last-child{text-align:right;font-weight:500;overflow-wrap:anywhere}
.rgs-cal-add{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.rgs .rgs-cal-add .rgs-btn{padding:12px 18px;font-size:calc(var(--rgs-button-fs) - 2px)}

/* récapitulatif */
.rgs-summary{order:var(--rgs-sum-order,0);position:var(--rgs-sum-pos,sticky);display:var(--rgs-sum-display,grid);top:var(--rgs-sticky-top,120px);background:var(--rgs-summary-bg);color:var(--rgs-sum-c);font-family:var(--rgs-sum-ff);font-weight:var(--rgs-sum-fw);border-radius:var(--rgs-radius);padding:var(--rgs-sum-pad,24px);gap:16px}
.rgs .rgs-summary h3{font-size:calc(var(--rgs-title-fs) - 4px);font-weight:500;color:var(--rgs-summary-c);display:var(--rgs-sum-head,block)}
.rgs-sum-row{display:grid;gap:3px;padding-bottom:14px;border-bottom:1px solid rgba(255,255,255,.12)}
.rgs .rgs-summary .rgs-sum-row:nth-of-type(n+3){display:var(--rgs-sum-more,grid)}
.rgs .rgs-summary .rgs-sum-row:nth-of-type(2){border-bottom-width:var(--rgs-sum-sep,1px);padding-bottom:var(--rgs-sum-sep-pad,14px)}
.rgs-sum-row small{font-family:var(--rgs-sumlabel-ff);font-weight:var(--rgs-sumlabel-fw);font-size:var(--rgs-sumlabel-fs);line-height:1.3;letter-spacing:.08em;text-transform:uppercase;color:var(--rgs-sumlabel-c)}
.rgs-sum-row span{font-size:var(--rgs-sum-fs)}
.rgs-sum-row .rgs-ph{opacity:.45}
.rgs.rgs-booking:not(.rgs-prices):not(.rgs-at-pay) .rgs-total{display:none!important}
.rgs-total{display:flex;justify-content:space-between;align-items:baseline;font-family:var(--rgs-ui);font-size:var(--rgs-sum-fs)}
.rgs-total strong{font-family:var(--rgs-price-ff);font-size:var(--rgs-price-fs);font-weight:var(--rgs-price-fw);color:var(--rgs-price-c);font-variant-numeric:tabular-nums}
.rgs .rgs-summary .rgs-note{font-size:calc(var(--rgs-sum-fs) - 2px);opacity:.65;display:var(--rgs-sum-head,block)}

/* page de gestion */
.rgs-manage{padding:clamp(48px,8vw,100px) 16px;background:var(--rgs-mist)}
.rgs-manage-card{max-width:760px;margin:0 auto;background:var(--rgs-paper);border-radius:var(--rgs-radius);padding:clamp(24px,5vw,44px);display:grid;gap:18px}
.rgs .rgs-manage-card h1{font-size:calc(var(--rgs-title-fs) * 1.4)}
.rgs .rgs-manage-card h2{font-size:calc(var(--rgs-title-fs) * .75)}
.rgs-manage .rgs-recap{max-width:none}
.rgs-eyebrow{font-family:var(--rgs-label-ff);font-weight:500;font-size:var(--rgs-label-fs);letter-spacing:.08em;text-transform:uppercase;display:flex;align-items:center;gap:10px}
.rgs-eyebrow::before{content:"";width:22px;height:2px;background:var(--rgs-gold)}
.rgs-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.rgs-options.rgs-options-1{grid-template-columns:minmax(0,1fr)}
.rgs-opt{border:1px solid var(--rgs-line);border-radius:var(--rgs-radius);padding:20px;display:grid;gap:12px;align-content:start;justify-items:start}
.rgs-opt p{font-family:var(--rgs-small-ff);font-size:var(--rgs-small-fs);color:var(--rgs-small-c)}
.rgs .rgs-btn.rgs-danger{color:var(--rgs-err);border-color:currentColor}
@media (hover:hover){.rgs .rgs-btn.rgs-danger:hover{background:var(--rgs-err);border-color:var(--rgs-err);color:#fff}}
.rgs-manage-actions{display:grid;gap:14px;justify-items:start}
.rgs-resched{border-top:1px solid var(--rgs-line);padding-top:18px;display:grid;gap:16px}
.rgs-legend{font-family:var(--rgs-small-ff);font-size:calc(var(--rgs-small-fs) - 1px);color:var(--rgs-small-c);margin-top:8px!important}
.rgs-confirmbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;background:var(--rgs-gold-soft);padding:14px 16px;border-left:2px solid var(--rgs-gold)}
.rgs-confirm-actions{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.rgs-ok-box{display:grid;gap:4px;background:#E5F4EA;border-left:3px solid var(--rgs-ok);padding:14px 18px;color:#114D2C}
.rgs-note-dark{font-family:var(--rgs-muted-ff);color:var(--rgs-muted-c);font-size:calc(var(--rgs-muted-fs) - 1px)}

/* Les thèmes (Hello Elementor : fond rose au survol / focus) et le kit Elementor stylent tous les boutons.
   On neutralise ces états pour les boutons du module, puis on réapplique les nôtres. */
body .rgs button:hover,body .rgs button:focus,body .rgs button:active{background-color:transparent;color:inherit;box-shadow:none;text-decoration:none}
.rgs .rgs-btn,.rgs .rgs-btn:focus,.rgs .rgs-btn:active{background-color:var(--rgs-black);color:var(--rgs-paper);border-color:var(--rgs-black)}
.rgs .rgs-btn.rgs-ghost,.rgs .rgs-btn.rgs-ghost:focus{background-color:transparent;color:var(--rgs-black)}
.rgs .rgs-btn.rgs-danger,.rgs .rgs-btn.rgs-danger:focus{color:var(--rgs-err);border-color:currentColor}
.rgs .rgs-cal button.is-av:focus{background-color:var(--rgs-mist);color:var(--rgs-cal-c)}
.rgs .rgs-cal button.is-sel:focus{background-color:var(--rgs-black);color:var(--rgs-paper)}
.rgs .rgs-slot:focus{background-color:var(--rgs-paper);color:var(--rgs-cal-c)}
.rgs .rgs-slot.is-sel:focus{background-color:var(--rgs-black);color:var(--rgs-paper)}
.rgs .rgs-stepper button:focus{color:var(--rgs-muted)}
.rgs .rgs-stepper li.is-done button:focus{color:var(--rgs-step-c)}
.rgs .rgs-stepper li.is-active button:focus{color:var(--rgs-step-c)}
.rgs .rgs-back:focus{color:var(--rgs-muted-strong)}

@media (hover:hover){
.rgs .rgs-btn:hover{background-color:transparent;color:var(--rgs-black)}
.rgs .rgs-btn.rgs-ghost:hover{background-color:var(--rgs-black);color:var(--rgs-paper)}
.rgs .rgs-btn.rgs-danger:hover{background-color:var(--rgs-err);border-color:var(--rgs-err);color:#fff}
.rgs .rgs-btn:disabled,.rgs .rgs-btn:disabled:hover{background-color:var(--rgs-black);color:var(--rgs-paper)}
.rgs .rgs-stepper button:hover,.rgs .rgs-stepper button:focus{color:var(--rgs-muted)}
.rgs .rgs-stepper li.is-done button:hover,.rgs .rgs-stepper li.is-done button:focus{color:var(--rgs-step-c)}
.rgs .rgs-stepper li.is-active button:hover,.rgs .rgs-stepper li.is-active button:focus{color:var(--rgs-step-c)}
.rgs .rgs-nav:hover{background-color:var(--rgs-mist)}
.rgs .rgs-cal button.is-av:hover{background-color:var(--rgs-hover);color:var(--rgs-cal-c)}
.rgs .rgs-cal button.is-sel:hover,.rgs .rgs-cal button.is-sel:focus{background-color:var(--rgs-black);color:var(--rgs-paper)}
.rgs .rgs-slot:hover,.rgs .rgs-slot:focus{background-color:var(--rgs-paper);color:var(--rgs-cal-c)}
.rgs .rgs-slot.is-sel:hover,.rgs .rgs-slot.is-sel:focus{background-color:var(--rgs-black);color:var(--rgs-paper)}
.rgs .rgs-slot:disabled:hover{color:#BDBDBD;border-color:var(--rgs-line)}
.rgs .rgs-back:hover,.rgs .rgs-back:focus{color:var(--rgs-black)}
}
a.rgs-btn:hover,a.rgs-btn:focus{text-decoration:none}
.rgs button,.rgs a,.rgs input,.rgs select,.rgs textarea{transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s;-webkit-tap-highlight-color:transparent}
.rgs .rgs-btn:active{transform:scale(.98)}
.rgs label,.rgs .rgs-check span{line-height:1.45}
.rgs .rgs-field label{line-height:1.3}
.rgs .rgs-secure svg{flex:none}
.rgs button,.rgs .rgs-btn{white-space:normal}
.rgs .rgs-btn{text-transform:var(--rgs-button-tt);letter-spacing:var(--rgs-button-ls)}
.rgs a:not(.rgs-btn){color:var(--rgs-black);text-decoration:underline;text-underline-offset:3px}
.rgs .rgs-summary a{color:var(--rgs-summary-c)}
.rgs .rgs-tzbar select{font-size:max(16px,var(--rgs-small-fs))}
/* Zones tactiles confortables */
.rgs .rgs-tzbar select{min-height:44px}
.rgs .rgs-nav{width:44px;height:44px}
.rgs .rgs-back{padding:12px 4px;margin:-12px -4px}

/* ---------- Valeurs par défaut sur tablette (≤ 1024 px) ---------- */
@media (max-width:1024px){
	:where(.rgs){
		--rgs-grid:minmax(0,1fr); --rgs-sum-order:-1; --rgs-sum-pos:static; --rgs-sum-head:none; --rgs-sum-more:none; --rgs-sum-pad:18px 20px; --rgs-sum-sep:0; --rgs-sum-sep-pad:0;
		--rgs-price-fs:26px;
	}
	.rgs .rgs-summary{gap:12px}
	.rgs.rgs-booking:not(.rgs-has-svc) .rgs-summary,.rgs.rgs-booking.rgs-is-done .rgs-summary{display:none}
}
/* ---------- Valeurs par défaut sur mobile (≤ 767 px) ---------- */
@media (max-width:767px){
	:where(.rgs){
		--rgs-dt-cols:minmax(0,1fr); --rgs-form-cols:minmax(0,1fr); --rgs-pad:20px 18px; --rgs-btn-flex:1 1 auto;
		--rgs-step-other:none; --rgs-title-fs:21px; --rgs-muted-fs:15px; --rgs-choice-fs:16px;
	}
	/* Étapes : pastilles numérotées, seul le libellé de l'étape en cours est écrit (réglable) */
	.rgs .rgs-stepper{display:flex;align-items:center;gap:6px;padding:12px 14px}
	.rgs .rgs-stepper li{flex:0 1 auto}
	.rgs .rgs-stepper li.is-active{flex:1 1 auto}
	.rgs .rgs-stepper button{padding:6px 2px;gap:8px}
	.rgs .rgs-stepper li.is-active button{box-shadow:none}
	.rgs .rgs-stepper .rgs-l{white-space:nowrap}
	.rgs .rgs-stepper .rgs-n{width:30px;height:30px}
	.rgs .rgs-choice{grid-template-columns:auto 1fr;padding:16px}
	.rgs .rgs-choice .rgs-p{grid-column:2}
	.rgs .rgs-card{padding:22px}
	.rgs .rgs-cal-add{flex-direction:column;align-items:stretch;width:100%}
	.rgs .rgs-recap{padding:14px 16px}
	.rgs .rgs-recap div{flex-direction:column;gap:0}
	.rgs .rgs-recap span:last-child{text-align:left}
	.rgs .rgs-options{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:380px){
	:where(.rgs){--rgs-pad:18px 14px}
	.rgs .rgs-cal{gap:2px}
	.rgs .rgs-slot-grid{grid-template-columns:var(--rgs-slot-cols,repeat(3,minmax(0,1fr)))}
	.rgs .rgs-btn{padding:15px 18px}
}
@media (prefers-reduced-motion:reduce){.rgs *{transition:none!important;animation:none!important}}
