/* Mobile storefront refinements; loaded after the existing public styles. */
.mobile-app-nav{display:none}
@media(max-width:800px){
 html{scroll-padding-bottom:100px}
 body{padding-bottom:calc(78px + env(safe-area-inset-bottom,0px))}
 .container{width:calc(100% - 32px)}
 .site-header .header-inner,.center-brand .site-header .header-inner{display:flex;flex-wrap:nowrap;justify-content:space-between;gap:8px;min-height:82px;padding-block:12px}
 .site-header .header-inner>.brand,.center-brand .site-header .header-inner>.brand{flex:1 1 auto;min-width:0;justify-content:flex-start;font-size:clamp(17px,3.7vw,23px);gap:8px;white-space:normal}
 .site-header .managed-brand .brand-logo{max-width:min(var(--logo-width,150px),29vw);max-height:58px;width:auto;object-fit:contain}
 .site-header .brand small{font-size:10px;line-height:1.7}
 .site-header .header-actions{gap:3px;flex:0 0 auto}
 .site-header .header-actions .icon-button{width:44px;height:44px;min-width:44px;border-radius:13px;background:var(--surface)}
 .site-header .header-actions .icon-button svg{width:23px;height:23px}
 .site-header .header-actions .header-cart,.site-header .header-actions .header-account,.site-header .header-actions .divider{display:none}
 .site-header .desktop-nav{display:none}
 .site-header .mobile-toggle{display:grid}
 .mobile-nav a{min-height:46px;display:flex;align-items:center}
 .search-drawer{gap:10px}
 .search-drawer input{width:100%;flex-basis:100%;font-size:17px}
 .home{padding-top:16px}
 .home .hero{display:flex;flex-direction:column;align-items:stretch;min-height:0;background:var(--card);border:1px solid var(--line);border-radius:14px;isolation:auto}
 .home .hero-image{position:static;inset:auto;z-index:auto;display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:contain;object-position:center;background:var(--surface)}
 .home .hero-shade{display:none}
 .home .hero-content{max-width:none;width:100%;padding:22px;color:var(--text)}
 .home .hero-label{color:var(--accent);background:var(--surface);border-color:var(--line);font-size:13px;padding:4px 12px}
 .home .hero h1{font-size:clamp(25px,5vw,34px);line-height:1.85;margin:12px 0;overflow-wrap:anywhere}
 .home .hero p{font-size:17px;line-height:2;color:var(--muted);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
 .home .hero .meta{color:var(--muted);font-size:12px;gap:10px 16px;margin:16px 0;line-height:1.9}
 .home .hero .button-light{background:var(--accent);color:var(--bg);min-height:46px;padding:10px 20px;font-size:17px}
 .home .hero-caption{display:none}
 .mobile-app-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));position:fixed;inset:auto 0 0;z-index:90;min-height:74px;padding:6px max(8px,env(safe-area-inset-right,0px)) calc(6px + env(safe-area-inset-bottom,0px)) max(8px,env(safe-area-inset-left,0px));background:var(--card);border-top:1px solid var(--line);box-shadow:0 -4px 24px #082d3b0d}
 .mobile-app-nav>a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:0;min-height:60px;border-radius:12px;color:var(--muted);font-size:12px;line-height:1.7;padding:5px 2px}
 .mobile-app-nav>a>svg,.mobile-app-icon>svg{width:24px;height:24px}
 .mobile-app-nav>a[aria-current=page]{color:var(--accent);background:var(--surface)}
 .mobile-app-nav>a:focus-visible{outline-offset:-3px}
 .mobile-app-icon{position:relative;display:block;height:24px}
 .mobile-app-icon .cart-count{inset-inline-end:-13px;top:-5px;min-width:17px;height:17px;font-size:10px}
 .book-grid:not(.book-carousel){grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:stretch}
 .book-card .book-card-content{padding:12px;gap:10px;flex:0 0 auto}
 .book-card .book-card-category,.book-card h3,.book-card .book-card-author,.book-card .book-card-content>.text-link,.book-card .content-actions,.book-card .book-card-price del{display:none}
 .book-card .book-card-image{aspect-ratio:3/4;padding:10px}
 .book-card .book-card-image img{width:100%;height:100%;max-height:none;object-fit:contain;box-shadow:2px 4px 10px #0002}
 .book-card .book-card-price{margin:0;justify-content:center;gap:0;min-height:25px}
 .book-card .book-card-price strong{font:600 clamp(13px,3.3vw,17px)/1.7 Arial,Faruma,sans-serif;white-space:nowrap}
 .book-card .book-purchase{margin:0;display:block}
 .book-card .book-purchase .button,.book-card .book-card-content>a.button{width:100%;font-size:16px;min-height:44px;padding:7px 8px;gap:5px;white-space:normal;text-align:center;line-height:1.7}
 .book-card .commerce-help{font-size:13px;margin:0}
 .book-carousel>.book-card{flex-basis:clamp(150px,43vw,230px)}
 .article-card .content-actions{gap:5px;flex-wrap:wrap}
 .article-card .reaction-button{padding:7px 9px;font-size:12px}
 .article-card .card-body{min-width:0}
 .article-card .card-body h3{overflow-wrap:anywhere}
 .section-heading{align-items:center;gap:10px}
 .section-heading h2{font-size:clamp(21px,4.5vw,28px)}
 .section-heading .text-link{font-size:13px;white-space:normal}
 .site-footer{padding-bottom:12px}
}
@media(max-width:360px){
 .site-header .header-inner{flex-wrap:wrap;justify-content:center}
 .site-header .header-inner>.brand{flex-basis:100%;justify-content:center}
 .site-header .header-actions{justify-content:center;width:100%}
 .home .hero-content{padding:18px}
 .book-card .book-card-content{padding:9px}
 .mobile-app-nav>a{font-size:11px}
}
@media(prefers-reduced-motion:reduce){.mobile-app-nav a{transition:none}}
