
/* NIGHTSHOT V6.02 — true screen navigation */
:root{--ns-app-top:58px;--ns-app-tab:64px}

/* Cookiebot: never cover header or bottom tab; compact sheet above tab bar */
@media(max-width:768px){
 #CybotCookiebotDialog{
   width:calc(100vw - 20px)!important;
   left:10px!important;right:10px!important;
   top:auto!important;
   bottom:calc(var(--ns-app-tab) + env(safe-area-inset-bottom) + 10px)!important;
   max-height:min(46dvh,430px)!important;
   border-radius:20px!important;
   transform:none!important;
   z-index:1550!important; /* below Nightshot tabbar (1600), above content */
 }
 #CybotCookiebotDialogBodyContent{padding:10px 13px 6px!important}
 #CybotCookiebotDialogBodyContentTitle{font-size:15px!important}
 #CybotCookiebotDialogBodyContentText{font-size:11.5px!important;line-height:1.35!important}
 #CybotCookiebotDialogHeader{min-height:38px!important;padding:6px 11px!important}
 #CybotCookiebotDialogFooter{padding:7px 9px 9px!important}
 #CybotCookiebotDialogFooter .CybotCookiebotDialogBodyButton,
 #CybotCookiebotDialogBodyButtons .CybotCookiebotDialogBodyButton{
   min-height:36px!important;padding:6px!important;font-size:10.5px!important
 }
}

