/* Mobile 5.1: existing content and owners remain authoritative. */
body.lve-mobile-v1.lve2-site {
  --lvem-ink: #111d2d;
  --lvem-muted: #526071;
  --lvem-blue: #2346ce;
  --lvem-paper: #fffdfa;
  --lvem-line: #d6dce5;
  --lvem-nav-space: 76px;
}

/* These new controls can survive a viewport resize without changing the theme. */
body.lve-mobile-v1.lve2-site .lvem-nav { display: none; }
body.lve-mobile-v1.lve2-site .lvem-planner-shortcut { display: none; }
body.lve-mobile-v1.lve2-site :is(.lvem-nav,.lvem-dialog,.lvem-save,.lvem-saveable,.lvem-toast) { box-sizing: border-box; }
body.lve-mobile-v1.lve2-site :is(.lvem-nav,.lvem-dialog,.lvem-save,.lvem-toast)[hidden],
body.lve-mobile-v1.lve2-site .lvem-nav [hidden],
body.lve-mobile-v1.lve2-site .lvem-dialog [hidden] { display: none !important; }
body.lve-mobile-v1.lve2-site .lvem-planner-shortcut[hidden] { display: none !important; }

body.lve-mobile-v1.lve2-site .lvem-saveable {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 8px;
  min-width: 0;
}
body.lve-mobile-v1.lve2-site .lvem-saveable > .voy-guide-card { flex: 1; }
body.lve-mobile-v1.lve2-site .lvem-saveable[hidden],
body.lve-mobile-v1.lve2-site .lvem-saveable:has(> .voy-guide-card[hidden]) { display: none; }
/* The wrapper changes sibling positions; preserve the original guide palette. */
body.lve-mobile-v1.lve2-site .voy-guide-grid > .lvem-saveable:nth-child(2) > .voy-guide-card { background: #fff2cf; border-color: #ecdba8; }
body.lve-mobile-v1.lve2-site .voy-guide-grid > .lvem-saveable:nth-child(3) > .voy-guide-card { background: #edf2f5; border-color: #d6e1e8; }
body.lve-mobile-v1.lve2-site .voy-guide-grid > .lvem-saveable:nth-child(4) > .voy-guide-card { background: #f4f6ff; border-color: #d9def2; }

body.lve-mobile-v1.lve2-site .lvem-save {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: flex-start;
  gap: 7px;
  min-height: 48px;
  max-width: 100%;
  margin: 12px 0 0;
  padding: 10px 14px;
  border: 1px solid #a8b4c5;
  border-radius: 6px;
  background: #fffdfa;
  color: #2346ce;
  font: 700 .875rem/1.45 Arial, Helvetica, sans-serif;
  text-align: center;
  white-space: normal;
  overflow-wrap: anywhere;
  cursor: pointer;
}
body.lve-mobile-v1.lve2-site .lvem-saveable > .lvem-save { margin: 0; }
body.lve-mobile-v1.lve2-site .lvem-article-actions:has(> .lvem-save[hidden]) { display: none; }
body.lve-mobile-v1.lve2-site .lvem-save:hover { background: #edf1ff; border-color: #2346ce; }
body.lve-mobile-v1.lve2-site .lvem-save[aria-pressed="true"] { color: #111d2d; background: #fff2cf; border-color: #a78122; }

body.lve-mobile-v1.lve2-site .lvem-dialog {
  width: min(620px, calc(100% - 32px));
  max-width: none;
  max-height: 85vh;
  max-height: 85dvh;
  margin: auto;
  padding: 24px;
  border: 1px solid #a8b4c5;
  border-radius: 12px;
  background: #fffdfa;
  color: #111d2d;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
  font: 400 1rem/1.65 Arial, Helvetica, sans-serif;
  box-shadow: 0 18px 80px #07111d42;
}
body.lve-mobile-v1.lve2-site .lvem-dialog::backdrop { background: #07111db3; }
body.lve-mobile-v1.lve2-site .lvem-dialog:not([open]) { display: none; }
body.lve-mobile-v1.lve2-site .lvem-dialog h2 { margin: 0 0 12px; color: #111d2d; font: 700 1.5rem/1.2 Arial, Helvetica, sans-serif; letter-spacing: -.025em; }
body.lve-mobile-v1.lve2-site .lvem-dialog p { margin: 0 0 16px; color: #526071; font-size: 1rem; line-height: 1.65; }
body.lve-mobile-v1.lve2-site .lvem-dialog :is(.lvem-dialog-head,header) { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
body.lve-mobile-v1.lve2-site .lvem-dialog [data-lvem-close] {
  flex-shrink: 0;
  min-width: 48px;
  min-height: 48px;
  max-width: 100%;
  margin: 0 0 16px auto;
  padding: 10px 12px;
  border: 1px solid #a8b4c5;
  border-radius: 6px;
  background: #fff;
  color: #111d2d;
  font: 700 .9375rem/1.4 Arial, Helvetica, sans-serif;
  cursor: pointer;
}
body.lve-mobile-v1.lve2-site .lvem-dialog [data-lvem-list] { display: grid; gap: 12px; margin: 18px 0 0; padding: 0; list-style: none; }
body.lve-mobile-v1.lve2-site .lvem-saved-item { min-width: 0; padding: 16px; border: 1px solid #d6dce5; border-radius: 6px; background: #fff; }
body.lve-mobile-v1.lve2-site .lvem-saved-link { display: inline-flex; align-items: center; min-height: 48px; color: #2346ce; font-size: 1rem; font-weight: 700; line-height: 1.5; text-underline-offset: 4px; overflow-wrap: anywhere; }
body.lve-mobile-v1.lve2-site .lvem-saved-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; }
body.lve-mobile-v1.lve2-site :is(.lvem-remove,.lvem-share) { min-height: 48px; max-width: 100%; padding: 10px 12px; border: 1px solid #a8b4c5; border-radius: 6px; background: #fffdfa; color: #111d2d; font: 700 .875rem/1.45 Arial, Helvetica, sans-serif; white-space: normal; overflow-wrap: anywhere; cursor: pointer; }
body.lve-mobile-v1.lve2-site :is(.lvem-status,[data-lvem-status]) { margin-top: 14px; color: #2346ce; font-size: .9375rem; line-height: 1.55; }
body.lve-mobile-v1.lve2-site .lvem-toast { position: fixed; z-index: 220; left: 50%; bottom: 20px; width: max-content; max-width: calc(100% - 32px); transform: translateX(-50%); padding: 12px 16px; border: 1px solid #fff; border-radius: 8px; background: #111d2d; color: #fff; font: 700 .9375rem/1.5 Arial, Helvetica, sans-serif; text-align: center; overflow-wrap: anywhere; box-shadow: 0 4px 20px #111d2d33; pointer-events: none; }

body.lve-mobile-v1.lve2-site .lvem-toc { margin: 22px 0 28px; padding: 18px 20px; border: 1px solid #d6dce5; border-radius: 6px; background: #f4f6ff; }
body.lve-mobile-v1.lve2-site .lvem-toc h2 { margin: 0 0 10px; color: #111d2d; font: 700 1.25rem/1.3 Arial, Helvetica, sans-serif; letter-spacing: -.02em; }
body.lve-mobile-v1.lve2-site .lvem-toc-list { margin: 0; padding-left: 24px; }
body.lve-mobile-v1.lve2-site .lvem-toc-sublist { margin: 0; padding-left: 18px; }
body.lve-mobile-v1.lve2-site .lvem-toc-list li { padding-left: 4px; }
body.lve-mobile-v1.lve2-site .lvem-toc-list a { display: inline-flex; align-items: center; min-height: 48px; max-width: 100%; padding-block: 6px; color: #2346ce; font-size: 1rem; line-height: 1.5; text-underline-offset: 4px; overflow-wrap: anywhere; }
body.lve-mobile-v1.lve2-site .lvem-reading { display: none; }

/* The native theme drawer changes at 900px, including landscape phones. */
@media (max-width: 900px) {
  html:has(> body.lve-mobile-v1.lve2-site) { scroll-padding-block: 24px calc(var(--lvem-nav-measured-space, calc(var(--lvem-nav-space, 76px) + env(safe-area-inset-bottom, 0px))) + 16px); }
  body.lve-mobile-v1.lve2-site { padding-bottom: var(--lvem-nav-measured-space, calc(var(--lvem-nav-space) + env(safe-area-inset-bottom, 0px))); scroll-padding-bottom: calc(var(--lvem-nav-measured-space, calc(var(--lvem-nav-space) + env(safe-area-inset-bottom, 0px))) + 16px); }
  body.lve-mobile-v1.lve2-site .lvem-nav {
    position: fixed;
    z-index: 200;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    gap: 2px;
    align-items: stretch;
    justify-content: space-between;
    padding: 5px max(4px, env(safe-area-inset-right, 0px)) calc(5px + env(safe-area-inset-bottom, 0px)) max(4px, env(safe-area-inset-left, 0px));
    border-top: 1px solid #c5cfdd;
    background: #fffdfa;
    color: #111d2d;
    box-shadow: 0 -4px 20px #111d2d0c;
  }
  body.lve-mobile-v1.lve2-site .lvem-nav > :is(a,button) {
    box-sizing: border-box;
    flex: 1 1 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    min-width: 0;
    min-height: 58px;
    margin: 0;
    padding: 5px 2px;
    border: 1px solid transparent;
    border-radius: 6px;
    background: transparent;
    color: #111d2d;
    font: 700 .75rem/1.25 Arial, Helvetica, sans-serif;
    text-align: center;
    text-decoration: none;
    overflow-wrap: anywhere;
    cursor: pointer;
  }
  body.lve-mobile-v1.lve2-site .lvem-nav > :is(a,button):hover,
  body.lve-mobile-v1.lve2-site .lvem-nav > :is(a,button)[aria-current="page"] { border-color: #d4dcf5; background: #edf1ff; color: #2346ce; }
  body.lve-mobile-v1.lve2-site .lvem-nav :is(svg,.lvem-icon) { width: 22px; height: 22px; flex-shrink: 0; font-size: 22px; line-height: 1; }
  body.lve-mobile-v1.lve2-site .lvem-nav [data-lvem-count] { display: inline-block; min-width: 18px; padding: 1px 4px; border-radius: 100px; color: #2346ce; background: #edf1ff; font-size: .6875rem; font-variant-numeric: tabular-nums; line-height: 1.35; }
  body.lve-mobile-v1.lve2-site[data-lvem-keyboard] .lvem-nav,
  body.lve-mobile-v1.lve2-site[data-lvem-menu] .lvem-nav,
  body.lve-mobile-v1.lve2-site.has-modal-open .lvem-nav,
  body.lve-mobile-v1.lve2-site:has(.wp-block-navigation__responsive-container.is-menu-open) .lvem-nav,
  body.lve-mobile-v1.lve2-site:has(dialog[open]) .lvem-nav,
  body.lve-mobile-v1.lve2-site:has([aria-modal="true"]:not([hidden]):not([aria-hidden="true"])) .lvem-nav { display: none; }
  body.lve-mobile-v1.lve2-site .lvem-toast { bottom: calc(var(--lvem-nav-measured-space, calc(var(--lvem-nav-space) + env(safe-area-inset-bottom, 0px))) + 10px); }
  body.lve-mobile-v1.lve2-site[data-lvem-keyboard] .lvem-toast { top: calc(80px + env(safe-area-inset-top, 0px)); bottom: auto; }
  body.lve-mobile-v1.lve2-site[data-lvem-menu] .lvem-toast,
  body.lve-mobile-v1.lve2-site:has(.wp-block-navigation__responsive-container.is-menu-open) .lvem-toast { display: none; }
  body.lve-mobile-v1.lve2-site .lvem-reading { display: block; position: fixed; z-index: 190; top: 0; left: 0; right: 0; height: 3px; background: transparent; pointer-events: none; }
  body.lve-mobile-v1.lve2-site .lvem-reading::before { content: ''; display: block; width: var(--lvem-progress, 0%); height: 100%; background: #2346ce; }
  body.lve-mobile-v1.lve2-site.admin-bar .lvem-reading { top: 46px; }
  body.lve-mobile-v1.lve2-site[data-lvem-menu] .lvem-reading,
  body.lve-mobile-v1.lve2-site:has(dialog[open]) .lvem-reading { display: none; }
  body.lve-mobile-v1.lve2-site .lvem-article :is(h2,h3,h4,[id]) { scroll-margin-block: 32px calc(var(--lvem-nav-measured-space, calc(var(--lvem-nav-space) + env(safe-area-inset-bottom, 0px))) + 16px); }
  body.lve-mobile-v1.lve2-site .lve2-page-hero .lvem-planner-shortcut:not([hidden]) {
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    max-width: 100%;
    margin: 16px 0 0;
    padding: 12px 18px;
    border: 1px solid #2346ce;
    border-radius: 6px;
    background: #2346ce;
    color: #fff;
    font: 700 1rem/1.45 Arial, Helvetica, sans-serif;
    text-align: center;
    text-decoration: none;
    overflow-wrap: anywhere;
  }
  body.lve-mobile-v1.lve2-site .lve2-page-hero .lvem-planner-shortcut:hover { border-color: #1835a7; background: #1835a7; color: #fff; }
  body.lve-mobile-v1.lve2-site .lved[data-lved] :is(.lved-field input,.lved-field select) { box-sizing: border-box; min-height: 48px; font-size: max(16px, 1rem); }
  body.lve-mobile-v1.lve2-site .lved[data-lved] :is(.lved-days span,.lved-area-choices span) { box-sizing: border-box; min-height: 48px; font-size: .9375rem; line-height: 1.45; }
  body.lve-mobile-v1.lve2-site .lved[data-lved] .lved-area-choices span:not([hidden]) { display: inline-flex; align-items: center; }
  body.lve-mobile-v1.lve2-site .lved[data-lved] :is(.lved-section-nav a,.lved-button,.lved-text-button,.lved-clear-date,.lved-event-links a,.lved-agenda-bar a,.lved-hero-link,.lved-inline-link,.lved-closing a,.lved-resale-link,.lved-experience a) { min-height: 48px; max-width: 100%; }
  body.lve-mobile-v1.lve2-site .lved[data-lved] :is(.lved-event-links a,.lved-agenda-bar a,.lved-hero-link,.lved-inline-link,.lved-closing a,.lved-resale-link,.lved-experience a,a.lved-button):not([hidden]) { box-sizing: border-box; display: inline-flex; align-items: center; min-height: 48px; max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
  body.lve-mobile-v1.lve2-site .lved[data-lved] .lved-section-nav a:not([hidden]) { display: inline-flex; align-items: center; font-size: .9375rem; line-height: 1.45; }
  body.lve-mobile-v1.lve2-site .lved[data-lved] .lved-inline-link:not([hidden]) { display: inline-flex; align-items: center; font-size: .9375rem; line-height: 1.45; }
  body.lve-mobile-v1.lve2-site [data-lved] form.lved-form[id] { scroll-margin-top: 60px; scroll-margin-bottom: calc(var(--lvem-nav-measured-space, calc(var(--lvem-nav-space) + env(safe-area-inset-bottom, 0px))) + 20px); }
}

/* Compact the active portal, while retaining every heading, paragraph and link. */
@media (max-width: 760px) {
  body.lve-mobile-v1.lve2-site .lvep-home .lvep-hero { width: calc(100% - 24px); margin-top: 12px; }
  body.lve-mobile-v1.lve2-site .lvep-home .lvep-hero-copy { padding: 22px 18px 16px; }
  body.lve-mobile-v1.lve2-site .lvep-home .lvep-hero-copy .lvep-kicker { margin-bottom: 10px; font-size: .6875rem; letter-spacing: .09em; }
  body.lve-mobile-v1.lve2-site .lvep-home .lvep-hero h1 { margin-bottom: 12px; font-size: clamp(2rem, 7.8vw, 2.75rem); line-height: 1.1; text-wrap: balance; }
  body.lve-mobile-v1.lve2-site .lvep-home .lvep-intro { margin-bottom: 16px; font-size: 1rem; line-height: 1.55; }
  body.lve-mobile-v1.lve2-site .lvep-home .lvep-search label { margin-bottom: 7px; font-size: .875rem; }
  body.lve-mobile-v1.lve2-site .lvep-home .lvep-search > div { display: grid; grid-template-columns: minmax(0, 1fr) auto; flex-wrap: nowrap; gap: 4px; padding: 4px; }
  body.lve-mobile-v1.lve2-site .lvep-home .lvep-search input { box-sizing: border-box; flex-basis: auto; width: 100%; min-width: 0; min-height: 48px; padding: 10px 8px; font-size: max(16px, 1rem); }
  body.lve-mobile-v1.lve2-site .lvep-home .lvep-search button { width: auto; min-width: 70px; min-height: 48px; padding: 10px 12px; font-size: max(16px, 1rem); }
  body.lve-mobile-v1.lve2-site .lvep-home .lvep-popular { gap: 0 12px; margin-top: 7px; font-size: .8125rem; }
  body.lve-mobile-v1.lve2-site .lvep-home .lvep-popular a { min-height: 48px; font-size: .875rem; }
  body.lve-mobile-v1.lve2-site .lvep-home .lvep-picture { display: flex; align-items: flex-end; min-height: 120px; height: auto; }
  body.lve-mobile-v1.lve2-site .lvep-home .lvep-picture picture { position: absolute; inset: 0; height: 100%; }
  body.lve-mobile-v1.lve2-site .lvep-home .lvep-picture img { object-position: 55% 55%; }
  body.lve-mobile-v1.lve2-site .lvep-home .lvep-picture::after { inset: 0; background: linear-gradient(90deg, #07111dba, #07111d3d 75%); }
  body.lve-mobile-v1.lve2-site .lvep-home .lvep-picture figcaption { box-sizing: border-box; position: relative; left: auto; right: auto; bottom: auto; width: 100%; padding: 14px 18px; }
  body.lve-mobile-v1.lve2-site .lvep-home .lvep-picture figcaption span { margin-bottom: 5px; font-size: .6875rem; letter-spacing: .08em; }
  body.lve-mobile-v1.lve2-site .lvep-home .lvep-picture figcaption strong { font-size: 1.375rem; line-height: 1.12; }
  body.lve-mobile-v1.lve2-site .lvep-home .lvep-jump { flex-wrap: nowrap; justify-content: flex-start; gap: 8px; padding-block: 10px; overflow-x: auto; overscroll-behavior-inline: contain; scroll-snap-type: x proximity; scrollbar-width: thin; }
  body.lve-mobile-v1.lve2-site .lvep-home .lvep-jump a { flex: 0 0 auto; min-height: 48px; padding: 8px 12px; border: 1px solid #d6dce5; border-radius: 6px; background: #fff; font-size: .875rem; line-height: 1.4; white-space: nowrap; scroll-snap-align: start; }
  body.lve-mobile-v1.lve2-site .lvep-home :is(section,.lvep-anchor) { scroll-margin-top: 24px; }
  body.lve-mobile-v1.lve2-site .lvep-home .lvep-start { padding-top: 28px; }
  body.lve-mobile-v1.lve2-site .lvep-home .lvep-section-head { margin-bottom: 18px; gap: 9px; }
  body.lve-mobile-v1.lve2-site .lvep-home .lvep-section-head h2 { font-size: clamp(1.875rem, 7vw, 2.375rem); line-height: 1.15; }
  body.lve-mobile-v1.lve2-site .lvep-home .lvep-section-head .lvep-kicker { margin-bottom: 8px; }
  body.lve-mobile-v1.lve2-site .lvep-home .lvep-finder legend { font-size: 1rem; line-height: 1.55; margin-bottom: 8px; }
  body.lve-mobile-v1.lve2-site .lvep-home .lvep-finder > input { margin-right: 5px; }
  body.lve-mobile-v1.lve2-site .lvep-home .lvep-finder > label { min-height: 48px; margin-right: 12px; font-size: .9375rem; }
  body.lve-mobile-v1.lve2-site .lvep-home .lvep-panels { margin-top: 12px; }
  body.lve-mobile-v1.lve2-site .lvep-home .lvep-paths { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.lve-mobile-v1.lve2-site .lvep-home .lvep-path { padding: 16px 14px; border-right: 1px solid #dadbdc; border-bottom: 1px solid #dadbdc !important; }
  body.lve-mobile-v1.lve2-site .lvep-home .lvep-path:nth-child(2n) { border-right: 0; }
  body.lve-mobile-v1.lve2-site .lvep-home .lvep-path:nth-child(n+3) { border-bottom: 0 !important; }
  body.lve-mobile-v1.lve2-site .lvep-home .lvep-path > span { margin-bottom: 10px; font-size: .75rem; }
  body.lve-mobile-v1.lve2-site .lvep-home .lvep-path h3 { margin-bottom: 10px; font-size: 1.3125rem; line-height: 1.2; }
  body.lve-mobile-v1.lve2-site .lvep-home .lvep-path p { margin-bottom: 12px; font-size: .9375rem; line-height: 1.55; }
  body.lve-mobile-v1.lve2-site .lvep-home .lvep-path a { min-height: 48px; max-width: 100%; font-size: .875rem; line-height: 1.45; overflow-wrap: anywhere; }
  body.lve-mobile-v1.lve2-site .lvep-home .voy-guides { padding-block: 32px; }
  body.lve-mobile-v1.lve2-site .lvep-home .voy-guide-card { padding: 20px; }
  body.lve-mobile-v1.lve2-site .lvep-home .voy-guide-number { margin-bottom: 12px; font-size: 2.25rem; }
  body.lve-mobile-v1.lve2-site .lvep-home .voy-guide-card h3 { margin-block: 10px 12px; font-size: 1.625rem; line-height: 1.2; }
  body.lve-mobile-v1.lve2-site .lvep-home .voy-guide-card p { margin-bottom: 16px; font-size: 1rem; line-height: 1.6; }
  body.lve-mobile-v1.lve2-site .lvep-home .lvep-plan { padding: 26px 20px; margin-bottom: 32px; gap: 14px; }
  body.lve-mobile-v1.lve2-site .lvep-home .lvep-plan h2 { font-size: 2.375rem; }
  body.lve-mobile-v1.lve2-site .lvep-home .lvep-plan p { font-size: 1rem; line-height: 1.6; }
  body.lve-mobile-v1.lve2-site .lvep-home .lvep-plan-steps li { gap: 14px; padding-block: 16px; }
  body.lve-mobile-v1.lve2-site .lvep-home .lvep-plan .lvep-note { font-size: .875rem; }

  /* Restore practical details that the older Voyage layer hid on phones. */
  body.lve-mobile-v1.lve2-site .lvx-discover .lve2-experience-copy :is(p,.lve2-experience-meta):not([hidden]) { display: block; font-size: 1rem; line-height: 1.6; }
  body.lve-mobile-v1.lve2-site .lvx-discover .lve2-experience-copy > small { font-size: .8125rem; line-height: 1.5; }
  body.lve-mobile-v1.lve2-site .lvx-discover .lve2-experience-copy h3 { font-size: 1.5rem; line-height: 1.22; }
  body.lve-mobile-v1.lve2-site .lvx-discover .lve2-experience-copy { min-width: 0; padding: 18px; }
  body.lve-mobile-v1.lve2-site .lvx-discover .lve2-experience-grid { grid-template-columns: 1fr; gap: 16px; }
  body.lve-mobile-v1.lve2-site .lvx-discover :is(.lve2-experience-card,.lve2-experience-card.is-featured):not([hidden]) { display: block; }
  body.lve-mobile-v1.lve2-site .lvx-discover .lve2-experience-image { height: 180px; min-height: 0; }

  /* Improve touch and reading without rearranging booking or planner controls. */
  body.lve-mobile-v1.lve2-site :is(button,summary) { min-height: 48px; }
  body.lve-mobile-v1.lve2-site :is(input:not([type="radio"]):not([type="checkbox"]):not([type="hidden"]):not([type="range"]),select,textarea) { min-height: 48px; font-size: max(16px, 1rem); }
  body.lve-mobile-v1.lve2-site :is(.lve2-navigation .wp-block-navigation__responsive-container-open,.lve2-navigation .wp-block-navigation__responsive-container-close) { min-width: 48px; min-height: 48px; }
  body.lve-mobile-v1.lve2-site :is(.lve2-navigation .wp-block-navigation-item__content,.lve2-footer li a,.lve2-footer-bottom a,.lve-social-links a,.lve2-booking-cta,.wp-block-button__link,.lvx-button,.lvx-text-link,.lvep-button,.lvhc-tickets,.lvhc-detail,.lvc-event-tools a,.lvc-ticket,.voy-attraction-body a,.lveh-faq details > a,.lvecity-local-path,.lvecity-local-preview-event) { min-height: 48px; }
  body.lve-mobile-v1.lve2-site :is(.lve2-experience-filters,.lve2-catalog-filters,.lve2-show-filters) { flex-wrap: wrap; gap: 8px; }
  body.lve-mobile-v1.lve2-site :is(.lve2-experience-filters,.lve2-catalog-filters,.lve2-show-filters) button { min-height: 48px; padding: 10px 14px; font-size: .9375rem; line-height: 1.4; }
  body.lve-mobile-v1.lve2-site .lve-concert-agenda .lvc-filters { padding: 16px; gap: 14px; }
  body.lve-mobile-v1.lve2-site .lve-concert-agenda .lvc-filters label { font-size: .875rem; line-height: 1.5; }
  body.lve-mobile-v1.lve2-site .lve-concert-agenda .lvc-filters :is(input,select) { min-height: 48px; font-size: max(16px, 1rem); }
  body.lve-mobile-v1.lve2-site .lve-concert-agenda :is(.lvc-note,.lvc-disclosure,.lvc-reviewed) { font-size: .8125rem; line-height: 1.6; }
  body.lve-mobile-v1.lve2-site :is(.lve2-page-hero,.lve2-article-hero) { padding-block: 30px; }
  body.lve-mobile-v1.lve2-site :is(.lve2-page-hero,.lve2-article-hero) :is(h1,.wp-block-query-title) { font-size: clamp(2rem, 8vw, 2.75rem); line-height: 1.14; overflow-wrap: anywhere; }
  /* Only a page with the actual native planner receives the shorter introduction. */
  body.lve-mobile-v1.lve2-site:has([data-lved] form.lved-form[id]) .lve2-page-hero { padding-block: 22px; }
  body.lve-mobile-v1.lve2-site:has([data-lved] form.lved-form[id]) .lve2-page-hero > .alignwide > .lve2-kicker { margin-block: 0 10px; }
  body.lve-mobile-v1.lve2-site:has([data-lved] form.lved-form[id]) .lve2-page-hero > .alignwide > .wp-block-post-excerpt { margin-block: 12px 0; }
  body.lve-mobile-v1.lve2-site:has([data-lved] form.lved-form[id]) .lve2-page-hero > .alignwide > .wp-block-post-excerpt p { margin: 0; font-size: 1rem; line-height: 1.6; }
  body.lve-mobile-v1.lve2-site .lve2-content-shell:has([data-lved] form.lved-form[id]) { padding-top: 28px; }
  body.lve-mobile-v1.lve2-site .lve2-content-shell:has([data-lved] form.lved-form[id]) .lve2-planner-page-intro { margin-bottom: 28px !important; }
  body.lve-mobile-v1.lve2-site .lve2-content-shell:has([data-lved] form.lved-form[id]) .lve2-planner-page-intro h2 { font-size: clamp(1.875rem, 7.5vw, 2.375rem); line-height: 1.18; }
  body.lve-mobile-v1.lve2-site .lve2-content-shell:has([data-lved] form.lved-form[id]) .lve2-planner-page-intro > p { margin-block: 10px; font-size: 1rem; line-height: 1.6; }
  body.lve-mobile-v1.lve2-site .lvem-article { min-width: 0; }
  body.lve-mobile-v1.lve2-site .lvem-article :is(p,li) { font-size: 1.0625rem; line-height: 1.75; overflow-wrap: break-word; }
  body.lve-mobile-v1.lve2-site .lvem-article :is(img,video,iframe) { max-width: 100%; }
  body.lve-mobile-v1.lve2-site .lvem-article :is(h2,h3) { line-height: 1.22; overflow-wrap: break-word; }
  body.lve-mobile-v1.lve2-site .lvem-article .lvem-toc { padding: 16px; }
  body.lve-mobile-v1.lve2-site .lvem-article .lvem-toc-list li { font-size: 1rem; line-height: 1.5; }
  body.lve-mobile-v1.lve2-site .lved :is(.lved-field input,.lved-field select,.lved-copy-fallback) { font-size: max(16px, 1rem); }
  body.lve-mobile-v1.lve2-site .lved :is(.lved-days span,.lved-area-choices span,.lved-section-nav a,.lved-button,.lved-text-button) { min-height: 48px; }
  body.lve-mobile-v1.lve2-site .lved .lved-area-choices span { display: inline-flex; align-items: center; font-size: .875rem; line-height: 1.45; }
  body.lve-mobile-v1.lve2-site .lved .lved-section-nav a { display: inline-flex; align-items: center; font-size: .875rem; line-height: 1.4; }
  body.lve-mobile-v1.lve2-site .lved :is(.lved-route li div > p:last-child,.lved-area-card p:not(.lved-kicker),.lved-hotel-footer > p,.lved-pocket > p:not(.lved-eyebrow)) { font-size: 1rem; line-height: 1.65; }
  body.lve-mobile-v1.lve2-site .lvem-dialog { width: calc(100% - 24px); max-height: 85vh; max-height: 85dvh; padding: 18px; border-radius: 10px; }
}

@media (max-width: 360px) {
  body.lve-mobile-v1.lve2-site .lvep-home .lvep-hero-copy { padding-inline: 16px; }
  body.lve-mobile-v1.lve2-site .lvep-home .lvep-finder > label { margin-right: 8px; font-size: .875rem; }
  body.lve-mobile-v1.lve2-site .lvep-home .lvep-path { padding: 14px 11px; }
  body.lve-mobile-v1.lve2-site .lvep-home .lvep-path h3 { font-size: 1.25rem; }
  body.lve-mobile-v1.lve2-site .lvem-nav > :is(a,button) { font-size: .6875rem; }
}
@media (max-width: 359px) {
  body.lve-mobile-v1.lve2-site .lvem-nav > :is(a,button) { padding-inline: 0; }
  body.lve-mobile-v1.lve2-site .lvem-nav > :is(a,button):nth-child(2) { flex-grow: 1.15; }
  body.lve-mobile-v1.lve2-site .lvem-nav > :is(a,button):nth-child(3) { flex-grow: .85; }
}

body.lve-mobile-v1.lve2-site :is(.lvem-nav,.lvem-dialog,.lvem-toc,.lvem-saveable,.lvem-article) :is(a,button):focus-visible,
body.lve-mobile-v1.lve2-site :is(.lvem-save,.lvem-planner-shortcut):focus-visible { outline: 3px solid #111d2d; outline-offset: 3px; box-shadow: 0 0 0 3px #fff; }

@media (prefers-reduced-motion: reduce) {
  body.lve-mobile-v1.lve2-site :is(.lvem-nav,.lvem-dialog,.lvem-reading,.lvem-toast,.lvem-save) { animation: none; transition: none; scroll-behavior: auto; }
  body.lve-mobile-v1.lve2-site .lvep-home .lvep-jump { scroll-behavior: auto; scroll-snap-type: none; }
}
@media (forced-colors: active) {
  body.lve-mobile-v1.lve2-site :is(.lvem-nav,.lvem-dialog,.lvem-toast,.lvem-save,.lvem-toc,.lvem-saved-item,.lvem-remove,.lvem-share,.lvem-planner-shortcut) { border-color: CanvasText; box-shadow: none; }
  body.lve-mobile-v1.lve2-site .lvem-nav > :is(a,button)[aria-current="page"],
  body.lve-mobile-v1.lve2-site .lvem-save[aria-pressed="true"] { border-color: Highlight; }
  body.lve-mobile-v1.lve2-site :is(.lvem-nav,.lvem-dialog,.lvem-toc,.lvem-saveable,.lvem-article) :is(a,button):focus-visible,
  body.lve-mobile-v1.lve2-site :is(.lvem-save,.lvem-planner-shortcut):focus-visible { outline-color: Highlight; box-shadow: none; }
  body.lve-mobile-v1.lve2-site .lvem-reading::before { background: Highlight; }
}
@media print {
  html:has(> body.lve-mobile-v1.lve2-site) { scroll-padding: 0; }
  body.lve-mobile-v1.lve2-site { padding-bottom: 0; }
  body.lve-mobile-v1.lve2-site :is(.lvem-nav,.lvem-reading,.lvem-toast,.lvem-save,.lvem-dialog,.lvem-planner-shortcut) { display: none !important; }
  body.lve-mobile-v1.lve2-site .lvem-saveable:not([hidden]):not(:has(> .voy-guide-card[hidden])) { display: contents; }
}
