/* Front-page additions and compact phone layouts for the existing portal. */
body.lvemx.lvemx-next.lveapp.lvemx-city.lvemx-nov .lvep-home[data-lvemx-nov-home] {
  --lve-nov-navy: #142640;
  --lve-nov-ink: #111d2d;
  --lve-nov-muted: #4b596c;
  --lve-nov-gold: #ffce55;
  --lve-nov-line: #dedfdc;
  --lve-nov-focus: #2446be;
  --lve-nov-sans: var(--lvemx-sans, system-ui, sans-serif);
}

body.lvemx.lvemx-next.lveapp.lvemx-city.lvemx-nov .lvep-home :is(.lvemx-nov-topics, .lvemx-nov-answers) {
  box-sizing: border-box;
  width: min(calc(100% - 64px), 1200px);
  min-width: 0;
  margin: 28px auto;
  font-family: var(--lve-nov-sans);
  color: var(--lve-nov-ink);
}

body.lvemx.lvemx-next.lveapp.lvemx-city.lvemx-nov .lvep-home :is(.lvemx-nov-topics, .lvemx-nov-answers) * {
  box-sizing: border-box;
}

body.lvemx.lvemx-next.lveapp.lvemx-city.lvemx-nov .lvep-home .lvemx-nov-topics h2 {
  margin: 0 0 10px;
  font: 750 clamp(1.125rem, 3.9vw, 1.375rem)/1.25 var(--lve-nov-sans);
  letter-spacing: -.025em;
  color: var(--lve-nov-navy);
}

body.lvemx.lvemx-next.lveapp.lvemx-city.lvemx-nov .lvep-home .lvemx-nov-topics ul {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

body.lvemx.lvemx-next.lveapp.lvemx-city.lvemx-nov .lvep-home .lvemx-nov-topics li {
  min-width: 0;
  margin: 0;
}

body.lvemx.lvemx-next.lveapp.lvemx-city.lvemx-nov .lvep-home .lvemx-nov-topics a {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  height: 100%;
  min-height: 54px;
  padding: 8px;
  border: 1px solid #dcd9d0;
  border-radius: 13px;
  background: #fffdf8;
  color: var(--lve-nov-navy);
  font: 700 .9375rem/1.2 var(--lve-nov-sans);
  text-align: center;
  text-decoration: none;
  overflow-wrap: anywhere;
}

body.lvemx.lvemx-next.lveapp.lvemx-city.lvemx-nov .lvep-home .lvemx-nov-topic-icon {
  display: grid;
  flex: 0 0 auto;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 9px;
  background: #f9e6ad;
  color: #503d14;
}

body.lvemx.lvemx-next.lveapp.lvemx-city.lvemx-nov .lvep-home .lvemx-nov-topic-icon svg {
  display: block;
  width: 20px;
  height: 20px;
}

body.lvemx.lvemx-next.lveapp.lvemx-city.lvemx-nov .lvep-home .lvemx-nov-topics a:hover {
  border-color: #977025;
  background: #fff4d7;
}

body.lvemx.lvemx-next.lveapp.lvemx-city.lvemx-nov .lvep-home :is(.lvemx-nov-topics, .lvemx-nov-answers) a:focus-visible {
  outline: 3px solid var(--lve-nov-focus);
  outline-offset: 3px;
}

body.lvemx.lvemx-next.lveapp.lvemx-city.lvemx-nov .lvep-home .lvemx-nov-answers {
  margin-block: 24px 42px;
}

body.lvemx.lvemx-next.lveapp.lvemx-city.lvemx-nov .lvep-home .lvemx-nov-answers h2 {
  margin: 0 0 16px;
  color: var(--lve-nov-navy);
  font: 750 clamp(1.5rem, 5.7vw, 2.375rem)/1.14 var(--lve-nov-sans);
  letter-spacing: -.04em;
  text-wrap: balance;
}

body.lvemx.lvemx-next.lveapp.lvemx-city.lvemx-nov .lvep-home .lvemx-nov-answer-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: start;
  gap: 12px;
}

