/* Extrait de includes/booking.php. Ne pas remettre ce CSS en <style> inline :
   les .php sont servis en no-store, ce fichier est cache un an. */
/* =========================================================
   RUPTEUR · Prise de RDV — UI clean (esprit Calendly)
   Scopé sous .rdv2026 · palette rouge Rupteur
   ========================================================= */
.rdv2026{
  --acc:        var(--color-red, #f1283b);
  --acc-tint:   var(--color-tint, #d72d16);
  --acc-soft:   var(--color-light, #fdf5f3);
  --ok:         var(--color-green, #0cbc3e);
  --ink:#1a2027;
  --ink-soft:#3d4753;
  --muted:#6b7280;
  --line:#e6e8eb;
  --line-strong:#d6dade;
  --surface:#ffffff;
  --soft:#f7f8fa;
  --radius:16px;
  --shadow:0 1px 3px rgba(16,24,40,.05), 0 1px 2px rgba(16,24,40,.04);
  position:relative;color:var(--ink);
  -webkit-font-smoothing:antialiased;line-height:1.5;
}
.rdv2026 *{box-sizing:border-box;}
.rdv-shell{position:relative;max-width:1040px;margin:0 auto;padding:0 16px;}

/* Hero */
.rdv-hero{padding:2.4rem 0 1.2rem;}
.rdv-hero h1{font-family:var(--font-bold,inherit);font-weight:400;font-size:clamp(1.7rem,3vw,2.4rem);letter-spacing:-.01em;margin:0 0 .4rem;color:var(--ink);}
.rdv-sub{color:var(--muted);font-size:1rem;max-width:54ch;margin:0;}
/* forfait choisi : une phrase sous le titre, pas une pastille */
.rdv-chosen{margin:.5rem 0 0;font-size:1.05rem;color:var(--muted);}
.rdv-chosen strong{font-weight:400;color:var(--ink);}

/* Stepper */
.rdv-stepper{list-style:none;margin:1.7rem 0 2rem;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:0;}
.rdv-step-item{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:.55rem;}
.rdv-step-item::before{content:"";position:absolute;top:18px;right:50%;width:100%;height:2px;background:var(--line-strong);}
.rdv-step-item:first-child::before{display:none;}
.rdv-step-item.completed + .rdv-step-item::before{background:var(--acc);}
.rdv-step-item .dot{position:relative;z-index:1;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font-family:var(--font-bold,inherit);font-weight:400;font-size:.9rem;background:#fff;border:2px solid var(--line-strong);color:var(--muted);transition:background-color .15s,border-color .15s,color .15s;}
.rdv-step-item.active .dot{border-color:var(--acc);background:var(--acc);color:#fff;}
.rdv-step-item.completed .dot{border-color:var(--acc);background:var(--acc);color:#fff;font-size:0;}
.rdv-step-item.completed .dot::after{content:"\2713";font-size:1.05rem;}
.rdv-step-item .lbl b{display:block;font-family:var(--font-bold,inherit);font-weight:400;font-size:.84rem;color:var(--ink);}
.rdv-step-item .lbl i{font-style:normal;font-size:.72rem;color:var(--muted);}
.rdv-step-item.disabled{opacity:.5;}

/* Panneaux (fondu doux, aucun mouvement) */
.rdv-step{display:none;}
.rdv-step.active{display:block;animation:rdvFade .2s ease;}
@keyframes rdvFade{from{opacity:0;}to{opacity:1;}}

.rdv-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:clamp(1.2rem,2.2vw,1.8rem);}
.rdv-section-title{font-family:var(--font-bold,inherit);font-weight:400;font-size:1.15rem;letter-spacing:-.01em;margin:0 0 1.1rem;display:flex;align-items:center;gap:.6rem;color:var(--ink);}
.rdv-section-title svg{width:19px;height:19px;color:var(--acc);}
.rdv-divider{height:1px;background:var(--line);border:0;margin:1.5rem 0;}

.rdv-grid{display:grid;grid-template-columns:1fr;gap:1.3rem;align-items:start;}
@media(min-width:980px){.rdv-grid{grid-template-columns:1.3fr .85fr;}}

/* Champs */
.rdv-field{margin-bottom:1.05rem;}
.rdv-field>label,.rdv2026 .ui.form .field>label{display:block;font-weight:400;color:var(--ink-soft);font-size:.78rem;margin-bottom:.42rem;}
.rdv2026 .ui.form .field.required>label::after{content:" *";color:var(--acc);}
.rdv2026 .ui.form input[type="text"],
.rdv2026 .ui.form input[type="email"],
.rdv2026 .ui.form input[type="number"],
.rdv2026 .ui.form input:not([type]),
.rdv-select{width:100%;border:1.5px solid var(--line-strong);border-radius:10px;padding:.78rem .9rem;font-size:.95rem;background:#fff;color:var(--ink);font-family:inherit;transition:border-color .15s,box-shadow .15s;}
.rdv2026 .ui.form input::placeholder{color:#a6acb6;}
.rdv2026 .ui.form input:focus,.rdv-select:focus{border-color:var(--acc);box-shadow:0 0 0 3px var(--acc-soft);outline:none;}
.rdv2026 .ui.form.error input{border-color:#f6a5ad;}
.rdv-select{appearance:none;-webkit-appearance:none;font-weight:600;cursor:pointer;padding-right:2.5rem;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='%236b7280' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");background-repeat:no-repeat;background-position:right .85rem center;background-size:18px;}
.rdv-select:disabled{background-color:var(--soft);color:var(--muted);cursor:not-allowed;}

#opts-wrap{margin-top:.3rem;}
.rdv-opt{display:flex;gap:.7rem;align-items:flex-start;padding:.78rem .9rem;border:1.5px solid var(--line);border-radius:10px;cursor:pointer;margin-bottom:.5rem;background:#fff;transition:border-color .15s,background-color .15s;}
.rdv-opt:hover{border-color:var(--line-strong);background:var(--soft);}
.rdv-opt input{margin-top:.12rem;width:18px;height:18px;accent-color:var(--acc);cursor:pointer;}
.rdv-opt span{font-size:.92rem;color:var(--ink);}

/* Récap */
.rdv-recap{position:sticky;top:1.5rem;border-radius:var(--radius);border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;overflow:hidden;}
.rdv-recap-head{font-family:var(--font-bold,inherit);font-weight:400;font-size:1rem;color:var(--ink);padding:1.05rem 1.25rem .85rem;display:flex;align-items:center;gap:.55rem;border-bottom:1px solid var(--line);}
.rdv-recap-head svg{width:17px;height:17px;color:var(--acc);}
.rdv-recap-body{padding:1.15rem 1.25rem;display:grid;gap:.95rem;}
.rdv-recap-row{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;font-size:.92rem;}
.rdv-recap-row .k{color:var(--muted);font-weight:600;flex:0 0 auto;}
.rdv-recap-row .v{color:var(--ink);font-weight:400;text-align:right;}
.rdv-price{display:flex;align-items:baseline;justify-content:space-between;padding-top:.95rem;border-top:1px dashed var(--line-strong);}
.rdv-price .k{font-family:var(--font-bold,inherit);font-weight:400;color:var(--ink);font-size:.95rem;}
.rdv-price .amt{font-family:var(--font-bold,inherit);font-weight:400;font-size:1.55rem;color:var(--acc);letter-spacing:-.01em;}

/* Boutons */
.rdv-btn{appearance:none;border:none;cursor:pointer;font-family:var(--font-bold,inherit);font-weight:400;border-radius:10px;padding:.82rem 1.35rem;font-size:.94rem;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;line-height:1;}
.rdv-btn svg{width:16px;height:16px;}
.rdv-btn-primary{background:var(--acc);color:#fff;}
.rdv-btn-primary:hover:not(:disabled){background:var(--acc-tint);}
.rdv-btn-primary:disabled{opacity:.45;cursor:not-allowed;}
.rdv-btn-ghost{background:#fff;border:1.5px solid var(--line-strong);color:var(--ink);}
.rdv-btn-ghost:hover{border-color:var(--acc);color:var(--acc);}
.rdv-btn-block{width:100%;}

/* Calendrier + créneaux */
.cal-wrap{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;}
@media(max-width:900px){.cal-wrap{grid-template-columns:1fr;}}
.cal{border:1px solid var(--line);border-radius:14px;padding:1.05rem;background:#fff;}
.cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.85rem;}
.cal-head .title{font-family:var(--font-bold,inherit);font-weight:400;font-size:1.02rem;text-transform:capitalize;color:var(--ink);}
.cal-nav{display:flex;gap:.45rem;}
.cal-nav button{border:1px solid var(--line-strong);background:#fff;width:36px;height:36px;border-radius:9px;cursor:pointer;color:var(--ink);font-size:1rem;display:grid;place-items:center;transition:border-color .15s,color .15s;}
.cal-nav button:hover:not(:disabled){border-color:var(--acc);color:var(--acc);}
.cal-nav button:disabled{opacity:.35;cursor:not-allowed;}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;}
.cal-dow{text-align:center;font-weight:400;color:var(--muted);padding:6px 0;font-size:.7rem;letter-spacing:.03em;}
.cal-day{display:flex;align-items:center;justify-content:center;height:40px;border-radius:50%;cursor:pointer;font-weight:600;color:var(--ink);transition:background-color .15s,color .15s;}
.cal-day:not(.disabled):not(.other):not(.selected):hover{background:var(--acc-soft);color:var(--acc);}
.cal-day.other{opacity:0;pointer-events:none;}
.cal-day.disabled{color:#c4c9d1;cursor:not-allowed;}
.cal-day.selected{background:var(--acc);color:#fff;font-weight:400;}
.cal-footer{margin-top:.85rem;font-size:.78rem;color:var(--muted);line-height:1.4;}

.slots{border:1px solid var(--line);border-radius:14px;padding:1.05rem;background:#fff;}
.slots .daylabel{font-family:var(--font-bold,inherit);font-weight:400;margin-bottom:.85rem;text-transform:capitalize;color:var(--ink);}
#slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:.5rem;}
.slots .slot{margin:0;}
.slots .slot button{width:100%;padding:.78rem .4rem;border:1.5px solid var(--line-strong);color:var(--acc);background:#fff;border-radius:9px;font-family:var(--font-bold,inherit);font-weight:400;font-size:.92rem;cursor:pointer;transition:background-color .15s,border-color .15s,color .15s;}
.slots .slot button:hover:not([disabled]){border-color:var(--acc);background:var(--acc-soft);}
.slots .slot button[disabled]{opacity:.4;color:var(--muted);cursor:not-allowed;}
.slots .empty{color:var(--muted);background:var(--soft);border-radius:10px;padding:1rem;font-size:.9rem;line-height:1.5;width:100% !important;}

/* Bannière étape 3 */
#s3-summary.rdv-banner{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;background:var(--acc-soft);border:1px solid #f6c6cc;border-radius:12px;padding:1rem 1.2rem;}
.rdv-banner .b-svc{font-family:var(--font-bold,inherit);font-weight:400;font-size:1rem;display:flex;align-items:center;gap:.5rem;color:var(--ink);}
.rdv-banner .b-svc svg{width:17px;height:17px;color:var(--acc);}
.rdv-banner .b-when{color:var(--ink-soft);font-size:.87rem;margin-top:.2rem;margin-left:1.6rem;}

/* Notice */
.rdv-notice{display:flex;gap:.75rem;align-items:flex-start;background:var(--soft);border:1px solid var(--line-strong);border-radius:12px;padding:.95rem 1.05rem;color:var(--ink-soft);font-size:.87rem;line-height:1.5;}
.rdv-notice input{margin-top:.15rem;width:18px;height:18px;flex:0 0 auto;accent-color:var(--acc);cursor:pointer;}

/* Succès */
.rdv-success{display:flex;gap:1rem;align-items:flex-start;background:#f1fbf4;border:1px solid #bdeccb;border-radius:var(--radius);padding:1.4rem;margin-bottom:1.3rem;}
.rdv-success .ico{flex:0 0 auto;width:46px;height:46px;border-radius:50%;background:var(--ok);color:#fff;display:grid;place-items:center;}
.rdv-success .ico svg{width:24px;height:24px;}
.rdv-success h3{font-family:var(--font-bold,inherit);font-weight:400;margin:0 0 .25rem;font-size:1.15rem;color:var(--ink);}
.rdv-success p{margin:0;color:var(--ink-soft);font-size:.93rem;}
#confirm .ui.list{display:grid;gap:.85rem;}
#confirm .ui.list .item{padding:.82rem 1rem;border:1px solid var(--line);border-radius:10px;background:#fff;}
#confirm .ui.list .item .header{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:400;margin-bottom:.3rem;}
#confirm .ui.list .item>div:not(.header){color:var(--ink);font-weight:600;font-size:.93rem;}
#confirm a{color:var(--acc);font-weight:400;text-decoration:none;}
#confirm a:hover{text-decoration:underline;}

.rdv-info{background:var(--soft);border:1px solid var(--line);border-radius:10px;padding:.9rem 1.05rem;font-size:.9rem;color:var(--ink-soft);margin-top:.5rem;}
.rdv-info b{color:var(--ink);}
.rdv-actions{display:flex;flex-wrap:wrap;gap:.7rem;justify-content:flex-end;align-items:center;margin-top:1.3rem;}
.rdv-foot-note{margin-top:1.8rem;text-align:center;color:var(--muted);font-size:.82rem;}
.rdv-foot-note a{color:var(--acc);text-decoration:none;font-weight:400;}

@media(max-width:560px){.rdv-step-item .lbl i{display:none;}.rdv-step-item .lbl b{font-size:.74rem;}}
@media(prefers-reduced-motion:reduce){.rdv-step.active{animation:none;}}
