/* ============================================================
   BNAILS · BOOKING V2 — ATELIER ROSÉ
   Editorial luxury, mobile-native, all-cards, guided.
   Fully namespaced under .bk so it never touches V1 or admin.
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400;0,9..144,500;0,9..144,600;0,9..144,700;1,9..144,400;1,9..144,500&display=swap');
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,600;9..40,700&display=swap');

.bk {
    /* ── tokens (scoped) ── */
    --rose: #E1099E;
    --rose-deep: #B30D7C;
    --rose-soft: #F4A8D6;
    --rose-mist: #FAE8EF;
    --rose-paper: #FDF4F8;
    --ink: #25141D;
    --ink-soft: #5A4651;
    --ink-muted: #978692;
    --ink-faint: #D9CDD4;
    --paper: #FBF7F3;
    --paper-warm: #F3EBE2;
    --bone: #FFFFFF;
    --gilt: #C8A982;
    --gilt-soft: #E8D9C2;
    --jade: #5C8D6E;
    --display: 'Fraunces', 'Cormorant Garamond', Georgia, serif;
    --body: 'DM Sans', -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
    --hair: 1px solid rgba(37, 20, 29, 0.09);
    --shadow-card: inset 0 1px 0 rgba(255,255,255,0.7), 0 1px 1px rgba(37,20,29,0.03), 0 22px 44px -28px rgba(37,20,29,0.22);
    --shadow-lift: inset 0 1px 0 rgba(255,255,255,0.6), 0 26px 52px -26px rgba(225,9,158,0.34);
    --ease: cubic-bezier(0.22, 1, 0.36, 1);

    font-family: var(--body);
    color: var(--ink);
    min-height: 100vh;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    -webkit-tap-highlight-color: transparent;
    font-feature-settings: "ss01", "cv11";
    /* warm editorial light — rose glow crowning the page + a whisper of champagne */
    background:
        radial-gradient(135% 78% at 50% -12%, var(--rose-paper) 0%, rgba(253,244,248,0) 58%),
        radial-gradient(90% 55% at 100% -5%, rgba(200,169,130,0.10) 0%, rgba(200,169,130,0) 52%),
        radial-gradient(70% 50% at 0% 4%, rgba(225,9,158,0.05) 0%, rgba(225,9,158,0) 48%),
        var(--paper);
    background-attachment: fixed;
}

.bk *, .bk *::before, .bk *::after { box-sizing: border-box; }

/* ─── SHELL ─────────────────────────────────────────────── */
.bk__wrap {
    max-width: 540px;
    margin: 0 auto;
    padding: max(18px, env(safe-area-inset-top)) max(18px, env(safe-area-inset-left))
             calc(104px + env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-right));
}

/* ─── BRAND ─────────────────────────────────────────────── */
.bk__brand {
    text-align: center;
    padding: 18px 0 4px;
    animation: bkRise .55s var(--ease) both;
}
.bk__brand h1 {
    font-family: var(--display);
    font-weight: 600;
    font-optical-sizing: auto;
    font-size: clamp(1.7rem, 7vw, 2.35rem);
    line-height: 1.04;
    letter-spacing: -0.018em;
    margin: 0;
    color: var(--ink);
}
.bk__brand .bk__tag {
    font-size: 13px;
    color: var(--ink-muted);
    margin-top: 8px;
    letter-spacing: 0.04em;
}
/* hairline ornament under the wordmark */
.bk__brand::after {
    content: "";
    display: block;
    width: 34px; height: 1px;
    margin: 14px auto 0;
    background: linear-gradient(90deg, transparent, var(--gilt) 35%, var(--gilt) 65%, transparent);
}

