/* ═══════════════════════════════════════════════════════════════════════
   MIUUM booking engine styles, lifted from the standalone booking page.
   Everything here is scoped under `.mm` (the reserve form `.mm-book`, the
   full-screen booking flow `.mm-book-overlay`, the account overlays
   `.mm-acct`, the membership block `.mm-vip`, and the nav tools `.mm-tools`)
   with its own `--bk-*` palette, so it never collides with the home page's
   `--gold` / `--text` / `--cream` variables or its bare element rules.
   Bump `booking.css?v=N` in index.html whenever this file changes.
   ═══════════════════════════════════════════════════════════════════════ */

.mm {
  --bk-bg:        #0B0A08;
  --bk-bg-2:      #12100D;
  --bk-panel:     #17141022;
  --bk-panel-s:   #161310;
  --bk-line:      rgba(201,169,97,0.16);
  --bk-line-s:    rgba(201,169,97,0.32);
  --bk-gold:      #C9A961;
  --bk-gold-2:    #E2C685;
  --bk-gold-deep: #8F742F;
  --bk-cream:     #F4EFE6;
  --bk-text:      #EDE8DD;
  --bk-muted:     #A89F8D;
  --bk-muted-2:   #6E675A;
  --bk-ink:       #F2EFE9;
  --bk-mut:       #8A8578;
  --bk-serif: 'Fraunces', Georgia, serif;
  --bk-sans:  'Outfit', -apple-system, sans-serif;
  --bk-ease:  cubic-bezier(.22,.8,.26,.99);
  --bk-r: 20px;
  font-family: var(--bk-sans);
  font-weight: 300;
  font-size: 16px;
  line-height: 1.65;
  color: var(--bk-text);
  -webkit-font-smoothing: antialiased;
  text-align: left;
}
/* The account overlays follow the visitor's theme (default dark). The reserve
   form, the booking flow and the membership cards are deliberately dark
   surfaces and keep the dark palette in both themes, as on the booking page. */
