/* ═══════════════════════════════════════════════════════════════════════
   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; }
