/* ═══════════════════════════════════════════════════════════════════════
   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;
  /* 4.5:1 or better on every dark surface the booking flow uses (was #6E675A, 3.5:1). */
  --bk-muted-2:   #8A8274;
  --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;
  /* Gold text on cream or white is #735A1C (5.8:1 on #F5F1E8, 6.6:1 on white);
     #B8923C was 2.9:1. The muted greys pass 4.5:1 on both grounds too. */
  --bk-gold-2:    #735A1C;
  --bk-gold-deep: #7A5F22;
  --bk-cream:     #1A1813;
  --bk-text:      #23201B;
  --bk-muted:     #6E675A;
  --bk-muted-2:   #6E675A;
  --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: #0B0A08; }
.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: #0B0A08; 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); }
/* The flow's actions are real <button>s now: reset what a button brings along,
   and show the disabled state (the Pay button waits for the card form). */
.mm button.btn { font-family: inherit; line-height: 1.2; -webkit-appearance: none; appearance: none; }
.mm .btn:disabled, .mm .btn[aria-disabled="true"] { opacity: .55; cursor: not-allowed; transform: none; box-shadow: none; }
.mm .btn:disabled .ar { transform: none; }
.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: #0B0A08; 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, .mm .bw-ac button.active { background: rgba(201,169,97,.1); color: var(--bk-gold-2); }
.mm .bw-ac button.active { box-shadow: inset 3px 0 0 var(--bk-gold); }
.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: #0B0A08; font-weight: 700; }
.mm .bw-cal-grid button:disabled { color: var(--bk-muted-2); opacity: .35; cursor: default; background: none; }
/* Luggage safety note under the guests / luggage row. On the home page bar the
   fields are laid out by the grid below, so the note is ordered after the
   button there and keeps the row intact. */
