/* Daily Media mobile experience. Desktop styles remain in template.css. */
.mobile-nav-head,.mobile-nav-backdrop,.mobile-nav-search-slot{display:none}

@media (max-width:1040px){
	body.mobile-menu-open{overflow:hidden;touch-action:none}
	.site-navigation{position:fixed;inset:0 auto 0 0;z-index:110;display:block;width:min(86vw,350px);height:100dvh;padding:max(18px,env(safe-area-inset-top)) 18px max(22px,env(safe-area-inset-bottom));overflow-y:auto;border:0;border-right:1px solid rgba(255,255,255,.85);background:rgba(250,250,251,.9);box-shadow:18px 0 48px rgba(15,22,29,.24);transform:translateX(-105%);transition:transform .28s ease;-webkit-backdrop-filter:saturate(190%) blur(24px);backdrop-filter:saturate(190%) blur(24px)}
	.site-navigation.is-open{display:block;transform:translateX(0)}
	.mobile-nav-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid rgba(60,70,78,.14)}
	.mobile-nav-head img{width:158px;height:58px;object-fit:contain;object-position:left center}
	.mobile-nav-search-slot{display:block;margin-bottom:9px}
	.mobile-nav-search-slot .header-search{display:block;width:100%}
	.mobile-nav-search-slot .header-search input[type=search],.mobile-nav-search-slot .header-search input[type=text]{min-height:46px;border-radius:6px;background:rgba(255,255,255,.82);font-size:16px}
	.mobile-nav-close{display:grid;width:44px;height:44px;padding:0;place-items:center;border:1px solid rgba(75,84,92,.2);border-radius:50%;background:rgba(255,255,255,.7);color:#20252a;font-size:1.7rem;line-height:1;cursor:pointer}
	.mobile-nav-backdrop{position:fixed;inset:0;z-index:100;width:100%;height:100%;padding:0;border:0;background:rgba(16,22,28,.38);opacity:0;pointer-events:none;transition:opacity .25s ease;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
	body.mobile-menu-open .mobile-nav-backdrop{display:block;opacity:1;pointer-events:auto}
	.site-navigation ul{display:block}
	.site-navigation a{min-height:52px;padding:0 5px;border-bottom:1px solid rgba(61,70,78,.12);font-size:.94rem}
	.site-navigation .active>a,.site-navigation .current>a{padding-left:11px;border-left:3px solid var(--dm-logo-red);box-shadow:none}
	.site-navigation .mod-menu__sub,.site-navigation ul ul{position:static;display:block;padding:3px 0 8px 14px;border:0;background:transparent;box-shadow:none}
	.site-navigation ul ul a{min-height:44px;font-size:.82rem}
	.menu-toggle{display:grid;position:relative;z-index:90;border-radius:50%;background:rgba(255,255,255,.62)}
	.menu-toggle span{transition:transform .2s ease,opacity .2s ease}
	body.mobile-menu-open .menu-toggle span:nth-child(1){transform:translateY(5px) rotate(45deg)}
	body.mobile-menu-open .menu-toggle span:nth-child(2){opacity:0}
	body.mobile-menu-open .menu-toggle span:nth-child(3){transform:translateY(-5px) rotate(-45deg)}
}

@media (max-width:700px){
	html{scroll-padding-top:78px}
	body{overflow-x:hidden;-webkit-text-size-adjust:100%}
	.site-header{padding-top:max(8px,env(safe-area-inset-top));background:linear-gradient(var(--dm-logo-red) 0 8px,rgba(255,255,255,.86) 8px 100%)}
	.header-inner{width:100%;min-height:64px;padding-right:max(12px,env(safe-area-inset-right));padding-left:max(12px,env(safe-area-inset-left))}
	.brand img{width:154px;height:56px;max-height:56px}
	.menu-toggle{width:46px;height:46px}
	.shell,.main-layout,body.is-home .main-layout{width:min(100% - 20px,1280px)}
	.main-layout{padding-top:14px;padding-bottom:38px}
	.breadcrumbs{width:min(100% - 20px,1280px);padding-block:10px;overflow:hidden;font-size:.73rem;white-space:nowrap;text-overflow:ellipsis}
	.breaking-inner{grid-template-columns:1fr;gap:5px;padding-block:8px}.breaking-inner>strong{justify-self:start}

	/* Home */
	body.is-home{background-attachment:scroll!important;background-position:center top!important;background-size:auto 100vh!important}
	.portal-home{padding-bottom:4px}
	.portal-hero{gap:10px}
	.portal-hero-main{min-height:390px;border-radius:7px}
	.portal-hero-copy{left:18px;right:18px;bottom:18px}
	.portal-hero-copy h1{font-size:1.6rem;line-height:1.1}
	.portal-hero-copy p{display:-webkit-box;overflow:hidden;margin-bottom:14px;-webkit-box-orient:vertical;-webkit-line-clamp:3;font-size:.78rem}
	.portal-hero-side{display:flex;grid-template-rows:none;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:4px}
	.hero-mini{flex:0 0 82%;min-height:135px;scroll-snap-align:start}
	.quick-nav{display:flex;grid-template-columns:none;overflow-x:auto;scroll-snap-type:x mandatory;margin-inline:-2px}
	.quick-nav a{flex:0 0 148px;min-height:54px;border-right:1px solid #e5e8eb;border-bottom:0;scroll-snap-align:start}
	.latest-grid,.review-grid,.pick-grid,.rubric-grid{grid-template-columns:1fr}
	.latest-grid{gap:18px}.latest-card h3{font-size:1rem}
	.rubric-column{padding-bottom:14px;border-bottom:1px solid rgba(80,90,100,.15)}
	.portal-columns,.portal-bottom-grid{gap:12px}
	.portal-panel,.side-panel{padding:12px}
	.contest-banner{min-height:320px;padding:22px;background-position:62% center}
	.contest-banner::after{background:linear-gradient(90deg,rgba(255,255,255,.97),rgba(255,255,255,.88) 72%,rgba(255,255,255,.38))}
	.contest-banner>div{max-width:86%}

	/* Shared category heroes and rails */
	.film-top-grid,.music-top-grid,.disc-showcase,.life-hero-grid,.tech-top-grid,.games-top-grid{gap:10px}
	.film-hero,.music-hero,.disc-feature,.life-hero,.tech-hero,.games-main-hero{min-height:390px;border-radius:7px}
	.film-hero-copy,.music-hero-copy,.disc-feature-copy,.tech-hero-copy,.games-hero-copy{left:18px;right:18px;bottom:18px}
	.life-hero>div{left:18px;right:18px;bottom:18px}
	.film-hero-copy strong,.music-hero-copy strong,.disc-feature-copy strong,.tech-hero-copy strong,.games-hero-copy strong,.life-hero strong{font-size:1.55rem;line-height:1.1}
	.film-hero-copy>span,.music-hero-copy>span,.disc-feature-copy>span,.tech-hero-copy>span,.games-hero-copy>span,.life-hero p{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3;font-size:.76rem}
	.film-filters,.music-filters,.disc-filters,.tech-topic-nav,.life-topics,.games-platform-nav{display:flex;grid-template-columns:none;overflow-x:auto;scroll-snap-type:x mandatory;border-radius:6px}
	.film-filters button,.music-filters button,.disc-filters button,.tech-topic-nav button,.life-topics a,.games-platform-nav button{flex:0 0 142px;min-height:50px;border-right:1px solid #e3e7ea;scroll-snap-align:start}
	.film-card-grid,.music-news-grid,.tech-current-grid,.life-project-grid{grid-template-columns:1fr}
	.film-card-image,.music-news-image,.tech-current-image{aspect-ratio:16/9;border-radius:5px}
	.film-card-grid h3,.music-news-grid h3,.tech-current-grid h3{font-size:.96rem}
	.film-sidebar,.music-sidebar,.tech-sidebar,.games-sidebar{grid-template-columns:1fr}
	.film-feature-list article{grid-template-columns:105px 1fr}.film-feature-image{width:105px}
	.music-video-grid,.disc-cover-grid,.disc-trailers>div,.life-review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
	.music-albums>div{display:flex;grid-template-columns:none;overflow-x:auto;scroll-snap-type:x mandatory}.music-albums a{flex:0 0 42%;scroll-snap-align:start}
	.disc-release-rail>div{grid-template-columns:1fr}
	.disc-cover-grid{gap:10px}
	.life-top-list{display:flex;grid-template-columns:none;overflow-x:auto;scroll-snap-type:x mandatory}.life-top-list article{flex:0 0 82%;scroll-snap-align:start}
	.tech-side-heroes,.games-side-heroes{display:flex;grid-template-rows:none;overflow-x:auto;scroll-snap-type:x mandatory}.tech-side-heroes a,.games-side-heroes a{flex:0 0 82%;min-height:135px;scroll-snap-align:start}
	.tech-rubrics{grid-template-columns:1fr 1fr}

	/* Games */
	.games-platform-nav button{flex-basis:128px}
	.games-content-grid{gap:12px}.games-panel{padding:12px}
	.games-news-list article>a{grid-template-columns:108px minmax(0,1fr);gap:10px}.games-news-image{width:108px;aspect-ratio:4/3}.games-news-list strong{font-size:.76rem}
	.games-review-grid{display:flex;grid-template-columns:none;overflow-x:auto;scroll-snap-type:x mandatory}.games-review-grid article{flex:0 0 82%;scroll-snap-align:start}
	.games-abo-grid{grid-template-columns:1fr}.games-abo-grid section>div{grid-template-columns:repeat(3,minmax(0,1fr))}
	.games-steam-list a{grid-template-columns:20px 62px minmax(0,1fr)}

	/* Articles */
	.article-page{width:100%;padding:12px!important;border-radius:7px}
	.article-header{margin:4px auto 16px}.article-header h1{font-size:1.65rem;line-height:1.14;overflow-wrap:break-word}
	.article-meta{flex-wrap:wrap;gap:7px;font-size:.72rem}
	.article-image{width:calc(100% + 24px);max-width:none;margin-inline:-12px;border-radius:0;object-fit:cover}
	.article-body{font-size:1.04rem;line-height:1.68;overflow-wrap:anywhere}
	.article-body img,.article-video iframe{width:100%;height:auto}.article-video iframe{aspect-ratio:16/9}
	.article-body table{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
	.article-content-layout,.article-content-layout.has-sidebar{grid-template-columns:1fr;gap:18px}
	.purchase-sidebar{width:100%;margin-top:8px}.purchase-card,.steam-card{width:100%;max-width:none}
	.related-grid{grid-template-columns:1fr}
	.article-gallery{padding:10px}.article-gallery-thumbs{grid-template-columns:repeat(3,1fr)}
	.image-lightbox{width:100vw;height:100dvh;max-width:none;max-height:none;padding:max(54px,env(safe-area-inset-top)) 8px max(20px,env(safe-area-inset-bottom));border-radius:0}
	.image-lightbox img{max-height:calc(100dvh - 110px)}

	/* Forms, consent and contests */
	.article-contest-intro{gap:10px;padding:15px}.article-contest.has-cover .article-contest-intro{grid-template-columns:42px 54px 1fr}.contest-gift-icon{width:42px;height:42px}.contest-cover{width:54px;height:72px}.article-contest-intro h2{font-size:1rem}
	.contest-form{padding:15px}.contest-form-grid,.contest-location-grid{grid-template-columns:1fr}.contest-form input[type=text],.contest-form input[type=email]{min-height:46px;font-size:16px}
	.contest-form>button{width:100%;min-height:48px}
	.contest-banner{border-radius:7px}
	.contest-overview-card,.contest-overview-card.is-featured{grid-template-columns:1fr}.contest-overview-media,.contest-overview-media img,.contest-overview-card.is-featured .contest-overview-media img{min-height:220px;max-height:260px}.contest-overview-copy{padding:18px}
	.consent-banner{left:10px;right:10px;bottom:max(10px,env(safe-area-inset-bottom));width:auto;max-height:calc(100dvh - 20px);padding:18px;overflow-y:auto}
	.consent-actions{grid-template-columns:1fr}.consent-actions button{min-height:46px}

	/* Footer */
	.footer-grid{gap:24px;padding-block:30px 24px}.footer-about img{width:170px}.footer-column h2{margin-bottom:10px}
	.footer-signup form{display:grid;grid-template-columns:minmax(0,1fr) auto}.footer-signup input,.footer-signup button{min-height:46px}
	.footer-bottom{padding-bottom:max(18px,env(safe-area-inset-bottom))}
}

@media (max-width:430px){
	.portal-hero-main,.film-hero,.music-hero,.disc-feature,.life-hero,.tech-hero,.games-main-hero{min-height:370px}
	.portal-heading h2,.film-panel h2,.music-panel h2,.games-panel>header h2{font-size:.8rem}
	.music-video-grid,.disc-cover-grid,.disc-trailers>div,.life-review-grid,.tech-rubrics{grid-template-columns:1fr 1fr}
	.games-abo-grid section>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:8px}
	.games-abo-grid a strong{font-size:.57rem}
	.article-header h1{font-size:1.55rem}
}

@media (max-width:370px){
	.brand img{width:142px}
	.portal-hero-main,.film-hero,.music-hero,.disc-feature,.life-hero,.tech-hero,.games-main-hero{min-height:350px}
	.music-video-grid,.disc-trailers>div,.life-review-grid{grid-template-columns:1fr}
	.article-header h1{font-size:1.42rem}
}

@media (prefers-reduced-motion:reduce){
	.site-navigation,.mobile-nav-backdrop{transition:none}
}
