/* Dee Visuals — client booking wizard.
   v3 — "Apple-minimal" redesign per the 2026-06-12 Claude Design bundle
   (Dee Visuals Booking.dc.html). White page (no card chrome), system font,
   #1d1d1f ink, #86868b secondary, 14px-radius fields with soft focus ring,
   black primary buttons, sticky blurred header + cart bar.

   CONTRACT NOTE: every class/id used by /static/booking.js is unchanged —
   [data-add]/[data-remove], #bkNext2, .bk-cart__row, .bk-times, .bk-slot(--sel),
   .bk-cal__day(--sel/--off), .bk-cal__nav button, a.bk-btn[href="/book/step/4"],
   #bkSelNote, #bkViewCart. Self-contained: no admin.css/tour deps. */

:root{
  --ink:#1d1d1f;            /* primary text / CTA */
  --ink-soft:#424245;
  --muted:#86868b;          /* secondary text */
  --faint:#b0b0b6;          /* placeholders / tertiary */
  --line:#d2d2d7;           /* control borders */
  --line-soft:#e8e8ed;      /* hairlines */
  --line-softer:#f0f0f2;
  --fill:#f5f5f7;           /* grey fill surfaces */
  --bg:#ffffff;
  --ring:0 0 0 4px rgba(29,29,31,.06);
  --r-lg:18px; --r:14px; --r-sm:12px; --r-pill:980px;
  --ok-bg:#ecfdf5; --ok-bd:#a7f3d0; --ok-tx:#065f46;
  --err:#b91c1c;
  --font:-apple-system,system-ui,'Segoe UI','Helvetica Neue',Arial,sans-serif;

  /* legacy aliases (older markup revisions reference these) */
  --blue:var(--ink); --blue-dark:#000; --blue-soft:var(--fill);
  --blue-ring:rgba(29,29,31,.1); --body:var(--ink-soft);
  --card:#fff; --shadow:none;
  --warn-bg:var(--fill); --warn-bd:var(--line-soft); --warn-tx:var(--ink-soft);
}
*{box-sizing:border-box}
.bk-body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);
  line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