body.lvemx.lvemx-next.lveapp.lvemx-city.lvemx-nov .lvep-home .lvemx-nov-answer {
  min-width: 0;
  margin: 0;
  border: 1px solid var(--lve-nov-line);
  border-radius: 14px;
  background: #fff;
}

body.lvemx.lvemx-next.lveapp.lvemx-city.lvemx-nov .lvep-home .lvemx-nov-answer summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 56px;
  padding: 10px 14px;
  border-radius: 13px;
  list-style: none;
  cursor: pointer;
}

body.lvemx.lvemx-next.lveapp.lvemx-city.lvemx-nov .lvep-home .lvemx-nov-answer summary::-webkit-details-marker {
  display: none;
}

body.lvemx.lvemx-next.lveapp.lvemx-city.lvemx-nov .lvep-home .lvemx-nov-answer summary:hover {
  background: #fffbef;
}

body.lvemx.lvemx-next.lveapp.lvemx-city.lvemx-nov .lvep-home .lvemx-nov-answer summary:focus-visible {
  outline: 3px solid var(--lve-nov-focus);
  outline-offset: 2px;
}

body.lvemx.lvemx-next.lveapp.lvemx-city.lvemx-nov .lvep-home .lvemx-nov-answer h3 {
  margin: 0;
  color: var(--lve-nov-navy);
  font: 750 1rem/1.25 var(--lve-nov-sans);
  letter-spacing: -.02em;
}

body.lvemx.lvemx-next.lveapp.lvemx-city.lvemx-nov .lvep-home .lvemx-nov-answer-toggle {
  position: relative;
  flex: 0 0 26px;
  height: 26px;
  border-radius: 50%;
  background: #f9e6ad;
  color: #503d14;
}

body.lvemx.lvemx-next.lveapp.lvemx-city.lvemx-nov .lvep-home .lvemx-nov-answer-toggle::before,
body.lvemx.lvemx-next.lveapp.lvemx-city.lvemx-nov .lvep-home .lvemx-nov-answer-toggle::after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 10px;
  border-top: 2px solid currentColor;
  transform: translate(-50%, -50%);
  content: '';
}

body.lvemx.lvemx-next.lveapp.lvemx-city.lvemx-nov .lvep-home .lvemx-nov-answer-toggle::after {
  transform: translate(-50%, -50%) rotate(90deg);
}

body.lvemx.lvemx-next.lveapp.lvemx-city.lvemx-nov .lvep-home .lvemx-nov-answer[open] .lvemx-nov-answer-toggle::after {
  content: none;
}

body.lvemx.lvemx-next.lveapp.lvemx-city.lvemx-nov .lvep-home .lvemx-nov-answer-copy {
  padding: 0 14px 14px;
}

body.lvemx.lvemx-next.lveapp.lvemx-city.lvemx-nov .lvep-home .lvemx-nov-answer p {
  margin: 0;
  color: var(--lve-nov-muted);
  font: 400 .9375rem/1.5 var(--lve-nov-sans);
}

body.lvemx.lvemx-next.lveapp.lvemx-city.lvemx-nov .lvep-home .lvemx-nov-answer a {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  max-width: 100%;
  min-height: 44px;
  margin-top: 10px;
  padding: 8px 11px;
  border: 1px solid #ead29b;
  border-radius: 9px;
  background: #fff3d2;
  color: var(--lve-nov-navy);
  font: 700 .875rem/1.25 var(--lve-nov-sans);
  text-decoration: none;
  overflow-wrap: anywhere;
}

body.lvemx.lvemx-next.lveapp.lvemx-city.lvemx-nov .lvep-home .lvemx-nov-answer a:hover {
  border-color: #977025;
  background: #f9e6ad;
}

body.lvemx.lvemx-next.lveapp.lvemx-city.lvemx-nov .lvep-home .lvemx-nov-answer a svg {
  flex: 0 0 16px;
  width: 16px;
  height: 16px;
}

