/* =====================================================================
   BookingWidget (6-step) — structure/spacing/typography from the design
   handoff (component-booking.html + booking.css); COLORS/RADII/FONTS/EASING
   follow the plugin theme via --muevo-* (pixel-identical on luxury, adapts
   elsewhere). Scoped under .wdc-booking.
   ===================================================================== */
.wdc-booking{
  /* Pinned to the design's exact "luxury" palette + fonts so this widget always
     matches the Wellness Dream Center booking, independent of the page/library theme.
     (These values are identical to the plugin's luxury theme tokens.) */
  --wdc-bg-1:#131110; --wdc-bg-2:#1a1714; --wdc-bg-3:#221d19;
  --wdc-ink:#f4f1ea; --wdc-ink-soft:#d8d2c8; --wdc-muted:#a59d92; --wdc-faint:#6c655c;
  --wdc-gold:#c9a24e; --wdc-gold-soft:#ddc089; --wdc-on-gold:#1a1306;
  --wdc-gold-line:rgba(201,162,78,.30); --wdc-line:rgba(244,241,234,.09); --wdc-line-2:rgba(244,241,234,.05);
  --wdc-r:14px; --wdc-r-lg:22px;
  --wdc-ease:cubic-bezier(.22,.61,.36,1);
  --wdc-serif:'Sora', system-ui, sans-serif; --wdc-sans:'Manrope', system-ui, sans-serif; --wdc-mono:'JetBrains Mono', ui-monospace, monospace;
  --wdc-ok:#7fb08a; --wdc-danger:#cd8473;
  --bk-gap:clamp(20px,3vw,34px); color:var(--wdc-ink); font-family:var(--wdc-sans); line-height:1.65; -webkit-font-smoothing:antialiased;
  /* self-contained framed shell, matching the design's .booking-shell */
  border-radius:28px;
  background:radial-gradient(120% 120% at 50% 0%, rgba(201,162,78,.06), transparent 60%), #131110;
  border:1px solid var(--wdc-line);
  box-shadow:0 30px 80px -40px rgba(0,0,0,.5);
  padding:clamp(22px,3.5vw,34px);
  overflow:hidden;
}
.wdc-booking *{ box-sizing:border-box; }
.wdc-booking svg{ width:18px; height:18px; flex:0 0 auto; }

/* ---------- step rail ---------- */
.wdc-booking .bk-steps{ display:flex; align-items:flex-start; gap:0; padding:6px 4px clamp(22px,3vw,30px); list-style:none; margin:0; }
.wdc-booking .bk-steps li{ flex:1; display:flex; flex-direction:column; align-items:center; gap:10px; position:relative; min-width:0; }
.wdc-booking .bk-steps li::before{ content:""; position:absolute; top:18px; inset-inline-start:-50%; width:100%; height:1.5px; background:var(--wdc-line); z-index:0; }
.wdc-booking .bk-steps li:first-child::before{ display:none; }
.wdc-booking .bk-steps li.done::before, .wdc-booking .bk-steps li.active::before{ background:var(--wdc-gold-line); }
.wdc-booking .bk-bullet{ width:38px; height:38px; border-radius:50%; flex-shrink:0; position:relative; z-index:1; display:grid; place-items:center; background:var(--wdc-bg-2); border:1.5px solid var(--wdc-line); font-family:var(--wdc-mono); font-size:.82rem; color:var(--wdc-muted); transition:.35s var(--wdc-ease); }
.wdc-booking .bk-bullet svg{ width:17px; height:17px; }
.wdc-booking .bk-steps li.active .bk-bullet{ border-color:var(--wdc-gold); color:var(--wdc-gold); background:color-mix(in srgb, var(--wdc-gold) 10%, var(--wdc-bg-2)); box-shadow:0 0 0 4px color-mix(in srgb, var(--wdc-gold) 8%, transparent); }
.wdc-booking .bk-steps li.done .bk-bullet{ background:var(--wdc-gold); border-color:var(--wdc-gold); color:var(--wdc-on-gold); }
.wdc-booking .bk-slab{ font-family:var(--wdc-mono); font-size:.62rem; letter-spacing:.14em; text-transform:uppercase; color:var(--wdc-muted); text-align:center; line-height:1.3; transition:color .35s var(--wdc-ease); padding-inline:4px; }
.wdc-booking .bk-steps li.active .bk-slab{ color:var(--wdc-gold-soft); }
.wdc-booking .bk-steps li.done .bk-slab{ color:var(--wdc-ink-soft); }
@media (max-width:620px){ .wdc-booking .bk-steps li .bk-slab{ display:none; } .wdc-booking .bk-steps li.active .bk-slab{ display:block; position:absolute; top:46px; white-space:nowrap; } .wdc-booking .bk-steps{ padding-bottom:46px; } }