.mm .bw-hint { margin: 10px 0 0; font-size: 11.5px; line-height: 1.55; color: var(--bk-mut,#8a8578); }
.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}
/* Hourly stops: an itinerary, not a bill. The heading replaces the checkbox
   the priced version carries (nothing to opt into when nothing is charged),
   and each row gains the two reorder buttons, because the order is the route
   the chauffeur drives. No .fee element is ever rendered on these rows. */
.mm .bk-stops-h {font-size:11.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--bk-ink,#f2efe9);line-height:1.5}
.mm .bk-stop-row .ord {flex:none;display:flex;gap:3px}
.mm .bk-stop-row .mv {flex:none;width:27px;height:27px;display:grid;place-items:center;padding:0;border:1px solid var(--bk-line,#2a2620);border-radius:9px;background:transparent;color:var(--bk-mut,#8a8578);cursor:pointer;transition:border-color .18s ease,color .18s ease}
.mm .bk-stop-row .mv svg {width:13px;height:13px}
.mm .bk-stop-row .mv:hover:not([disabled]) {border-color:var(--bk-gold-2,#c4a45a);color:var(--bk-gold-2,#c4a45a)}
.mm .bk-stop-row .mv[disabled] {opacity:.32;cursor:not-allowed}
@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}
/* An hourly row keeps its number, its two arrows and its remove button on one
   line, with the address under them: three stacked lines read as three stops. */
.mm .bk-stop-row .ord {order:1;margin-left:auto}
.mm .bk-stop-row:has(.ord) .rm {order:2;margin-left:4px}
.mm .bk-stop-row:has(.ord) .mid {order:3}
.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: #0B0A08; 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: #0B0A08; 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; }
/* Vehicle step on phones: the feature panel and the class row come first, the map card follows. */
.mm .bk[data-step="1"] .bk-sum { order: 0; }
.mm .bk-top { padding: 14px 18px; }
.mm .bk-steps .lab { display: none; }
}
@media (max-width: 640px) {
.mm .bk-grid { padding: 24px 18px 80px; }
.mm .bk-h { font-size: 32px; }
.mm .bk-cards { margin: 14px -18px 0; padding: 3px 18px; scroll-snap-type: x mandatory; }
.mm .bk-card { flex: 0 0 150px; }
.mm .bk-feat-body { padding: 18px 18px 20px; }
.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; }
/* Hourly has no second address field, so its row reads pickup / duration /
   where it ends, in thirds. The final address, when one is typed, takes a
   line of its own rather than leaving half the bar empty. */
.mm-book .bw[data-type="hourly"] #bwPickupField,
.mm-book .bw[data-type="hourly"] #bwHoursField,
.mm-book .bw[data-type="hourly"] #bwEndField { grid-column: span 4; }
.mm-book #bwEndAddrField { grid-column: 1 / -1; }/* 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-hint { grid-column: 1 / -1; order: 1; margin: 2px 0 0; text-align: center; }
.mm-book .bw-err { grid-column: 1 / -1; margin-top: 0; order: 2; }
.mm-book .bw-err:empty { display: none; }
.mm-book .bw-policy { order: 3; }
}/* ── lifted: flow2 (redesign lines 1941-2027) ── */
/* ════════════ VEHICLE STEP ════════════
   The selected class expands into a feature panel: a swipeable photo carousel
   (exterior, front cabin, rear cabin, luggage bay where the fleet page has one),
   the class name and "or similar" line, capacity, five amenity lines, the price
   with the all-inclusive note and the Select button. The other classes shrink
   into a row of compact cards (image, name, price, capacity) that dim slightly
   and re-expand when clicked. Desktop (1280px up): photos left, facts right,
   the route map and trip recap stay in the sidebar. Phones: the panel comes
   first and the compact cards scroll sideways. */
.mm .bk-feature {margin-top:4px;border:1px solid var(--bk-line-s);border-radius:18px;overflow:hidden;background:rgba(255,255,255,.025);opacity:0;transform:translateY(6px);transition:opacity .38s var(--bk-ease),transform .38s var(--bk-ease)}
.mm .bk-feature.in {opacity:1;transform:none}
.mm .bk-feature:empty {display:none}
/* Carousel */
.mm .bk-car {position:relative;background:#15140f;min-width:0}
.mm .bk-car-track {display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y}
.mm .bk-car-track::-webkit-scrollbar {display:none}
.mm .bk-car-track:focus-visible {outline:2px solid var(--bk-gold-2);outline-offset:-3px;border-radius:0}
.mm .bk-car-slide {flex:0 0 100%;min-width:0;scroll-snap-align:center;scroll-snap-stop:always}
/* The photo box: a 16:9 stage on #15140f. Exterior cut-outs are contained and
   centred with even padding (the shared rule every surface uses); the cabin
   shots are real photographs and fill the frame. */
.mm .bk-car-img {position:relative;aspect-ratio:16/9;background:#15140f;overflow:hidden}
.mm .bk-car-img img {position:absolute;inset:0;width:100%;height:100%;display:block;box-sizing:border-box;background:#15140f}
.mm .bk-car-img.contain img {object-fit:contain;object-position:center;padding:6% 7%}
.mm .bk-car-img.cover img {object-fit:cover;object-position:center;padding:0}
.mm .bk-car-arrow {position:absolute;top:50%;transform:translateY(-50%);width:38px;height:38px;border-radius:50%;border:1px solid rgba(244,239,230,.18);background:rgba(11,10,8,.72);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--bk-cream);display:grid;place-items:center;cursor:pointer;padding:0;transition:opacity .2s,border-color .2s,color .2s;z-index:2}
.mm .bk-car-arrow svg {width:18px;height:18px}
.mm .bk-car-arrow.prev {left:12px}
.mm .bk-car-arrow.next {right:12px}
.mm .bk-car-arrow:hover {border-color:var(--bk-gold);color:var(--bk-gold-2)}
.mm .bk-car-arrow.off {opacity:0;pointer-events:none}
.mm .bk-car-foot {position:absolute;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:28px 14px 9px;background:linear-gradient(180deg,transparent,rgba(11,10,8,.72));pointer-events:none;z-index:1}
.mm .bk-car-cap {font-size:10.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--bk-cream);opacity:.88;white-space:nowrap}
.mm .bk-car-dots {display:flex;gap:2px;pointer-events:auto}
.mm .bk-car-dot {width:24px;height:22px;padding:0;background:none;border:none;cursor:pointer;position:relative}
.mm .bk-car-dot::after {content:'';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:6px;height:6px;border-radius:99px;background:rgba(244,239,230,.42);transition:width .22s var(--bk-ease),background .22s}
.mm .bk-car-dot.on::after {width:18px;background:var(--bk-gold)}
.mm .bk-car-dot:focus-visible {outline-offset:-2px}
/* Facts */
.mm .bk-feat-body {padding:20px 22px 22px;display:flex;flex-direction:column;min-width:0}
.mm .bk-feat-head {display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.mm .bk-feat-info {min-width:0}
.mm .bk-feat-info .nm {font-family:var(--bk-serif);font-size:24px;font-weight:400;color:var(--bk-cream);line-height:1.15}
.mm .bk-feat-info .ex {font-size:12.5px;color:var(--bk-muted);margin-top:4px}
.mm .bk-feat-pr {font-family:var(--bk-serif);font-size:28px;color:var(--bk-gold-2);white-space:nowrap;line-height:1;padding-top:2px}
.mm .bk-feat-cap {display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:12px;font-size:12.5px;color:var(--bk-muted)}
.mm .bk-feat-cap span {display:inline-flex;align-items:center;gap:6px}
.mm .bk-feat-cap b {color:var(--bk-cream);font-weight:600}
.mm .bk-feat-cap svg {width:14px;height:14px;color:var(--bk-gold);flex:none}
.mm .bk-feat-am {list-style:none;margin:14px 0 0;padding:14px 0 0;border-top:1px solid var(--bk-line);display:flex;flex-direction:column;gap:7px}
.mm .bk-feat-am li {position:relative;padding-left:16px;font-size:12.5px;line-height:1.45;color:var(--bk-cream);opacity:.82}
.mm .bk-feat-am li::before {content:'';position:absolute;left:2px;top:8px;width:5px;height:5px;border-radius:50%;background:var(--bk-gold)}
.mm .bk-feat-foot {margin-top:auto;padding-top:16px}
.mm .bk-feat-note {font-size:11.5px;color:var(--bk-cream);opacity:.55}
.mm .bk-feat-foot .fit-note {margin:8px 0 0;font-size:12px;color:#E5896B}
.mm .bk-feat-foot .bk-selbtn {margin-top:12px}
.mm .bk-feat-foot .bk-selbtn:disabled {opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}
.mm .bk-feat-foot .sel-accept {margin-top:10px}
/* Desktop: photos left, facts right; the photo column fills the panel's height. */
@media (min-width:1280px) {
.mm .bk-feature {display:grid;grid-template-columns:minmax(0,11fr) minmax(0,9fr)}
.mm .bk-car {min-height:340px}
.mm .bk-car-track {position:absolute;inset:0}
.mm .bk-car-slide {height:100%}
.mm .bk-car-img {aspect-ratio:auto;height:100%}
.mm .bk-car-img.contain img {padding:8%}
.mm .bk-feat-body {padding:24px 26px 26px}
}
/* Stacked panel on wide screens below that: facts and the Select column side by side. */
@media (min-width:641px) and (max-width:1279px) {
.mm .bk-feat-body {display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,300px);grid-template-areas:"head foot" "cap foot" "am foot";column-gap:28px}
.mm .bk-feat-head {grid-area:head}
.mm .bk-feat-cap {grid-area:cap}
.mm .bk-feat-am {grid-area:am}
.mm .bk-feat-foot {grid-area:foot;align-self:end;padding-top:0}
}
/* Compact cards */
.mm .bk-cards {display:flex;gap:8px;margin-top:14px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none;padding:3px}
.mm .bk-cards::-webkit-scrollbar {display:none}
/* Five cards fit the main column at 1366 (about 708px); narrower columns scroll the row. */
.mm .bk-card {flex:1 0 124px;min-width:124px;max-width:230px;scroll-snap-align:start;display:block;border:1.5px solid var(--bk-line);border-radius:14px;overflow:hidden;cursor:pointer;background:rgba(255,255,255,.025);padding:0;margin:0;font:inherit;color:inherit;text-align:left;opacity:.72;transition:border-color .2s,transform .2s,opacity .2s}
.mm .bk-card:hover {border-color:rgba(201,169,97,.5);transform:translateY(-2px);opacity:1}
.mm .bk-card.sel {border-color:var(--bk-gold);box-shadow:0 0 0 1px var(--bk-gold);opacity:1}
.mm .bk-card.disabled {opacity:.4;cursor:not-allowed;pointer-events:none}
.mm .bk-card .fit-note {display:block;padding:6px 0 0;font-size:10.5px;line-height:1.35;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 { display:block; background: #15140f; overflow: hidden; }
.mm .bk-card .img img {
  width: 100%; height: auto; aspect-ratio: 16 / 9;
  object-fit: contain; object-position: center;
  padding: 8px 10px; 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 {display:block;padding:10px 12px 12px}
.mm .bk-card .nm {display:block;font-size:12.5px;font-weight:600;color:var(--bk-cream);line-height:1.3}
.mm .bk-card .pr {display:block;font-family:var(--bk-serif);font-size:17px;color:var(--bk-gold-2);margin-top:2px}
.mm .bk-card .cap {display:flex;gap:10px;margin-top:5px;font-size:11.5px;color:var(--bk-cream);opacity:.82} /* .82 x the card's .72 keeps 4.5:1 on the dark stage */
.mm .bk-card .cap span {display:inline-flex;align-items:center;gap:3px}
.mm .bk-card .cap svg {width:12px;height:12px}
@media (prefers-reduced-motion: reduce) {
.mm .bk-feature {transition:none;transform:none}
.mm .bk-card, .mm .bk-car-dot::after {transition:none}
}
.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:#0B0A08;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:18px 20px;background:rgba(255,255,255,.025)}
.mm .sel-head {display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.mm .sel-info .sel-l {font-size:9.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--bk-gold-2);margin-bottom:4px}
.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:#0B0A08;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:#0B0A08;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, .mm .bk-air-lab {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}
/* Ride texts opt-in under "Booking as" (booking.js paintSms). Empty until the
   worker says the program is on. The small print matches .bk-air-note and is
   never collapsed; its links read as links (gold, underlined). The booking flow
   is dark in both site themes: muted #A89F8D and gold #E2C685 on #0B0A08 are
   both well over 4.5:1. */
.mm .bk-sms {margin-top:14px}
.mm .bk-sms:empty {display:none}
.mm .bk-sms-fine {font-size:11.5px;color:var(--bk-muted);margin:8px 0 0;line-height:1.5}
.mm .bk-sms .bk-check + .bk-sms-fine {margin-top:6px;padding-left:28px}
.mm .bk-sms-fine a, .mm .bk-sms-note a, .mm .pl-sms-desc a {color:var(--bk-gold-2);text-decoration:underline;text-underline-offset:2px}
.mm .bk-sms-note {font-size:12.5px;color:var(--bk-muted);line-height:1.5;border:1px solid var(--bk-line);border-radius:12px;padding:10px 12px;margin:-14px 0 20px}
/* The same switch in the account hub, which follows the site theme: gold-2 is
   #735A1C on white in light (6.6:1) and the muted grey passes on both. */
.mm .pl-sms-msg {font-size:12.5px;color:var(--bk-gold-2);margin-top:6px;line-height:1.5}
.mm .pl-sms-msg:empty {display:none}
.mm .pl-tg:disabled {opacity:.45;cursor:default}
/* 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;min-height:26.25px}
.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;min-height:19.75px}
.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:#0B0A08;border-color:var(--bk-gold)}
.mm .bk-flight .fl-rec {font-size:13px;color:var(--bk-cream);margin-top:12px;line-height:1.5}
@media (max-width:560px){.mm .bk-flight .fl-rec {min-height:39px}.mm .bk-flight .fl-sub {min-height:37.5px}}
.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:#0B0A08;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}
/* Trip details: the extras list (booking for someone else, airport, child
   seats, add-ons, stops) is one grid, set off from the ride-texts block above. */
.mm .bk-form-extras {margin-top:20px}
.mm .bk-for #forWrap {margin:14px 0 0 32px}
.mm .bk-for-grid {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
@media (max-width:640px){.mm .bk-for #forWrap {margin-left:0}.mm .bk-for-grid {grid-template-columns:1fr}}
.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:10.5px;letter-spacing:.06em;text-transform:uppercase;background:var(--bk-line);color:var(--bk-text);padding:2px 7px;border-radius:5px;white-space:nowrap}
.mm .bk-social-btn[aria-disabled="true"] {cursor:default}
@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:#0B0A08;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;background:transparent}
.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:#0B0A08;font:inherit;font-size:15px;font-weight:700;padding:14px;cursor:pointer}
/* Text on gold is #0B0A08 in both themes (on the light gold #9A7B2E that is 4.9:1; white was 4.0:1). */
html[data-theme="light"] .mm-acct .pl-btn {color:#0B0A08}
.mm .pl-btn:disabled {opacity:.6;cursor:not-allowed}
.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, .mm .pl-google .soon {margin-left:4px;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;background:var(--bk-line);color:var(--bk-text);padding:2px 7px;border-radius:5px;white-space:nowrap}
.mm .pl-apple[aria-disabled="true"], .mm .pl-google[aria-disabled="true"] {cursor:default}
.mm #plAwrap {margin-top:2px}
/* The account overlay's two sign-in buttons are one centred column: Google
   draws its own button (a pill, 40px tall, never wider than 400px), so the
   Apple button takes the same width, height and shape under it. */
.mm #plGwrap {display:flex;justify-content:center;margin-bottom:12px;min-height:40px}
.mm #plGwrap .pl-google {margin-bottom:0}
.mm #plGwrap .pl-google, .mm #plAwrap .pl-apple {max-width:400px;margin-inline:auto;min-height:40px;padding:8px 16px;border-radius:999px}
.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-err.ok {color:#7fcf8a}
.mm .pl-link {display:block;width:100%;margin-top:12px;background:none;border:none;padding:0;font:inherit;font-size:13px;font-weight:600;color:var(--bk-gold-2);cursor:pointer;text-align:center;text-decoration:underline;text-underline-offset:3px}
.mm .pl-link:hover {color:var(--bk-gold)}
.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}
/* "Add card · Soon" is not a control yet: muted text, no half opacity (that
   fell to 3.65:1 dark and 2.22:1 light). */
.mm .pl-add.soon {color:var(--bk-muted);cursor:default}
/* Account > Payment methods: saved cards and Stripe's card field. */
.mm button.pl-add {padding:0;font:inherit;font-size:13px}
.mm .pl-card-row {display:flex;justify-content:space-between;align-items:center;gap:12px}
.mm .pl-card-rm {flex:none;background:none;border:1px solid var(--bk-line-s);border-radius:999px;padding:6px 14px;font:inherit;font-size:12.5px;font-weight:600;color:var(--bk-text);cursor:pointer}
.mm .pl-card-rm.confirm {border-color:#b0412c;color:#b0412c}
.mm .pl-card-empty {font-size:13.5px;color:var(--bk-muted);text-align:center;padding:8px 0}
.mm .pl-card-lab {display:block;font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--bk-muted);margin:6px 0 6px}
.mm .pl-card-field {border:1px solid var(--bk-line-s);border-radius:10px;padding:14px 12px;background:var(--bk-bg-2)}
.mm .pl-card-auth {margin:10px 0 14px;font-size:12px;line-height:1.55}
.mm .pl-card-actions {display:flex;align-items:center;gap:16px}
.mm .pl-card-actions .pl-btn {width:auto;padding:12px 24px}
.mm .pl-card-actions .pl-link {width:auto;margin:0}
.mm .pl-card-msg {min-height:1em;margin:8px 0 0;font-size:13px;color:var(--bk-muted)}
.mm .pl-card-msg:empty {margin:0}
.mm .pl-card-msg.err {color:#b0412c}
.mm .pl-card-msg.ok {color:#1b6e42}
.mm .pl-card-note {margin:10px 0 0;font-size:12px;color:var(--bk-muted)}
/* Sign-out in the hub header; the red passes on the dark ground and is
   darkened on white in light theme (#d2563f was 4.08:1 there). */
.mm .pl-page-hd .pl-bk.out {color:#d2563f}
html[data-theme="light"] .mm-acct .pl-page-hd .pl-bk.out, html[data-theme="light"] .mm-acct .pl-menu button.out {color:#A8321A}
.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; }

/* ── Accessibility and consent additions (booking flow + account overlays) ── */
/* Visually hidden, still read by screen readers (live counts, labels). */
.mm .bk-sr {position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
/* "Resend" in the code step: a real button that reads like a link. */
.mm .bk-linkbtn {background:none;border:0;padding:0;font:inherit;font-weight:600;color:var(--bk-gold-2);text-decoration:underline;text-underline-offset:2px;cursor:pointer}
.mm .bk-help {font-size:12px;color:var(--bk-muted);line-height:1.4}
/* Sign-in-wrap notices beside the create-account, social and pay buttons. */
.mm .bk-legal {margin:14px 0 0;font-size:12px;line-height:1.55;color:var(--bk-muted);text-align:center}
.mm .bk-legal a, .mm .pl-legal a {color:var(--bk-gold-2);text-decoration:underline;text-underline-offset:2px}
.mm .bk-payloading a, .mm .bk-err2 a {color:var(--bk-gold-2)}
.mm .bk-form > .bk-check {grid-column:1/-1}
.mm .bk-check.bk-mkt, .mm .bk-check.bk-check-sm {font-weight:500;font-size:13px;align-items:flex-start;line-height:1.45}
.mm .bk-check.bk-check-sm {margin-top:12px}
.mm .bk-check.bk-mkt input, .mm .bk-check.bk-check-sm input {margin-top:1px}
/* Airline: native select styled like the other detail fields. */
.mm .bk-fld select {-webkit-appearance:none;appearance:none;color-scheme:dark;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 .bk-fld select option {background:#12100D;color:#EDE8DD}
/* Account overlay: helper text, the offers box and the notices. */
.mm .pl-help {font-size:12px;color:var(--bk-muted);margin-top:5px;line-height:1.4}
.mm .pl-check {display:flex;align-items:flex-start;gap:10px;margin:2px 0 14px;font-size:13px;line-height:1.45;color:var(--bk-text);cursor:pointer}
.mm .pl-check input {width:18px;height:18px;flex:none;margin:1px 0 0;accent-color:var(--bk-gold)}
.mm .pl-legal {margin:12px 0 0;font-size:12px;line-height:1.55;color:var(--bk-muted);text-align:center}
.mm .pl-del-msg {margin:10px 0 0;font-size:13px;color:#e0795f;text-align:center;min-height:1em}
html[data-theme="light"] .mm-acct .pl-del-msg, html[data-theme="light"] .mm-acct .pl-err {color:#A8321A}
html[data-theme="light"] .mm-acct .pl-err.ok {color:#1E6B34}
/* Headings take focus programmatically (tabindex=-1) so a new step or dialog is
   announced; they are not controls, so no focus ring is drawn on them. */
.mm h2[tabindex="-1"]:focus, .mm .bk-h[tabindex="-1"]:focus {outline:none}
.mm #forWrap {padding-bottom:16px}

/* ── Skeleton placeholders ──────────────────────────────────────────────
   The blocks themselves are painted by /skeleton.css, which reads two
   variables it derives from --bk-text (dark in both themes for .mm, theme
   following for .mm-acct). Everything here is SHAPE: each rule gives the
   placeholder rows the exact box of the thing they stand in, so the real
   content lands where the skeleton was rather than pushing the page.
   ────────────────────────────────────────────────────────────────────── */

/* Address suggestions: same padding, same icon slot, same divider, and the
   line keeps the height of the 13.5px option label so five rows come to the
   same height as five real ones. */
.mm .bw-ac .mmsk-row {padding:13px 16px;border-bottom:1px solid rgba(201,169,97,.08)}
.mm .bw-ac .mmsk-row:last-child {border-bottom:none}
.mm .bw-ac .mmsk-line {width:100%;min-height:18px;flex-wrap:nowrap}

/* The confirmed-address line under a field: one bar in the real 11.5px/1.45
   line box, so the swap is in place instead of a push. */
.mm .bw-field .bw-addr .mmsk-row {display:flex;align-items:center;min-height:17px}

/* Route map: a box fill at the map's own aspect ratio, plus two soft rounds
   where the P and D pins land once the picture arrives. */
.mm .bk-map .mmsk, .mm .bk-map .mmsk-row {height:100%}
.mm .bk-map.is-sk {position:relative}
.mm .bk-map.is-sk::before, .mm .bk-map.is-sk::after {
  content:'';position:absolute;width:26px;height:26px;border-radius:50%;
  background:color-mix(in srgb,var(--bk-text) 16%,transparent);z-index:1;
}
.mm .bk-map.is-sk::before {left:30%;top:34%}
.mm .bk-map.is-sk::after {left:66%;top:60%}
.mm .bk-map .mmsk-fail {height:100%;justify-content:center;align-content:center;text-align:center;padding:0 22px}

/* Flight card: the busy state carries the found card's own box, so the card
   does not grow ~200px under the cursor when the lookup lands. */
.mm .bk-flight .mmsk-line {width:100%}

/* Payment: the container floor is the skeleton's own height, so the Pay
   button, the legal line and the secure badge do not move when the Stripe
   Payment Element mounts in place of it.
   NOTE: 232px is the tabs-layout Payment Element measured with a card, an
   Apple Pay tab and a Link tab. Re-measure against live Stripe if the tab
   set changes. */
.mm .bk-payel {min-height:232px}
/* The promo message is one line of 12.5px text; reserving it stops a valid or
   invalid code from pushing the payment box down. */
.mm .bk-promo-msg {min-height:21px}

/* The account hub. The journey rows reuse the real .pl-jcard shell; the VIP
   card and the offer rows get the box their real markup draws inline. */
.mm .pl-vipsk {border:1px solid var(--bk-line);border-radius:16px;padding:22px;background:var(--bk-panel-s)}
.mm .pl-offsk {margin-top:10px;border:1px solid var(--bk-line);border-radius:12px;background:var(--bk-panel-s);padding:14px 16px}
.mm .mmsk-fail {color:var(--bk-text)}
.mm .mmsk-fail-retry {border-color:var(--bk-line-s);color:var(--bk-gold-2)}

/* Reduced motion: booking.css:544 already covers the cards and the feature
   panel, but .bw-spin was never in it, so the button-busy spinner kept
   turning for a visitor who asked for no motion. */
@media (prefers-reduced-motion: reduce) {
.mm .bw-spin {animation:none;border-top-color:currentColor;opacity:.55}
.mm .bw-modal-card {animation:none}
}

/* Measured at both widths. An option label is one 18px line in the desktop
   field and wraps to two on a phone, and a journey title does the same, so
   the placeholder follows them rather than staying one height everywhere. */
@media(max-width:560px) {
.mm .bw-ac .mmsk-line {min-height:36px}
.mm #plJList .mmsk-row > .mmsk-line:first-child {min-height:37.1px}
}