::selection{background:var(--ink);color:#fff}
input::placeholder,textarea::placeholder{color:var(--faint)}
@keyframes bkfade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* page shell — open white page, no card chrome */
.bk-wrap{max-width:700px;margin:0 auto;padding:0 22px 140px}
.bk-card{background:transparent;border:none;border-radius:0;box-shadow:none;overflow:visible}

/* ── Sticky blurred brand header ────────────────────────────── */
.bk-brand{position:sticky;top:0;z-index:101;display:flex;justify-content:center;align-items:center;
  height:48px;margin:0 -22px;padding:0 22px;
  background:rgba(255,255,255,.975);backdrop-filter:saturate(180%) blur(20px);
  -webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid var(--line)}
.bk-brand__mark{font-size:15px;font-weight:600;letter-spacing:-.01em;color:var(--ink);text-decoration:none}
.bk-brand__mark span{font-weight:400;color:var(--muted)}

/* ── Step indicator — centered dots + label ─────────────────── */
.bk-steps{display:flex;align-items:flex-start;justify-content:center;gap:14px;flex-wrap:wrap;
  padding:36px 0 26px;border-bottom:none}
.bk-step{display:flex;flex-direction:column;align-items:center;gap:7px;color:var(--muted);
  font-size:11px;font-weight:500;letter-spacing:.02em}
.bk-step__num{width:32px;height:32px;border-radius:50%;border:1px solid var(--line);
  display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;
  color:var(--muted);background:#fff;flex-shrink:0;transition:all .2s ease}
.bk-step--active .bk-step__num,.bk-step--done .bk-step__num{
  background:var(--ink);border-color:var(--ink);color:#fff}
.bk-step--active{color:var(--ink);font-weight:600}
.bk-step--done{color:var(--ink-soft)}
.bk-step__sep{width:14px;height:1px;background:var(--line-soft);margin-top:16px}
@media(max-width:680px){
  .bk-step__label{display:none}
  .bk-step--active .bk-step__label{display:inline}
  .bk-step__sep{width:8px}
}

/* ── Sticky cart bar — frosted pill ─────────────────────────── */
.bk-cartbar{position:sticky;top:47px;z-index:100;display:flex;align-items:center;
  justify-content:space-between;gap:16px;padding:13px 18px;margin:0 0 10px;
  background:#f5f5f7;backdrop-filter:saturate(180%) blur(14px);-webkit-backdrop-filter:saturate(180%) blur(14px);
  border:1px solid #e3e3e6;border-radius:16px;color:var(--ink)}
.bk-cartbar__view{font:inherit;font-size:14px;font-weight:500;color:var(--ink);
  background:none;border:none;cursor:pointer;padding:0}
.bk-cartbar__view:hover{opacity:.7;background:none}
.bk-cartbar__total{font-size:15px;font-weight:600;letter-spacing:-.01em}
.bk-cartbar__total b{font-weight:600}

/* ── Page headline ──────────────────────────────────────────── */
/* NOTE: fill-mode must be 'backwards' (not 'both') — a forwards-filling
   opacity/transform animation keeps the element a stacking context forever,
   which trapped the address-autocomplete dropdown under later sections. */
.bk-head{padding:26px 0 0;border:none;background:none;animation:bkfade .35s ease backwards}
.bk-head h1{margin:0 0 8px;font-size:clamp(28px,6.4vw,40px);line-height:1.06;
  font-weight:600;letter-spacing:-.022em;color:var(--ink)}
.bk-head p{margin:0;color:var(--muted);font-size:17px;line-height:1.5;max-width:32em}
.bk-section{padding:32px 0 0;animation:bkfade .35s ease backwards;position:relative}
.bk-section + .bk-section{border-top:none}
/* While the user is typing in a section (address autocomplete open), raise it
   above the sections below so the dropdown can never be overlapped. */
.bk-section:focus-within{z-index:60}

/* ── Form fields ────────────────────────────────────────────── */
.bk-label{display:block;font-size:13px;font-weight:500;color:var(--muted);
  margin:0 0 11px;letter-spacing:.01em}
.bk-help{font-size:14px;color:var(--muted);line-height:1.5;margin:-4px 0 14px}
.bk-input,.bk-textarea{width:100%;border:1px solid var(--line);border-radius:var(--r);
  padding:16px 18px;font:inherit;font-size:17px;color:var(--ink);background:#fff;
  outline:none;transition:border-color .2s ease,box-shadow .2s ease}
.bk-input:focus,.bk-textarea:focus{border-color:var(--ink);box-shadow:var(--ring)}
.bk-textarea{min-height:110px;resize:none;line-height:1.5}
select.bk-input{appearance:none;-webkit-appearance:none;-moz-appearance:none;cursor:pointer;
  padding-right:46px;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14'><path d='M3 5l4 4 4-4' fill='none' stroke='%2386868b' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/></svg>");
  background-repeat:no-repeat;background-position:right 18px center;background-size:14px}
.bk-search{position:relative}
.bk-search .bk-input{padding-left:46px}
.bk-search svg{position:absolute;left:17px;top:50%;transform:translateY(-50%);color:var(--muted)}
.bk-linkbtn{background:none;border:none;color:var(--ink);font-weight:500;font-size:14px;
  cursor:pointer;padding:10px 0 0;font-family:inherit;text-decoration:underline;
  text-underline-offset:3px}
.bk-linkbtn:hover{color:#000}

/* conditional follow-up block (design: indented, hairline left border) */
.bk-cond{margin-top:28px;padding-left:18px;border-left:2px solid var(--line-soft)}

/* yes/no pill radios (design pillStyle) */
.bk-pillrow{display:flex;gap:12px}
.bk-pillopt{flex:1;cursor:pointer}
.bk-pillopt input{position:absolute;opacity:0;pointer-events:none}
.bk-pillopt span{display:block;padding:15px 18px;font-size:16px;font-weight:500;
  text-align:center;color:var(--ink);background:#fff;border:1px solid var(--line);
  border-radius:var(--r);transition:all .15s ease}
.bk-pillopt:hover span{border-color:#b8b8bd}
.bk-pillopt input:checked + span{background:var(--fill);border-color:var(--ink);
  box-shadow:0 0 0 1px var(--ink) inset}

/* under-button validation hint */
.bk-hint{text-align:center;font-size:13px;color:var(--muted);margin:14px 0 0}

/* Places autocomplete dropdown (light theme) */
.bk-addr-suggest{position:absolute;top:100%;left:0;right:0;list-style:none;
  padding:6px;margin:6px 0 0;max-height:340px;overflow-y:auto;display:none;z-index:1000;
  background:#fff;border:1px solid var(--line);border-radius:var(--r);
  box-shadow:0 12px 32px rgba(0,0,0,.10)}
.bk-addr-suggest li{padding:11px 14px;border-radius:10px;cursor:pointer;font-size:15px}
.bk-addr-suggest li.is-active{background:var(--fill)}
.bk-addr-suggest__main{color:var(--ink);font-weight:500}
.bk-addr-suggest__sub{font-size:12.5px;color:var(--muted);margin-top:2px}

/* ── Option rows (radios) — bordered cards, ring when chosen ── */
.bk-options{border:none;border-radius:0;overflow:visible;display:flex;
  flex-direction:column;gap:12px}
.bk-opt{display:flex;align-items:center;gap:16px;padding:18px 20px;cursor:pointer;
  border:1px solid var(--line);border-radius:16px;font-size:16px;color:var(--ink);
  background:#fff;transition:border-color .15s ease,background .15s ease}
.bk-opt:first-child{border-top:1px solid var(--line)}
.bk-opt:hover{border-color:#b8b8bd}
.bk-opt input{appearance:none;width:22px;height:22px;border:1px solid #c7c7cc;
  border-radius:50%;flex-shrink:0;position:relative;cursor:pointer;margin:0;background:#fff;
  transition:border-color .15s ease,background .15s ease}
.bk-opt input[type=checkbox]{border-radius:6px}
.bk-opt input:checked{border-color:var(--ink);background:var(--ink)}
.bk-opt input[type=radio]:checked::after{content:"";position:absolute;inset:7px;
  background:#fff;border-radius:50%}
.bk-opt input[type=checkbox]:checked::after{content:"";position:absolute;left:7px;top:3px;
  width:5px;height:10px;border:solid #fff;border-width:0 1.6px 1.6px 0;transform:rotate(45deg)}
.bk-opt:has(input:checked){background:var(--fill);border-color:var(--ink);
  box-shadow:0 0 0 1px var(--ink) inset}
.bk-opt__tag{margin-left:auto;font-size:12px;font-weight:500;color:var(--muted);
  background:var(--fill);border:none;padding:4px 12px;border-radius:var(--r-pill);white-space:nowrap}

/* ── Footer nav buttons ─────────────────────────────────────── */
.bk-foot{display:flex;align-items:center;gap:12px;padding:44px 0 0;border-top:none}
.bk-foot--end{justify-content:flex-end}
.bk-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;
  border-radius:var(--r);padding:17px 28px;font-size:17px;font-weight:500;min-height:54px;
  cursor:pointer;font-family:inherit;text-decoration:none;letter-spacing:-.01em;
  transition:opacity .15s ease,background .15s ease}
.bk-btn--primary{background:var(--ink);color:#fff;flex:1}
.bk-btn--primary:hover{background:#000}
.bk-btn--primary[disabled],.bk-btn--primary[aria-disabled="true"]{opacity:.32;cursor:not-allowed}
.bk-btn--ghost{background:#fff;color:var(--ink);border:1px solid var(--line);flex:0 0 auto}
.bk-btn--ghost:hover{background:var(--fill)}
.bk-btn--block{width:100%}
@media(max-width:560px){.bk-btn{padding:15px 20px;font-size:16px}}

/* ── Step 2: sign-in banner ─────────────────────────────────── */
.bk-signin{display:flex;align-items:center;justify-content:space-between;gap:14px;
  background:var(--fill);color:var(--ink);border:1px solid var(--line-soft);
  border-radius:16px;padding:16px 20px;margin-bottom:34px}
.bk-signin b{font-size:15px;font-weight:500}
.bk-signin a{display:inline-flex;align-items:center;gap:8px;background:var(--ink);color:#fff;
  border-radius:var(--r-pill);padding:9px 18px;font-size:14px;font-weight:500;text-decoration:none}
.bk-signin a:hover{background:#000}

/* ── Step 2: section sub-headers ────────────────────────────── */
.bk-subhead{margin:44px 0 16px}
.bk-subhead h2{margin:0 0 4px;font-size:13px;font-weight:600;letter-spacing:.06em;
  text-transform:uppercase;color:var(--muted)}
.bk-subhead p{margin:0;color:var(--muted);font-size:14px;line-height:1.45}
.bk-subhead--extras,.bk-subhead--cart{padding-top:0;border-top:none}

/* ── Step 2: package cards ──────────────────────────────────── */
.bk-pkgs{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;align-items:stretch}
.bk-pkg{display:flex;flex-direction:column;flex:1 1 200px;min-width:0;position:relative;cursor:pointer;
  padding:24px 22px 22px;border:1px solid var(--line);border-radius:var(--r-lg);
  background:#fff;transition:border-color .15s ease,box-shadow .15s ease}
.bk-pkg--popular{border-color:var(--line);box-shadow:none}
.bk-pkg.is-in{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink) inset}
.bk-pkg__badge{position:absolute;top:-10px;left:22px;white-space:nowrap;background:var(--ink);color:#fff;
  font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;
  padding:4px 10px;border-radius:var(--r-pill)}
.bk-pkg__name{font-size:19px;font-weight:600;letter-spacing:-.01em;color:var(--ink);margin:0}
.bk-pkg__tag{font-size:14px;line-height:1.4;color:var(--muted);margin:5px 0 2px}
.bk-pkg__price-row{display:flex;align-items:center;justify-content:space-between;
  gap:12px;margin:14px 0 4px}
.bk-pkg__price{font-size:28px;font-weight:600;letter-spacing:-.02em;color:var(--ink)}
.bk-pkg__feat{display:flex;flex-direction:column;gap:9px;margin:14px 0 0;flex:1}
.bk-pill{display:flex;gap:9px;align-items:flex-start;background:none;color:var(--ink);
  font-size:14px;line-height:1.35;font-weight:400;padding:0;border-radius:0}
.bk-pill::before{content:"✓";flex:0 0 auto;color:var(--ink)}
.bk-pkg__more{font-size:13.5px;color:var(--muted)}

/* full-width Select / Selected button at the bottom of a package card */
.bk-pkg__select{margin-top:20px;width:100%;padding:13px;font:inherit;font-size:15px;
  font-weight:500;cursor:pointer;border-radius:12px;min-height:46px;color:var(--ink);
  background:#fff;border:1px solid var(--line);transition:all .15s ease}
.bk-pkg__select:hover{border-color:var(--ink)}
.bk-pkg__select.is-in{background:var(--ink);border-color:var(--ink);color:#fff}
.bk-pkg__select.is-in:hover{background:#000}

/* round add/added button (packages + service rows) */
.bk-add{flex:0 0 auto;min-width:92px;height:40px;padding:0 18px;border-radius:980px;cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;gap:6px;font:inherit;font-size:15px;font-weight:500;
  line-height:1;color:var(--ink);background:#fff;border:1px solid var(--line);
  transition:all .15s ease;white-space:nowrap}
.bk-add:hover{border-color:var(--ink);background:#fff}
.bk-add--in{background:var(--ink);border-color:var(--ink);color:#fff}
.bk-add--in:hover{background:#000}

/* ── Step 2: à-la-carte rows ────────────────────────────────── */
/* Add-ons in an adaptive 2-up grid (collapses to 1 column on narrow screens). */
.bk-svcs{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));
  column-gap:36px;border-top:1px solid var(--line-soft);margin-top:4px}
.bk-svc{display:flex;align-items:center;justify-content:space-between;gap:16px;
  border:none;border-bottom:1px solid var(--line-soft);border-radius:0;
  padding:18px 0;margin:0;background:none;transition:opacity .15s ease}
.bk-svc__main{min-width:0;display:flex;flex-direction:column;gap:3px}
.bk-svc__name{font-size:17px;font-weight:500;color:var(--ink)}
.bk-svc__desc{font-size:14px;color:var(--muted);line-height:1.4}
.bk-svc__right{display:flex;align-items:center;gap:16px;flex-shrink:0}
.bk-svc__price{font-size:15px;font-weight:500;color:var(--muted);min-width:74px;text-align:right}
.bk-svc.is-in{border-color:var(--line-soft);background:none}
.bk-svc--included{background:none;border:none;border-bottom:1px solid var(--line-soft);opacity:.55}
.bk-svc--included .bk-svc__name{color:var(--ink)}
.bk-svc__incl{display:inline-flex;align-items:center;justify-content:center;gap:6px;
  padding:8px 16px;font-size:13px;font-weight:500;color:var(--muted);
  background:var(--fill);border-radius:var(--r-pill);white-space:nowrap}

/* per-photo quantity select (v1.63) */
.bk-qty{appearance:none;-webkit-appearance:none;font:inherit;font-size:14px;font-weight:500;
  color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:var(--r-pill);
  padding:8px 32px 8px 14px;cursor:pointer;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 14 14'><path d='M3 5l4 4 4-4' fill='none' stroke='%2386868b' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/></svg>");
  background-repeat:no-repeat;background-position:right 12px center;background-size:12px}
.bk-qty:focus{outline:none;border-color:var(--ink);box-shadow:var(--ring)}
.bk-qty-wrap{display:inline-flex;align-items:center;gap:7px}
.bk-qty-label{font-size:13px;color:var(--muted)}
/* When a per-photo add-on is selected its quantity picker needs room, so the
   card stacks: full-width name+description on top, controls row beneath. */
.bk-svc--stack{flex-direction:column;align-items:stretch;gap:14px}
.bk-svc--stack .bk-svc__right{justify-content:flex-end;width:100%}
.bk-cart__qty{color:var(--muted);font-weight:400}

/* ── Step 2: cart summary box ───────────────────────────────── */
.bk-cart{background:var(--fill);border:none;border-radius:var(--r-lg);
  padding:10px 24px 18px;margin-top:8px}
.bk-cart__row{display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:14px 0;border-top:none;border-bottom:1px solid #e1e1e6;font-size:16px;color:var(--ink)}
.bk-cart__row:first-child{border-top:none}
.bk-cart__row--total{font-weight:600;color:var(--ink);font-size:20px;letter-spacing:-.01em;
  border-bottom:none;padding-top:16px}
.bk-cart__row--sub,.bk-cart__row--tax{color:var(--muted);font-size:15px;border-bottom:1px solid #e1e1e6}
.bk-cart__row--sub{border-bottom:none;padding-bottom:4px}
.bk-cart__row--tax{padding-top:0}
.bk-cart__name{flex:1;min-width:0}
.bk-cart__amt{display:flex;align-items:center;gap:14px}
.bk-cart__amt b{font-weight:500}
.bk-cart__rm{flex:0 0 auto;width:24px;height:24px;border-radius:50%;border:1px solid var(--line);
  background:#fff;color:var(--muted);cursor:pointer;font-size:12px;line-height:1;
  display:flex;align-items:center;justify-content:center;padding:0;font-family:inherit;
  transition:all .15s ease}
.bk-cart__rm:hover{border-color:var(--err);color:var(--err)}
.bk-empty{text-align:center;color:var(--muted);padding:26px;font-size:15px;
  background:var(--fill);border-radius:16px}
.bk-cart .bk-empty{background:none}

/* ── Step 3: scheduling ─────────────────────────────────────── */
.bk-notice{display:flex;gap:12px;background:var(--fill);border:none;color:var(--ink-soft);
  border-radius:16px;padding:16px 18px;margin-bottom:26px;font-size:14px;line-height:1.5}
.bk-notice b{display:block;margin-bottom:3px;color:var(--ink)}
.bk-notice svg{color:var(--muted)}
.bk-prefcard{border:1px solid var(--line-soft);border-radius:var(--r-lg);
  padding:18px 22px;margin-bottom:26px}
.bk-prefcard h3{margin:0 0 10px;font-size:13px;font-weight:600;letter-spacing:.06em;
  text-transform:uppercase;color:var(--muted)}
.bk-prefcard dt{font-weight:500;color:var(--muted);font-size:13px;margin-top:10px}
.bk-prefcard dd{margin:3px 0 0;color:var(--ink);font-size:15px;line-height:1.45}
.bk-tzwrap{margin-bottom:26px;max-width:340px}

.bk-sched{display:grid;grid-template-columns:300px 1fr;gap:32px;align-items:start}
@media(max-width:680px){.bk-sched{grid-template-columns:1fr}}

.bk-cal__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
.bk-cal__title{font-size:17px;color:var(--ink);font-weight:600;letter-spacing:-.01em}
.bk-cal__nav{display:inline-flex;gap:8px}
.bk-cal__nav button{width:40px;height:40px;border-radius:50%;border:1px solid var(--line);
  background:#fff;color:var(--ink);font:inherit;font-size:15px;cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;padding:0;
  transition:background .15s ease}
.bk-cal__nav button:hover{background:var(--fill)}
.bk-cal__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;
  border:1px solid var(--line-soft);border-radius:20px;padding:16px}
.bk-cal__dow{text-align:center;font-size:11px;font-weight:600;letter-spacing:.03em;
  color:var(--muted);text-transform:uppercase;padding:4px 0}
.bk-cal__day{aspect-ratio:auto;height:44px;border:none;border-radius:12px;background:transparent;
  display:flex;align-items:center;justify-content:center;font:inherit;font-size:15px;
  color:var(--ink);cursor:pointer;padding:0;transition:background .15s ease}
.bk-cal__day:hover{background:var(--fill)}
.bk-cal__day--off{color:#c7c7cc;border:none;cursor:default;background:transparent}
.bk-cal__day--off:hover{background:transparent}
.bk-cal__day--sel{background:var(--ink);color:#fff;font-weight:600}
.bk-cal__day--sel:hover{background:var(--ink)}

/* Time slots: a compact wrapping grid of chips (not one long full-width column). */
.bk-times{display:grid;grid-template-columns:repeat(auto-fill,minmax(98px,1fr));
  gap:10px;align-content:start}
.bk-times h4{grid-column:1/-1;font-size:13px;font-weight:600;letter-spacing:.06em;
  text-transform:uppercase;color:var(--muted);margin:0 0 4px}
.bk-slot{text-align:center;border:1px solid var(--line);
  border-radius:var(--r);padding:13px 8px;background:#fff;cursor:pointer;
  font:inherit;font-size:15px;font-weight:500;color:var(--ink);
  transition:border-color .15s ease,background .15s ease}
.bk-slot:hover{border-color:var(--ink)}
.bk-slot--sel{background:var(--ink);border-color:var(--ink);color:#fff;font-weight:500}
.bk-times__empty{grid-column:1/-1;color:var(--muted);text-align:center;padding:26px 16px;font-size:15px;
  line-height:1.5;background:var(--fill);border-radius:16px}
.bk-times.is-loading{position:relative;min-height:80px;opacity:.5;transition:opacity .15s}
.bk-times.is-loading::after{content:"Loading times…";position:absolute;left:0;right:0;top:46%;
  text-align:center;color:var(--muted);font-size:14px}
.bk-selnote{margin:22px 0 0;padding:0;background:none;border:none;color:var(--ink);
  font-weight:500;font-size:15px;display:flex;align-items:center;gap:8px}

@media(max-width:560px){
  .bk-cal__day{font-size:16px}
  .bk-slot{padding:16px 14px}
  .bk-add{height:44px;min-width:96px}
}

/* ── Step 5: review ─────────────────────────────────────────── */
.bk-review{border:1px solid var(--line-soft);border-radius:var(--r-lg);overflow:hidden}
.bk-review__block{padding:18px 24px;border-top:1px solid var(--line-softer);font-size:16px}
.bk-review__block:first-child{border-top:none}
.bk-review__k{font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);
  font-weight:600;margin:0 0 8px}
.bk-paynote{display:flex;gap:10px;align-items:flex-start;background:var(--fill);border:none;
  border-radius:16px;padding:16px 18px;margin-top:24px;font-size:14px;line-height:1.5;
  color:var(--ink-soft)}
.bk-paynote b{color:var(--ink)}
.bk-paynote svg{color:var(--muted)}

/* ── Done page ──────────────────────────────────────────────── */
.bk-done{padding:60px 0 0!important;text-align:center;display:flex;flex-direction:column;
  align-items:center;animation:bkfade .35s ease both}
.bk-done__check{width:72px;height:72px;border-radius:50%;background:var(--ink);color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:32px!important;
  line-height:1;margin:0 auto 30px}
.bk-done__title{font-size:clamp(28px,6.4vw,40px)!important;line-height:1.06;font-weight:600;
  letter-spacing:-.022em;margin:0 0 12px!important;color:var(--ink)}
.bk-done__ref{display:inline-flex;flex-direction:column;gap:4px;padding:18px 30px;
  background:var(--fill);border-radius:16px;margin:6px 0 10px;color:var(--muted)!important;
  font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.bk-done__ref b{font-size:22px;font-weight:600;letter-spacing:.02em;color:var(--ink);
  text-transform:none}
.bk-done__next{background:var(--fill)!important;border:none!important;border-radius:16px!important;
  padding:22px 26px!important;margin:26px 0!important;line-height:1.6!important;
  font-size:15px!important;color:var(--ink-soft);text-align:left;max-width:34em}
.bk-done__next b{color:var(--ink)}
.bk-done__card{border:1px solid var(--line-soft)!important;border-radius:var(--r-lg)!important;
  padding:24px!important;margin-bottom:22px!important;text-align:left;width:100%;max-width:34em}
.bk-done__card>b{font-size:17px;font-weight:600;letter-spacing:-.01em;color:var(--ink)}
.bk-done__card p{color:var(--muted)!important;font-size:14px!important;line-height:1.5}
.bk-done__saved{background:var(--ok-bg)!important;border:1px solid var(--ok-bd)!important;
  color:var(--ok-tx)!important;border-radius:16px!important;padding:16px 18px!important;
  margin-bottom:22px!important;font-size:14px!important;max-width:34em;width:100%}
.bk-done__foot{color:var(--muted)!important;font-size:13px!important;margin-top:14px}
.bk-done__foot a{color:var(--ink)}

/* ── Pay page ───────────────────────────────────────────────── */
.bk-pay{padding:60px 0 0!important;max-width:480px!important;margin:0 auto;
  animation:bkfade .35s ease both}
.bk-pay__head{text-align:center;margin-bottom:30px!important}
.bk-pay__brand{font-weight:600!important;letter-spacing:.08em!important;font-size:12px!important;
  color:var(--muted)!important;text-transform:uppercase}
.bk-pay__title{margin:14px 0 8px!important;font-size:clamp(26px,5.6vw,34px)!important;
  font-weight:600;letter-spacing:-.022em;color:var(--ink);line-height:1.1}
.bk-pay__sub{color:var(--muted)!important;font-size:15px!important}
.bk-pay__summary{background:var(--fill)!important;border:none!important;
  border-radius:var(--r-lg)!important;padding:20px 24px!important;margin-bottom:26px!important;
  font-size:15px!important;color:var(--ink)}
.bk-pay__summary>div{border-color:#e1e1e6!important}
.bk-pay__done{background:var(--ok-bg)!important;border:1px solid var(--ok-bd)!important;
  color:var(--ok-tx)!important;border-radius:16px!important;padding:18px!important;
  font-size:15px!important}
.bk-pay__offline{background:var(--fill)!important;border:none!important;
  color:var(--ink-soft)!important;border-radius:16px!important;padding:18px!important;
  font-size:14.5px!important;line-height:1.55}
.bk-pay__foot{text-align:center;color:var(--faint)!important;font-size:12.5px!important;
  margin-top:22px}

/* ── Legacy bits kept for safety ────────────────────────────── */
.bk-toggle{display:inline-flex;background:var(--fill);border-radius:12px;padding:4px;margin:0 auto 22px;gap:4px}
.bk-toggle button{border:none;background:none;padding:10px 26px;border-radius:9px;font-size:15px;
  font-weight:500;color:var(--muted);cursor:pointer;font-family:inherit}
.bk-toggle button.is-on{background:var(--ink);color:#fff}
.bk-center{text-align:center}
.bk-map{height:220px;background:var(--fill);border:1px solid var(--line-soft);border-radius:16px;
  display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:14px;
  margin-top:14px}


/* ── Step 2 tabs (Packages / Individual Services) ───────────────── */
.bk-tabs{display:flex;gap:4px;background:var(--fill);border-radius:13px;padding:4px;margin:0 0 26px}
.bk-tab{flex:1;padding:11px 14px;border:none;background:none;border-radius:10px;font:inherit;font-size:15px;font-weight:500;color:var(--muted);cursor:pointer;transition:all .15s ease}
.bk-tab:hover{color:var(--ink)}
.bk-tab--active{background:#fff;color:var(--ink);box-shadow:0 1px 2px rgba(0,0,0,.07)}
.bk-tabpanel{display:none}
.bk-tabpanel.is-active{display:block;animation:bkfade .25s ease both}
.bk-tabhint{text-align:center;font-size:14px;color:var(--muted);margin:20px 0 0}
.bk-linkbtn{border:none;background:none;font:inherit;font-size:14px;font-weight:500;color:var(--ink);cursor:pointer;text-decoration:underline;text-underline-offset:2px;padding:0}


/* ── Add-on preview: grouped cards (black/white/grey palette) ────── */
.dv-grp{margin:0 0 32px}
.dv-grp__head{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin:0 0 16px}
.dv-grp__title{font-size:24px;font-weight:600;letter-spacing:-.02em;color:var(--ink);margin:0}
.dv-grp__sub{font-size:15px;color:var(--muted)}
.dv-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:16px;align-items:stretch}
.dv-card{position:relative;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:18px;padding:22px 22px 20px;background:#fff;cursor:pointer;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}
.dv-card--on{border-color:var(--ink);background:var(--fill);box-shadow:0 0 0 1px var(--ink) inset}
.dv-card--lock{opacity:.55;cursor:default}
.dv-card__top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.dv-card__name{font-size:18px;font-weight:600;letter-spacing:-.01em;color:var(--ink)}
.dv-card__check{flex:0 0 auto;width:26px;height:26px;border-radius:50%;border:1.5px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:14px;line-height:1;color:#fff;transition:all .15s ease}
.dv-card--on .dv-card__check{background:var(--ink);border-color:var(--ink)}
.dv-card__desc{font-size:15px;line-height:1.45;color:var(--muted);margin:10px 0 0}
.dv-card__bot{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:auto;padding-top:20px}
.dv-card__price{font-size:18px;font-weight:600;color:var(--ink)}
.dv-add{border:none;cursor:pointer;font:inherit;font-size:15px;font-weight:500;padding:10px 22px;border-radius:980px;background:var(--fill);color:var(--ink);transition:all .15s ease}
.dv-add:hover{background:#e6e6eb}
.dv-add--on{background:var(--ink);color:#fff}
.dv-add--on:hover{background:#000}
.dv-card__incl{font-size:13px;font-weight:500;color:var(--muted);background:var(--fill);padding:8px 14px;border-radius:980px;white-space:nowrap}


/* ── Flow polish: clear the sticky brand+cartbar on anchor scrolls ── */
.bk-subhead--cart,#bk-addons,.bk-tabs,.bk-svcs,.dv-grp{scroll-margin-top:118px}
@media (prefers-reduced-motion: reduce){
  *{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}


/* ── Order summary: package contents under the name ───────────────── */
.bk-cart__incl{padding:13px 0 14px 2px;margin:0 0 4px;border-bottom:1px solid var(--line-soft)}
.bk-cart__tag{font-size:13px;color:var(--muted);line-height:1.4;margin:0 0 8px}
.bk-cart__inclist{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:7px 18px}
@media (max-width:520px){.bk-cart__inclist{grid-template-columns:1fr;gap:6px}}
.bk-cart__inclist li{font-size:12.5px;color:var(--muted);line-height:1.35;position:relative;padding-left:18px}
.bk-cart__inclist li::before{content:"\2713";position:absolute;left:0;color:var(--muted)}
