/* LVE 2.5: a phone-first city guide, with native content and navigation. */
body.lvemx.lvemx-next.lveapp.lvemx-city .lvep-home .lvemx-city-heading { display: contents; }
body.lvemx.lvemx-next.lveapp.lvemx-city .lvep-home .lvemx-city-swipe-note { display: none; }
body.lvemx.lvemx-next.lveapp.lvemx-city .lvep-home :is(.lvemx-city-spotlights,.lvemx-city-fold),
body.lvemx.lvemx-next.lveapp.lvemx-city .lvep-home :is(.lvemx-city-spotlights,.lvemx-city-fold) * { box-sizing: border-box; }
body.lvemx.lvemx-next.lveapp.lvemx-city .lvep-home .lvemx-city-spotlights {
  width: min(calc(100% - 64px),1200px); margin: 36px auto; padding: 0;
  color: #111d2d; font-family: Arial,Helvetica,sans-serif;
  scroll-margin-top: 120px;
}
body.lvemx.lvemx-next.lveapp.lvemx-city .lvep-home .lvemx-city-section-head { margin-bottom: 16px; }
body.lvemx.lvemx-next.lveapp.lvemx-city .lvep-home .lvemx-city-section-head h2 { margin: 4px 0 0; font:750 clamp(1.6rem,3vw,2.3rem)/1.15 Arial,Helvetica,sans-serif; letter-spacing: -.04em; }
body.lvemx.lvemx-next.lveapp.lvemx-city .lvep-home .lvemx-city-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; padding:0; margin:0; list-style:none; }
body.lvemx.lvemx-next.lveapp.lvemx-city .lvep-home .lvemx-city-grid > li { min-width:0; margin:0; }
body.lvemx.lvemx-next.lveapp.lvemx-city .lvep-home .lvemx-city-grid .lvem-saveable { height:100%; }
body.lvemx.lvemx-next.lveapp.lvemx-city .lvep-home .lvemx-city-card {
  display:flex; flex-direction:column; width:100%; min-width:0; height:100%; padding:0; overflow:hidden;
  background:#fff; color:#111d2d; border:1px solid #dce1e8; border-radius:18px;
  text-decoration:none; box-shadow:0 3px 16px #10203408;
}
body.lvemx.lvemx-next.lveapp.lvemx-city .lvep-home .lvemx-city-card:hover { border-color:#536b8f; }
body.lvemx.lvemx-next.lveapp.lvemx-city .lvep-home .lvemx-city-card-media { display:block; flex:0 0 auto; position:relative; aspect-ratio:16/9; overflow:hidden; background:#13243b; }
body.lvemx.lvemx-next.lveapp.lvemx-city .lvep-home .lvemx-city-card-media img { display:block; width:100%; height:100%; margin:0; object-fit:cover; }
body.lvemx.lvemx-next.lveapp.lvemx-city .lvep-home .lvemx-city-image-note { position:absolute; left:10px; bottom:10px; padding:4px 7px; border-radius:5px; background:#0c1729e8; color:#fff; font:500 .6875rem/1.4 Arial,Helvetica,sans-serif; }
body.lvemx.lvemx-next.lveapp.lvemx-city .lvep-home .lvemx-city-card-copy { display:flex; flex:1 1 auto; flex-direction:column; padding:20px; }
body.lvemx.lvemx-next.lveapp.lvemx-city .lvep-home .lvemx-city-card-copy h3 { margin:0 0 8px; font:750 1.5rem/1.15 Arial,Helvetica,sans-serif; letter-spacing:-.04em; color:#111d2d; }
body.lvemx.lvemx-next.lveapp.lvemx-city .lvep-home .lvemx-city-card-copy p { margin:0 0 14px; flex:1 1 auto; font:400 1rem/1.5 Arial,Helvetica,sans-serif; color:#526071; }
body.lvemx.lvemx-next.lveapp.lvemx-city .lvep-home .lvemx-city-card-action { display:flex; align-items:center; justify-content:space-between; min-height:44px; font:700 .875rem/1.35 Arial,Helvetica,sans-serif; color:#2346ce; }
body.lvemx.lvemx-next.lveapp.lvemx-city .lvep-home .lvemx-city-fold { width:min(calc(100% - 64px),1200px); margin:30px auto; padding:0; border:1px solid #dce1e8; border-radius:16px; background:#fff; color:#111d2d; scroll-margin-top:120px; }
body.lvemx.lvemx-next.lveapp.lvemx-city .lvep-home .lvemx-city-fold > summary { display:flex; gap:12px; align-items:center; justify-content:space-between; min-height:76px; padding:16px 20px; list-style:none; cursor:pointer; }
body.lvemx.lvemx-next.lveapp.lvemx-city .lvep-home .lvemx-city-fold > summary::-webkit-details-marker { display:none; }
body.lvemx.lvemx-next.lveapp.lvemx-city .lvep-home .lvemx-city-fold > summary strong { display:block; font:700 1rem/1.3 Arial,Helvetica,sans-serif; }
body.lvemx.lvemx-next.lveapp.lvemx-city .lvep-home .lvemx-city-fold > summary small { display:block; margin-top:4px; font:400 .8125rem/1.4 Arial,Helvetica,sans-serif; color:#526071; }
body.lvemx.lvemx-next.lveapp.lvemx-city .lvep-home .lvemx-city-fold-chevron { flex:0 0 9px; width:9px; height:9px; margin-right:4px; border:solid #111d2d; border-width:0 2px 2px 0; transform:rotate(45deg); }
body.lvemx.lvemx-next.lveapp.lvemx-city .lvep-home .lvemx-city-fold[open] .lvemx-city-fold-chevron { transform:rotate(225deg); }
body.lvemx.lvemx-next.lveapp.lvemx-city .lvep-home .lvemx-city-fold > .lvep-start { width:100%; margin:0; }
body.lvemx.lvemx-next.lveapp.lvemx-city .lvep-home :is(.lvemx-city-card,.lvemx-city-fold > summary):focus-visible { outline:3px solid #2346ce; outline-offset:4px; }

@media (max-width:900px) {
  /* Preserve the owner's brand and controls; reserve space for each tap. */
  body.lvemx-city-ui .lve2-nav-row { min-height:70px; padding-top:8px; padding-bottom:8px; }
  body.lvemx-city-ui .lve2-header :is(.lveapp-search-open,.wp-block-navigation__responsive-container-open,.wp-block-navigation__responsive-container-close) { min-width:44px; min-height:44px; }
  body.lvemx-city-ui .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { display:flex; align-items:center; min-height:46px; }
  body.lvemx-city-ui .lvem-nav { border-top:1px solid #dce1e8; box-shadow:0 -3px 20px #13243b0a; }
  body.lvemx-city-ui .lvem-nav-item { min-height:56px; }
  body.lvemx-city-ui :is(.lveapp-search-input,.lvep-search input,.lvc-filters input,.lve2-catalog-search input) { font-size:16px; }
  body.lvemx-city-ui :is(main section[id],main h2[id],main h3[id]) { scroll-margin-top:120px; }

  body.lvemx.lvemx-next.lveapp.lveapp-hero.lvemx-city .lvep-home .lvep-hero[data-lvemx-city-home] {
    display:grid; grid-template-columns:minmax(0,1fr); grid-template-rows:220px auto auto;
    gap:0; width:calc(100% - 32px); margin:14px auto 0; padding:0;
    overflow:visible; border:0; border-radius:20px; background:none; isolation:isolate;
  }
  body.lvemx.lvemx-next.lveapp.lveapp-hero.lvemx-city .lvep-home .lvep-hero[data-lvemx-city-home] .lvep-hero-copy { display:contents; }
  body.lvemx.lvemx-next.lveapp.lveapp-hero.lvemx-city .lvep-home .lvep-hero[data-lvemx-city-home] .lvep-picture {
    display:block; position:relative; inset:auto; grid-column:1; grid-row:1;
    width:100%; height:220px; min-height:220px; max-height:none; margin:0;
    overflow:hidden; border:0; border-radius:20px; background:#12253b;
    z-index:0;
  }
  body.lvemx.lvemx-next.lveapp.lveapp-hero.lvemx-city .lvep-home .lvep-hero[data-lvemx-city-home] .lvep-picture :is(picture,img) { display:block; position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:55% 48%; }
  body.lvemx.lvemx-next.lveapp.lveapp-hero.lvemx-city .lvep-home .lvep-hero[data-lvemx-city-home] .lvep-picture::after { content:''; display:block; position:absolute; inset:0; background:linear-gradient(180deg,#06132310 0%,#06132385 45%,#061323ed 100%); z-index:1; pointer-events:none; }
  body.lvemx.lvemx-next.lveapp.lveapp-hero.lvemx-city .lvep-home .lvep-hero[data-lvemx-city-home] .lvep-picture figcaption { display:none; }
  body.lvemx.lvemx-next.lveapp.lveapp-hero.lvemx-city .lvep-home .lvemx-city-heading { display:flex; flex-direction:column; justify-content:flex-end; grid-column:1; grid-row:1; z-index:2; padding:22px; min-width:0; }
  body.lvemx.lvemx-next.lveapp.lveapp-hero.lvemx-city .lvep-home .lvep-hero[data-lvemx-city-home] .lvep-kicker { color:#ffe59b; margin:0 0 8px; font-size:.625rem; letter-spacing:.1em; }
  body.lvemx.lvemx-next.lveapp.lveapp-hero.lvemx-city .lvep-home .lvep-hero[data-lvemx-city-home] h1 { color:#fff; font-size:clamp(1.95rem,8.5vw,2.35rem); line-height:1.04; letter-spacing:-.045em; margin:0 0 9px; max-width:10ch; text-wrap:balance; }
  body.lvemx.lvemx-next.lveapp.lveapp-hero.lvemx-city .lvep-home .lvep-hero[data-lvemx-city-home] .lvep-intro { color:#fff; margin:0; font-size:.9375rem; line-height:1.4; }
  body.lvemx.lvemx-next.lveapp.lvemx-city .lvep-home .lvep-hero[data-lvemx-city-home] .lvep-search { grid-column:1; grid-row:2; margin:16px 0 0; }
  body.lvemx.lvemx-next.lveapp.lvemx-city .lvep-home .lvep-hero[data-lvemx-city-home] .lvep-search > div { border-radius:14px; border-color:#b5c1d2; box-shadow:0 2px 8px #182b4606; }
  body.lvemx.lvemx-next.lvemx-city .lvep-home .lvemx-intents { grid-column:1; grid-row:3; margin:12px 0 0; gap:8px; }
  body.lvemx.lvemx-next.lvemx-city .lvep-home .lvemx-intents :is(a,button) { border-radius:13px; min-height:46px; }
  body.lvemx.lvemx-next.lvemx-city .lvemx-sections { margin-top:20px; margin-bottom:12px; }
  body.lvemx.lvemx-next.lveapp.lvemx-city .lvep-home .lveapp-today { padding:0 16px; margin-top:0; }
  body.lvemx.lvemx-next.lveapp.lvemx-city .lvep-home .lveapp-today-rail { gap:10px; }
  body.lvemx.lvemx-next.lveapp.lvemx-city .lvep-home .lveapp-tile { min-height:120px; padding:12px; border-radius:15px; }
  body.lvemx.lvemx-next.lveapp.lvemx-city .lvep-home .lveapp-tile-v { font-size:1.05rem; line-height:1.25; }
  body.lvemx.lvemx-next.lveapp.lvemx-city .lvep-home .lveapp-tile-d { font-size:.75rem; line-height:1.4; }
  body.lvemx.lvemx-next.lvemx-city .lvep-home .lvemx-audiences { margin-top:24px; gap:10px; }
  body.lvemx.lvemx-next.lvemx-city .lvep-home .lvemx-audiences a { padding:16px 12px; border-radius:15px; min-height:142px; }
  body.lvemx.lvemx-next.lvemx-city .lvep-home .lvemx-audiences strong { font-size:1.05rem; line-height:1.2; }
  body.lvemx.lvemx-next.lvemx-city .lvep-home .lvemx-audiences p { font-size:.8125rem; line-height:1.4; }

  body.lvemx.lvemx-next.lveapp.lvemx-city .lvep-home .lvemx-city-spotlights { width:calc(100% - 32px); margin:30px auto; }
  body.lvemx.lvemx-next.lveapp.lvemx-city .lvep-home .lvemx-city-section-head h2 { font-size:1.625rem; }
  body.lvemx.lvemx-next.lveapp.lvemx-city .lvep-home .lvemx-city-grid { gap:12px; }
  body.lvemx.lvemx-next.lveapp.lvemx-city .lvep-home .lvemx-city-card { border-radius:16px; }
  body.lvemx.lvemx-next.lveapp.lvemx-city .lvep-home .lvemx-city-card-media { aspect-ratio:4/3; }
  body.lvemx.lvemx-next.lveapp.lvemx-city .lvep-home .lvemx-city-image-note { font-size:.5625rem; left:6px; bottom:6px; padding:3px 5px; }
  body.lvemx.lvemx-next.lveapp.lvemx-city .lvep-home .lvemx-city-card-copy { padding:12px; }
  body.lvemx.lvemx-next.lveapp.lvemx-city .lvep-home .lvemx-city-card-copy h3 { font-size:1.15rem; line-height:1.18; }
  body.lvemx.lvemx-next.lveapp.lvemx-city .lvep-home .lvemx-city-card-copy p { margin:0 0 4px; font-size:.8125rem; line-height:1.4; }
  body.lvemx.lvemx-next.lveapp.lvemx-city .lvep-home .lvemx-city-card-action { font-size:.75rem; line-height:1.3; min-height:44px; }
  body.lvemx.lvemx-next.lveapp.lvemx-city .lvep-home .lvemx-city-grid .lvem-save { right:8px; top:8px; min-width:44px; min-height:44px; }

  /* Four latest articles stay in initial HTML; a visible next-card edge invites swiping. */
  body.lvemx.lvemx-next.lvemx-city .lvep-home .lvemx-fresh { margin-top:28px; }
  body.lvemx.lvemx-next.lveapp.lvemx-city .lvep-home .lvemx-city-swipe-note { display:block; margin:8px 0 0; color:#2346ce; font:600 .75rem/1.4 Arial,Helvetica,sans-serif; }
  body.lvemx.lvemx-next.lvemx-city .lvep-home .lvemx-fresh-grid { display:flex !important; gap:12px; width:100%; margin:16px 0 0; padding:0 2px 12px; overflow-x:auto; overflow-y:visible; scroll-snap-type:x proximity; scroll-padding-left:2px; overscroll-behavior-inline:contain; }
  body.lvemx.lvemx-next.lvemx-city .lvep-home .lvemx-fresh-grid > li { flex:0 0 82%; min-width:0; max-width:310px; margin:0; scroll-snap-align:start; }
  body.lvemx.lvemx-next.lvemx-city .lvep-home .lvemx-fresh-grid .lvem-saveable { height:100%; }
  body.lvemx.lvemx-next.lvemx-city .lvep-home .lvemx-fresh-card { display:flex; flex-direction:column; justify-content:flex-start; gap:0; width:100%; min-width:0; min-height:340px; height:100%; padding:0; border:1px solid #dce1e8; border-radius:16px; background:#fff; overflow:hidden; }
  body.lvemx.lvemx-next.lvemx-city .lvep-home .lvemx-fresh-image { display:block; flex:0 0 auto; width:100%; height:140px; max-height:none; border-radius:0; object-fit:cover; }
  body.lvemx.lvemx-next.lvemx-city .lvep-home .lvemx-fresh-copy { display:block; padding:14px; }
  body.lvemx.lvemx-next.lvemx-city .lvep-home .lvemx-fresh-copy h3 { margin:7px 0; font-size:1rem; line-height:1.3; letter-spacing:-.015em; }
  body.lvemx.lvemx-next.lvemx-city .lvep-home .lvemx-fresh-copy p { margin:0; font-size:.8125rem; line-height:1.45; }
  body.lvemx.lvemx-next.lvemx-city .lvep-home .lvemx-fresh-grid .lvem-save { top:8px; right:8px; min-height:44px; min-width:60px; background:#fff; }
  body.lvemx.lvemx-next.lveapp.lvemx-city .lvep-home .lvemx-city-fold { width:calc(100% - 32px); margin:24px auto; }
  body.lvemx.lvemx-next.lveapp.lvemx-city .lvep-home .lvemx-city-fold > summary { padding:16px; }
  body.lvemx.lvemx-next.lveapp.lvemx-city .lvep-home .lvemx-city-fold > .lvep-start { padding:20px 16px; }
  body.lvemx.lvemx-next.lveapp.lvemx-city .lvep-home :is(.lvep-plan,.lvep-trust,.lveh-essentials,.voy-contact) { padding-top:28px; padding-bottom:28px; }
  body.lvemx.lvemx-next.lveapp.lvemx-city .lvep-home .lvep-plan { display:block; }
  body.lvemx.lvemx-next.lveapp.lvemx-city .lvep-home .lvep-plan h2 { font-size:1.875rem; }
  body.lvemx.lvemx-next.lveapp.lvemx-city .lvep-home .lvep-plan ol { gap:10px; }
  body.lvemx.lvemx-next.lveapp.lvemx-city .lvep-home .lvep-plan ol li { padding:12px 16px; }
  body.lvemx.lvemx-next.lveapp.lvemx-city .lvep-home .lvep-plan ol li h3 { font-size:1rem; }
  body.lvemx.lvemx-next.lveapp.lvemx-city .lvep-home .lvep-plan ol li p { font-size:.875rem; }
  body.lvemx.lvemx-next.lveapp.lvemx-city .lvep-home .lvemx-continuity { margin-top:24px; padding:20px; }
}

@media (prefers-reduced-motion:reduce) {
  body.lvemx-city-ui { scroll-behavior:auto; }
  body.lvemx-city-ui :is(.lvemx-city-card,.lvemx-fresh-grid) { scroll-behavior:auto; transition:none; }
}
