/* NIGHTSHOT V3.3 — mobile/tablet Home correction
   Keeps the desktop design intact and fixes iPhone/Android composition. */

@media (max-width: 760px){
  html,body{overflow-x:hidden!important}
  body{background:#050610!important}

  /* HERO: compact, no giant empty black band */
  body .hero{
    min-height:0!important;
    height:auto!important;
    display:block!important;
    align-items:initial!important;
    padding:24px 0 22px!important;
    background-image:
      linear-gradient(180deg,rgba(4,5,15,.28) 0%,rgba(7,5,18,.46) 58%,rgba(6,6,16,.92) 100%),
      radial-gradient(90% 70% at 78% 15%,rgba(255,37,177,.19),transparent 68%),
      radial-gradient(85% 70% at 12% 42%,rgba(47,105,255,.18),transparent 70%),
      linear-gradient(180deg,#050611 0%,#070817 58%,#05050e 100%)!important;
    background-size:cover!important;
    background-position:center 28%!important;
  }
  body .hero::before{
    inset:0!important;
    opacity:.72!important;
    filter:none!important;
  }
  body .hero-inner{
    width:calc(100% - 28px)!important;
    max-width:none!important;
    margin:0 auto!important;
    padding:0!important;
  }
  body .hero .eyebrow{
    margin:0 0 10px!important;
    font-size:.58rem!important;
    line-height:1.3!important;
    letter-spacing:.20em!important;
  }
  body .hero h1{
    width:100%!important;
    max-width:100%!important;
    margin:0 0 12px!important;
    font-size:clamp(2.65rem,14.5vw,4.25rem)!important;
    line-height:.80!important;
    letter-spacing:-.055em!important;
  }
  body .hero h1 span,
  body .hero h1 strong{white-space:normal!important}
  body .hero-subtitle{
    margin:0!important;
    font-size:.66rem!important;
    line-height:1.35!important;
    letter-spacing:.12em!important;
  }

  /* FILTERS: part of the flow, never floating over the next section */
  body .search-shell{
    position:relative!important;
    z-index:12!important;
    width:100%!important;
    max-width:100%!important;
    margin:18px 0 0!important;
    padding:0!important;
  }
  body .search-panel,
  body .ns-filters-panel{
    position:relative!important;
    inset:auto!important;
    top:auto!important;
    left:auto!important;
    right:auto!important;
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:12px!important;
    border-radius:18px!important;
    background:linear-gradient(135deg,rgba(11,12,31,.90),rgba(25,8,31,.84))!important;
    box-shadow:0 18px 44px rgba(0,0,0,.24)!important;
    backdrop-filter:blur(12px)!important;
    -webkit-backdrop-filter:blur(12px)!important;
  }
  body .filters-grid{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:9px!important;
    margin-top:0!important;
  }
  body .filters-grid .filter-control:first-child{
    grid-column:1 / -1!important;
  }
  body .filter-control label{
    margin:0 0 5px 2px!important;
    font-size:.54rem!important;
    letter-spacing:.13em!important;
  }
  body .filter-input,
  body .filter-select{
    height:44px!important;
    min-height:44px!important;
    padding:0 12px!important;
    border-radius:12px!important;
    font-size:16px!important;
  }
  body .filter-actions{margin-top:9px!important}
  body .filter-reset{min-height:34px!important;font-size:.56rem!important}

  /* EVENT SECTION: starts immediately and uses the phone screen well */
  body .events-section{
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:30px 0 38px!important;
  }
  body .events-section .section-head{
    width:calc(100% - 28px)!important;
    margin:0 auto 12px!important;
    padding:0!important;
    align-items:flex-end!important;
  }
  body .events-section .section-kicker{
    font-size:.55rem!important;
    letter-spacing:.18em!important;
  }
  body .events-section .section-head h2{
    margin-top:5px!important;
    font-size:clamp(2.35rem,12vw,3.5rem)!important;
    line-height:.84!important;
  }
  body .section-count{font-size:.55rem!important;max-width:100px!important;text-align:right!important}

  body .events-carousel-viewport{
    width:100%!important;
    padding:6px 0 14px!important;
    overflow:hidden!important;
  }
  body .events-carousel{
    gap:12px!important;
    padding-left:6vw!important;
    padding-right:6vw!important;
  }
  body .event-card,
  body .event-card.is-current,
  body .event-card.is-prev,
  body .event-card.is-next{
    flex:0 0 88vw!important;
    width:88vw!important;
    max-width:88vw!important;
  }
  body .event-card{opacity:.34!important;transform:scale(.96)!important}
  body .event-card.is-prev,
  body .event-card.is-next{opacity:.55!important;transform:scale(.975)!important}
  body .event-card.is-current{opacity:1!important;transform:scale(1)!important}

  /* Portrait flyers should look like flyers, not tiny images inside a 16:9 box */
  body .event-media{
    width:100%!important;
    aspect-ratio:4 / 5!important;
    min-height:0!important;
    max-height:none!important;
    border-radius:18px!important;
    background:radial-gradient(circle at 50% 45%,rgba(92,44,129,.22),rgba(7,7,13,.92) 72%)!important;
  }
  body .event-media img{
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
    object-position:center!important;
    background:transparent!important;
  }
  body .event-info{
    padding:11px 4px 0!important;
    text-align:center!important;
  }
  body .event-info h3{
    margin:4px 0!important;
    font-size:1.08rem!important;
    line-height:1.08!important;
  }
  body .event-date,
  body .event-info p,
  body .event-address{font-size:.67rem!important}

  body .carousel-nav{
    width:40px!important;
    height:40px!important;
    border-radius:50%!important;
    background:rgba(6,7,15,.76)!important;
    border:1px solid rgba(255,255,255,.13)!important;
  }
  body .carousel-prev{left:12px!important}
  body .carousel-next{right:12px!important}
  body .ns-progress{width:34vw!important;bottom:0!important}

  /* Locali + promo + portfolio: sane mobile spacing */
  body .ns-venues,
  body .ns-promo,
  body .ns-home-portfolio{
    width:calc(100% - 28px)!important;
    max-width:none!important;
  }
  body .ns-venues{margin-top:48px!important}
  body .ns-venue-rail{grid-auto-columns:82vw!important;gap:12px!important}
  body .ns-promo{margin:56px auto!important;padding:28px 20px!important}
  body .ns-home-portfolio{margin-bottom:72px!important;padding:20px 14px!important}
}

@media (max-width: 390px){
  body .hero{padding-top:20px!important}
  body .hero h1{font-size:clamp(2.45rem,14vw,3.75rem)!important}
  body .event-card,
  body .event-card.is-current,
  body .event-card.is-prev,
  body .event-card.is-next{flex-basis:90vw!important;width:90vw!important;max-width:90vw!important}
  body .events-carousel{padding-left:5vw!important;padding-right:5vw!important}
}

@media (min-width:761px) and (max-width:1024px){
  body .hero{min-height:430px!important;padding-top:70px!important}
  body .search-panel{position:relative!important;top:auto!important}
  body .event-media{aspect-ratio:16/10!important}
}

/* =========================================================
   V3.4 — LOCALI MOBILE: compact premium nightlife carousel
   ========================================================= */
@media (max-width:760px){
  body .ns-venues{
    width:100%!important;
    margin:36px 0 0!important;
    padding:0 0 10px!important;
  }
  body .ns-venues-head{
    width:calc(100% - 28px)!important;
    margin:0 auto 14px!important;
    padding:0!important;
    display:flex!important;
    align-items:flex-end!important;
    justify-content:space-between!important;
    gap:12px!important;
  }
  body .ns-venues-head .section-kicker{
    font-size:.54rem!important;
    letter-spacing:.16em!important;
    color:#ff42c7!important;
  }
  body .ns-venues-head h2{
    margin:4px 0 0!important;
    font-size:clamp(2.35rem,11vw,3.25rem)!important;
    line-height:.88!important;
    letter-spacing:-.045em!important;
  }
  body .ns-section-note{
    margin:6px 0 0!important;
    font-size:.58rem!important;
    line-height:1.35!important;
    letter-spacing:.12em!important;
    color:rgba(255,255,255,.48)!important;
  }
  body .ns-venue-controls{display:none!important}

  body .ns-venue-rail{
    display:grid!important;
    grid-auto-flow:column!important;
    grid-auto-columns:78vw!important;
    gap:12px!important;
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:0 14px 12px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-snap-type:x mandatory!important;
    scroll-padding-inline:14px!important;
    -webkit-overflow-scrolling:touch!important;
    scrollbar-width:none!important;
  }
  body .ns-venue-rail::-webkit-scrollbar{display:none!important}

  body .ns-venue-card{
    position:relative!important;
    display:block!important;
    width:78vw!important;
    max-width:330px!important;
    aspect-ratio:16 / 11!important;
    min-height:0!important;
    height:auto!important;
    padding:0!important;
    border-radius:18px!important;
    overflow:hidden!important;
    border:1px solid rgba(255,255,255,.10)!important;
    background:linear-gradient(145deg,#101528,#0a0b16 60%,#160b1a)!important;
    box-shadow:0 14px 34px rgba(0,0,0,.26)!important;
    scroll-snap-align:start!important;
  }
  body .ns-venue-card .venue-media{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    aspect-ratio:auto!important;
    border-radius:inherit!important;
    overflow:hidden!important;
  }
  body .ns-venue-card .venue-media>img:not(.venue-logo){
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center!important;
  }
  body .ns-venue-logo-stage{
    position:absolute!important;
    inset:0!important;
    display:grid!important;
    place-items:center!important;
    padding:13% 18% 25%!important;
    background:
      radial-gradient(circle at 50% 36%,rgba(93,87,255,.30),transparent 36%),
      radial-gradient(circle at 70% 65%,rgba(255,41,173,.17),transparent 38%),
      linear-gradient(145deg,#11182d,#090a14 62%,#170b1b)!important;
  }
  body .ns-venue-logo-stage .venue-logo{
    width:82%!important;
    height:82%!important;
    max-width:190px!important;
    max-height:100px!important;
    object-fit:contain!important;
    padding:0!important;
    filter:drop-shadow(0 8px 18px rgba(0,0,0,.42))!important;
  }
  body .ns-venue-shade{
    position:absolute!important;
    inset:0!important;
    background:linear-gradient(180deg,rgba(2,3,10,.02) 20%,rgba(4,5,13,.12) 44%,rgba(4,5,13,.94) 100%)!important;
  }
  body .ns-venue-card .venue-info{
    position:absolute!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    z-index:3!important;
    padding:16px 18px 15px!important;
    text-align:left!important;
    background:none!important;
  }
  body .ns-venue-card .venue-info h3{
    margin:0 0 3px!important;
    font-size:1.28rem!important;
    line-height:1!important;
    letter-spacing:-.035em!important;
  }
  body .ns-venue-card .venue-info p{
    margin:0 0 7px!important;
    font-size:.62rem!important;
    line-height:1.2!important;
    letter-spacing:.12em!important;
  }
  body .ns-venue-card .venue-info span{
    font-size:.58rem!important;
    line-height:1.2!important;
    letter-spacing:.12em!important;
  }
  body .venue-fallback{
    font-size:3rem!important;
  }
}

@media (max-width:390px){
  body .ns-venue-rail{grid-auto-columns:80vw!important}
  body .ns-venue-card{width:80vw!important;max-width:310px!important}
}

/* =========================================================
   V3.5 — MOBILE FOOTER CLEANUP + POWERED BY EVENTOS LATINOS
   ========================================================= */
.ns-powered-by{display:none}

@media (max-width:760px){
  body .ns-site-footer{
    position:relative!important;
    width:100%!important;
    max-width:100%!important;
    margin:42px 0 0!important;
    padding:34px 22px calc(24px + env(safe-area-inset-bottom))!important;
    border-top:1px solid rgba(255,255,255,.08)!important;
    background:
      radial-gradient(circle at 18% 0%,rgba(255,46,192,.07),transparent 28%),
      radial-gradient(circle at 82% 8%,rgba(76,92,255,.07),transparent 30%),
      #030307!important;
    overflow:hidden!important;
  }

  body .ns-site-footer-inner{
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:28px 28px!important;
    align-items:start!important;
  }

  body .ns-footer-brand{
    grid-column:1 / -1!important;
    margin:0 0 4px!important;
    padding:0 0 22px!important;
    border-bottom:1px solid rgba(255,255,255,.07)!important;
  }

  body .ns-footer-brand strong{
    display:block!important;
    font-size:1.45rem!important;
    line-height:1!important;
    letter-spacing:.08em!important;
  }

  body .ns-footer-brand span{
    max-width:100%!important;
    margin:8px 0 0!important;
    font-size:.66rem!important;
    line-height:1.5!important;
    letter-spacing:.08em!important;
    color:rgba(255,255,255,.42)!important;
  }

  body .ns-footer-col{
    min-width:0!important;
    margin:0!important;
    padding:0!important;
  }

  body .ns-footer-col h3{
    margin:0 0 12px!important;
    font-size:.64rem!important;
    line-height:1!important;
    letter-spacing:.18em!important;
    color:#ff43c8!important;
  }

  body .ns-footer-col a,
  body .ns-cookie-manage{
    display:block!important;
    width:auto!important;
    max-width:100%!important;
    margin:0 0 10px!important;
    padding:0!important;
    border:0!important;
    background:none!important;
    color:rgba(255,255,255,.72)!important;
    font-size:.84rem!important;
    line-height:1.35!important;
    text-align:left!important;
    text-decoration:none!important;
    white-space:normal!important;
  }

  body .ns-footer-col .ns-footer-admin{
    margin-top:14px!important;
    font-size:.72rem!important;
    color:rgba(255,255,255,.38)!important;
  }

  body .ns-footer-bottom{
    width:100%!important;
    max-width:100%!important;
    margin:28px 0 0!important;
    padding:18px 0 0!important;
    border-top:1px solid rgba(255,255,255,.07)!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    gap:7px!important;
    color:rgba(255,255,255,.42)!important;
    font-size:.68rem!important;
    line-height:1.45!important;
    letter-spacing:.04em!important;
  }

  body .ns-powered-by{
    display:block!important;
    margin-top:10px!important;
    padding-top:10px!important;
    color:rgba(255,255,255,.58)!important;
    font-size:.72rem!important;
    letter-spacing:.04em!important;
  }

  body .ns-powered-by strong{
    color:#fff!important;
    font-weight:800!important;
  }
}

@media (max-width:390px){
  body .ns-site-footer{padding-left:18px!important;padding-right:18px!important}
  body .ns-site-footer-inner{gap:24px 20px!important}
  body .ns-footer-col a,
  body .ns-cookie-manage{font-size:.8rem!important}
}


/* =========================================================
   V3.6 — IPAD / TABLET ADAPTIVE LAYOUT
   ========================================================= */
@media (min-width:761px) and (max-width:1180px){
  html,body{overflow-x:clip!important}
  body *{box-sizing:border-box}
  body main,body section,body .hero-inner,body .events-section,body .events-carousel-shell{min-width:0!important}

  /* Never use a vertical event flyer as the iPad hero wallpaper. */
  body .hero{
    min-height:0!important;height:auto!important;
    background-image:
      radial-gradient(ellipse at 16% 12%,rgba(48,91,255,.10),transparent 34%),
      radial-gradient(ellipse at 82% 18%,rgba(255,37,190,.10),transparent 32%),
      linear-gradient(180deg,#030309 0%,#05040b 72%,#030307 100%)!important;
    background-size:auto!important;background-position:center!important;
    padding:clamp(34px,5vw,58px) 0 clamp(30px,4.5vw,52px)!important;
  }
  body .hero::before{opacity:.42!important}
  body .hero-inner{width:min(100% - 48px,1040px)!important;max-width:1040px!important;margin:0 auto!important}
  body .hero h1{width:min(760px,100%)!important;font-size:clamp(4rem,8.4vw,6.25rem)!important;line-height:.82!important}
  body .hero-subtitle{font-size:clamp(.78rem,1.45vw,.98rem)!important}

  body .search-shell{position:relative!important;width:min(900px,100%)!important;margin:20px 0 0!important}
  body .search-panel,body .ns-filters-panel{position:relative!important;inset:auto!important;width:100%!important;padding:12px!important;border-radius:16px!important}
  body .filters-grid{display:grid!important;grid-template-columns:minmax(0,1.25fr) minmax(0,.85fr) minmax(0,.85fr)!important;gap:10px!important}
  body .filter-input,body .filter-select{width:100%!important;min-width:0!important;height:46px!important;font-size:16px!important}

  body .events-section{width:min(100% - 48px,1120px)!important;margin:0 auto!important;padding:42px 0 58px!important}
  body .events-carousel-viewport{overflow:hidden!important;padding:8px 0 24px!important}
  body .events-carousel{gap:18px!important}
  body .event-card,body .event-card.is-current,body .event-card.is-prev,body .event-card.is-next{height:auto!important}
  body .event-media{
    width:100%!important;aspect-ratio:4 / 5!important;max-height:68svh!important;
    border-radius:20px!important;background:radial-gradient(circle at 50% 45%,rgba(72,42,112,.18),#050509 72%)!important;
  }
  body .event-media img{width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important;background:transparent!important}

  body .ns-venues{width:min(100% - 48px,1120px)!important}
  body .ns-venue-card{min-width:0!important}
  body .ns-venue-media{aspect-ratio:16 / 10!important}
  body .ns-venue-media img{object-fit:cover!important}
  body .venue-logo{object-fit:contain!important}
}

@media (min-width:761px) and (max-width:1024px) and (orientation:portrait){
  body .ns-global-header-spacer{height:98px!important}
  body .hero-inner{width:min(100% - 44px,900px)!important}
  body .hero h1{font-size:clamp(4.1rem,10vw,6.15rem)!important}
  body .filters-grid{grid-template-columns:1fr 1fr!important}
  body .filters-grid .filter-control:first-child{grid-column:1 / -1!important}
  body .events-section{width:min(100% - 44px,940px)!important}
  body .events-carousel{padding-left:4vw!important;padding-right:4vw!important}
  body .event-card,body .event-card.is-current,body .event-card.is-prev,body .event-card.is-next{
    flex:0 0 min(68vw,560px)!important;width:min(68vw,560px)!important;max-width:560px!important
  }
  body .event-media{max-height:62svh!important}
  body .ns-venue-rail{grid-auto-columns:min(44vw,410px)!important;gap:16px!important}
  body .ns-venue-card{width:min(44vw,410px)!important}
}

@media (min-width:900px) and (max-width:1366px) and (orientation:landscape){
  body .ns-global-header-spacer{height:98px!important}
  body .hero{padding:28px 0 30px!important}
  body .hero-inner{width:min(100% - 56px,1160px)!important}
  body .hero h1{font-size:clamp(3.7rem,6.8vw,5.7rem)!important;width:min(700px,100%)!important}
  body .search-shell{width:min(900px,100%)!important;margin-top:16px!important}
  body .filters-grid{grid-template-columns:minmax(0,1.25fr) minmax(0,.85fr) minmax(0,.85fr)!important}
  body .events-section{width:min(100% - 56px,1240px)!important;padding-top:34px!important}
  body .events-carousel{padding-left:2vw!important;padding-right:2vw!important}
  body .event-card,body .event-card.is-current,body .event-card.is-prev,body .event-card.is-next{
    flex:0 0 min(42vw,500px)!important;width:min(42vw,500px)!important;max-width:500px!important
  }
  body .event-media{aspect-ratio:4 / 5!important;max-height:64svh!important}
  body .ns-venue-rail{grid-auto-columns:min(31vw,390px)!important;gap:18px!important}
  body .ns-venue-card{width:min(31vw,390px)!important}
}

@media (min-width:1025px) and (max-width:1180px) and (orientation:portrait){
  body .event-card,body .event-card.is-current,body .event-card.is-prev,body .event-card.is-next{
    flex:0 0 min(54vw,590px)!important;width:min(54vw,590px)!important;max-width:590px!important
  }
  body .ns-venue-rail{grid-auto-columns:min(40vw,430px)!important}
}


/* =========================================================
   V3.7 — DEFINITIVE HERO MEDIA FIX FOR IPHONE / IPAD
   The event flyer must NEVER be rendered as hero background
   on phones or tablets. It remains only inside the event card.
   ========================================================= */

@media (max-width:1180px){
  body .hero{
    --ns-home-hero-image:none!important;
    background-image:
      radial-gradient(72% 58% at 18% 18%,rgba(47,105,255,.16),transparent 72%),
      radial-gradient(72% 58% at 84% 22%,rgba(255,37,177,.15),transparent 74%),
      radial-gradient(50% 54% at 54% 72%,rgba(119,70,255,.10),transparent 76%),
      linear-gradient(180deg,#03040b 0%,#070612 54%,#04040a 100%)!important;
    background-size:auto!important;
    background-position:center!important;
    background-repeat:no-repeat!important;
  }

  body .hero::before{
    background:
      linear-gradient(115deg,transparent 20%,rgba(128,74,255,.06) 50%,transparent 78%),
      radial-gradient(36% 58% at 20% 30%,rgba(47,118,255,.11),transparent 74%),
      radial-gradient(36% 58% at 82% 38%,rgba(255,43,181,.10),transparent 76%)!important;
    mix-blend-mode:screen!important;
    opacity:1!important;
  }
}

/* iPhone: keep the hero concise and graphic, never photographic. */
@media (max-width:760px){
  body .hero{
    min-height:0!important;
    height:auto!important;
    padding:28px 0 24px!important;
  }

  body .hero-inner{
    width:calc(100% - 28px)!important;
    margin:0 auto!important;
  }

  body .hero h1{
    font-size:clamp(2.55rem,14vw,4.15rem)!important;
    line-height:.80!important;
    margin:10px 0 12px!important;
  }

  body .hero-subtitle{
    font-size:.68rem!important;
    line-height:1.35!important;
  }
}

/* iPad portrait: compact editorial hero, no wallpaper effect. */
@media (min-width:761px) and (max-width:1180px) and (orientation:portrait){
  body .hero{
    min-height:0!important;
    height:auto!important;
    padding:38px 0 36px!important;
  }

  body .hero h1{
    font-size:clamp(4rem,9.5vw,6.15rem)!important;
    max-width:760px!important;
  }
}

/* iPad landscape: wide but shallow hero, keeping events visible early. */
@media (min-width:900px) and (max-width:1366px) and (orientation:landscape){
  body .hero{
    min-height:0!important;
    height:auto!important;
    padding:28px 0 30px!important;
  }

  body .hero h1{
    font-size:clamp(3.6rem,6.5vw,5.5rem)!important;
    max-width:700px!important;
  }
}
\n\n/* =========================================================\n   NIGHTSHOT V42 — definitive phone/tablet hero + search layout\n   ========================================================= */\n\n/* Phones and portrait tablets never use an event flyer as hero wallpaper. */\n@media (max-width:1180px){\n  body .hero{\n    --ns-home-hero-image:none!important;\n    background-image:\n      radial-gradient(80% 60% at 12% 12%,rgba(45,105,255,.16),transparent 72%),\n      radial-gradient(78% 58% at 88% 18%,rgba(255,39,181,.14),transparent 74%),\n      linear-gradient(180deg,#050611 0%,#070817 58%,#05050e 100%)!important;\n    background-size:auto!important;\n    background-position:center!important;\n    background-repeat:no-repeat!important;\n  }\n}\n\n/* iPad landscape can exceed 1180 CSS px. Detect touch/coarse devices too. */\n@media (max-width:1366px) and (hover:none) and (pointer:coarse){\n  body .hero{\n    --ns-home-hero-image:none!important;\n    background-image:\n      radial-gradient(76% 58% at 14% 10%,rgba(45,105,255,.15),transparent 72%),\n      radial-gradient(74% 56% at 86% 16%,rgba(255,39,181,.13),transparent 74%),\n      linear-gradient(180deg,#050611 0%,#070817 58%,#05050e 100%)!important;\n    background-size:auto!important;\n    background-position:center!important;\n  }\n}\n\n/* iPad portrait */\n@media (min-width:761px) and (max-width:1180px) and (orientation:portrait){\n  body .hero{min-height:0!important;height:auto!important;padding:38px 0 34px!important}\n  body .hero-inner{width:min(100% - 44px,920px)!important;margin:0 auto!important}\n  body .hero h1{font-size:clamp(4rem,9vw,6rem)!important;line-height:.82!important}\n  body .filters-grid{grid-template-columns:1fr 1fr!important}\n  body .filters-grid .filter-control:first-child{grid-column:1/-1!important}\n  body .event-media{aspect-ratio:4/5!important;max-height:64svh!important}\n  body .event-media img{object-fit:contain!important}\n}\n\n/* iPad landscape */\n@media (min-width:900px) and (max-width:1366px) and (orientation:landscape) and (hover:none){\n  body .hero{min-height:0!important;height:auto!important;padding:28px 0 30px!important}\n  body .hero-inner{width:min(100% - 56px,1160px)!important;margin:0 auto!important}\n  body .hero h1{font-size:clamp(3.7rem,6.5vw,5.5rem)!important;line-height:.82!important}\n  body .event-media{aspect-ratio:4/5!important;max-height:66svh!important}\n  body .event-media img{object-fit:contain!important}\n}\n

/* =========================================================
   V43 — SMARTPHONE LOCALI FIX
   ========================================================= */
@media (max-width:760px){

  body .ns-venues{
    width:calc(100% - 28px)!important;
    max-width:none!important;
    margin:38px auto 0!important;
    padding:0!important;
  }

  body .ns-venues-head{
    display:block!important;
    width:100%!important;
    margin:0 0 14px!important;
    padding:0!important;
    text-align:left!important;
  }

  body .ns-venues-head > div{
    width:100%!important;
  }

  body .ns-venues-head .section-kicker{
    display:block!important;
    margin:0 0 5px!important;
    padding:0!important;
    font-size:.60rem!important;
    line-height:1.2!important;
    letter-spacing:.16em!important;
    text-align:left!important;
  }

  body .ns-venues-head h2{
    margin:0!important;
    padding:0!important;
    font-size:clamp(2.35rem,12vw,3.2rem)!important;
    line-height:.88!important;
    letter-spacing:-.035em!important;
    text-align:left!important;
  }

  body .ns-section-note{
    margin:7px 0 0!important;
    padding:0!important;
    font-size:.62rem!important;
    line-height:1.35!important;
    letter-spacing:.10em!important;
    text-align:left!important;
  }

  body .ns-venue-controls{
    display:none!important;
  }

  body .ns-venue-rail{
    display:grid!important;
    grid-auto-flow:column!important;
    grid-auto-columns:82vw!important;
    gap:12px!important;
    width:calc(100vw - 14px)!important;
    max-width:none!important;
    margin-left:0!important;
    margin-right:0!important;
    padding:2px 14px 12px 0!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-snap-type:x mandatory!important;
    scroll-padding-left:0!important;
    -webkit-overflow-scrolling:touch!important;
    scrollbar-width:none!important;
  }

  body .ns-venue-rail::-webkit-scrollbar{
    display:none!important;
  }

  body .ns-venue-card{
    width:82vw!important;
    max-width:82vw!important;
    min-width:82vw!important;
    height:auto!important;
    aspect-ratio:16 / 10!important;
    scroll-snap-align:start!important;
    border-radius:18px!important;
    overflow:hidden!important;
    display:flex!important;
    flex-direction:column!important;
  }

  body .ns-venue-card .venue-media{
    flex:1 1 auto!important;
    width:100%!important;
    min-height:0!important;
    aspect-ratio:auto!important;
  }

  body .ns-venue-card .venue-media img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
  }

  body .ns-venue-logo-stage{
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    padding:8%!important;
    display:grid!important;
    place-items:center!important;
  }

  body .ns-venue-logo-stage .venue-logo{
    width:68%!important;
    height:56%!important;
    max-width:68%!important;
    object-fit:contain!important;
  }

  body .ns-venue-card .venue-info{
    flex:0 0 auto!important;
    padding:14px 16px 16px!important;
    text-align:left!important;
  }

  body .ns-venue-card .venue-info h3{
    margin:0 0 3px!important;
    font-size:1.45rem!important;
    line-height:1!important;
  }

  body .ns-venue-card .venue-info p{
    margin:0 0 8px!important;
    font-size:.73rem!important;
    letter-spacing:.12em!important;
  }

  body .ns-venue-card .venue-info span{
    font-size:.67rem!important;
    letter-spacing:.12em!important;
  }
}

@media (max-width:390px){
  body .ns-venues{
    width:calc(100% - 24px)!important;
  }

  body .ns-venue-rail{
    grid-auto-columns:84vw!important;
    width:calc(100vw - 12px)!important;
    padding-right:12px!important;
  }

  body .ns-venue-card{
    width:84vw!important;
    max-width:84vw!important;
    min-width:84vw!important;
  }
}