/* ---------- stage / panels ---------- */
.wdc-booking .bk-stage{ position:relative; }
.wdc-booking .bk-panel{ display:none; animation:bkFade .45s var(--wdc-ease); }
.wdc-booking .bk-panel.active{ display:block; }
@keyframes bkFade{ from{ opacity:0; transform:translateY(10px); } to{ opacity:1; transform:none; } }
.wdc-booking .bk-phead{ margin-bottom:22px; }
.wdc-booking .bk-phead h3{ font-family:var(--wdc-serif); font-weight:500; font-size:clamp(1.3rem,2.4vw,1.75rem); letter-spacing:-.02em; }
.wdc-booking .bk-phead p{ color:var(--wdc-muted); font-size:.94rem; margin-top:8px; max-width:60ch; }

/* ---------- step 1 · categories ---------- */
.wdc-booking .bk-cats{ display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
@media (max-width:900px){ .wdc-booking .bk-cats{ grid-template-columns:repeat(3,1fr); } }
@media (max-width:560px){ .wdc-booking .bk-cats{ grid-template-columns:repeat(2,1fr); } }
.wdc-booking .bk-cat{ display:flex; flex-direction:column; align-items:flex-start; gap:12px; text-align:start; background:var(--wdc-bg-2); border:1px solid var(--wdc-line); border-radius:var(--wdc-r); padding:18px; cursor:pointer; transition:.3s var(--wdc-ease); position:relative; overflow:hidden; font-family:var(--wdc-sans); color:var(--wdc-ink); }
.wdc-booking .bk-cat:hover{ border-color:var(--wdc-gold-line); transform:translateY(-3px); background:var(--wdc-bg-3); }
.wdc-booking .bk-cat.on{ border-color:var(--wdc-gold); background:color-mix(in srgb, var(--wdc-gold) 8%, transparent); }
.wdc-booking .bk-cic{ width:42px; height:42px; border-radius:12px; display:grid; place-items:center; color:var(--wdc-gold); border:1px solid var(--wdc-gold-line); background:color-mix(in srgb, var(--wdc-gold) 5%, transparent); flex-shrink:0; }
.wdc-booking .bk-cic svg{ width:21px; height:21px; }
.wdc-booking .bk-cic img{ width:100%; height:100%; object-fit:cover; border-radius:inherit; }
.wdc-booking .bk-cat b{ font-family:var(--wdc-serif); font-weight:500; font-size:1.02rem; line-height:1.2; }
.wdc-booking .bk-cfrom{ font-family:var(--wdc-mono); font-size:.66rem; letter-spacing:.08em; color:var(--wdc-muted); margin-top:-4px; }
.wdc-booking .bk-ctick{ position:absolute; top:14px; inset-inline-end:14px; width:20px; height:20px; border-radius:50%; background:var(--wdc-gold); color:var(--wdc-on-gold); display:grid; place-items:center; opacity:0; transform:scale(.6); transition:.3s var(--wdc-ease); }
.wdc-booking .bk-ctick svg{ width:12px; height:12px; }
.wdc-booking .bk-cat.on .bk-ctick{ opacity:1; transform:none; }

/* ---------- step 2 · services ---------- */
.wdc-booking .bk-svcs{ margin-top:24px; display:flex; flex-direction:column; gap:10px; }
.wdc-booking .bk-svcs-h{ font-family:var(--wdc-mono); font-size:.66rem; letter-spacing:.2em; text-transform:uppercase; color:var(--wdc-gold); margin-bottom:4px; }
/* When a category has many services, keep the widget a fixed size: show ~4 rows
   and scroll the rest (the calendar below never shrinks or is pushed off-screen). */
.wdc-booking .bk-svcs-scroll{ display:flex; flex-direction:column; gap:10px; max-height:296px; overflow-y:auto; padding:2px 6px 2px 2px; scrollbar-width:thin; scrollbar-color:var(--wdc-gold-line) transparent; }
.wdc-booking .bk-svcs-scroll::-webkit-scrollbar{ width:8px; }
.wdc-booking .bk-svcs-scroll::-webkit-scrollbar-thumb{ background:var(--wdc-gold-line); border-radius:100px; }
.wdc-booking .bk-svcs-scroll::-webkit-scrollbar-track{ background:transparent; }
.wdc-booking .bk-svc{ display:flex; align-items:center; gap:16px; width:100%; text-align:start; background:var(--wdc-bg-1); border:1px solid var(--wdc-line); border-radius:var(--wdc-r); padding:16px 18px; cursor:pointer; transition:.25s var(--wdc-ease); font-family:var(--wdc-sans); color:var(--wdc-ink); }
.wdc-booking .bk-svc:hover{ border-color:var(--wdc-gold-line); background:var(--wdc-bg-2); }
.wdc-booking .bk-svc.on{ border-color:var(--wdc-gold); background:color-mix(in srgb, var(--wdc-gold) 7%, transparent); }
.wdc-booking .bk-radio{ width:20px; height:20px; border-radius:50%; border:1.5px solid var(--wdc-line); flex-shrink:0; display:grid; place-items:center; transition:.25s; }
.wdc-booking .bk-radio::after{ content:""; width:9px; height:9px; border-radius:50%; background:var(--wdc-gold); transform:scale(0); transition:.25s var(--wdc-ease); }
.wdc-booking .bk-svc.on .bk-radio, .wdc-booking .bk-pm.on .bk-radio{ border-color:var(--wdc-gold); }
.wdc-booking .bk-svc.on .bk-radio::after, .wdc-booking .bk-pm.on .bk-radio::after{ transform:scale(1); }
.wdc-booking .bk-sinfo{ flex:1; min-width:0; }
.wdc-booking .bk-sinfo b{ font-weight:600; font-size:.98rem; display:block; }
.wdc-booking .bk-sinfo span{ color:var(--wdc-muted); font-size:.82rem; display:inline-flex; align-items:center; gap:6px; }
.wdc-booking .bk-sinfo span svg{ width:13px; height:13px; color:var(--wdc-gold); }
.wdc-booking .bk-sprice{ font-family:var(--wdc-serif); font-size:1.15rem; color:var(--wdc-gold-soft); white-space:nowrap; }

/* custom-package banner on the date step */
.wdc-booking .bk-pkgbanner{ display:flex; align-items:center; gap:10px; margin-bottom:20px; padding:13px 18px; border:1px solid var(--wdc-gold-line); border-radius:var(--wdc-r); background:color-mix(in srgb, var(--wdc-gold) 7%, transparent); font-size:.9rem; color:var(--wdc-ink); }
.wdc-booking .bk-pkgbanner svg{ color:var(--wdc-gold); }
.wdc-booking .bk-pkgbanner span{ font-weight:500; }

/* ---------- step 3 · horizontal calendar ---------- */
.wdc-booking .bk-monthbar{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:14px; }
.wdc-booking .bk-monthbar b{ font-family:var(--wdc-serif); font-weight:500; font-size:1.05rem; }
.wdc-booking .bk-cal-nav{ display:flex; gap:8px; }
.wdc-booking .bk-cal-nav button{ width:38px; height:38px; border-radius:10px; border:1px solid var(--wdc-line); background:var(--wdc-bg-2); color:var(--wdc-ink); display:grid; place-items:center; cursor:pointer; transition:.25s; }
.wdc-booking .bk-cal-nav button:hover:not(:disabled){ border-color:var(--wdc-gold-line); color:var(--wdc-gold); }
.wdc-booking .bk-cal-nav button:disabled{ opacity:.3; cursor:not-allowed; }
.wdc-booking .bk-cal-nav button svg{ width:16px; height:16px; }
.wdc-booking .bk-cal{ display:flex; align-items:stretch; gap:10px; position:relative; }
.wdc-booking .bk-cal-strip{ display:flex; gap:10px; overflow-x:auto; scroll-behavior:smooth; padding:4px 2px 12px; flex:1; scrollbar-width:thin; scrollbar-color:var(--wdc-gold-line) transparent; }
.wdc-booking .bk-cal-strip::-webkit-scrollbar{ height:6px; }
.wdc-booking .bk-cal-strip::-webkit-scrollbar-thumb{ background:var(--wdc-gold-line); border-radius:100px; }
.wdc-booking .bk-day{ flex:0 0 auto; width:74px; border:1px solid var(--wdc-line); border-radius:var(--wdc-r); background:var(--wdc-bg-2); padding:14px 8px; text-align:center; cursor:pointer; transition:.25s var(--wdc-ease); display:flex; flex-direction:column; align-items:center; gap:4px; }
.wdc-booking .bk-day:hover:not(.disabled){ border-color:var(--wdc-gold-line); transform:translateY(-2px); }
.wdc-booking .bk-day.on{ border-color:var(--wdc-gold); background:color-mix(in srgb, var(--wdc-gold) 12%, transparent); }
.wdc-booking .bk-day.disabled{ opacity:.32; cursor:not-allowed; }
.wdc-booking .bk-day .dow{ font-family:var(--wdc-mono); font-size:.6rem; letter-spacing:.12em; text-transform:uppercase; color:var(--wdc-muted); }
.wdc-booking .bk-day .dn{ font-family:var(--wdc-serif); font-size:1.5rem; font-weight:400; line-height:1; }
.wdc-booking .bk-day.on .dn{ color:var(--wdc-gold-soft); }
.wdc-booking .bk-day .dm{ font-family:var(--wdc-mono); font-size:.56rem; letter-spacing:.1em; text-transform:uppercase; color:var(--wdc-faint); }
.wdc-booking .bk-day .ddot{ width:4px; height:4px; border-radius:50%; background:var(--wdc-gold); margin-top:2px; opacity:0; }
.wdc-booking .bk-day.on .ddot{ opacity:1; }

/* time slots */
.wdc-booking .bk-times-wrap{ margin-top:24px; }
.wdc-booking .bk-times-h, .wdc-booking .bk-pract-h{ display:flex; align-items:center; gap:10px; font-family:var(--wdc-mono); font-size:.66rem; letter-spacing:.16em; text-transform:uppercase; color:var(--wdc-gold); margin-bottom:14px; }
.wdc-booking .bk-times{ display:grid; grid-template-columns:repeat(auto-fill,minmax(92px,1fr)); gap:10px; }
.wdc-booking .bk-time{ border:1px solid var(--wdc-line); border-radius:100px; background:var(--wdc-bg-2); color:var(--wdc-ink-soft); padding:.72em .6em; font-family:var(--wdc-mono); font-size:.86rem; letter-spacing:.04em; cursor:pointer; transition:.25s var(--wdc-ease); }
.wdc-booking .bk-time:hover:not(.disabled){ border-color:var(--wdc-gold-line); color:var(--wdc-ink); }
.wdc-booking .bk-time.on{ background:var(--wdc-gold); border-color:var(--wdc-gold); color:var(--wdc-on-gold); font-weight:500; }
.wdc-booking .bk-time.disabled{ opacity:.28; cursor:not-allowed; text-decoration:line-through; }
.wdc-booking .bk-empty{ color:var(--wdc-faint); font-size:.9rem; padding:18px 0; }

/* practitioner select */
.wdc-booking .bk-pract{ margin-top:24px; }
.wdc-booking .bk-pract-row{ display:flex; flex-wrap:wrap; gap:10px; }
.wdc-booking .bk-chip{ display:inline-flex; align-items:center; gap:9px; background:var(--wdc-bg-2); border:1px solid var(--wdc-line); border-radius:100px; padding:.55em 1em .55em .6em; color:var(--wdc-ink-soft); font-size:.88rem; font-weight:500; cursor:pointer; transition:.25s var(--wdc-ease); font-family:var(--wdc-sans); }
.wdc-booking .bk-chip:hover{ border-color:var(--wdc-gold-line); color:var(--wdc-ink); }
.wdc-booking .bk-chip.on{ border-color:var(--wdc-gold); background:color-mix(in srgb, var(--wdc-gold) 10%, transparent); color:var(--wdc-ink); }
.wdc-booking .bk-chip .av{ width:26px; height:26px; border-radius:50%; flex-shrink:0; display:grid; place-items:center; font-family:var(--wdc-serif); font-size:.78rem; color:var(--wdc-gold); background:linear-gradient(135deg,var(--wdc-bg-3),var(--wdc-bg-2)); border:1px solid var(--wdc-gold-line); }

/* ---------- step 4 · form + verification ---------- */
.wdc-booking .bk-form{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.wdc-booking .bk-field{ display:flex; flex-direction:column; gap:8px; }
.wdc-booking .bk-field.full{ grid-column:1 / -1; }
.wdc-booking .bk-field label{ font-family:var(--wdc-mono); font-size:.64rem; letter-spacing:.14em; text-transform:uppercase; color:var(--wdc-muted); }
.wdc-booking .bk-field input{ background:var(--wdc-bg-2); border:1px solid var(--wdc-line); border-radius:var(--wdc-r); color:var(--wdc-ink); padding:.85em 1em; font-size:.95rem; font-family:var(--wdc-sans); outline:none; transition:border-color .25s; width:100%; }
.wdc-booking .bk-field input:focus{ border-color:var(--wdc-gold-line); }
.wdc-booking .bk-field input::placeholder{ color:var(--wdc-faint); }
.wdc-booking .bk-field input.bad{ border-color:var(--wdc-danger); }
.wdc-booking .bk-field textarea{ background:var(--wdc-bg-2); border:1px solid var(--wdc-line); border-radius:var(--wdc-r); color:var(--wdc-ink); padding:.85em 1em; font-size:.95rem; font-family:var(--wdc-sans); outline:none; transition:border-color .25s; width:100%; resize:vertical; min-height:64px; }
.wdc-booking .bk-field textarea:focus{ border-color:var(--wdc-gold-line); }
.wdc-booking .bk-field textarea::placeholder{ color:var(--wdc-faint); }
.wdc-booking .bk-err{ font-size:.76rem; color:var(--wdc-danger); min-height:1px; }
.wdc-booking .bk-verify{ grid-column:1 / -1; margin-top:6px; border:1px dashed var(--wdc-gold-line); border-radius:var(--wdc-r-lg); padding:20px; background:repeating-linear-gradient(135deg, color-mix(in srgb, var(--wdc-gold) 3%, transparent) 0 12px, transparent 12px 24px); }
.wdc-booking .bk-verify-top{ display:flex; align-items:center; gap:12px; }
.wdc-booking .bk-verify-top .vic{ width:40px; height:40px; border-radius:50%; flex-shrink:0; display:grid; place-items:center; color:var(--wdc-gold); border:1px solid var(--wdc-gold-line); background:color-mix(in srgb, var(--wdc-gold) 6%, transparent); }
.wdc-booking .bk-verify-top .vic svg{ width:19px; height:19px; }
.wdc-booking .bk-verify-top b{ font-size:.96rem; display:block; }
.wdc-booking .bk-verify-top span{ color:var(--wdc-muted); font-size:.82rem; }
.wdc-booking .bk-otp{ display:flex; gap:10px; margin-top:16px; }
.wdc-booking .bk-otp input{ width:56px; height:60px; text-align:center; font-family:var(--wdc-serif); font-size:1.5rem; background:var(--wdc-bg-2); border:1px solid var(--wdc-line); border-radius:var(--wdc-r); color:var(--wdc-ink); outline:none; transition:.25s; }
.wdc-booking .bk-otp input:focus{ border-color:var(--wdc-gold); }
.wdc-booking .bk-verify-actions{ display:flex; align-items:center; gap:14px; margin-top:16px; flex-wrap:wrap; }
.wdc-booking .bk-verify-actions .hint{ font-family:var(--wdc-mono); font-size:.72rem; color:var(--wdc-faint); }
.wdc-booking .bk-verify.ok{ border-style:solid; border-color:color-mix(in srgb, var(--wdc-ok) 40%, transparent); background:color-mix(in srgb, var(--wdc-ok) 6%, transparent); }
.wdc-booking .bk-verify.ok .vic{ color:var(--wdc-ok); border-color:color-mix(in srgb, var(--wdc-ok) 40%, transparent); background:color-mix(in srgb, var(--wdc-ok) 10%, transparent); }

/* ---------- step 5 · payment ---------- */
.wdc-booking .bk-pay-grid{ display:grid; grid-template-columns:1.3fr 1fr; gap:var(--bk-gap); align-items:start; }
@media (max-width:820px){ .wdc-booking .bk-pay-grid{ grid-template-columns:1fr; } }
.wdc-booking .bk-paymethods{ display:flex; flex-direction:column; gap:12px; margin-bottom:22px; }
.wdc-booking .bk-pm{ display:flex; align-items:center; gap:14px; border:1px solid var(--wdc-line); border-radius:var(--wdc-r); padding:15px 18px; cursor:pointer; transition:.25s var(--wdc-ease); background:var(--wdc-bg-2); font-family:var(--wdc-sans); color:var(--wdc-ink); text-align:start; width:100%; }
.wdc-booking .bk-pm:hover{ border-color:var(--wdc-gold-line); }
.wdc-booking .bk-pm.on{ border-color:var(--wdc-gold); background:color-mix(in srgb, var(--wdc-gold) 7%, transparent); }
.wdc-booking .bk-pm .pm-ic{ width:24px; color:var(--wdc-gold); flex-shrink:0; }
.wdc-booking .bk-pm .pm-meta b{ font-size:.95rem; display:block; font-weight:600; }
.wdc-booking .bk-pm .pm-meta span{ color:var(--wdc-muted); font-size:.8rem; }
.wdc-booking .bk-securenote{ display:flex; align-items:center; gap:9px; margin-top:16px; font-size:.8rem; color:var(--wdc-muted); }
.wdc-booking .bk-securenote svg{ width:15px; height:15px; color:var(--wdc-gold); flex-shrink:0; }
.wdc-booking .bk-recap{ background:var(--wdc-bg-1); border:1px solid var(--wdc-line); border-radius:var(--wdc-r-lg); padding:24px; position:sticky; top:100px; }
.wdc-booking .bk-recap h4{ font-family:var(--wdc-serif); font-weight:500; font-size:1.1rem; margin-bottom:16px; }
.wdc-booking .bk-recap-list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; }
.wdc-booking .bk-recap-list li{ display:flex; align-items:flex-start; justify-content:space-between; gap:14px; padding:11px 0; border-bottom:1px solid var(--wdc-line-2); font-size:.9rem; }
.wdc-booking .bk-recap-list li .k{ color:var(--wdc-muted); font-size:.78rem; font-family:var(--wdc-mono); letter-spacing:.06em; text-transform:uppercase; }
.wdc-booking .bk-recap-list li .v{ color:var(--wdc-ink); text-align:end; font-weight:500; }
.wdc-booking .bk-recap-total{ display:flex; align-items:baseline; justify-content:space-between; gap:14px; margin-top:16px; padding-top:16px; border-top:1px solid var(--wdc-line); }
.wdc-booking .bk-recap-total .k{ font-family:var(--wdc-mono); font-size:.68rem; letter-spacing:.16em; text-transform:uppercase; color:var(--wdc-muted); }
.wdc-booking .bk-recap-total .v{ font-family:var(--wdc-serif); font-size:2rem; font-weight:300; letter-spacing:-.02em; }
.wdc-booking .bk-recap-total .v small{ font-family:var(--wdc-sans); font-size:.82rem; color:var(--wdc-muted); }

/* ---------- step 6 · confirmation ---------- */
.wdc-booking .bk-success{ text-align:center; display:flex; flex-direction:column; align-items:center; gap:18px; padding:clamp(20px,4vw,40px) 0; }
.wdc-booking .bk-check{ width:84px; height:84px; border-radius:50%; display:grid; place-items:center; color:var(--wdc-ok); border:1.5px solid color-mix(in srgb, var(--wdc-ok) 40%, transparent); background:color-mix(in srgb, var(--wdc-ok) 8%, transparent); animation:bkPop .5s var(--wdc-ease); }
.wdc-booking .bk-check svg{ width:40px; height:40px; }
@keyframes bkPop{ 0%{ transform:scale(.6); opacity:0; } 60%{ transform:scale(1.08); } 100%{ transform:scale(1); opacity:1; } }
.wdc-booking .bk-success h3{ font-family:var(--wdc-serif); font-weight:500; font-size:clamp(1.5rem,3vw,2.1rem); }
.wdc-booking .bk-success p{ color:var(--wdc-muted); max-width:48ch; }
.wdc-booking .bk-ref{ font-family:var(--wdc-mono); font-size:.82rem; letter-spacing:.1em; color:var(--wdc-gold-soft); border:1px solid var(--wdc-gold-line); background:color-mix(in srgb, var(--wdc-gold) 6%, transparent); border-radius:100px; padding:.55em 1.2em; }
.wdc-booking .bk-success-card{ background:var(--wdc-bg-1); border:1px solid var(--wdc-line); border-radius:var(--wdc-r-lg); padding:24px 28px; width:100%; max-width:460px; text-align:start; margin-top:6px; }
.wdc-booking .bk-success-actions{ display:flex; flex-wrap:wrap; gap:12px; justify-content:center; margin-top:8px; }

/* ---------- package booking timeline (confirmation) ---------- */
.wdc-booking .bk-timeline{ margin-top:16px; }
.wdc-booking .bk-tl-h{ font-family:var(--wdc-mono); font-size:.66rem; letter-spacing:.2em; text-transform:uppercase; color:var(--wdc-gold); margin-bottom:10px; }
.wdc-booking .bk-tl-list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; }
.wdc-booking .bk-tl-row{ display:flex; align-items:flex-start; gap:14px; padding:11px 0; border-bottom:1px solid var(--wdc-line-2); }
.wdc-booking .bk-tl-row:last-child{ border-bottom:0; }
.wdc-booking .bk-tl-time{ flex:none; min-width:104px; font-family:var(--wdc-mono); font-size:.82rem; color:var(--wdc-gold); padding-top:1px; }
.wdc-booking .bk-tl-svc{ display:flex; flex-direction:column; gap:2px; }
.wdc-booking .bk-tl-svc b{ font-weight:600; color:var(--wdc-ink); font-size:.92rem; }
.wdc-booking .bk-tl-svc small{ color:var(--wdc-muted); font-size:.78rem; }
.wdc-booking .bk-tl-total{ display:flex; align-items:center; justify-content:space-between; margin-top:12px; padding-top:12px; border-top:1px solid var(--wdc-line); }
.wdc-booking .bk-tl-total span{ font-family:var(--wdc-mono); font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; color:var(--wdc-muted); }
.wdc-booking .bk-tl-total b{ font-size:1.05rem; font-weight:600; color:var(--wdc-ink); }