/* ─── STEPPER ───────────────────────────────────────────── */
.bk__steps {
    display: flex;
    gap: 7px;
    margin: 18px 2px 22px;
}
.bk__steps .seg {
    flex: 1;
    height: 3px;
    border-radius: 999px;
    background: var(--paper-warm);
    transition: background .4s var(--ease), box-shadow .4s var(--ease);
}
.bk__steps .seg.done { background: var(--gilt-soft); }
.bk__steps .seg.active {
    background: linear-gradient(90deg, var(--rose), var(--rose-deep));
    box-shadow: 0 0 0 1px rgba(225,9,158,0.10), 0 2px 10px -2px rgba(225,9,158,0.45);
}

/* ─── SECTION ───────────────────────────────────────────── */
.bk__section { margin-bottom: 24px; animation: bkRise .5s var(--ease) both; }
.bk__h {
    font-family: var(--display);
    font-weight: 600;
    font-optical-sizing: auto;
    font-size: 1.32rem;
    line-height: 1.15;
    margin: 0 0 5px;
    letter-spacing: -0.014em;
    color: var(--ink);
}
.bk__hint { font-size: 13.5px; color: var(--ink-muted); margin: 0 0 15px; line-height: 1.45; }

/* collapsed completed-step summary */
.bk__summary {
    display: flex; align-items: center; justify-content: space-between; gap: 10px;
    background: var(--bone);
    border: var(--hair);
    border-radius: 16px;
    padding: 13px 8px 13px 18px;
    margin-bottom: 14px;
    box-shadow: var(--shadow-card);
    animation: bkRise .45s var(--ease) both;
}
.bk__summary .lbl { font-weight: 600; font-size: 15px; letter-spacing: -0.01em; }
.bk__summary .lbl small { display: block; color: var(--ink-muted); font-weight: 400; font-size: 12.5px; }
.bk__summary .chg {
    color: var(--rose-deep); font-weight: 600; font-size: 13px; letter-spacing: 0.02em;
    background: none; border: none; padding: 8px 14px; cursor: pointer; border-radius: 999px;
    transition: background .18s var(--ease);
}
.bk__summary .chg:active { background: var(--rose-mist); }

/* ─── CARDS ─────────────────────────────────────────────── */
.bk__cards { display: grid; grid-template-columns: 1fr; gap: 13px; }
.bk__cards.two { grid-template-columns: 1fr 1fr; }