@media (max-width: 900px) {
  body.lvemx.lvemx-next.lveapp.lvemx-city.lvemx-nov .lvep-home :is(.lvemx-nov-topics, .lvemx-nov-answers) {
    width: calc(100% - 32px);
    margin-block: 18px 24px;
  }

  body.lvemx.lvemx-next.lveapp.lvemx-city.lvemx-nov .lvep-home .lvemx-nov-topics ul {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  body.lvemx.lvemx-next.lveapp.lvemx-city.lvemx-nov .lvep-home .lvemx-nov-topics a {
    min-height: 62px;
    font-size: .8125rem;
  }

  body.lvemx.lvemx-next.lveapp.lvemx-city.lvemx-nov .lvep-home .lvemx-nov-answer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.lvemx.lvemx-next.lveapp.lvemx-city.lvemx-nov .lvep-home[data-lvemx-nov-home] .lvep-hero[data-lvemx-city-home] {
    --lve-nov-hero-height: clamp(196px, 47vw, 244px);
    grid-template-rows: minmax(var(--lve-nov-hero-height), auto) auto auto;
    margin-top: 10px;
  }

  body.lvemx.lvemx-next.lveapp.lvemx-city.lvemx-nov .lvep-home[data-lvemx-nov-home] .lvep-hero[data-lvemx-city-home] .lvep-picture {
    height: auto;
    min-height: var(--lve-nov-hero-height);
    border-radius: 16px;
  }

  body.lvemx.lvemx-next.lveapp.lvemx-city.lvemx-nov .lvep-home[data-lvemx-nov-home] .lvep-hero[data-lvemx-city-home] .lvep-picture::after {
    background: linear-gradient(180deg, #06132312 0%, #06132384 44%, #061323f0 100%);
  }

  body.lvemx.lvemx-next.lveapp.lvemx-city.lvemx-nov .lvep-home[data-lvemx-nov-home] .lvemx-city-heading {
    padding: 16px;
  }

  body.lvemx.lvemx-next.lveapp.lvemx-city.lvemx-nov .lvep-home[data-lvemx-nov-home] .lvep-hero[data-lvemx-city-home] .lvep-intro {
    font-size: .875rem;
  }

  body.lvemx.lvemx-next.lveapp.lvemx-city.lvemx-nov .lvep-home[data-lvemx-nov-home] .lvep-hero[data-lvemx-city-home] .lvep-search {
    margin-top: 10px;
  }

  body.lvemx.lvemx-next.lveapp.lvemx-city.lvemx-nov .lvep-home[data-lvemx-nov-home] .lvep-search > div {
    flex-wrap: nowrap;
  }

  body.lvemx.lvemx-next.lveapp.lvemx-city.lvemx-nov .lvep-home[data-lvemx-nov-home] .lvep-search input {
    flex: 1 1 0;
    min-width: 0;
  }

  body.lvemx.lvemx-next.lveapp.lvemx-city.lvemx-nov .lvep-home[data-lvemx-nov-home] .lvep-search button {
    flex: 0 0 auto;
    width: auto;
    min-width: 68px;
    min-height: 44px;
    padding-inline: 10px;
    background: var(--lve-nov-gold);
    color: var(--lve-nov-ink);
  }

  body.lvemx.lvemx-next.lveapp.lvemx-city.lvemx-nov .lvep-home[data-lvemx-nov-home] .lvemx-intents {
    gap: 6px;
    margin-top: 8px;
  }

  body.lvemx.lvemx-next.lveapp.lvemx-city.lvemx-nov .lvep-home[data-lvemx-nov-home] .lvemx-intents :is(a, button) {
    min-height: 44px;
    padding: 6px;
    border-radius: 10px;
  }

  body.lvemx.lvemx-next.lveapp.lvemx-city.lvemx-nov .lvep-home[data-lvemx-nov-home] .lvemx-intents [data-lvemx-open] {
    border-color: #ead29b;
    background: #fff3d2;
  }

  body.lvemx.lvemx-next.lveapp.lvemx-city.lvemx-nov .lvep-home[data-lvemx-nov-home] .lvemx-intents svg {
    width: 16px;
    height: 16px;
  }

  body.lvemx.lvemx-next.lveapp.lvemx-city.lvemx-nov .lvep-home[data-lvemx-nov-home] .lvemx-sections {
    margin-block: 0 12px;
  }

  body.lvemx.lvemx-next.lveapp.lvemx-city.lvemx-nov .lvep-home[data-lvemx-nov-home] .lveapp-today {
    margin-bottom: 0;
    padding: 0 16px;
  }

  body.lvemx.lvemx-next.lveapp.lvemx-city.lvemx-nov .lvep-home[data-lvemx-nov-home] .lveapp-today-head {
    min-width: 0;
    align-items: center;
  }

  body.lvemx.lvemx-next.lveapp.lvemx-city.lvemx-nov .lvep-home[data-lvemx-nov-home] .lveapp-today h2 {
    font-size: clamp(1.125rem, 4.65vw, 1.45rem);
  }

  /* Keep daily data in one row with the next tile visible on narrow phones. */
  body.lvemx.lvemx-next.lveapp.lvemx-city.lvemx-nov .lvep-home[data-lvemx-nov-home] .lveapp-today-rail {
    grid-template-columns: none;
    grid-auto-flow: column;
    grid-auto-columns: clamp(150px, 47%, 205px);
    gap: 8px;
    width: 100%;
    max-width: 100%;
    margin-top: 4px;
    padding: 4px 3px 8px;
    overflow-x: auto;
    scroll-snap-type: x proximity;
    scroll-padding-left: 3px;
    overscroll-behavior-inline: contain;
    box-sizing: border-box;
  }

  body.lvemx.lvemx-next.lveapp.lvemx-city.lvemx-nov .lvep-home[data-lvemx-nov-home] .lveapp-today-rail > li {
    scroll-snap-align: start;
  }

  body.lvemx.lvemx-next.lveapp.lvemx-city.lvemx-nov .lvep-home[data-lvemx-nov-home] .lveapp-tile {
    min-height: 0;
    padding: 9px;
    border-radius: 12px;
  }

  body.lvemx.lvemx-next.lveapp.lvemx-city.lvemx-nov .lvep-home[data-lvemx-nov-home] .lveapp-tile strong {
    font-size: .9375rem;
    line-height: 1.25;
  }

  body.lvemx.lvemx-next.lveapp.lvemx-city.lvemx-nov .lvep-home[data-lvemx-nov-home] .lvemx-city-spotlights {
    margin-block: 22px;
  }

  body.lvemx.lvemx-next.lveapp.lvemx-city.lvemx-nov .lvep-home[data-lvemx-nov-home] .lvemx-city-section-head {
    margin-bottom: 10px;
  }

  body.lvemx.lvemx-next.lveapp.lvemx-city.lvemx-nov .lvep-home[data-lvemx-nov-home] .lvemx-city-card-media {
    aspect-ratio: 16 / 10;
  }

  body.lvemx.lvemx-next.lveapp.lvemx-city.lvemx-nov .lvep-home[data-lvemx-nov-home] .lvemx-city-card-copy {
    padding: 10px;
  }

  body.lvemx.lvemx-next.lveapp.lvemx-city.lvemx-nov .lvep-home[data-lvemx-nov-home] .lvemx-city-card-copy h3 {
    margin-bottom: 4px;
    font-size: 1.0625rem;
  }

  body.lvemx.lvemx-next.lveapp.lvemx-city.lvemx-nov .lvep-home[data-lvemx-nov-home] .lvemx-fresh {
    margin-top: 22px;
  }

  body.lvemx.lvemx-next.lveapp.lvemx-city.lvemx-nov .lvep-home[data-lvemx-nov-home] .lvemx-fresh-grid {
    margin-top: 8px;
  }

  body.lvemx.lvemx-next.lveapp.lvemx-city.lvemx-nov .lvep-home[data-lvemx-nov-home] .lvemx-fresh-grid .voy-guide-card.lvemx-fresh-card {
    min-height: 0;
  }

  body.lvemx.lvemx-next.lveapp.lvemx-city.lvemx-nov .lvep-home[data-lvemx-nov-home] .lvemx-fresh-image {
    height: 106px;
  }

  body.lvemx.lvemx-next.lveapp.lvemx-city.lvemx-nov .lvep-home[data-lvemx-nov-home] .lvemx-fresh-copy {
    padding: 11px;
  }

  /* The controls communicate swipe position when the existing shelf script loads. */
  body.lvemx.lvemx-next.lveapp.lvemx-city.lvemx-nov .lvep-home[data-lvemx-nov-home] .lvemx-fresh:has(.lvemx-shelf-tools:not([hidden])) .lvemx-city-swipe-note {
    display: none;
  }

  body.lvemx.lvemx-next.lveapp.lvemx-city.lvemx-nov .lvep-home[data-lvemx-nov-home] .lvemx-audiences {
    margin-block: 20px 12px;
  }

  body.lvemx.lvemx-next.lveapp.lvemx-city.lvemx-nov .lvep-home[data-lvemx-nov-home] .lvemx-audiences > a {
    min-height: 96px;
    padding: 11px;
  }

  body.lvemx.lvemx-next.lveapp.lvemx-city.lvemx-nov .lvep-home[data-lvemx-nov-home] .lvemx-audiences .lvemx-audience-arrow {
    position: static;
    margin-top: auto;
    align-self: flex-end;
  }

  body.lvemx.lvemx-next.lveapp.lvemx-city.lvemx-nov .lvep-home[data-lvemx-nov-home] .lvemx-city-fold {
    margin-block: 12px;
    scroll-margin-top: 154px;
  }

  body.lvemx.lvemx-next.lveapp.lvemx-city.lvemx-nov .lvep-home[data-lvemx-nov-home] .lvemx-city-fold > summary {
    min-height: 54px;
    padding: 9px 12px;
  }

  body.lvemx.lvemx-next.lveapp.lvemx-city.lvemx-nov .lvep-home[data-lvemx-nov-home] .lvep-plan {
    margin-block: 12px;
    padding: 16px;
    background: var(--lve-nov-navy);
    border-radius: 14px;
  }

  body.lvemx.lvemx-next.lveapp.lvemx-city.lvemx-nov .lvep-home[data-lvemx-nov-home] .lvep-plan h2 {
    margin-bottom: 8px;
    font-size: 1.625rem;
  }

  body.lvemx.lvemx-next.lveapp.lvemx-city.lvemx-nov .lvep-home[data-lvemx-nov-home] .lvep-plan h2 br {
    display: none;
  }

  body.lvemx.lvemx-next.lveapp.lvemx-city.lvemx-nov .lvep-home[data-lvemx-nov-home] .lvep-plan h2 em::before {
    content: ' ';
  }

  body.lvemx.lvemx-next.lveapp.lvemx-city.lvemx-nov .lvep-home[data-lvemx-nov-home] .lvep-plan p {
    margin-bottom: 10px;
    font-size: .875rem;
    line-height: 1.45;
  }

  body.lvemx.lvemx-next.lveapp.lvemx-city.lvemx-nov .lvep-home[data-lvemx-nov-home] .lvep-plan .lvep-note {
    margin: 8px 0 0;
    font-size: .75rem;
  }

  body.lvemx.lvemx-next.lveapp.lvemx-city.lvemx-nov .lvep-home[data-lvemx-nov-home] .lvep-plan .lvemx-plan-steps {
    margin: 12px 0 0;
  }

  body.lvemx.lvemx-next.lveapp.lvemx-city.lvemx-nov .lvep-home[data-lvemx-nov-home] .lvep-plan .lvemx-plan-steps > summary {
    min-height: 44px;
    padding: 6px 12px;
  }

  body.lvemx.lvemx-next.lveapp.lvemx-city.lvemx-nov .lvep-home[data-lvemx-nov-home] .lvep-plan .lvemx-plan-steps :is(h3, p, li > span) {
    color: var(--lve-nov-ink);
  }

  body.lvemx.lvemx-next.lveapp.lvemx-city.lvemx-nov .lvep-home[data-lvemx-nov-home] #retoma-vegas {
    gap: 8px;
    margin-block: 12px 20px;
    padding: 14px;
  }

  body.lvemx.lvemx-next.lveapp.lvemx-city.lvemx-nov .lvep-home[data-lvemx-nov-home] #retoma-vegas h2 {
    margin-bottom: 4px;
    font-size: 1.25rem;
  }

  body.lvemx.lvemx-next.lveapp.lvemx-city.lvemx-nov .lvep-home[data-lvemx-nov-home] #retoma-vegas .lvemx-continuity-actions > :is(a, button) {
    min-height: 44px;
    padding: 7px 10px;
    font-size: .8125rem;
  }

  body.lvemx.lvemx-next.lveapp.lvemx-city.lvemx-nov .lvep-home[data-lvemx-nov-home] #descubre {
    box-sizing: border-box;
    min-width: 0;
    padding-block: 22px;
  }

  body.lvemx.lvemx-next.lveapp.lvemx-city.lvemx-nov .lvep-home[data-lvemx-nov-home] #descubre .lvep-catalog-bar {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 12px;
    margin-bottom: 12px;
    padding: 10px 12px;
  }

  body.lvemx.lvemx-next.lveapp.lvemx-city.lvemx-nov .lvep-home[data-lvemx-nov-home] #descubre .lvep-catalog-bar p {
    flex: 1 1 130px;
    font-size: .875rem;
    line-height: 1.4;
  }

  body.lvemx.lvemx-next.lveapp.lvemx-city.lvemx-nov .lvep-home[data-lvemx-nov-home] #descubre .lvep-catalog-bar a {
    min-height: 44px;
    padding: 8px 12px;
  }

  body.lvemx.lvemx-next.lveapp.lvemx-city.lvemx-nov .lvep-home[data-lvemx-nov-home] #descubre :is(.lve2-experiences, .lve2-catalog-preview, .lve2-experience-grid, .lve2-preview-grid) {
    box-sizing: border-box;
    min-width: 0;
    max-width: 100%;
  }

  body.lvemx.lvemx-next.lveapp.lvemx-city.lvemx-nov .lvep-home[data-lvemx-nov-home] #descubre :is(.lve2-experience-image, .lve2-catalog-image) {
    height: clamp(106px, 28vw, 152px);
    aspect-ratio: auto;
  }

  body.lvemx.lvemx-next.lveapp.lvemx-city.lvemx-nov .lvep-home[data-lvemx-nov-home] #descubre :is(.lve2-experience-copy, .lve2-catalog-card-body) {
    padding: 12px;
  }

  body.lvemx.lvemx-next.lveapp.lvemx-city.lvemx-nov .lvep-home[data-lvemx-nov-home] #descubre .lve2-catalog-preview {
    margin-top: 20px;
    padding: 12px;
  }

  body.lvemx.lvemx-next.lveapp.lvemx-city.lvemx-nov .lvep-home[data-lvemx-nov-home] #descubre :is(.lve2-preview-heading, .lve2-experience-filters) {
    margin-bottom: 8px;
  }

  body.lvemx.lvemx-next.lveapp.lvemx-city.lvemx-nov .lvep-home[data-lvemx-nov-home] #descubre :is(.lve2-experience-filters button, .lve2-catalog-actions a) {
    min-height: 44px;
  }
}

@media (max-width: 560px) {
  body.lvemx.lvemx-next.lveapp.lvemx-city.lvemx-nov .lvep-home .lvemx-nov-topics a {
    flex-direction: column;
    gap: 4px;
    padding: 5px 3px;
  }

  body.lvemx.lvemx-next.lveapp.lvemx-city.lvemx-nov .lvep-home .lvemx-nov-answer-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
  }

}

@media (prefers-reduced-motion: reduce) {
  body.lvemx.lvemx-next.lveapp.lvemx-city.lvemx-nov .lvep-home[data-lvemx-nov-home] .lveapp-today-rail {
    scroll-behavior: auto;
    scroll-snap-type: none;
  }
}

@media (forced-colors: active) {
  body.lvemx.lvemx-next.lveapp.lvemx-city.lvemx-nov .lvep-home :is(.lvemx-nov-topics a, .lvemx-nov-answers a, .lvemx-nov-answer summary):focus-visible {
    outline-color: Highlight;
  }
}