html[data-theme="light"] .mm-acct {
  --bk-bg:        #F5F1E8;
  --bk-bg-2:      #FFFFFF;
  --bk-panel:     #FFFFFFAA;
  --bk-panel-s:   #FFFFFF;
  --bk-line:      rgba(20,17,11,0.12);
  --bk-line-s:    rgba(143,116,47,0.42);
  --bk-gold:      #9A7B2E;
  --bk-gold-2:    #B8923C;
  --bk-gold-deep: #7A5F22;
  --bk-cream:     #1A1813;
  --bk-text:      #23201B;
  --bk-muted:     #6E675A;
  --bk-muted-2:   #9A927F;
  --bk-ink:       #23201B;
  --bk-mut:       #6E675A;
}
.mm *, .mm *::before, .mm *::after { box-sizing: border-box; }
.mm img { max-width: 100%; display: block; }
.mm button, .mm input, .mm select, .mm textarea { font-family: inherit; }
.mm a { color: inherit; }
.mm ::selection { background: var(--bk-gold); color: #14110B; }
.mm :focus-visible { outline: 2px solid var(--bk-gold-2); outline-offset: 2px; border-radius: 4px; }

/* Wordmark image used inside the booking flow header and the account hub. */
.mm .mm-wm-img { height: 22px; width: auto; display: block; }
.mm .mm-wm-img.foot { height: 30px; }

/* ── Nav tools (theme · language · sign in / account chip) ──
   The controls live in the site chrome: #navTools in the island on wide
   screens, #navToolsMobile inside the mobile menu below 1024px (account.js
   moves the nodes between the two on the media-query change). Both surfaces
   are dark, so the tools keep the dark palette in either site theme. */
.mm-tools { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.mm-nav .nav-tools { display: flex; align-items: center; gap: 10px; }
.mm-nav .nav-tools:empty { display: none; }
/* In the chrome island the sign-in reads like a nav link and the chip stays compact. */
.mm-nav .mm-tools .btn-signin { background: none; border: 0; padding: 0; font-size: 10.5px; font-weight: 500; letter-spacing: 0.13em; text-transform: uppercase; color: rgba(255,255,255,0.62); white-space: nowrap; }
.mm-nav .mm-tools .btn-signin:hover { color: #C4A45A; }
.mm-nav .mm-tools .head-acct { padding: 3px 10px 3px 3px; font-size: 12px; }
.mm-nav .mm-tools .head-acct .ha-av { width: 24px; height: 24px; font-size: 12px; }
.mm-nav .mm-tools .pl-iconbtn, .mm-nav .mm-tools .pl-dd-trig { padding: 6px 10px; font-size: 12px; }
/* Mobile menu row: one centred line of controls above the links. */
.mm-menu #navToolsMobile { display: flex; justify-content: center; width: 100%; padding: 0 0 18px; }
.mm-menu #navToolsMobile:empty { display: none; }
.mm-menu .mm-tools { justify-content: center; gap: 12px; }
.mm-menu .mm-tools .btn-signin, .mm-menu .mm-tools .head-acct { font-size: 13px; }
@media (max-width: 600px) {
  .mm-tools { gap: 8px; }
  .mm-tools .btn-signin { padding: 8px 13px; font-size: 12.5px; }
  /* Only while the tools sit in the phone island: the globe alone is the language button. */
  .mm-nav .mm-tools .pl-dd-trig span { display: none; }
}

/* ── Reserve form slot inside the home page's dark "Reserve Online" section ── */
.mm-book { position: relative; width: 100%; scroll-margin-top: 96px; }
.mm-book .bw-err:empty { display: none; }
/* ── lifted: buttons (redesign lines 128-147) ── *//* ── Buttons ── */
.mm .btn {
  display: inline-flex; align-items: center; gap: 12px;
  font-size: 12px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase;
  text-decoration: none; border-radius: 60px; padding: 19px 34px;
  transition: transform .35s var(--bk-ease), box-shadow .35s var(--bk-ease), background .35s, color .35s, border-color .35s;
  cursor: pointer; border: none;
}
.mm .btn .ar { transition: transform .35s var(--bk-ease); display: inline-block; }
.mm .btn:hover .ar { transform: translateX(5px); }
.mm .btn-gold {
  background: linear-gradient(135deg, var(--bk-gold-2), var(--bk-gold) 55%, var(--bk-gold-deep));
  color: #181308; box-shadow: 0 12px 36px rgba(201,169,97,.22);
}
.mm .btn-gold:hover { transform: translateY(-2px); box-shadow: 0 18px 48px rgba(201,169,97,.34); }
.mm .btn-ghost {
  background: transparent; color: var(--bk-cream);
  border: 1px solid rgba(244,239,230,.22);
}
.mm .btn-ghost:hover { border-color: var(--bk-gold); color: var(--bk-gold-2); transform: translateY(-2px); }/* ── lifted: widget+flow (redesign lines 722-1013) ── *//* ════════════ BOOKING WIDGET ════════════ */
.mm .bw {
  background: linear-gradient(170deg, rgba(28,24,17,.92), rgba(17,15,11,.96));
  border: 1px solid var(--bk-line-s);
  border-radius: var(--bk-r);
  padding: 26px 26px 28px;
  box-shadow: 0 30px 80px rgba(0,0,0,.5), inset 0 1px 0 rgba(244,239,230,.04);
  backdrop-filter: blur(14px);
  position: relative;
}
.mm .bw-title { font-family: var(--bk-serif); font-size: 21px; font-weight: 400; color: var(--bk-cream); }
.mm .bw-title em { font-style: italic; color: var(--bk-gold-2); }
.mm .bw-note { font-size: 12.5px; color: var(--bk-muted); margin-top: 3px; margin-bottom: 20px; }
.mm .bw-tabs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; padding: 5px; background: rgba(0,0,0,.28); border: 1px solid var(--bk-line); border-radius: 13px; margin-bottom: 20px; }
.mm .bw-tab {
  background: none; border: none; cursor: pointer; padding: 11px 6px; border-radius: 9px;
  font-size: 12px; font-weight: 600; letter-spacing: .06em; color: var(--bk-muted);
  display: flex; align-items: center; justify-content: center; gap: 7px; transition: all .3s var(--bk-ease);
}
.mm .bw-tab svg { width: 15px; height: 15px; }
.mm .bw-tab.on { background: linear-gradient(135deg, var(--bk-gold-2), var(--bk-gold-deep)); color: #1a1409; box-shadow: 0 6px 18px rgba(201,169,97,.28); }
.mm .bw-tab:not(.on):hover { color: var(--bk-cream); }
.mm .bw-field { position: relative; margin-bottom: 11px; }
.mm .bw-field > label {
  position: absolute; top: 10px; left: 44px; font-size: 9.5px; font-weight: 600;
  letter-spacing: .16em; text-transform: uppercase; color: var(--bk-muted-2); pointer-events: none;
}
.mm .bw-field .pin { position: absolute; left: 16px; top: 50%; transform: translateY(-50%); color: var(--bk-gold); width: 17px; height: 17px; }
.mm .bw-field input, .mm .bw-field select {
  width: 100%; min-width: 0; background: rgba(0,0,0,.3); border: 1px solid var(--bk-line);
  border-radius: 12px; padding: 25px 16px 11px 44px; color: var(--bk-text);
  font-family: inherit; font-size: 14.5px; transition: border-color .25s, background .25s;
  box-sizing: border-box;
}/* Native date/time controls on iOS center their value, which can collide with the
   floating label, pin the value to the bottom of the field so it sits clear. */
.mm .bw-field input[type="date"], .mm .bw-field input[type="time"] { -webkit-appearance: none; appearance: none; min-height: 56px; }
.mm .bw-field input[type="date"]::-webkit-date-and-time-value, .mm .bw-field input[type="time"]::-webkit-date-and-time-value { text-align: left; margin-top: 8px; }
.mm .bw-field select { appearance: none; -webkit-appearance: none; cursor: pointer; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23C9A961' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 16px center; padding-right: 40px; }
.mm .bw-field select option { background: #17140f; color: var(--bk-text); }
.mm .bw-field input::placeholder { color: transparent; }
.mm .bw-field input:focus, .mm .bw-field select:focus { outline: none; border-color: var(--bk-gold); background-color: rgba(0,0,0,.45); }
.mm .bw-row { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 11px; }
.mm .bw-row.two { grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
.mm .bw-ac {
  position: absolute; z-index: 40; top: calc(100% + 5px); left: 0; right: 0;
}
.mm .bw-ac.up { top: auto; bottom: calc(100% + 5px); }
.mm .bw-ac {
  background: #1b1813; border: 1px solid var(--bk-line-s); border-radius: 13px; overflow: hidden;
  box-shadow: 0 22px 60px rgba(0,0,0,.6); max-height: 280px; overflow-y: auto;
}
.mm .bw-ac button {
  display: flex; align-items: center; gap: 11px; width: 100%; text-align: left;
  background: none; border: none; cursor: pointer; padding: 13px 16px;
  color: var(--bk-text); font-size: 13.5px; border-bottom: 1px solid rgba(201,169,97,.08);
  transition: background .2s;
}
.mm .bw-ac button:last-child { border-bottom: none; }
.mm .bw-ac button:hover { background: rgba(201,169,97,.1); color: var(--bk-gold-2); }
.mm .bw-ac button svg { width: 15px; height: 15px; color: var(--bk-muted-2); flex-shrink: 0; }
.mm .bw-ac .loc-tag { margin-left: auto; font-size: 9px; letter-spacing: .12em; text-transform: uppercase; color: var(--bk-gold-deep); }/* Bubbly custom pickers (date / time / hours), replace the native controls so
   the open menu matches the widget instead of the browser's default chrome. */
.mm .bw-pick { cursor: pointer; caret-color: transparent; }
.mm .bw-pop {
  position: absolute; z-index: 60; top: calc(100% + 6px); left: 0; min-width: 100%;
  background: #1b1813; border: 1px solid var(--bk-line-s); border-radius: 16px;
  box-shadow: 0 24px 60px rgba(0,0,0,.6); overflow: hidden; animation: plin .18s ease;
}
.mm .bw-pop.list { max-height: 258px; overflow-y: auto; padding: 6px; }
.mm .bw-pop.list button {
  display: flex; width: 100%; align-items: center; justify-content: space-between; gap: 10px;
  background: none; border: none; cursor: pointer; color: var(--bk-text); font: inherit;
  font-size: 13.5px; padding: 10px 14px; border-radius: 10px; text-align: left; white-space: nowrap;
}
.mm .bw-pop.list button:hover { background: rgba(201,169,97,.1); color: var(--bk-gold-2); }
.mm .bw-pop.list button.on { color: var(--bk-gold-2); }
.mm .bw-pop.list button.on::after { content: '✓'; color: var(--bk-gold); font-size: 12px; }
.mm .bw-cal { padding: 14px; width: 288px; max-width: calc(100vw - 48px); }
.mm .bw-cal-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; }
.mm .bw-cal-head .m { font-family: var(--bk-serif); font-size: 15px; color: var(--bk-cream); }
.mm .bw-cal-head button {
  background: none; border: 1px solid var(--bk-line); border-radius: 999px; width: 30px; height: 30px;
  color: var(--bk-gold); cursor: pointer; font-size: 14px; line-height: 1; transition: border-color .2s;
}
.mm .bw-cal-head button:hover { border-color: var(--bk-gold); }
.mm .bw-cal-head button:disabled { opacity: .3; cursor: default; border-color: var(--bk-line); }
.mm .bw-cal-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 3px; }
.mm .bw-cal-grid .dow { text-align: center; font-size: 9.5px; letter-spacing: .1em; color: var(--bk-muted-2); text-transform: uppercase; padding: 4px 0 7px; }
.mm .bw-cal-grid button {
  background: none; border: none; border-radius: 999px; height: 33px; color: var(--bk-text);
  font: inherit; font-size: 12.5px; cursor: pointer; transition: background .15s, color .15s;
}
.mm .bw-cal-grid button:hover { background: rgba(201,169,97,.14); color: var(--bk-gold-2); }
.mm .bw-cal-grid button.on { background: linear-gradient(135deg, var(--bk-gold-2), var(--bk-gold-deep)); color: #1a1409; font-weight: 700; }
.mm .bw-cal-grid button:disabled { color: var(--bk-muted-2); opacity: .35; cursor: default; background: none; }
.mm .bw-go { width: 100%; justify-content: center; margin-top: 16px; padding: 19px; }
.mm .bw-go:disabled { opacity: .55; cursor: not-allowed; transform: none; }
.mm .bw-err { color: #E5896B; font-size: 12.5px; margin-top: 12px; text-align: center; min-height: 0; }
.mm .bw-policy { margin-top: 12px; display: flex; flex-direction: column; gap: 3px; text-align: center; }
.mm #addonsWrap {display:flex;flex-direction:column;gap:9px}
.mm .bk-seats2 {display:flex;flex-direction:column;gap:9px}
.mm .bk-seat-row {display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 15px;border:1.5px solid var(--bk-line,#2a2620);border-radius:14px;background:rgba(255,255,255,.02);transition:border-color .18s ease,background .18s ease}
.mm .bk-seat-row.on {border-color:var(--bk-gold-2,#c4a45a);background:rgba(196,164,90,.11)}
.mm .bk-seat-row .l {display:flex;align-items:center;font-size:14px;font-weight:600;color:var(--bk-ink,#f2efe9);line-height:1.25}
.mm .bk-seat-row .l em {display:block;font-style:normal;font-weight:400;font-size:10.5px;color:var(--bk-mut,#8a8578);margin-top:2px}
.mm .bk-seat-row .r {display:flex;align-items:center;gap:16px}
.mm .bk-seat-row .p {font-size:14px;font-weight:800;color:var(--bk-gold-2,#c4a45a);white-space:nowrap;min-width:46px;text-align:right}
.mm .bk-stepper {display:flex;align-items:center;gap:11px}
.mm .bk-st {width:27px;height:27px;border-radius:50%;border:1.5px solid var(--bk-line,#3a352a);background:transparent;color:var(--bk-ink,#f2efe9);font-size:15px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-color .15s ease,background .15s ease,transform .1s ease;padding:0}
.mm .bk-st:hover {border-color:var(--bk-gold-2,#c4a45a);color:var(--bk-gold-2,#c4a45a)}
.mm .bk-st:active {transform:scale(.92);background:rgba(196,164,90,.15)}
.mm .st-val {min-width:16px;text-align:center;font-size:14.5px;font-weight:700;color:var(--bk-ink,#f2efe9)}
.mm .bk-check2 {display:flex;align-items:center;gap:12px;cursor:pointer;user-select:none}
.mm .bk-check2 input {appearance:none;-webkit-appearance:none;width:20px;height:20px;border-radius:6px;border:1.5px solid var(--bk-line,#3a352a);background:transparent;cursor:pointer;position:relative;flex:none;transition:background .2s ease,border-color .2s ease}
.mm .bk-check2 input:checked {background:var(--bk-gold-2,#c4a45a);border-color:var(--bk-gold-2,#c4a45a)}
.mm .bk-check2 input:checked::after {content:'\2713';position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#0b0a08;font-size:12px;font-weight:800}
.mm .bk-check2 span {font-size:11.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--bk-ink,#f2efe9);line-height:1.5}
.mm .bk-check2 em {font-style:normal;color:var(--bk-gold-2,#c4a45a)}
.mm .bk-stop-row {display:flex;align-items:flex-start;gap:10px;padding:11px 13px;border:1.5px solid var(--bk-line,#2a2620);border-radius:14px;background:rgba(255,255,255,.02);margin-bottom:10px;transition:border-color .18s ease,background .18s ease}
.mm .bk-stop-row.on {border-color:var(--bk-gold-2,#c4a45a);background:rgba(196,164,90,.09)}
.mm .bk-stop-row .num {flex:none;width:22px;height:22px;border-radius:50%;background:rgba(196,164,90,.16);color:var(--bk-gold-2,#c4a45a);font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center;margin-top:3px}
.mm .bk-stop-row .mid {flex:1;min-width:0;position:relative}
.mm .bk-stop-row input {width:100%;background:transparent;border:none;outline:none;color:var(--bk-ink,#f2efe9);font-size:14px;font-weight:500;padding:2px 0;text-overflow:ellipsis}
.mm .bk-stop-row input::placeholder {color:var(--bk-mut,#8a8578);font-weight:400}
.mm .bk-stop-row .fee {flex:none;display:flex;flex-direction:column;align-items:flex-end;gap:3px;margin-top:1px}
.mm .bk-stop-row .fee b {font-size:14px;font-weight:800;color:var(--bk-gold-2,#c4a45a);white-space:nowrap}
.mm .bk-stop-row .fee small {font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--bk-mut,#8a8578);white-space:nowrap}
.mm .bk-stop-row .rm {flex:none;background:transparent;border:none;color:var(--bk-mut,#8a8578);font-size:19px;line-height:1;cursor:pointer;padding:2px 4px;margin-top:1px}
.mm .bk-stop-row .rm:hover {color:#e87070}
.mm .bk-stop-add {display:inline-flex;align-items:center;gap:8px;background:transparent;border:1.5px dashed var(--bk-line,#3a352a);color:var(--bk-gold-2,#c4a45a);border-radius:12px;padding:10px 16px;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:border-color .18s ease,background .18s ease}
.mm .bk-stop-add:hover {border-color:var(--bk-gold-2,#c4a45a);background:rgba(196,164,90,.07)}
.mm .bk-stop-add[disabled] {opacity:.4;cursor:not-allowed}
.mm .bk-stop-hint {font-size:10.5px;line-height:1.5;color:var(--bk-mut,#8a8578);margin-top:8px}
@media(max-width:560px) {
.mm .bk-stop-row {flex-wrap:wrap;gap:8px}
.mm .bk-stop-row .mid {flex:1 1 100%;order:2}
.mm .bk-stop-row .fee {order:3;flex-direction:row;align-items:center;gap:7px;margin-left:auto}
.mm .bk-stop-row .rm {order:1;margin-left:auto}
.mm .bk-stop-add {width:100%;justify-content:center}
}
.mm .bk-addon-row {display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 15px;border:1.5px solid var(--bk-line,#2a2620);border-radius:14px;background:rgba(255,255,255,.02);cursor:pointer;transition:border-color .18s ease,background .18s ease,transform .12s ease}
.mm .bk-addon-row:hover {border-color:rgba(196,164,90,.5);background:rgba(196,164,90,.05)}
.mm .bk-addon-row:active {transform:scale(.99)}
.mm .bk-addon-row:has(.bk-addon:checked) {border-color:var(--bk-gold-2,#c4a45a);background:rgba(196,164,90,.11)}
.mm .bk-addon-row .l {display:flex;align-items:center;gap:12px;font-size:14px;font-weight:600;color:var(--bk-ink,#f2efe9);line-height:1.25}
.mm .bk-addon-row .l em {display:block;font-style:normal;font-weight:400;font-size:10.5px;color:var(--bk-mut,#8a8578);margin-top:2px}
.mm .bk-addon-row .p {font-size:14px;font-weight:800;color:var(--bk-gold-2,#c4a45a);white-space:nowrap;letter-spacing:.01em}
.mm .bk-addon-row input {appearance:none;-webkit-appearance:none;width:22px;height:22px;border-radius:50%;border:1.6px solid var(--bk-line,#3a352a);background:transparent;cursor:pointer;position:relative;flex:none;transition:background .18s ease,border-color .18s ease}
.mm .bk-addon-row input:checked {background:var(--bk-gold-2,#c4a45a);border-color:var(--bk-gold-2,#c4a45a)}
.mm .bk-addon-row input:checked::after {content:'\2713';position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#0b0a08;font-size:12px;font-weight:900}
.mm .bw-policy span { font-size: 11px; line-height: 1.55; color: var(--bk-mut,#8a8578); }
.mm-book .bw-policy { grid-column: 1 / -1; margin-top: 2px; }
.mm .bw-spin { width: 16px; height: 16px; border: 2px solid rgba(26,20,9,.35); border-top-color: #1a1409; border-radius: 50%; animation: bwspin .7s linear infinite; }
@keyframes bwspin { to { transform: rotate(360deg); } }/* Results modal */
.mm .bw-modal { position: fixed; inset: 0; z-index: 3000; display: none; align-items: flex-start; justify-content: center; padding: 40px 20px; overflow-y: auto; }
.mm .bw-modal.open { display: flex; }
.mm .bw-modal-bg { position: fixed; inset: 0; background: rgba(6,5,3,.82); backdrop-filter: blur(6px); }
.mm .bw-modal-card {
  position: relative; width: 100%; max-width: 720px; background: linear-gradient(180deg, #14110C, #100E0A);
  border: 1px solid var(--bk-line-s); border-radius: 24px; padding: 34px; box-shadow: 0 40px 110px rgba(0,0,0,.7);
  animation: bwup .5s var(--bk-ease);
}
@keyframes bwup { from { opacity: 0; transform: translateY(28px); } }
.mm .bw-modal-x { position: absolute; top: 22px; right: 22px; background: none; border: 1px solid var(--bk-line-s); color: var(--bk-cream); width: 40px; height: 40px; border-radius: 50%; font-size: 16px; cursor: pointer; transition: border-color .3s, color .3s; }
.mm .bw-modal-x:hover { border-color: var(--bk-gold); color: var(--bk-gold-2); }
.mm .bw-trip { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px; padding-bottom: 20px; border-bottom: 1px solid var(--bk-line); margin-bottom: 22px; }
.mm .bw-trip .rt { font-family: var(--bk-serif); font-size: 19px; color: var(--bk-cream); width: 100%; }
.mm .bw-trip .meta { font-size: 12.5px; color: var(--bk-muted); display: inline-flex; align-items: center; gap: 7px; }
.mm .bw-trip .meta b { color: var(--bk-gold-2); font-weight: 600; }
.mm .bw-veh { display: flex; align-items: center; gap: 18px; padding: 18px; border: 1px solid var(--bk-line); border-radius: 16px; margin-bottom: 12px; transition: border-color .3s, transform .3s; }
.mm .bw-veh:hover { border-color: var(--bk-line-s); }
.mm .bw-veh img { width: 116px; height: 70px; object-fit: contain; flex-shrink: 0; }
.mm .bw-veh .info { flex: 1; min-width: 0; }
.mm .bw-veh .nm { font-size: 15.5px; font-weight: 600; color: var(--bk-cream); }
.mm .bw-veh .ex { font-size: 12px; color: var(--bk-muted); margin-top: 2px; }
.mm .bw-veh .cap { font-size: 11.5px; color: var(--bk-muted-2); margin-top: 6px; display: flex; gap: 14px; }
.mm .bw-veh .price { text-align: right; flex-shrink: 0; }
.mm .bw-veh .price .amt { font-family: var(--bk-serif); font-size: 27px; color: var(--bk-gold-2); line-height: 1; }
.mm .bw-veh .price .q { font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--bk-gold); border: 1px solid var(--bk-line-s); border-radius: 20px; padding: 5px 11px; }
.mm .bw-veh .price .req { display: inline-flex; align-items: center; gap: 6px; margin-top: 9px; font-size: 11px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: #1a1409; background: linear-gradient(135deg, var(--bk-gold-2), var(--bk-gold-deep)); border-radius: 30px; padding: 9px 16px; text-decoration: none; transition: transform .3s, box-shadow .3s; }
.mm .bw-veh .price .req:hover { transform: translateY(-1px); box-shadow: 0 8px 22px rgba(201,169,97,.3); }
.mm .bw-veh .price .req.ghost { background: none; border: 1px solid var(--bk-line-s); color: var(--bk-gold-2); }
.mm .bw-fineprint { font-size: 11.5px; color: var(--bk-muted-2); text-align: center; margin-top: 18px; line-height: 1.6; }
@media (max-width: 720px) {
.mm .bw-row { grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
.mm .bw-veh img { display: none; }
.mm .bw-modal-card { padding: 26px 20px; }
}/* ════════════ FULL BOOKING FLOW ════════════ */
.mm .bk { position: fixed; inset: 0; z-index: 4000; background: var(--bk-bg); display: none; flex-direction: column; }
.mm .bk.open { display: flex; }
.mm .bk-top { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 18px 32px; border-bottom: 1px solid var(--bk-line); background: var(--bk-bg-2); flex-shrink: 0; }
.mm .bk-top .logo img { height: 18px; }
.mm .bk-steps { display: flex; align-items: center; gap: 8px; font-size: 12px; }
.mm .bk-step { display: flex; align-items: center; gap: 8px; color: var(--bk-muted-2); font-weight: 500; }
.mm .bk-step .n { width: 24px; height: 24px; border-radius: 50%; border: 1px solid var(--bk-line-s); display: grid; place-items: center; font-size: 11px; transition: all .3s; }
.mm .bk-step.on { color: var(--bk-gold-2); }
.mm .bk-step.on .n { background: linear-gradient(135deg, var(--bk-gold-2), var(--bk-gold-deep)); color: #1a1409; border-color: transparent; }
.mm .bk-step.done .n { background: rgba(201,169,97,.15); color: var(--bk-gold-2); border-color: var(--bk-line-s); }
.mm .bk-step-sep { width: 26px; height: 1px; background: var(--bk-line); }
.mm .bk-x { background: none; border: 1px solid var(--bk-line-s); color: var(--bk-cream); width: 42px; height: 42px; border-radius: 50%; font-size: 16px; cursor: pointer; transition: border-color .3s, color .3s; flex-shrink: 0; }
.mm .bk-x:hover { border-color: var(--bk-gold); color: var(--bk-gold-2); }
.mm .bk-body { flex: 1; overflow-y: auto; }
.mm .bk-grid { max-width: 1240px; margin: 0 auto; padding: 48px 32px 90px; display: grid; grid-template-columns: 1fr 420px; gap: 48px; align-items: start; }
.mm .bk-main { min-width: 0; }
.mm .bk-h { font-family: var(--bk-serif); font-size: 40px; font-weight: 300; color: var(--bk-cream); margin-bottom: 8px; }
.mm .bk-h em { font-style: italic; color: var(--bk-gold-2); }
.mm .bk-p { color: var(--bk-muted); font-size: 14px; margin-bottom: 28px; }/* Vehicle selection cards */
.mm .bk-veh { display: flex; align-items: center; gap: 22px; padding: 22px; border: 1px solid var(--bk-line); border-radius: 18px; margin-bottom: 14px; cursor: pointer; transition: border-color .3s, background .3s, transform .3s; background: var(--bk-panel-s); }
.mm .bk-veh:hover { border-color: var(--bk-line-s); transform: translateY(-2px); }
.mm .bk-veh.sel { border-color: var(--bk-gold); background: rgba(201,169,97,.06); box-shadow: 0 0 0 1px var(--bk-gold) inset; }
.mm .bk-veh img { width: 150px; height: 90px; object-fit: contain; flex-shrink: 0; }
.mm .bk-veh .info { flex: 1; min-width: 0; }
.mm .bk-veh .nm { font-size: 18px; font-weight: 600; color: var(--bk-cream); }
.mm .bk-veh .ex { font-size: 12.5px; color: var(--bk-muted); margin-top: 3px; }
.mm .bk-veh .cap { font-size: 11.5px; color: var(--bk-muted-2); margin-top: 9px; display: flex; gap: 16px; flex-wrap: wrap; }
.mm .bk-veh .cap span { display: inline-flex; align-items: center; gap: 5px; }
.mm .bk-veh .pr { text-align: right; flex-shrink: 0; }
.mm .bk-veh .pr .amt { font-family: var(--bk-serif); font-size: 30px; color: var(--bk-gold-2); line-height: 1; }
.mm .bk-veh .pr .per { font-size: 10.5px; color: var(--bk-muted-2); margin-top: 4px; letter-spacing: .04em; }
.mm .bk-veh .pr .q { font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--bk-gold); border: 1px solid var(--bk-line-s); border-radius: 20px; padding: 6px 13px; display: inline-block; }
.mm .bk-veh .pr .pick { margin-top: 10px; font-size: 10.5px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--bk-muted-2); }
.mm .bk-veh.sel .pr .pick { color: var(--bk-gold-2); }/* Detail form */
.mm .bk-form { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 14px; }
.mm .bk-fld { display: flex; flex-direction: column; gap: 7px; }
.mm .bk-fld.full { grid-column: 1 / -1; }
.mm .bk-fld label { font-size: 10.5px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--bk-muted); }
.mm .bk-fld label .req { color: var(--bk-gold); }
.mm .bk-fld input, .mm .bk-fld textarea, .mm .bk-fld select {
  background: rgba(0,0,0,.3); border: 1px solid var(--bk-line); border-radius: 12px;
  padding: 14px 16px; color: var(--bk-text); font-family: inherit; font-size: 14.5px; transition: border-color .25s;
}
.mm .bk-fld input:focus, .mm .bk-fld textarea:focus, .mm .bk-fld select:focus { outline: none; border-color: var(--bk-gold); }
.mm .bk-fld textarea { resize: vertical; min-height: 70px; }
.mm .bk-seats { grid-column: 1 / -1; }
.mm .bk-seats-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.mm .bk-seat { background: rgba(0,0,0,.3); border: 1px solid var(--bk-line); border-radius: 12px; padding: 12px; text-align: center; }
.mm .bk-seat select { width: 100%; background: none; border: none; color: var(--bk-text); font-family: inherit; font-size: 15px; text-align: center; outline: none; }
.mm .bk-seat .lab { font-size: 10px; color: var(--bk-muted-2); margin-top: 4px; line-height: 1.3; }/* Summary sidebar */
.mm .bk-sum { position: sticky; top: 24px; background: linear-gradient(180deg, var(--bk-panel-s), #110F0B); border: 1px solid var(--bk-line-s); border-radius: 20px; padding: 26px; }
.mm .bk-sum h3 { font-family: var(--bk-serif); font-size: 19px; font-weight: 400; color: var(--bk-cream); margin-bottom: 18px; }
.mm .bk-sum .veh-mini { display: flex; align-items: center; gap: 12px; padding-bottom: 16px; margin-bottom: 16px; border-bottom: 1px solid var(--bk-line); }
.mm .bk-sum .veh-mini .nm { font-size: 14px; font-weight: 600; color: var(--bk-cream); }
.mm .bk-sum .veh-mini .ex { font-size: 11px; color: var(--bk-muted-2); }
.mm .bk-sum .ln { display: flex; gap: 12px; font-size: 13px; color: var(--bk-muted); padding: 6px 0; }
.mm .bk-sum .ln svg { width: 15px; height: 15px; color: var(--bk-gold); flex-shrink: 0; margin-top: 2px; }
.mm .bk-sum .ln b { color: var(--bk-text); font-weight: 500; }
.mm .bk-sum .tot { display: flex; justify-content: space-between; align-items: baseline; margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--bk-line); }
.mm .bk-sum .tot .l { font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--bk-muted); }
.mm .bk-sum .tot .v { font-family: var(--bk-serif); font-size: 30px; color: var(--bk-gold-2); }
.mm .bk-sum .tot .v.quote { font-size: 16px; }
.mm .bk-sum .fine { font-size: 11px; color: var(--bk-muted-2); margin-top: 12px; line-height: 1.6; }
.mm .bk-nav { display: flex; gap: 12px; margin-top: 28px; }
.mm .bk-nav .btn { flex: 1; justify-content: center; }
.mm .bk-back { background: none; border: 1px solid var(--bk-line-s); color: var(--bk-cream); border-radius: 60px; padding: 19px 28px; font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; cursor: pointer; transition: border-color .3s, color .3s; }
.mm .bk-back:hover { border-color: var(--bk-gold); color: var(--bk-gold-2); }
.mm .bk-secure { display: flex; align-items: center; justify-content: center; gap: 8px; font-size: 11.5px; color: var(--bk-muted-2); margin-top: 16px; }
.mm .bk-secure svg { width: 14px; height: 14px; color: var(--bk-gold-deep); }
.mm .bk-err2 { color: #E5896B; font-size: 13px; margin-top: 14px; text-align: center; }
.mm .bk-pay-note { background: rgba(201,169,97,.06); border: 1px solid var(--bk-line); border-radius: 14px; padding: 18px; font-size: 13px; color: var(--bk-muted); line-height: 1.6; margin-bottom: 20px; }
.mm .bk-pay-note b { color: var(--bk-gold-2); }
@media (max-width: 900px) {
.mm .bk-grid { grid-template-columns: 1fr; gap: 28px; }
.mm .bk-sum { position: static; order: -1; }
.mm .bk-top { padding: 14px 18px; }
.mm .bk-steps .lab { display: none; }
}
@media (max-width: 640px) {
.mm .bk-form { grid-template-columns: 1fr; }
.mm .bk-veh { flex-wrap: wrap; }
.mm .bk-veh img { width: 100px; height: 60px; }
.mm .bk-veh .pr { width: 100%; text-align: left; display: flex; align-items: center; justify-content: space-between; }
}/* Accessibility: skip link + visible keyboard focus (WCAG 2.4.1 / 2.4.7) */
.mm :focus-visible {outline:2px solid var(--bk-gold-2);outline-offset:2px;border-radius:4px}
.mm .bw-field input:focus-visible, .mm .bw-field select:focus-visible, .mm .bk-fld input:focus-visible, .mm .bk-fld select:focus-visible, .mm .bk-fld textarea:focus-visible, .mm .pl-fld input:focus-visible, .mm .bk-promo-in:focus-visible {outline:2px solid var(--bk-gold-2)!important;outline-offset:1px}/* ── lifted: herobar-grid (redesign lines 237-257) ── */
.mm-book { margin-top: 40px; position: relative; z-index: 5; width: 100%; }
@media (min-width: 1060px) {
.mm-book .bw {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 12px; align-items: stretch; padding: 22px 24px 24px;
  }
.mm-book .bw-title, .mm-book .bw-note { display: none; }
.mm-book .bw-tabs { grid-column: 1 / -1; width: max-content; grid-template-columns: repeat(3, auto); margin-bottom: 2px; }
.mm-book .bw-tab { padding: 10px 22px; }
.mm-book .bw-field { margin-bottom: 0; }/* row 2: the two locations get half the bar each */
.mm-book #bwPickupField, .mm-book #bwDropField, .mm-book #bwHoursField { grid-column: span 6; }/* row 3: date / time / guests / luggage / button */
.mm-book .bw-row { display: contents; }
.mm-book #bwRow .bw-field:nth-child(1) { grid-column: span 3; }
.mm-book #bwRow .bw-field:nth-child(2), .mm-book #bwRow .bw-field:nth-child(3), .mm-book #bwRow .bw-field:nth-child(4) { grid-column: span 2; }
.mm-book .bw-go { grid-column: span 3; margin-top: 0; width: auto; padding: 0 14px; white-space: nowrap; min-height: 56px; font-size: 13.5px; }
.mm-book .bw-err { grid-column: 1 / -1; margin-top: 0; }
.mm-book .bw-err:empty { display: none; }
}/* ── lifted: flow2 (redesign lines 1941-2027) ── *//* Blacklane-style booking step 1 */
.mm .bk-cards {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:12px}
.mm .bk-card {border:1.5px solid var(--bk-line);border-radius:14px;overflow:hidden;cursor:pointer;background:rgba(255,255,255,.025);transition:border-color .2s,transform .2s}
.mm .bk-card:hover {border-color:rgba(201,169,97,.5);transform:translateY(-2px)}
.mm .bk-card.sel {border-color:var(--bk-gold);box-shadow:0 0 0 1px var(--bk-gold)}
.mm .bk-card.disabled {opacity:.4;cursor:not-allowed;pointer-events:none}
.mm .bk-card .fit-note {padding:0 16px 12px;font-size:11px;color:var(--bk-muted-2)}
/* Vehicle photo, one rule for every class and every surface (the three
   portals carry the same numbers): a 16:9 stage on #15140f in both themes,
   the whole vehicle contained and centred with even padding, so the Suburban,
   the Escalade and the Sprinter all sit in the card the same way. No per-class
   crop or scale, no fixed mobile height. */
.mm .bk-card .img { background: #15140f; overflow: hidden; }
.mm .bk-card .img img {
  width: 100%; height: auto; aspect-ratio: 16 / 9;
  object-fit: contain; object-position: center;
  padding: 14px 18px; background: #15140f;
  display: block; box-sizing: border-box;
}
/* The "Your trip" thumbnail is the same stage scaled down. */
.mm .bk-sum .veh-mini .img { width: 84px; flex: none; border-radius: 8px; overflow: hidden; background: #15140f; }
.mm .bk-sum .veh-mini .img img {
  width: 100%; height: auto; aspect-ratio: 16 / 9;
  object-fit: contain; object-position: center;
  padding: 4px 5px; background: #15140f;
  display: block; box-sizing: border-box;
}
.mm .bk-card .bd {padding:14px 16px}
.mm .bk-card .nm {font-size:15.5px;font-weight:600;color:var(--bk-cream)}
.mm .bk-card .pr {font-family:var(--bk-serif);font-size:23px;color:var(--bk-gold-2);margin-top:3px}
.mm .bk-card .cap {display:flex;gap:14px;margin-top:8px;font-size:12.5px;color:var(--bk-cream);opacity:.62}
.mm .bk-card .cap svg {width:13px;height:13px;vertical-align:-2px;margin-right:2px}
.mm .bk-surge {display:flex;gap:9px;align-items:center;margin-top:16px;padding:11px 14px;border:1px solid var(--bk-line);border-radius:12px;background:rgba(201,169,97,.06);color:var(--bk-gold-2);font-size:12.5px}
.mm .bk-surge svg {width:17px;height:17px;flex-shrink:0;color:var(--bk-gold)}
.mm .bk-block {margin-top:26px}
.mm .bk-block {margin-top:34px}
.mm .bk-block h3 {font-family:var(--bk-serif);font-weight:400;font-size:22px;color:var(--bk-cream);margin-bottom:15px}
.mm .bk-inc-grid {display:grid;grid-template-columns:1fr 1fr;gap:13px 18px}
.mm .bk-inc {display:flex;gap:9px;align-items:flex-start;font-size:12.5px;color:var(--bk-cream);opacity:.85;line-height:1.4}
.mm .bk-inc .ic {flex-shrink:0;color:var(--bk-gold)}
.mm .bk-inc .ic svg {width:17px;height:17px}
.mm .bk-pb {display:flex;justify-content:space-between;padding:12px 0;border-top:1px solid var(--bk-line);border-bottom:1px solid var(--bk-line);font-size:14px;color:var(--bk-cream)}
.mm .bk-pb span:last-child {font-family:var(--bk-serif);color:var(--bk-gold-2)}
.mm .bk-pn-title {font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--bk-gold);margin:16px 0 8px;font-weight:600}
.mm .bk-pn {list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:9px}
.mm .bk-pn li {position:relative;padding-left:18px;font-size:12px;color:var(--bk-cream);opacity:.62;line-height:1.5}
.mm .bk-pn li::before {content:'';position:absolute;left:2px;top:7px;width:5px;height:5px;border-radius:50%;background:var(--bk-gold)}
/* Route map (vehicle step). The map bleeds to the edges of the trip-summary
   card and is at least 320px tall on desktop, so both pins read clearly;
   nothing is laid over the image. The pickup / drop-off / duration facts sit
   in a legend under it. The image is requested at the box's own aspect ratio
   (see initRouteMap) so object-fit never crops a pin. */
.mm .bk-map-wrap {position:relative}
.mm .bk-sum .bk-map-wrap {margin:-26px -26px 0;border-radius:19px 19px 0 0;overflow:hidden;border-bottom:1px solid var(--bk-line)}
.mm .bk-map {width:100%;aspect-ratio:5/4;min-height:320px;background:#14110b}
.mm .bk-map img {display:block;width:100%;height:100%;object-fit:cover}
.mm .bk-map-fb {display:flex;align-items:center;justify-content:center;height:100%;color:var(--bk-cream);opacity:.5;font-size:12px}
.mm .bk-map-legend {padding:18px 26px 20px}
.mm .bk-map-legend:empty {display:none}
.mm .bk-ml {position:relative;display:grid;grid-template-columns:22px minmax(0,1fr) auto;column-gap:12px;align-items:start}
.mm .bk-ml + .bk-ml {margin-top:14px}
.mm .bk-ml .pin {width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:800;color:#14110B;background:#C4A45A;margin-top:1px}
.mm .bk-ml.drop .pin {background:#F5F1E6}
.mm .bk-ml.pick::after {content:'';position:absolute;left:10.5px;top:25px;bottom:-13px;width:1px;background:var(--bk-line-s)}
.mm .bk-ml .t {font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--bk-muted-2);font-weight:700}
.mm .bk-ml .s {font-size:13px;color:var(--bk-cream);font-weight:500;line-height:1.35;margin-top:1px}
.mm .bk-ml .sa {font-size:11px;color:var(--bk-muted);line-height:1.4;margin-top:2px}
.mm .bk-ml .badge {font-size:12.5px;font-weight:700;color:var(--bk-gold-2);white-space:nowrap;margin-top:3px}
.mm .bk-ml-chip {display:inline-flex;align-items:center;gap:6px;margin-top:14px;font-size:11px;font-weight:600;color:var(--bk-gold-2);background:rgba(201,169,97,.08);border:1px solid var(--bk-line);border-radius:20px;padding:4px 11px}
@media(max-width:900px) {
.mm .bk-map {aspect-ratio:16/10;min-height:260px}
}
@media(max-width:560px) {
.mm .bk-map {aspect-ratio:4/3;min-height:240px}
}
.mm .bk-shortnotice {display:flex;gap:10px;margin-top:13px;padding:13px 15px;border:1px solid rgba(201,169,97,.45);border-radius:12px;background:rgba(201,169,97,.07);color:var(--bk-gold-2);font-size:12px;line-height:1.5}
.mm .bk-shortnotice svg {width:18px;height:18px;flex-shrink:0;color:var(--bk-gold);margin-top:1px}
.mm .bk-shortnotice b {color:var(--bk-cream)}
.mm .bk-shortnotice a {color:var(--bk-gold-2);font-weight:600;white-space:nowrap}
.mm .bk-select {margin-top:14px;border:1px solid var(--bk-line);border-radius:16px;padding:22px;background:rgba(255,255,255,.025)}
.mm .sel-head {display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.mm .sel-info .nm {font-size:18px;font-weight:600;color:var(--bk-cream)}
.mm .sel-info .ex {font-size:13px;color:var(--bk-cream);opacity:.55;margin-top:3px}
.mm .sel-pr {font-family:var(--bk-serif);font-size:28px;color:var(--bk-gold-2);white-space:nowrap}
.mm .sel-fees {font-size:11.5px;color:var(--bk-cream);opacity:.5;margin-top:6px}
.mm .bk-selbtn {width:100%;display:flex;align-items:center;justify-content:center;gap:8px;margin-top:14px}
.mm .sel-accept {font-size:11px;color:var(--bk-cream);opacity:.55;line-height:1.5;margin-top:11px;text-align:center}
.mm .bk-payel {margin:18px 0;min-height:60px}
.mm .bk-payloading {display:flex;align-items:center;gap:9px;color:var(--bk-cream);opacity:.65;font-size:13px;padding:18px 0}
.mm .bk-promo {margin:16px 0 4px}
.mm .bk-promo-lab {display:block;font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--bk-muted);margin-bottom:7px}
.mm .bk-promo-row {display:flex;gap:8px}
.mm .bk-promo-in {flex:1;min-width:0;background:var(--bk-bg-2);border:1px solid var(--bk-line-s);border-radius:10px;color:var(--bk-text);font:inherit;font-size:14px;padding:11px 12px;text-transform:uppercase;letter-spacing:.04em}
.mm .bk-promo-in:focus {outline:none;border-color:var(--bk-gold-2)}
.mm .bk-promo-btn {flex:none;background:var(--bk-gold);color:#14110B;border:none;border-radius:10px;font:inherit;font-weight:700;font-size:13px;padding:0 18px;cursor:pointer}
.mm .bk-promo-btn:disabled {opacity:.5;cursor:default}
.mm .bk-promo-msg {margin:7px 0 0;font-size:12.5px;min-height:1px}
.mm .bk-promo-msg.ok {color:#7fcf8a}
.mm .bk-promo-msg.bad {color:#e08b7a}
.mm .bk-authtabs {display:grid;grid-template-columns:1fr 1fr;gap:6px;background:rgba(255,255,255,.04);border:1px solid var(--bk-line);border-radius:12px;padding:5px;margin:18px 0}
.mm .bk-authtab {padding:11px;border-radius:8px;font-size:13px;font-weight:600;color:var(--bk-cream);opacity:.6;background:transparent;border:none;cursor:pointer}
.mm .bk-authtab.on {background:var(--bk-gold);color:#14110B;opacity:1}
.mm .bk-asyou {background:rgba(201,169,97,.06);border:1px solid var(--bk-line);border-radius:14px;padding:14px 16px;margin-bottom:18px}
.mm .bk-asyou-l {font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--bk-gold-2)}
.mm .bk-asyou-nm {font-size:15px;font-weight:600;color:var(--bk-cream);margin-top:4px}
.mm .bk-asyou-sub {font-size:12.5px;color:var(--bk-muted);margin-top:1px}
.mm .bk-air {grid-column:1/-1}
.mm .bk-air > label {font-size:10.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--bk-muted);display:block}
.mm .bk-air .tabs {display:grid;grid-template-columns:1fr 1fr;gap:6px;background:rgba(255,255,255,.04);border:1px solid var(--bk-line);border-radius:12px;padding:5px;margin-top:7px}
.mm .bk-air-note {font-size:11.5px;color:var(--bk-muted);margin-top:8px;line-height:1.5}
/* Flight-based pickup time (details step): the looked-up arrival, the
   "collect me N min after landing" chips, and the keep / use choice. */
.mm .bk-flight {grid-column:1/-1;border:1.5px solid var(--bk-line);border-radius:14px;padding:14px 16px;background:rgba(201,169,97,.05)}
.mm .bk-flight:empty {display:none}
.mm .bk-flight.quiet {border-style:dashed;background:transparent;color:var(--bk-muted);font-size:12.5px;line-height:1.5}
.mm .bk-flight .fl-busy {display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--bk-muted)}
.mm .bk-flight .fl-busy .bw-spin {border-color:rgba(201,169,97,.3);border-top-color:var(--bk-gold)}
.mm .bk-flight .fl-eyebrow {font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--bk-gold-2);font-weight:700}
.mm .bk-flight .fl-h {font-family:var(--bk-serif);font-size:21px;font-weight:400;color:var(--bk-cream);margin-top:6px;line-height:1.25}
.mm .bk-flight .fl-h b {color:var(--bk-gold-2);font-weight:500}
.mm .bk-flight .fl-h.sm {font-family:var(--bk-sans);font-size:14px;color:var(--bk-text)}
.mm .bk-flight .fl-sub {font-size:12.5px;color:var(--bk-muted);margin-top:5px;line-height:1.5}
.mm .bk-flight .fl-late {font-size:12px;color:var(--bk-gold-2);margin-top:4px}
.mm .bk-flight .fl-lab {font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--bk-muted);font-weight:600;margin-top:14px}
.mm .bk-flight .fl-chips {display:flex;flex-wrap:wrap;gap:7px;margin-top:8px}
.mm .bk-flight .fl-chip {border:1px solid var(--bk-line-s);background:transparent;color:var(--bk-text);border-radius:999px;padding:7px 12px;font:inherit;font-size:12px;font-weight:600;cursor:pointer;transition:border-color .2s,background .2s}
.mm .bk-flight .fl-chip.on {background:var(--bk-gold);color:#14110B;border-color:var(--bk-gold)}
.mm .bk-flight .fl-rec {font-size:13px;color:var(--bk-cream);margin-top:12px;line-height:1.5}
.mm .bk-flight .fl-rec b {color:var(--bk-gold-2)}
.mm .bk-flight .fl-btns {display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}
.mm .bk-flight .fl-btn {border:1px solid var(--bk-line-s);background:transparent;color:var(--bk-cream);border-radius:12px;padding:12px 10px;font:inherit;font-size:12.5px;font-weight:700;cursor:pointer;transition:border-color .2s,background .2s,color .2s}
.mm .bk-flight .fl-btn:hover {border-color:var(--bk-gold)}
.mm .bk-flight .fl-btn.on {background:var(--bk-gold);color:#14110B;border-color:var(--bk-gold)}
.mm .bk-flight .fl-done {font-size:12.5px;color:var(--bk-gold-2);margin-top:10px;line-height:1.5}
@media(max-width:480px) {
.mm .bk-flight .fl-btns {grid-template-columns:1fr}
}
.mm .bk-seatsblock {grid-column:1/-1}
.mm .bk-check {display:flex;align-items:center;gap:10px;cursor:pointer;font-size:13.5px;font-weight:600;color:var(--bk-cream)}
.mm .bk-check input {width:18px;height:18px;accent-color:var(--bk-gold);cursor:pointer;flex:none}
.mm .bk-check span em {font-style:normal;font-weight:500;color:var(--bk-muted)}
.mm .bk-or {display:flex;align-items:center;gap:12px;margin:20px 0;color:var(--bk-muted);font-size:11px;text-transform:uppercase;letter-spacing:.16em}
.mm .bk-or::before, .mm .bk-or::after {content:"";height:1px;flex:1;background:var(--bk-line)}
.mm .bk-social {display:flex;flex-direction:column;gap:10px}
.mm .bk-social-btn {display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:13px;border:1px solid var(--bk-line);border-radius:12px;background:rgba(255,255,255,.025);color:var(--bk-cream);font-size:13.5px;font-weight:500;cursor:pointer}
.mm .bk-social-btn:hover {border-color:var(--bk-gold)}
.mm .bk-social-btn .soon {margin-left:4px;font-size:8.5px;letter-spacing:.1em;text-transform:uppercase;background:var(--bk-line);color:var(--bk-muted);padding:2px 6px;border-radius:5px}
@media(max-width:560px) {
.mm .bk-inc-grid {grid-template-columns:1fr}
}/* ── lifted: headacct (redesign lines 1058-1065) ── */
.mm .head-acct {display:flex;align-items:center;gap:.6rem}
.mm .head-acct .ha-name {font-size:.82rem;font-weight:600;color:#EDE7DA;white-space:nowrap}
.mm .ha-out {font:inherit;font-size:.78rem;font-weight:600;color:var(--bk-gold);background:transparent;border:1px solid rgba(201,169,97,.5);border-radius:999px;padding:.34rem .82rem;cursor:pointer;transition:background .2s,color .2s}
.mm .ha-out:hover {background:rgba(201,169,97,.14);color:var(--bk-gold-2)}
.mm .mnav-out {color:var(--bk-gold)!important;margin-top:.4rem;cursor:pointer}
.mm .bk-asyou-out {margin-top:.5rem;background:none;border:none;padding:0;font:inherit;font-size:.76rem;font-weight:600;color:var(--bk-gold);cursor:pointer;text-decoration:underline;text-underline-offset:2px}
.mm .bk-asyou-out:hover {color:var(--bk-gold-2)}
@media(max-width:760px) {
.mm .head-acct {display:none}
}/* ── lifted: vip (redesign lines 1427-1455) ── */
.mm-vip {padding:96px 0;background:linear-gradient(180deg,transparent,rgba(201,169,97,0.04),transparent)}
.mm-vip .vip-sub {max-width:560px;margin:14px auto 0;text-align:center;color:var(--bk-muted);font-size:16px;line-height:1.6}
.mm-vip .vip-head {text-align:center}
.mm-vip .vip-toggle {display:inline-flex;gap:4px;margin:26px auto 0;padding:5px;border:1px solid var(--bk-line);border-radius:999px;background:var(--bk-panel-s)}
.mm-vip .vip-toggle button {border:0;background:transparent;color:var(--bk-muted);font-family:var(--bk-sans);font-weight:600;font-size:13px;padding:9px 20px;border-radius:999px;cursor:pointer;display:inline-flex;align-items:center;gap:7px;transition:all .25s var(--bk-ease)}
.mm-vip .vip-toggle button.on {background:var(--bk-gold);color:#0b0a08}
.mm-vip .vip-save {font-size:9.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:2px 7px;border-radius:6px;background:rgba(201,169,97,.16);color:var(--bk-gold-2)}
.mm-vip .vip-toggle button.on .vip-save {background:rgba(11,10,8,.16);color:#0b0a08}
.mm-vip .vip-grid {display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:40px;align-items:stretch}
.mm-vip .vip-card {position:relative;display:flex;flex-direction:column;border:1px solid var(--bk-line);border-radius:var(--bk-r);background:var(--bk-panel-s);padding:26px 22px;transition:transform .3s var(--bk-ease),border-color .3s var(--bk-ease)}
.mm-vip .vip-card:hover {transform:translateY(-4px)}
.mm-vip .vip-card.vip-pop {border-color:var(--bk-line-s);box-shadow:0 18px 50px rgba(201,169,97,.12)}
.mm-vip .vip-ribbon {position:absolute;top:-11px;left:50%;transform:translateX(-50%);background:var(--bk-gold);color:#0b0a08;font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;padding:4px 12px;border-radius:999px}
.mm-vip .vip-name {font-family:var(--bk-serif);font-size:21px;font-weight:600;color:var(--bk-text)}
.mm-vip .vip-tag {margin-top:5px;color:var(--bk-muted);font-size:12.5px;line-height:1.5;min-height:38px}
.mm-vip .vip-price {margin:16px 0 4px;display:flex;align-items:baseline;gap:5px}
.mm-vip .vip-amt {font-family:var(--bk-serif);font-size:38px;font-weight:600;color:var(--bk-gold-2)}
.mm-vip .vip-per {color:var(--bk-muted);font-size:14px;font-weight:500}
.mm-vip .vip-feats {list-style:none;margin:18px 0 0;padding:0;display:flex;flex-direction:column;gap:11px;flex:1}
.mm-vip .vip-feats li {display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:1.45;color:var(--bk-text)}
.mm-vip .vip-feats li svg {flex:none;margin-top:2px}
.mm-vip .vip-join {margin-top:22px;width:100%;border:0;border-radius:12px;padding:14px;font-family:var(--bk-sans);font-size:13.5px;font-weight:700;cursor:pointer;transition:transform .15s var(--bk-ease),opacity .2s}
.mm-vip .vip-join:active {transform:scale(.98)}
.mm-vip .vip-join.gold {background:var(--bk-gold);color:#0b0a08}
.mm-vip .vip-join.ghost {background:rgba(201,169,97,.06);border:1px solid var(--bk-line-s);color:var(--bk-gold-2)}
.mm-vip .vip-join[disabled] {opacity:.6;cursor:default}
.mm-vip .vip-foot {margin-top:30px;text-align:center;color:var(--bk-muted-2);font-size:12px;line-height:1.6}
@media(max-width:980px) {
.mm-vip .vip-grid {grid-template-columns:repeat(2,1fr)}
}
@media(max-width:560px) {
.mm-vip .vip-grid {grid-template-columns:1fr}
.mm-vip {padding:64px 0}
}/* ── lifted: account (redesign lines 3455-3553) ── *//* Header controls */
.mm .pl-iconbtn {display:flex;align-items:center;gap:6px;background:transparent;border:1px solid var(--bk-line-s);color:var(--bk-text);border-radius:999px;padding:8px 12px;font:inherit;font-size:12.5px;font-weight:600;cursor:pointer;transition:.15s}
.mm .pl-iconbtn:hover {border-color:var(--bk-gold-2);color:var(--bk-gold-2)}
.mm .btn-signin {background:transparent;border:1px solid var(--bk-line-s);color:var(--bk-text);border-radius:999px;padding:9px 17px;font:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:.15s}
.mm .btn-signin:hover {border-color:var(--bk-gold-2);color:var(--bk-gold-2)}
.mm .head-acct {align-items:center;gap:8px;background:transparent;border:1px solid var(--bk-line-s);color:var(--bk-text);border-radius:999px;padding:5px 13px 5px 5px;font:inherit;font-size:13px;font-weight:600;cursor:pointer}
.mm .head-acct .ha-av {width:28px;height:28px;border-radius:50%;background:var(--bk-gold);color:#16120a;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px}
.mm .head-acct .ha-cv {opacity:.6;font-size:10px}
.mm .bw-field .bw-addr {margin-top:5px;padding-left:44px;font-size:11.5px;line-height:1.45;color:var(--bk-mut,#8a8578)}
.mm .bk-addr {display:block;font-size:11px;line-height:1.45;color:var(--bk-mut,#8a8578);font-weight:400}/* Custom dropdown (language + airline), matches the address autocomplete look */
.mm .pl-dd {position:relative}
.mm .pl-dd-trig {display:flex;align-items:center;gap:7px;width:100%;background:transparent;border:1px solid var(--bk-line-s);color:var(--bk-text);border-radius:999px;padding:8px 12px;font:inherit;font-size:12.5px;font-weight:600;cursor:pointer}
.mm .pl-dd-panel {position:absolute;z-index:100000;margin-top:8px;min-width:180px;max-height:320px;overflow:auto;background:var(--bk-bg-2);border:1px solid var(--bk-line-s);border-radius:14px;box-shadow:0 24px 60px rgba(0,0,0,.5);padding:6px;animation:plin .18s ease}
.mm .pl-dd-opt {display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:none;border:none;color:var(--bk-text);font:inherit;font-size:14px;padding:11px 12px;border-radius:10px;cursor:pointer}
.mm .pl-dd-opt:hover {background:var(--bk-line)}
.mm .pl-dd-opt.on {color:var(--bk-gold-2);background:color-mix(in srgb,var(--bk-gold) 12%,transparent)}
.mm .pl-dd-opt .ic {width:16px;color:var(--bk-gold);flex:none}/* Airline picker trigger, matches the booking form fields, dark, opens downward */
.mm .bk-ddtrig {display:flex;align-items:center;gap:8px;width:100%;background:rgba(0,0,0,.3);border:1px solid var(--bk-line);border-radius:12px;padding:14px 16px;color:var(--bk-text);font:inherit;font-size:14.5px;cursor:pointer;text-align:left}
.mm .bk-ddtrig:hover {border-color:var(--bk-line-s)}
.mm .bk-ddtrig svg {width:14px;height:14px;margin-left:auto;color:var(--bk-gold);flex:none}
.mm .bk-ddtrig .ph {color:var(--bk-muted)}
.mm .bk-dd-panel {max-height:300px}/* Name dropdown menu */
.mm .pl-menu {position:absolute;z-index:100000;display:none;min-width:220px;background:var(--bk-bg-2);border:1px solid var(--bk-line-s);border-radius:14px;box-shadow:0 24px 60px rgba(0,0,0,.5);padding:8px;animation:plin .18s ease}
.mm .pl-menu.on {display:block}
.mm .pl-menu .who {padding:8px 12px 10px;border-bottom:1px solid var(--bk-line);margin-bottom:6px}
.mm .pl-menu .who b {display:block;font-size:14px;color:var(--bk-text)}
.mm .pl-menu .who span {font-size:12px;color:var(--bk-muted)}
.mm .pl-menu button {display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:none;border:none;color:var(--bk-text);font:inherit;font-size:14px;padding:10px 12px;border-radius:10px;cursor:pointer}
.mm .pl-menu button:hover {background:var(--bk-line)}
.mm .pl-menu button.out {color:#d2563f}
.mm .pl-menu .ic {width:16px;color:var(--bk-gold);flex:none}/* Auth modal (centered card) */
.mm .pl-ov {position:fixed;inset:0;z-index:99999;display:none;align-items:flex-start;justify-content:center;background:rgba(6,6,8,.7);backdrop-filter:blur(6px);overflow:auto;padding:40px 16px}
.mm .pl-ov.on {display:flex}
.mm .pl-card {position:relative;width:100%;max-width:480px;background:var(--bk-panel-s);border:1px solid var(--bk-line);border-radius:18px;box-shadow:0 30px 80px rgba(0,0,0,.5);overflow:hidden;color:var(--bk-text);animation:plin .3s ease}
@keyframes plin {from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}/* Full-page account view */
.mm .pl-page {position:fixed;inset:0;z-index:99998;display:none;flex-direction:column;background:var(--bk-bg);color:var(--bk-text);overflow:auto}
.mm .pl-page.on {display:flex}
.mm .pl-page-hd {position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 22px;background:var(--bk-bg-2);border-bottom:1px solid var(--bk-line)}
.mm .pl-page-hd .pl-bk {position:static;inset:auto;display:flex;align-items:center;gap:8px;background:none;border:1px solid var(--bk-line-s);color:var(--bk-text);border-radius:999px;padding:8px 14px;font:inherit;font-size:13px;font-weight:600;cursor:pointer;width:auto;height:auto;z-index:auto}
.mm .pl-page-tabs {display:flex;gap:4px;justify-content:center;border-bottom:1px solid var(--bk-line);padding:0 16px;flex-wrap:wrap;background:var(--bk-bg-2)}
.mm .pl-page-wrap {max-width:760px;margin:0 auto;width:100%;padding:26px 22px 60px}
.mm .pl-x {position:absolute;top:14px;right:14px;border:none;background:var(--bk-bg-2);width:34px;height:34px;border-radius:50%;font-size:15px;cursor:pointer;color:var(--bk-muted);z-index:2}
.mm .pl-hd {padding:26px 28px 0}
.mm .pl-hd h2 {font-family:var(--bk-serif);font-size:26px;margin:0;font-weight:500;color:var(--bk-cream)}
.mm .pl-hd p {color:var(--bk-muted);font-size:13.5px;margin:6px 0 0}
.mm .pl-tabs {display:flex;gap:0;border-bottom:1px solid var(--bk-line);padding:14px 28px 0;flex-wrap:wrap}
.mm .pl-tab {border:none;background:none;padding:12px 0;margin-right:20px;font:inherit;font-size:13.5px;font-weight:600;color:var(--bk-muted);cursor:pointer;border-bottom:2px solid transparent}
.mm .pl-tab.on {color:var(--bk-text);border-bottom-color:var(--bk-gold-2)}
.mm .pl-bd {padding:20px 28px 28px}
.mm .pl-fld {margin-bottom:14px}
.mm .pl-fld label {display:block;font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--bk-muted);margin-bottom:5px}
.mm .pl-fld input {width:100%;border:1px solid var(--bk-line-s);border-radius:10px;padding:12px;font:inherit;font-size:14.5px;color:var(--bk-text);background:var(--bk-bg-2);box-sizing:border-box}
.mm .pl-fld input:focus {outline:none;border-color:var(--bk-gold)}
.mm .pl-types {display:flex;gap:8px;margin-bottom:16px}
.mm .pl-type {flex:1;border:1px solid var(--bk-line-s);border-radius:10px;padding:11px 6px;text-align:center;font-size:12.5px;font-weight:600;color:var(--bk-muted);cursor:pointer;background:var(--bk-bg-2)}
.mm .pl-type.on {border-color:var(--bk-gold);background:color-mix(in srgb,var(--bk-gold) 14%,transparent);color:var(--bk-text)}
.mm .pl-btn {width:100%;border:none;border-radius:12px;background:var(--bk-gold);color:#16120a;font:inherit;font-size:15px;font-weight:700;padding:14px;cursor:pointer}
html[data-theme="light"] .mm-acct .pl-btn {color:#fff}
.mm .pl-google, .mm .pl-apple {display:flex;align-items:center;justify-content:center;gap:10px;width:100%;border:1px solid var(--bk-line-s);border-radius:12px;background:var(--bk-bg-2);color:var(--bk-text);font:inherit;font-size:14px;font-weight:600;padding:12px;cursor:pointer;margin-bottom:12px}
.mm .pl-google:hover, .mm .pl-apple:hover {border-color:var(--bk-gold-2)}
.mm .pl-apple .soon {margin-left:4px;font-size:8.5px;letter-spacing:.1em;text-transform:uppercase;background:var(--bk-line);color:var(--bk-muted);padding:2px 6px;border-radius:5px}
.mm #plAwrap {margin-top:2px}
.mm .pl-or {display:flex;align-items:center;gap:10px;color:var(--bk-muted);font-size:11px;letter-spacing:.1em;text-transform:uppercase;margin:6px 0 14px}
.mm .pl-or::before, .mm .pl-or::after {content:'';flex:1;height:1px;background:var(--bk-line)}
.mm .pl-err {color:#e0795f;font-size:13px;margin:10px 0 0;min-height:1em;text-align:center}
.mm .pl-sec {border:1px solid var(--bk-line);border-radius:14px;padding:18px 20px;margin-bottom:16px;background:var(--bk-panel-s)}
.mm .pl-sec .pl-h {font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--bk-muted);margin:0 0 12px;display:flex;justify-content:space-between;align-items:center}
.mm .pl-row {margin-bottom:13px}
.mm .pl-row:last-child {margin-bottom:0}
.mm .pl-row .k {font-size:12px;color:var(--bk-muted)}
.mm .pl-row .v {font-size:15px;color:var(--bk-text);margin-top:2px}
.mm .pl-pencil {border:none;background:var(--bk-bg-2);border:1px solid var(--bk-line);width:32px;height:32px;border-radius:50%;cursor:pointer;font-size:13px;color:var(--bk-text)}
.mm .pl-add {border:none;background:none;color:var(--bk-gold-2);font-weight:600;font-size:13px;cursor:pointer}
.mm .pl-del {width:100%;border:none;border-radius:999px;background:#b0203a;color:#fff;font-weight:700;font-size:15px;padding:14px;cursor:pointer}
.mm .pl-tg {position:relative;width:46px;height:26px;border-radius:999px;border:1px solid var(--bk-line-s);background:var(--bk-bg-2);cursor:pointer;flex:none}
.mm .pl-tg.on {background:color-mix(in srgb,var(--bk-gold) 22%,transparent);border-color:var(--bk-gold)}
.mm .pl-tg span {position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:var(--bk-muted);transition:.15s}
.mm .pl-tg.on span {left:22px;background:var(--bk-gold)}
.mm .pl-jtabs {display:inline-flex;gap:4px;background:var(--bk-bg-2);border:1px solid var(--bk-line);border-radius:999px;padding:4px;margin-bottom:18px}
.mm .pl-jtab {border:none;background:none;color:var(--bk-muted);font:inherit;font-size:13px;font-weight:600;padding:8px 18px;border-radius:999px;cursor:pointer}
.mm .pl-jtab.on {background:color-mix(in srgb,var(--bk-gold) 20%,transparent);color:var(--bk-text)}
.mm .pl-jcard {border:1px solid var(--bk-line);border-radius:12px;padding:14px 16px;margin-bottom:10px;background:var(--bk-panel-s)}
.mm .pl-offer {border:2px dashed var(--bk-gold);border-radius:14px;padding:24px;text-align:center;background:color-mix(in srgb,var(--bk-gold) 10%,transparent)}
.mm .pl-code {font-size:24px;font-weight:800;letter-spacing:.1em;color:var(--bk-cream);margin:10px 0}
@media(max-width:600px) {
.mm .pl-card {max-width:100%}
}
/* ── Home-page framing for the lifted membership block ── */
.mm-vip { padding: 104px 80px; background: #0d0b09; }
.mm-vip .mm-vip-inner { max-width: 1180px; margin: 0 auto; }
.mm-vip .vip-head .section-label { color: var(--bk-gold-2); justify-content: center; margin-bottom: 18px; }
.mm-vip .vip-head .section-label::before { background: var(--bk-gold-2); }
.mm-vip .vip-head .section-title { color: var(--bk-cream); margin-bottom: 0; }
.mm-vip .vip-head .section-title em { color: var(--bk-gold-2); }
.mm-vip .vip-foot a { color: var(--bk-gold-2); }
@media (max-width: 900px) { .mm-vip { padding: 72px 24px; } }

/* ── Full-screen booking flow: header wordmark ── */
.mm .bk-top .logo { display: flex; align-items: center; text-decoration: none; }

/* ── Account hub header (full page) ── */
.mm .pl-page-hd .mm-wm-img { height: 20px; }