.bk__card {
    display: flex; align-items: center; gap: 15px;
    width: 100%; text-align: left;
    background: var(--bone);
    border: 1px solid rgba(37, 20, 29, 0.08);
    border-radius: 20px;
    padding: 16px 17px;
    box-shadow: var(--shadow-card);
    cursor: pointer;
    color: var(--ink);
    font-family: var(--body);
    position: relative;
    transition: transform .14s var(--ease), border-color .2s var(--ease), box-shadow .26s var(--ease), background .2s var(--ease);
}
.bk__card:active { transform: scale(0.982); }
.bk__card.sel {
    border-color: var(--rose);
    background: linear-gradient(180deg, var(--rose-paper), var(--bone) 60%);
    box-shadow: inset 0 0 0 1px var(--rose), var(--shadow-lift);
}
.bk__card .ico {
    width: 48px; height: 48px; flex: 0 0 48px;
    border-radius: 14px;
    background: var(--rose-mist);
    color: var(--rose-deep);
    display: flex; align-items: center; justify-content: center;
    font-size: 21px;
    overflow: hidden;
    box-shadow: inset 0 0 0 1px rgba(225,9,158,0.07);
}
.bk__card .ico img { width: 100%; height: 100%; object-fit: cover; }
/* inline line-icons (replace emoji) — inherit .ico color via currentColor */
.bk__card .ico svg { width: 25px; height: 25px; display: block; }
.bk__summary .lbl svg { width: 16px; height: 16px; vertical-align: -3px; margin-right: 8px; color: var(--rose-deep); }
.bk__btn-soft svg, .bk__btn-rose svg { width: 18px; height: 18px; }
/* promotion service cards (high-converting) */
.bk__card.bk__promo {
    position: relative;
    border-color: var(--rose-soft);
    background: linear-gradient(180deg, var(--rose-mist), var(--bone) 62%);
    box-shadow: 0 16px 30px -22px rgba(225,9,158,0.42), var(--shadow-card);
}
.bk__card.bk__promo .price { color: var(--rose-deep); }
.bk__card .promo-line {
    display: inline-flex; align-items: center; gap: 5px; margin-top: 5px;
    font-size: 11.5px; font-weight: 700; letter-spacing: 0.01em; color: var(--rose-deep); line-height: 1.3;
}
.bk__card .promo-line svg { width: 13px; height: 13px; flex: 0 0 13px; }
/* "starting price" label */
.bk__card .price .from, .bk__line .price .from {
    display: inline; font-family: var(--body); font-weight: 500; font-size: 10.5px;
    color: var(--ink-muted); text-transform: lowercase; letter-spacing: 0.03em; margin-right: 4px;
}
.bk__line .price .from { color: var(--ink-faint); }
/* elegant in-page notice banner (mobile-native, replaces toastify on V2) */
.bk__toast {
    position: fixed; top: calc(12px + env(safe-area-inset-top)); left: 50%; transform: translateX(-50%);
    z-index: 2000; width: min(92vw, 430px);
    display: flex; align-items: center; gap: 11px;
    padding: 13px 16px; border-radius: 18px;
    background: linear-gradient(135deg, var(--rose), var(--rose-deep)); color: #fff;
    font-size: 13.5px; font-weight: 600; line-height: 1.34;
    box-shadow: 0 20px 44px -16px rgba(225,9,158,0.55), inset 0 1px 0 rgba(255,255,255,0.24);
    animation: bkToast .34s var(--ease) both; cursor: pointer; -webkit-tap-highlight-color: transparent;
}
.bk__toast svg { width: 21px; height: 21px; flex: 0 0 21px; opacity: 0.95; }
.bk__toast span { flex: 1; }
.bk__toast--ok { background: linear-gradient(135deg, #5bbf8a, var(--jade)); box-shadow: 0 20px 44px -16px rgba(60,140,100,0.5), inset 0 1px 0 rgba(255,255,255,0.24); }
@keyframes bkToast { from { opacity: 0; transform: translate(-50%, -16px); } to { opacity: 1; transform: translate(-50%, 0); } }
@media (prefers-reduced-motion: reduce) { .bk__toast { animation: none; } }
.bk__card .body { flex: 1; min-width: 0; }
.bk__card .ttl { font-weight: 600; font-size: 15.5px; line-height: 1.25; letter-spacing: -0.01em; }
.bk__card .sub { font-size: 12.5px; color: var(--ink-muted); margin-top: 3px; line-height: 1.35; }
.bk__card .price {
    font-family: var(--display); font-weight: 600; font-size: 17px;
    color: var(--rose-deep); white-space: nowrap; font-feature-settings: "ss01";
}
.bk__card .check {
    width: 25px; height: 25px; flex: 0 0 25px;
    border-radius: 50%;
    border: 1.5px solid var(--ink-faint);
    display: flex; align-items: center; justify-content: center;
    color: #fff; font-size: 13px;
    transition: background .18s var(--ease), border-color .18s var(--ease), transform .2s var(--ease);
}
.bk__card.sel .check { background: var(--rose); border-color: var(--rose); transform: scale(1.06); }
.bk__card .badge {
    position: absolute; top: -9px; right: 16px;
    background: var(--rose); color: #fff;
    font-size: 10.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
    padding: 3px 10px; border-radius: 999px;
    box-shadow: 0 6px 14px -6px rgba(225,9,158,0.6);
}

/* hero card (Give me the best / Same as last time) */
.bk__hero {
    border: none;
    color: #fff;
    background:
        radial-gradient(120% 120% at 0% 0%, rgba(255,255,255,0.16), rgba(255,255,255,0) 45%),
        linear-gradient(135deg, var(--rose) 0%, var(--rose-deep) 100%);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.22), 0 22px 44px -22px rgba(179,13,124,0.5);
}
.bk__hero .ico { background: rgba(255,255,255,0.18); color: #fff; box-shadow: none; }
.bk__hero .ttl { color: #fff; }
.bk__hero .sub { color: rgba(255,255,255,0.84); }
.bk__hero.sel { background: linear-gradient(135deg, var(--rose), var(--rose-deep)); box-shadow: 0 26px 50px -22px rgba(225,9,158,0.6); }
.bk__hero .check { border-color: rgba(255,255,255,0.65); }
.bk__hero.sel .check { background: #fff; border-color: #fff; color: var(--rose-deep); }

/* ─── CHIP STRIPS (date / time) ─────────────────────────── */
.bk__strip {
    display: flex; gap: 11px; overflow-x: auto;
    padding: 5px 2px 10px;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    margin: 0 -2px;
}
.bk__strip::-webkit-scrollbar { display: none; }
.bk__chip {
    flex: 0 0 auto; scroll-snap-align: start;
    min-width: 76px; text-align: center;
    background: var(--bone); border: 1px solid rgba(37,20,29,0.08);
    border-radius: 16px; padding: 13px 15px;
    box-shadow: var(--shadow-card); cursor: pointer;
    color: var(--ink); font-family: var(--body);
    transition: transform .14s var(--ease), border-color .2s var(--ease), box-shadow .24s var(--ease), background .2s var(--ease);
}
.bk__chip:active { transform: scale(0.95); }
.bk__chip.sel {
    border-color: var(--rose);
    background: linear-gradient(180deg, var(--rose-paper), var(--bone));
    box-shadow: inset 0 0 0 1px var(--rose), var(--shadow-lift);
}
.bk__chip .d1 { font-size: 11.5px; color: var(--ink-muted); font-weight: 500; letter-spacing: 0.06em; text-transform: uppercase; }
.bk__chip .d2 {
    font-family: var(--display); font-size: 19px; font-weight: 600; margin-top: 2px;
    letter-spacing: -0.01em; font-feature-settings: "ss01";
}
.bk__chip.sel .d2 { color: var(--rose-deep); }

/* ─── PEOPLE / NEXT PERSON ──────────────────────────────── */
.bk__person-tag {
    display: inline-flex; align-items: center; gap: 9px;
    background: var(--rose-mist); color: var(--rose-deep);
    font-weight: 600; font-size: 13px; letter-spacing: 0.02em;
    padding: 7px 14px; border-radius: 999px; margin-bottom: 14px;
    box-shadow: inset 0 0 0 1px rgba(225,9,158,0.08);
}
.bk__person-tag .dot { width: 7px; height: 7px; border-radius: 50%; background: var(--rose); box-shadow: 0 0 0 3px rgba(225,9,158,0.15); }
.bk__guest-input {
    width: 100%; height: 52px; font-size: 16px;
    border: 1px solid rgba(37,20,29,0.12); border-radius: 15px; padding: 0 16px;
    background: var(--bone); font-family: var(--body); color: var(--ink);
    margin-bottom: 13px;
    transition: border-color .18s var(--ease), box-shadow .2s var(--ease);
}
.bk__guest-input::placeholder { color: var(--ink-faint); }
.bk__guest-input:focus { outline: none; border-color: var(--rose); box-shadow: 0 0 0 4px var(--rose-mist); }

.bk__nextrow { display: flex; gap: 11px; margin-top: 8px; }
.bk__btn-soft, .bk__btn-rose {
    flex: 1; height: 54px; border-radius: 16px; font-size: 15px; font-weight: 600; letter-spacing: 0.01em;
    cursor: pointer; font-family: var(--body); border: none;
    display: flex; align-items: center; justify-content: center; gap: 8px;
    transition: transform .14s var(--ease), box-shadow .2s var(--ease), background .2s var(--ease);
}
.bk__btn-soft { background: var(--bone); color: var(--rose-deep); border: 1px solid var(--rose-soft); box-shadow: var(--shadow-card); }
.bk__btn-soft:active { transform: scale(0.98); background: var(--rose-mist); }
.bk__btn-rose { background: linear-gradient(135deg, var(--rose), var(--rose-deep)); color: #fff; box-shadow: 0 18px 34px -18px rgba(225,9,158,0.55); }
.bk__btn-rose:active { transform: scale(0.98); }

/* ─── CART / REVIEW ─────────────────────────────────────── */
.bk__line {
    display: flex; align-items: center; gap: 13px;
    background: var(--bone); border: var(--hair); border-radius: 15px;
    padding: 13px 15px; margin-bottom: 11px;
    box-shadow: var(--shadow-card);
    animation: bkRise .4s var(--ease) both;
}
.bk__line .info { flex: 1; min-width: 0; }
.bk__line .nm { font-weight: 600; font-size: 14.5px; letter-spacing: -0.01em; }
.bk__line .mt { font-size: 12px; color: var(--ink-muted); margin-top: 3px; }
.bk__line .person {
    display: inline-block; margin-top: 5px;
    font-size: 11px; color: var(--rose-deep); font-weight: 700; letter-spacing: 0.03em;
    background: var(--rose-mist); padding: 2px 9px; border-radius: 999px;
}
.bk__line .price { font-family: var(--display); font-weight: 600; font-size: 16px; color: var(--ink); }
.bk__line .rm {
    width: 32px; height: 32px; border-radius: 50%; border: none;
    background: var(--rose-mist); color: var(--rose-deep); cursor: pointer; font-size: 15px;
    display: flex; align-items: center; justify-content: center; flex: 0 0 32px;
    transition: background .18s var(--ease), transform .14s var(--ease);
}
.bk__line .rm:active { transform: scale(0.9); background: var(--rose-soft); color: #fff; }

/* ─── BACK CHIP ─────────────────────────────────────────── */
.bk__back {
    display: inline-flex; align-items: center; gap: 6px;
    background: none; border: none; color: var(--rose-deep);
    font-size: 14px; font-weight: 600; cursor: pointer; padding: 8px 6px; margin-bottom: 6px;
    letter-spacing: 0.01em;
}
.bk__back:active { opacity: 0.6; }

/* ─── PHONE / OTP ───────────────────────────────────────── */
.bk__field {
    width: 100%; height: 60px; font-size: 19px; text-align: center;
    border: 1px solid var(--rose-soft); border-radius: 17px;
    background: var(--bone); font-family: var(--display); color: var(--ink); font-weight: 500;
    letter-spacing: 5px;
    box-shadow: var(--shadow-card);
    transition: border-color .18s var(--ease), box-shadow .2s var(--ease);
}
.bk__field::placeholder { color: var(--ink-faint); font-family: var(--body); letter-spacing: 2px; }
.bk__field:focus { outline: none; border-color: var(--rose); box-shadow: 0 0 0 4px var(--rose-mist); }
.bk__consent { font-size: 11.5px; color: var(--ink-muted); text-align: center; margin-top: 12px; line-height: 1.5; }
.bk__cta {
    width: 100%; height: 58px; margin-top: 20px;
    border-radius: 17px; border: none; cursor: pointer;
    background:
        radial-gradient(140% 140% at 50% 0%, rgba(255,255,255,0.18), rgba(255,255,255,0) 50%),
        linear-gradient(135deg, var(--rose), var(--rose-deep));
    color: #fff;
    font-size: 16.5px; font-weight: 700; font-family: var(--body); letter-spacing: 0.01em;
    display: flex; align-items: center; justify-content: center; gap: 8px;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.25), 0 22px 44px -20px rgba(225,9,158,0.55);
    transition: transform .14s var(--ease), filter .18s var(--ease);
}
.bk__cta:active { transform: scale(0.986); }
.bk__cta:disabled { filter: grayscale(.35) opacity(.62); cursor: default; }
.bk__resend {
    display: block; margin: 16px auto 0; background: none; border: none;
    color: var(--rose-deep); font-weight: 600; font-size: 14px; cursor: pointer; letter-spacing: 0.01em;
}

/* ─── STICKY CONFIRM BAR ────────────────────────────────── */
.bk__bar {
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 1000;
    background: rgba(251, 247, 243, 0.86);
    backdrop-filter: saturate(180%) blur(16px);
    -webkit-backdrop-filter: saturate(180%) blur(16px);
    border-top: 1px solid rgba(200,169,130,0.30);
    box-shadow: 0 -18px 40px -28px rgba(37,20,29,0.4);
    /* reserve the bottom-right zone for the floating chat bubble so Confirm sits beside it, not under it */
    padding: 13px calc(78px + env(safe-area-inset-right)) calc(13px + env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left));
    display: flex; align-items: center; gap: 14px;
    animation: bkBarUp .45s var(--ease) both;
}
.bk__bar .total { flex: 1; min-width: 0; }
.bk__bar .total .t1 { font-size: 11px; color: var(--ink-muted); letter-spacing: 0.06em; text-transform: uppercase; }
.bk__bar .total .t2 { font-size: 23px; font-weight: 600; font-family: var(--display); letter-spacing: -0.01em; font-feature-settings: "ss01"; margin-top: 1px; }
.bk__bar .go {
    flex: 0 0 auto; min-width: 168px; height: 54px; border-radius: 16px; border: none;
    background:
        radial-gradient(140% 140% at 50% 0%, rgba(255,255,255,0.16), rgba(255,255,255,0) 50%),
        linear-gradient(135deg, var(--rose), var(--rose-deep));
    color: #fff;
    font-size: 16px; font-weight: 700; cursor: pointer; font-family: var(--body); letter-spacing: 0.01em;
    display: flex; align-items: center; justify-content: center; gap: 8px;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.22), 0 16px 30px -16px rgba(225,9,158,0.6);
    transition: transform .14s var(--ease), filter .18s var(--ease);
}
.bk__bar .go:active { transform: scale(0.98); }
.bk__bar .go:disabled { filter: grayscale(.35) opacity(.62); }

/* ─── INLINE PHONE VERIFY ───────────────────────────────── */
.bk__verify {
    background: linear-gradient(180deg, var(--rose-paper), var(--bone) 70%);
    border: 1px solid var(--rose-soft);
    border-radius: 20px;
    padding: 17px 17px 18px;
    box-shadow: var(--shadow-card);
}
.bk__verify .bk__h { margin-bottom: 4px; }
.bk__verify .bk__field { margin-top: 4px; }
.bk__verify .bk__btn-rose { width: 100%; margin-top: 14px; }
.bk__verify .bk__resend { margin-top: 12px; }
.bk__verify--alert {
    border-color: var(--rose);
    box-shadow: 0 0 0 2px var(--rose), var(--shadow-lift);
    animation: bkShake .42s var(--ease);
}
.bk__verify-done {
    display: flex; align-items: center; gap: 11px;
    font-weight: 600; font-size: 15.5px; color: var(--jade); letter-spacing: -0.01em;
}
.bk__verify-ico {
    width: 26px; height: 26px; flex: 0 0 26px; border-radius: 50%;
    background: var(--jade); color: #fff; font-size: 14px;
    display: flex; align-items: center; justify-content: center;
    box-shadow: 0 6px 14px -6px rgba(92,141,110,0.6);
}
@keyframes bkShake { 0%,100% { transform: translateX(0); } 22% { transform: translateX(-5px); } 64% { transform: translateX(5px); } 86% { transform: translateX(-2px); } }

/* ─── SKELETON ──────────────────────────────────────────── */
.bk__skel {
    border-radius: 20px; height: 70px; margin-bottom: 13px;
    background: linear-gradient(100deg, var(--paper-warm) 28%, var(--bone) 50%, var(--paper-warm) 72%);
    background-size: 220% 100%;
    box-shadow: var(--shadow-card);
    animation: bkShimmer 1.25s ease-in-out infinite;
}
.bk__skel.chip { height: 58px; width: 78px; display: inline-block; margin-right: 11px; border-radius: 16px; }

/* ─── ANIMATIONS ────────────────────────────────────────── */
@keyframes bkRise { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
@keyframes bkBarUp { from { opacity: 0; transform: translateY(100%); } to { opacity: 1; transform: none; } }
@keyframes bkShimmer { from { background-position: 180% 0; } to { background-position: -20% 0; } }

@media (prefers-reduced-motion: reduce) {
    .bk *, .bk *::before, .bk *::after { animation: none !important; transition: none !important; }
}

/* ─── DESKTOP ENHANCEMENT ───────────────────────────────── */
@media (min-width: 768px) {
    .bk__wrap { max-width: 580px; padding-top: 34px; }
    .bk__card:hover { transform: translateY(-2px); box-shadow: inset 0 1px 0 rgba(255,255,255,0.7), 0 1px 1px rgba(37,20,29,0.03), 0 30px 56px -30px rgba(37,20,29,0.28); }
    .bk__chip:hover { border-color: var(--rose-soft); }
    .bk__cta:hover, .bk__bar .go:hover { filter: brightness(1.04); }
}

/* ============================================================
   ELEVATION — refined depth, grain & micro-motion.
   Visual only; markup + flow unchanged. Cascades over the base.
   ============================================================ */

/* atmospheric editorial grain behind all content */
.bk { position: relative; isolation: isolate; }
.bk::before {
    content: ""; position: fixed; inset: 0; z-index: 0; pointer-events: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='bkn'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23bkn)'/%3E%3C/svg%3E");
    opacity: 0.045; mix-blend-mode: multiply;
}
.bk__wrap { position: relative; z-index: 1; }

/* wordmark — bigger, more confident serif + refined gilt eyebrow */
.bk__brand h1 { font-size: clamp(1.95rem, 7.6vw, 2.65rem); letter-spacing: -0.022em; }
.bk__brand .bk__tag {
    text-transform: uppercase; font-size: 11px; font-weight: 600;
    letter-spacing: 0.24em; color: var(--gilt); margin-top: 11px;
}

/* section headings + breathing rhythm */
.bk__h { font-size: 1.4rem; }
.bk__section { margin-bottom: 28px; }

/* cards — softer corners, richer selected lift, premium icon tiles */
.bk__card { border-radius: 22px; }
.bk__card.sel { box-shadow: inset 0 0 0 1.5px var(--rose), 0 28px 58px -26px rgba(225,9,158,0.42); }
.bk__card.sel .check { animation: bkCheckPop .3s var(--ease); }
.bk__card .ico {
    background: radial-gradient(120% 120% at 28% 18%, #ffffff 0%, var(--rose-mist) 74%);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.85), inset 0 0 0 1px rgba(225,9,158,0.08), 0 5px 12px -7px rgba(225,9,158,0.30);
}

/* chips + inputs — quiet depth */
.bk__chip { border-radius: 18px; }
.bk__chip.sel { transform: translateY(-1px); }
.bk__guest-input { border-radius: 16px; }
.bk__field, .bk__guest-input { box-shadow: inset 0 1px 2px rgba(37,20,29,0.05), var(--shadow-card); }

@keyframes bkCheckPop { 0% { transform: scale(.4); } 60% { transform: scale(1.14); } 100% { transform: scale(1.06); } }
@media (prefers-reduced-motion: reduce) { .bk__card.sel .check { animation: none; } }