/* Mobile behaves as a true app viewport. The body never scrolls; only current screen. */
@media(max-width:768px){
 html,body{height:100%;min-height:100%;overflow:hidden!important;overscroll-behavior:none}
 body.ns-native-app{
   position:fixed!important;inset:0!important;width:100%!important;height:100dvh!important;
   overflow:hidden!important;padding:0!important
 }
 body.ns-native-app .ns-global-header{height:calc(var(--ns-app-top) + env(safe-area-inset-top))!important}
 body.ns-native-app .ns-global-header-spacer{
   display:block!important;flex:0 0 calc(var(--ns-app-top) + env(safe-area-inset-top))!important;
   height:calc(var(--ns-app-top) + env(safe-area-inset-top))!important
 }
 body.ns-native-app main{
   position:relative!important;
   width:100%!important;max-width:100%!important;
   height:calc(100dvh - var(--ns-app-top) - env(safe-area-inset-top))!important;
   min-height:0!important;
   overflow-y:auto!important;overflow-x:hidden!important;
   -webkit-overflow-scrolling:touch;
   overscroll-behavior-y:contain;
   padding-bottom:calc(var(--ns-app-tab) + env(safe-area-inset-bottom) + 12px)!important
 }
 body.ns-native-app.ns-search-active main,
 body.ns-native-app.ns-search-active .ns-global-header,
 body.ns-native-app.ns-search-active .ns-app-bottom-nav{
   visibility:hidden!important;pointer-events:none!important
 }
 body.ns-native-app.ns-search-active{background:#07060a!important}
 .ns-native-search{
   inset:0!important;width:100vw!important;height:100dvh!important;
   max-width:none!important;max-height:none!important;border:0!important;border-radius:0!important;
   padding:max(10px,env(safe-area-inset-top)) 12px max(12px,env(safe-area-inset-bottom))!important;
   background:#07060a!important;overflow-y:auto!important;overscroll-behavior:contain
 }
}

/* EVENTI is a real screen: one big flyer at a time, horizontal swipe/autoplay-friendly */
@media(max-width:768px){
 body.ns-events-screen main.ns-city-page{
   height:calc(100dvh - var(--ns-app-top) - env(safe-area-inset-top))!important;
   padding:0 0 calc(var(--ns-app-tab) + env(safe-area-inset-bottom))!important;
   overflow:hidden!important
 }
 body.ns-events-screen .ns-native-toolbar{
   position:absolute!important;top:0!important;left:0!important;right:0!important;z-index:20!important
 }
 body.ns-events-screen .ns-city-head{
   position:absolute!important;z-index:15!important;left:14px!important;right:14px!important;top:62px!important;
   margin:0!important;padding:0!important;pointer-events:none
 }
 body.ns-events-screen .ns-city-head p{display:none!important}
 body.ns-events-screen .ns-city-head h1{
   margin:0!important;font-size:1rem!important;line-height:1.1!important;letter-spacing:-.02em!important;
   white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 2px 18px #000
 }
 body.ns-events-screen .ns-city-page>nav{display:none!important}
 body.ns-events-screen .ns-city-grid{
   display:flex!important;
   width:100%!important;height:100%!important;
   gap:0!important;
   overflow-x:auto!important;overflow-y:hidden!important;
   scroll-snap-type:x mandatory!important;
   scrollbar-width:none!important;
   -webkit-overflow-scrolling:touch;
 }
 body.ns-events-screen .ns-city-grid::-webkit-scrollbar{display:none}
 body.ns-events-screen .ns-city-card{
   position:relative!important;
   flex:0 0 100vw!important;width:100vw!important;height:100%!important;
   scroll-snap-align:center!important;
   border:0!important;border-radius:0!important;background:#07060a!important;
   box-shadow:none!important;overflow:hidden!important
 }
 body.ns-events-screen .ns-city-media{
   position:absolute!important;inset:0!important;
   width:100%!important;height:100%!important;aspect-ratio:auto!important;
   display:grid!important;place-items:center!important;padding:96px 18px 112px!important;
   background:radial-gradient(circle at 50% 45%,rgba(139,54,255,.13),transparent 52%),#07060a!important
 }
 body.ns-events-screen .ns-city-media img{
   width:auto!important;height:auto!important;max-width:92vw!important;max-height:calc(100dvh - 250px)!important;
   object-fit:contain!important;border-radius:22px!important;
   box-shadow:0 24px 70px rgba(0,0,0,.45)!important
 }
 body.ns-events-screen .ns-city-info{
   position:absolute!important;z-index:5!important;left:12px!important;right:12px!important;
   bottom:calc(var(--ns-app-tab) + env(safe-area-inset-bottom) + 12px)!important;
   padding:12px 14px!important;border:1px solid rgba(255,255,255,.08)!important;border-radius:18px!important;
   background:rgba(13,10,17,.82)!important;backdrop-filter:blur(18px)!important;-webkit-backdrop-filter:blur(18px)!important
 }
 body.ns-events-screen .ns-city-info h2{margin:0 0 5px!important;font-size:1rem!important}
 body.ns-events-screen .ns-city-info p{margin:2px 0!important;font-size:.7rem!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
}

/* Dedicated Discover screen */
.ns-discover-screen{padding:12px!important}
.ns-discover-title{padding:10px 2px 14px}.ns-discover-title small{display:block;color:#a79eac;font-size:.57rem;letter-spacing:.14em}.ns-discover-title h1{margin:4px 0 5px;font-size:1.8rem;letter-spacing:-.04em}.ns-discover-title p{margin:0;color:#a79eac;font-size:.82rem}
.ns-discover-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.ns-discover-action{min-height:126px;padding:15px;border:1px solid rgba(255,255,255,.08);border-radius:20px;background:linear-gradient(180deg,#17131b,#0f0d12);color:#fff;text-decoration:none;display:flex;flex-direction:column;justify-content:flex-end;gap:5px}
.ns-discover-action svg{width:25px;height:25px;fill:none;stroke:#f248c7;stroke-width:1.8;margin-bottom:auto}
.ns-discover-action strong{font-size:.95rem}.ns-discover-action small{color:#9f98a5;font-size:.68rem}
.ns-discover-search{margin-bottom:12px;width:100%;min-height:50px;border:1px solid rgba(255,255,255,.08);border-radius:16px;background:#121016;color:#fff;display:flex;align-items:center;gap:10px;padding:0 14px;text-align:left}
.ns-discover-search svg{width:20px;height:20px;fill:none;stroke:#aaa;stroke-width:2}

@media(min-width:769px){
 body.ns-events-screen .ns-city-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
