/* =====================================================================
   iHub PNG: mobile / native-app polish (loaded after theme + core CSS)
   ===================================================================== */

/* Hubs page: list was squeezed beside the map on phones (core.css override) */
@media(max-width:900px){
	.ihub-hubs,.ihub-hubpage{grid-template-columns:minmax(0,1fr)!important}
	.ihub-hubpage>*,.ihub-hubs>*,.ihub-filterbar,.ihub-filterbar>*{min-width:0;max-width:100%}
}

@media(max-width:760px){
	/* --- Touch fundamentals --- */
	a,button,[role=button],summary,label,input,select,textarea{touch-action:manipulation}
	.tabbar,.btn,.ihub-chip,.ab-tab,.burger{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
	input,select,textarea{font-size:16px!important} /* stop iOS zoom-on-focus */
	[id]{scroll-margin-top:calc(var(--header) + 16px)}
	html:not(.is-standalone) body{overscroll-behavior-y:auto} /* keep pull-to-refresh in the browser */

	/* --- Menu: fix sheet being clipped inside the blurred header, native list rows --- */
	.nav-open .site-header,.nav-open .site-header.is-scrolled{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:transparent;box-shadow:none;transform:none!important}
	.nav{height:100vh;height:100dvh}
	.nav__list{gap:0}
	.nav__list li{border-bottom:1px solid rgba(255,255,255,.08)}
	.nav__list a{display:flex;align-items:center;justify-content:space-between;min-height:58px;padding:14px 6px;font:700 22px var(--display);border-radius:0;background:none!important}
	.nav__list a:after{content:"";width:9px;height:9px;border-right:2px solid rgba(255,255,255,.45);border-top:2px solid rgba(255,255,255,.45);transform:rotate(45deg);margin-right:6px}
	.nav__list .current-menu-item>a,.nav__list .current_page_item>a{color:var(--gold)}
	.nav__list .current-menu-item>a:after,.nav__list .current_page_item>a:after{border-color:var(--gold)}
	.nav .nav__auth{margin-top:28px;gap:10px}
	.nav .nav__auth>*{flex:1;justify-content:center;min-height:48px}

	/* --- Header & tab bar --- */
	.site-header .logo-mark.km-mark{width:40px;height:40px}
	.tabbar:before{content:"";position:absolute;left:0;right:0;top:-3px;height:3px;background:url(../png/png-band.svg) 0 0/auto 3px repeat-x;opacity:.9}
	.tabbar__item{min-height:50px}

	/* --- Heroes: keep PNG art subtle, avoid band clashing with rounded corners/overlaps --- */
	.png-art .hero:after,.png-art .home-hero:after{display:none}
	.png-art .hero__bg:before{opacity:.12}
	.png-art .site-footer:after{display:none}
	.png-art .hubs-band:before{display:none}

	/* --- Chips & filters: single swipeable rows like native filter bars --- */
	.ihub-chips--filter,.lc-suggest{flex-wrap:nowrap!important;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin-left:-16px;margin-right:-16px;padding-left:16px;padding-right:16px;scroll-padding-left:16px}
	.ihub-chips--filter::-webkit-scrollbar,.lc-suggest::-webkit-scrollbar{display:none}
	.ihub-chips--filter>*,.lc-suggest>*{flex:none;white-space:nowrap}
	.ihub-chip{min-height:38px}
	.ihub-filterbar{gap:10px}

	/* --- Hubs: compact stat strip instead of four big tiles --- */
	.ihub-hubstats{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:0!important;background:#fff;border-radius:18px;box-shadow:0 12px 30px rgba(11,42,51,.1);padding:12px 4px;overflow:hidden}
	.ihub-hubstats>*{background:none!important;box-shadow:none!important;border:0!important;border-radius:0!important;padding:2px 6px!important;text-align:center;min-height:0!important}
	.ihub-hubstats>*+*{border-left:1px solid var(--line)!important}
	.ihub-hubstats b,.ihub-hubstats strong{font-size:22px!important;line-height:1.1}
	.ihub-hubstats span{display:block;font-size:11px!important;line-height:1.25;color:var(--muted)}

	/* --- Hero actions: full-width stacked buttons like native CTAs --- */
	.hero__actions{flex-direction:column;align-items:stretch}
	.hero__actions .btn{width:100%;justify-content:center;min-height:50px}

	/* --- Hub cards: banner title, badge and status never collide --- */
	.ihub-hub__banner{flex-wrap:wrap;align-items:flex-end;justify-content:space-between;row-gap:6px;column-gap:10px}
	.ihub-hub.is-home .ihub-hub__banner{padding-top:40px}
	.ihub-hub__city{font-size:26px!important;line-height:1.05;min-width:0}
	.ihub-hub__banner .ihub-live{max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:11.5px}

	/* --- Footer: comfortable tap targets --- */
	.site-footer__grid li a{display:flex;min-height:40px;align-items:center}
	.site-footer__base .site-footer__links a{display:inline-flex;min-height:36px;align-items:center}

	/* --- About page --- */
	.hero--about{padding-bottom:40px}
	.ab-hero{gap:6px}
	.ab-hero__art{max-width:150px;margin:0}
	.ab-kpis{justify-content:space-between;gap:10px;margin-top:22px;padding-top:16px}
	.ab-kpis li{flex:1}
	.ab-sec{padding:44px 0}
	.ab-head{margin-bottom:20px}
	.ab-head h2{font-size:26px}
	.ab-model{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;margin:0 -16px;padding:4px 16px 8px;scrollbar-width:none}
	.ab-model::-webkit-scrollbar{display:none}
	.ab-card{flex:0 0 82%;scroll-snap-align:start}
	.ab-focus__tabs{margin:0 -16px;padding:0 16px 4px}
	.ab-tab{padding:10px 14px;font-size:14px;min-height:44px}
	.ab-flow>div{padding:14px 16px}
	.ab-road{grid-template-columns:1fr!important;gap:0;padding-left:8px}
	.ab-road:before{display:block;left:15px;right:auto;top:8px;bottom:8px;width:2px;height:auto}
	.ab-road>li{padding:0 0 22px 36px}
	.ab-road__dot{left:0;top:2px}
	.ab-case{padding:22px 20px;border-radius:20px}
	.ab-steps li{font-size:13px;padding:8px 12px}
	.ab-logos li{height:96px}
	.ab-cta__btns{width:100%}
	.ab-cta__btns .btn{flex:1}

	/* --- Pressed states everywhere (native feel) --- */
	.ab-card:active,.ab-owner:active,.ab-logos li:active,.ab-tab:active,.ihub-chip:active,.site-footer__grid li a:active{transform:scale(.97);transition-duration:.1s}
}

/* Installed app (standalone): no browser chrome, so tighten the top */
@media(max-width:760px) and (display-mode:standalone){
	body{overscroll-behavior-y:none}
}
@media (prefers-reduced-motion:reduce){.ab-card:active,.ab-owner:active{transform:none}}