/* NIGHTSHOT BRANDING V1 — new official identity integration. */
.ns-visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

/* Header: compact horizontal lockup, never distorts. */
.ns-global-brand{display:inline-flex!important;align-items:center!important;justify-content:flex-start!important;min-width:0!important;width:auto!important;line-height:1!important}
.ns-global-brand-logo{display:block!important;width:auto!important;height:38px!important;max-width:220px!important;object-fit:contain!important;object-position:left center!important;filter:drop-shadow(0 0 10px rgba(171,44,255,.10));transition:filter .24s ease,transform .24s ease}
.ns-global-brand:hover .ns-global-brand-logo{transform:translateY(-1px);filter:drop-shadow(0 0 15px rgba(191,45,255,.20))}

/* Home: the identity is the hero, not oversized typography. */
.ns-hero-brand{display:flex;justify-content:center;align-items:center;width:100%;margin:0 auto 4px!important}
.ns-hero-brand-logo{display:block;width:min(500px,68vw)!important;height:auto!important;max-height:250px!important;object-fit:contain!important;filter:drop-shadow(0 22px 46px rgba(0,0,0,.34)) drop-shadow(0 0 24px rgba(160,40,255,.08));}
.hero .hero-subtitle{margin-top:10px!important;text-align:center!important}

/* Footer: same identity, quieter than hero. */
.ns-footer-brand-link{display:inline-flex;text-decoration:none;align-items:center}
.ns-footer-brand-logo{display:block;width:min(245px,100%)!important;height:auto!important;max-height:56px!important;object-fit:contain!important;object-position:left center!important;filter:drop-shadow(0 0 14px rgba(151,35,255,.08))}
.ns-footer-brand span{margin-top:12px!important}

@media(max-width:1119px) and (min-width:761px){
  .ns-global-brand-logo{height:35px!important;max-width:205px!important}
  .ns-hero-brand-logo{width:min(450px,72vw)!important}
}
@media(max-width:760px){
  .ns-global-brand-logo{height:27px!important;max-width:150px!important}
  .ns-hero-brand{margin-top:0!important}
  .ns-hero-brand-logo{width:min(310px,82vw)!important;max-height:175px!important}
  .hero .hero-subtitle{font-size:.72rem!important;letter-spacing:.18em!important;margin-top:7px!important}
  .ns-footer-brand-logo{width:205px!important;max-height:48px!important}
}
@media(max-width:390px){
  .ns-global-brand-logo{height:25px!important;max-width:140px!important}
  .ns-hero-brand-logo{width:min(285px,84vw)!important}
}
@media(prefers-reduced-motion:reduce){.ns-global-brand-logo{transition:none!important}}

/* Nightshot Stable — Home uses only the global header search. Keep the legacy
   city field in DOM for existing filtering JS, but do not render a duplicate search. */
.ns-home-city-filter-legacy{display:none!important}
.ns-filters-panel .filters-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;max-width:760px;margin-inline:auto}
@media (max-width:640px){.ns-filters-panel .filters-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}}


/* NIGHTSHOT — unified global search. One field only on every viewport.
   It searches event, locale, city and CAP; never render a second city row. */
.ns-global-search{isolation:isolate!important}
.ns-global-search input[name="q"]{min-width:0!important}
@media(max-width:760px){
  .ns-global-search{grid-template-columns:28px minmax(0,1fr) 42px!important;height:40px!important;overflow:hidden!important}
  .ns-global-search input[name="q"]{font-size:16px!important;padding:0 8px!important}
}