/* ---------- nav footer + buttons ---------- */
.wdc-booking .bk-nav{ display:flex; align-items:center; justify-content:space-between; gap:14px; margin-top:var(--bk-gap); padding-top:22px; border-top:1px solid var(--wdc-line); }
.wdc-booking .bk-back{ visibility:hidden; }
.wdc-booking .bk-back.show{ visibility:visible; }
.wdc-booking .bk-mini-recap{ font-size:.84rem; color:var(--wdc-muted); display:flex; align-items:baseline; gap:8px; }
.wdc-booking .bk-mini-recap b{ font-family:var(--wdc-serif); font-weight:400; font-size:1.25rem; color:var(--wdc-ink); }
.wdc-booking .bk-mini-recap b small{ font-family:var(--wdc-sans); font-size:.7rem; color:var(--wdc-muted); }
@media (max-width:560px){ .wdc-booking .bk-mini-recap{ display:none; } }
.wdc-booking .bk-btn{ display:inline-flex; align-items:center; justify-content:center; gap:.55em; padding:.95em 1.7em; border-radius:100px; font-family:var(--wdc-sans); font-weight:600; font-size:.92rem; border:1px solid transparent; cursor:pointer; transition:.4s var(--wdc-ease); white-space:nowrap; }
.wdc-booking .bk-btn .ar{ transition:transform .4s var(--wdc-ease); display:inline-flex; }
.wdc-booking .bk-btn:hover .ar{ transform:translateX(4px); }
.wdc-booking .bk-btn-gold{ background:var(--wdc-gold); color:var(--wdc-on-gold); box-shadow:0 16px 40px -18px color-mix(in srgb, var(--wdc-gold) 55%, transparent); }
.wdc-booking .bk-btn-gold:hover{ background:var(--wdc-gold-soft); transform:translateY(-2px); }
.wdc-booking .bk-btn-gold:disabled{ opacity:.4; cursor:not-allowed; box-shadow:none; transform:none; }
.wdc-booking .bk-btn-ghost{ border-color:var(--wdc-gold-line); color:var(--wdc-ink); background:color-mix(in srgb, var(--wdc-bg-2) 60%, transparent); -webkit-backdrop-filter:blur(10px) saturate(1.1); backdrop-filter:blur(10px) saturate(1.1); }
.wdc-booking .bk-btn-ghost:hover{ border-color:var(--wdc-gold); background:color-mix(in srgb, var(--wdc-gold) 10%, var(--wdc-bg-2)); transform:translateY(-2px); }
.wdc-booking .bk-btn-sm{ padding:.7em 1.2em; font-size:.84rem; }

/* RTL: keep latin tokens (times, prices, ref, otp) LTR */
[dir="rtl"] .wdc-booking{ --wdc-serif:'Cairo', system-ui, sans-serif; --wdc-sans:'Tajawal', system-ui, sans-serif; }
[dir="rtl"] .wdc-booking .bk-time, [dir="rtl"] .wdc-booking .bk-day .dn, [dir="rtl"] .wdc-booking .bk-sprice,
[dir="rtl"] .wdc-booking .bk-recap-total .v, [dir="rtl"] .wdc-booking .bk-ref, [dir="rtl"] .wdc-booking .bk-otp{ direction:ltr; unicode-bidi:embed; }
/* RTL: mirror the forward (continue/confirm) arrow, the "back" chevron and the
   calendar prev/next chevrons so they point the right way in Arabic. */
[dir="rtl"] .wdc-booking .bk-btn .ar{ transform:scaleX(-1); }
[dir="rtl"] .wdc-booking .bk-btn:hover .ar{ transform:scaleX(-1) translateX(4px); }
[dir="rtl"] .wdc-booking .bk-back > svg,
[dir="rtl"] .wdc-booking .bk-cal-nav button > svg{ transform:scaleX(-1); }
