/* Dedicated booking page — full-bleed, mobile-first, brand-aligned */
.bk-page{
  --bk-pad: clamp(1rem, 3vw, 2rem);
  --bk-max: 1180px;
  position:relative;
}

/* ——— Stage (first viewport composition) ——— */
.bk-stage{
  position:relative;
  min-height:calc(100svh - var(--dl-header-h, 72px));
  display:flex;
  flex-direction:column;
  overflow:hidden;
  isolation:isolate;
}
.bk-stage__media{
  position:absolute;inset:0;z-index:0;pointer-events:none;
}
.bk-stage__bg{
  width:100%;height:100%;object-fit:cover;object-position:center 30%;
  transform:scale(1.04);
  animation:bk-ken 18s var(--dl-ease) infinite alternate;
}
@keyframes bk-ken{
  from{transform:scale(1.02) translate3d(0,0,0)}
  to{transform:scale(1.08) translate3d(-1.5%,1%,0)}
}
.bk-stage__veil{
  position:absolute;inset:0;
  background:
    linear-gradient(180deg, rgba(30,12,58,.72) 0%, rgba(46,16,101,.55) 42%, rgba(248,244,252,.96) 78%, #F8F4FC 100%),
    radial-gradient(600px 320px at 85% 20%, rgba(124,58,237,.35), transparent 60%);
}
.bk-stage__doctor{
  position:absolute;
  inset-inline-end:clamp(-40px, -2vw, 0);
  bottom:18%;
  width:min(42vw, 420px);
  max-height:70%;
  object-fit:contain;
  object-position:bottom center;
  filter:drop-shadow(0 30px 50px rgba(20,8,40,.35));
  opacity:.92;
  animation:bk-rise .9s var(--dl-ease) both;
  display:none;
}
@keyframes bk-rise{
  from{opacity:0;transform:translateY(24px)}
  to{opacity:.92;transform:none}
}

.bk-stage__inner{
  position:relative;z-index:1;
  width:min(100% - 2 * var(--bk-pad), var(--bk-max));
  margin:0 auto;
  padding:clamp(1.25rem, 3.5vw, 2.25rem) 0 clamp(2rem, 5vw, 3.5rem);
  display:flex;flex-direction:column;gap:clamp(1.25rem, 3vw, 2rem);
  flex:1;
}

.bk-intro{
  color:#fff;
  max-width:38rem;
  animation:bk-fade .7s var(--dl-ease) both;
}
@keyframes bk-fade{
  from{opacity:0;transform:translateY(14px)}
  to{opacity:1;transform:none}
}
.bk-intro__brand{
  margin:0 0 .55rem;
  font-size:clamp(1.35rem, 3.2vw, 1.85rem);
  font-weight:800;
  letter-spacing:-.01em;
  line-height:1.15;
}
.bk-intro__title{
  margin:0 0 .75rem;
  font-size:clamp(1.55rem, 4.2vw, 2.55rem);
  font-weight:800;
  line-height:1.22;
  letter-spacing:-.02em;
  text-wrap:balance;
}
.bk-intro__sub{
  margin:0;
  font-size:clamp(.92rem, 2.1vw, 1.05rem);
  font-weight:600;
  line-height:1.7;
  color:rgba(255,255,255,.88);
  max-width:34rem;
}

/* ——— Layout: rail + form ——— */
.bk-layout{
  display:grid;
  gap:1rem;
  align-items:start;
  animation:bk-fade .85s .08s var(--dl-ease) both;
}
.bk-rail{
  display:grid;gap:.85rem;
  order:2;
}
.bk-panel{
  order:1;
  background:rgba(255,255,255,.97);
  border:1px solid rgba(232,221,243,.95);
  border-radius:28px;
  padding:clamp(1.1rem, 2.5vw, 1.65rem);
  box-shadow:
    0 24px 60px rgba(30,12,58,.18),
    0 1px 0 rgba(255,255,255,.7) inset;
  backdrop-filter:blur(10px);
}

.bk-panel__head{margin-bottom:1rem}
.bk-panel__head h2{
  margin:0 0 .35rem;font-size:1.15rem;font-weight:800;color:var(--dl-deep);
}
.bk-panel__head p{
  margin:0;font-size:.86rem;font-weight:700;color:var(--dl-muted);line-height:1.55;
}

.bk-services{
  display:flex;flex-wrap:wrap;gap:.45rem;
  margin-bottom:1.05rem;
}
.bk-chip{
  appearance:none;border:1.5px solid var(--dl-line);background:#fff;
  color:var(--dl-deep-2);font:inherit;font-size:.78rem;font-weight:800;
  padding:.55rem .85rem;border-radius:999px;cursor:pointer;
  transition:border-color .2s, background .2s, color .2s, transform .2s;
}
.bk-chip:hover{border-color:#D4C0EB;background:#FCFAFF;transform:translateY(-1px)}
.bk-chip.is-active{
  border-color:transparent;
  background:linear-gradient(145deg,#7C3AED,#4C1D95);
  color:#fff;
  box-shadow:0 10px 22px rgba(76,29,149,.25);
}

.bk-form__grid{
  display:grid;gap:.9rem;
}
.bk-form__full{grid-column:1 / -1}
.bk-form .dl-field textarea{min-height:132px}
.bk-submit{
  width:100%;min-height:56px;margin-top:.35rem;font-size:1rem;
  box-shadow:0 16px 36px rgba(76,29,149,.28);
}

.bk-steps{
  list-style:none;margin:0;padding:1rem;
  display:grid;gap:.75rem;
  background:rgba(255,255,255,.78);
  border:1px solid rgba(232,221,243,.9);
  border-radius:22px;
  backdrop-filter:blur(8px);
}
.bk-steps li{display:flex;gap:.75rem;align-items:flex-start}
.bk-steps__n{
  flex:0 0 auto;width:28px;height:28px;border-radius:50%;
  display:grid;place-items:center;
  background:linear-gradient(145deg,#7C3AED,#4C1D95);color:#fff;
  font-size:.78rem;font-weight:800;
}
.bk-steps strong{display:block;font-size:.9rem;color:var(--dl-deep);margin-bottom:.1rem}
.bk-steps p{margin:0;font-size:.8rem;font-weight:650;color:var(--dl-muted);line-height:1.45}

.bk-nap{
  padding:1rem 1.1rem;
  border-radius:22px;
  background:linear-gradient(160deg, rgba(46,16,101,.94), rgba(76,29,149,.88));
  color:#fff;
}
.bk-nap__label{
  margin:0 0 .25rem;font-size:.72rem;font-weight:800;letter-spacing:.04em;
  text-transform:uppercase;opacity:.75;
}
.bk-nap__place{margin:0 0 .55rem;font-size:1.05rem;font-weight:800}
.bk-nap__hours{
  margin:0 0 .75rem;display:flex;justify-content:space-between;gap:.75rem;
  font-size:.86rem;font-weight:700;opacity:.95;
}
.bk-nap__links{display:flex;flex-wrap:wrap;gap:.45rem .75rem;margin-bottom:.55rem}
.bk-nap__links a{
  font-size:.84rem;font-weight:800;color:#fff;
  text-decoration:underline;text-underline-offset:3px;opacity:.95;
}
.bk-nap__geo{margin:0;font-size:.78rem;font-weight:650;opacity:.8;line-height:1.5}

.bk-trust{
  list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.4rem;
}
.bk-trust li{
  font-size:.75rem;font-weight:800;color:var(--dl-deep-2);
  background:rgba(255,255,255,.85);border:1px solid var(--dl-line);
  padding:.4rem .7rem;border-radius:999px;
}

/* ——— FAQ / local SEO blocks ——— */
.bk-faq{
  padding:clamp(2.5rem, 6vw, 4.5rem) var(--bk-pad);
  background:
    radial-gradient(700px 280px at 10% 0%, rgba(124,58,237,.08), transparent 55%),
    linear-gradient(180deg, #F8F4FC 0%, #FBF8FE 100%);
}
.bk-faq__inner{width:min(100%, var(--bk-max));margin:0 auto}
.bk-faq__grid{display:grid;gap:.65rem;margin-top:1.25rem}
.bk-faq__item{
  background:#fff;border:1px solid var(--dl-line);border-radius:18px;
  padding:.15rem 1rem 0;box-shadow:0 8px 24px rgba(46,16,101,.04);
}
.bk-faq__item summary{
  cursor:pointer;list-style:none;font-weight:800;color:var(--dl-deep);
  padding:.95rem 0;font-size:.95rem;line-height:1.45;
}
.bk-faq__item summary::-webkit-details-marker{display:none}
.bk-faq__item summary::after{
  content:"+";float:inline-end;color:var(--dl-purple);font-weight:800;
}
.bk-faq__item[open] summary::after{content:"–"}
.bk-faq__item p{
  margin:0 0 1rem;font-size:.9rem;font-weight:650;color:var(--dl-muted);line-height:1.7;
}

.bk-local{
  padding:clamp(2.25rem, 5vw, 3.75rem) var(--bk-pad) calc(clamp(2.25rem, 5vw, 3.75rem) + var(--dl-dock-h, 68px));
  background:linear-gradient(145deg, #3B1768 0%, #5B21B6 55%, #6D28D9 100%);
  color:#fff;
}
.bk-local__inner{width:min(100%, 720px);margin:0 auto;text-align:center}
.bk-local h2{
  margin:0 0 .75rem;font-size:clamp(1.35rem, 3.5vw, 1.9rem);font-weight:800;line-height:1.3;
}
.bk-local p{
  margin:0 0 1.25rem;font-size:.95rem;font-weight:650;line-height:1.75;opacity:.9;
}
.bk-local__actions{display:flex;flex-wrap:wrap;gap:.55rem;justify-content:center}

/* Active nav on booking */
body.page-booking .dl-nav a[href*="/booking"],
body.page-template-page-booking .dl-nav a[href*="/booking"]{
  color:var(--dl-purple);background:rgba(106,27,154,.08);
}
body.page-booking .dl-mobile-dock a[data-dock="book"],
body.page-template-page-booking .dl-mobile-dock a[data-dock="book"]{
  color:var(--dl-purple);
}

/* ——— Desktop ——— */
@media (min-width:900px){
  .bk-stage__doctor{display:block}
  .bk-stage__veil{
    background:
      linear-gradient(105deg, rgba(24,8,48,.82) 0%, rgba(46,16,101,.62) 38%, rgba(46,16,101,.28) 58%, rgba(248,244,252,.92) 78%, #F8F4FC 100%),
      radial-gradient(520px 360px at 70% 30%, rgba(124,58,237,.28), transparent 65%);
  }
  .bk-layout{
    grid-template-columns:minmax(240px, .92fr) minmax(0, 1.35fr);
    gap:1.25rem;
    align-items:stretch;
  }
  .bk-rail{order:1;align-content:start}
  .bk-panel{order:2;padding:1.75rem 1.85rem;border-radius:32px}
  .bk-form__grid{
    grid-template-columns:1fr 1fr;
  }
  .bk-submit{width:auto;min-width:300px}
  .bk-intro{max-width:32rem;padding-inline-end:2rem}
  .bk-faq__grid{grid-template-columns:1fr 1fr}
}

@media (min-width:1100px){
  .bk-stage__doctor{width:min(38vw, 460px);bottom:14%;opacity:1}
  .bk-layout{gap:1.5rem}
}

/* Reduce motion */
@media (prefers-reduced-motion:reduce){
  .bk-stage__bg,.bk-stage__doctor,.bk-intro,.bk-layout{animation:none}
}

/* Dark mode */
body.is-dark .bk-panel,
body.is-dark .bk-steps,
body.is-dark .bk-faq__item{
  background:rgba(28,18,42,.92);border-color:rgba(90,70,120,.45);color:#F3EFFF;
}
body.is-dark .bk-panel__head h2,
body.is-dark .bk-steps strong,
body.is-dark .bk-faq__item summary{color:#F8F4FF}
body.is-dark .bk-chip{background:rgba(40,28,58,.9);color:#EDE4F7;border-color:rgba(90,70,120,.5)}
body.is-dark .bk-trust li{background:rgba(40,28,58,.85);color:#EDE4F7;border-color:rgba(90,70,120,.5)}
body.is-dark .bk-stage__veil{
  background:
    linear-gradient(180deg, rgba(12,6,24,.85) 0%, rgba(20,10,40,.7) 45%, rgba(18,12,28,.96) 100%);
}
