/* Mobile-first touch, spacing and overflow fixes shared across storefront flows. */
@media(max-width:767px){
 html{scroll-padding-top:74px}body{overflow-x:hidden}.shell{padding-left:16px;padding-right:16px}
 button,.btn,.editor-secondary,.text-link{touch-action:manipulation}
 .site-main{min-width:0}.site-main img,.site-main video{max-width:100%}
 .announcement{min-height:36px;padding:8px 12px;font-size:9px;letter-spacing:.08em;line-height:1.45}
 .announcement-offer{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap}.announcement-offer>a{margin:0;white-space:nowrap}
 .classic-header .header-row{height:66px;grid-template-columns:auto minmax(72px,1fr) auto;gap:9px;padding-inline:12px}
 .classic-header .site-logo{width:min(142px,34vw);height:auto}.classic-header .header-actions{gap:8px}.classic-header .header-account{min-width:38px;min-height:42px;justify-content:center}.classic-header .header-account span{display:none}.classic-header .cart-header-button{min-width:44px;min-height:44px;justify-content:center}
 .hero-categories{overflow-x:auto;scroll-snap-type:x proximity;padding-inline:16px}.hero-categories>a{scroll-snap-align:start;flex:0 0 auto}
 .hero-grid{margin-inline:12px}.hero-grid .banner-carousel{min-height:0}.hero-grid .banner-slide img{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover}.hero-grid .banner-slide-content{max-width:82%;padding:18px}.hero-grid .banner-slide-content h1,.hero-grid .banner-slide-content h2{font-size:clamp(22px,7vw,34px);line-height:1.08}.hero-grid .banner-slide-content p{font-size:12px;line-height:1.55}.hero-grid .banner-slide-content .btn{min-height:44px}
 .section-space{padding-inline:16px}.section-heading{align-items:center}.section-heading .rail-buttons button{width:42px;height:42px}.product-rail,.category-rail{scroll-snap-type:x mandatory;scroll-padding-inline:16px}.product-rail>* ,.category-rail>*{scroll-snap-align:start}
 .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.product-tile{min-width:0}.product-tile .product-info{min-width:0}.product-tile .product-info h3{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;line-height:1.4}.product-tile .product-actions{gap:6px}.product-tile .product-actions .btn{min-height:42px;padding:9px 10px;font-size:11px}
 .product-detail,.product-layout,.product-page-grid{grid-template-columns:minmax(0,1fr)!important;gap:20px!important}.product-gallery,.product-main-image{min-width:0}.product-main-image img{max-height:52vh;object-fit:contain}.product-purchase-panel{position:static!important}.product-detail h1,.product-title{font-size:clamp(25px,7vw,34px);line-height:1.15}
 .cart-drawer{width:min(100vw,440px);max-width:100vw}.cart-drawer-content{padding-bottom:calc(20px + env(safe-area-inset-bottom))}.cart-drawer button,.cart-drawer a{min-height:44px}
 .trust-strip-section{padding:12px 0}.trust-strip-frame{padding-inline:12px}.trust-strip-frame img{width:100%;height:auto;object-fit:contain}.about-teaser-card{overflow-wrap:anywhere}
 .hero-grid .side-banners{grid-template-columns:minmax(0,1fr);grid-template-rows:auto;gap:10px}
 .hero-grid .side-banner{min-height:190px}
 .hero-grid .side-banner .banner-content{max-width:72%;padding:16px;gap:8px}
 .hero-grid .side-banner h2{font-size:20px;overflow-wrap:normal;word-break:normal}
 .hero-grid .side-banner .btn{min-height:40px;padding:10px 14px;font-size:11px;white-space:nowrap}
 .site-footer .footer-grid{grid-template-columns:1fr 1fr;gap:24px 16px}.site-footer .footer-brand,.site-footer .footer-contact{grid-column:1/-1}.footer-bottom{gap:12px;flex-wrap:wrap;padding-bottom:calc(18px + env(safe-area-inset-bottom))}
 .mobile-bottom-nav{padding-bottom:max(8px,env(safe-area-inset-bottom));min-height:60px}.mobile-bottom-nav>a,.mobile-bottom-nav>button{min-height:44px}
 .checkout-grid,.checkout-layout,.account-layout,.contact-layout{grid-template-columns:minmax(0,1fr)!important;gap:18px!important}.checkout-summary{position:static!important}.checkout-form input,.checkout-form select,.checkout-form textarea,.product-quantity input{font-size:16px!important;min-height:46px}.checkout-form button,.checkout-actions .btn{width:100%;min-height:48px}
 .table-responsive,.table-scroll{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.pagination{flex-wrap:wrap;gap:8px}.filter-bar{gap:8px;overflow-x:auto}.filter-bar>*{flex:0 0 auto}
}
@media(max-width:380px){.classic-header .site-logo{width:116px}.classic-header .header-row{gap:5px}.classic-header .header-actions{gap:3px}.product-grid{gap:8px}.product-tile .product-actions{flex-wrap:wrap}.site-footer .footer-grid{grid-template-columns:1fr}.site-footer .footer-grid>*{grid-column:1/-1}}
@media(min-width:768px) and (max-width:1000px){
 .hero-grid{grid-template-columns:minmax(0,1fr);gap:12px}
 .hero-grid .banner-carousel,.hero-grid .banner-viewport{width:100%;min-width:0}
 .hero-grid .banner-slide{width:100%;min-width:0}
 .hero-grid .side-banners{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto;gap:12px;margin-bottom:0}
 .hero-grid .side-banner{min-height:220px}
 .hero-grid .side-banner .banner-content{max-width:88%}
 .hero-grid .side-banner .btn{font-size:11px;white-space:nowrap}
}
@media(max-width:767px){
 .product-page .detail-grid{grid-template-columns:minmax(0,1fr)!important;gap:16px!important;padding-top:18px}
 .product-page .detail-gallery{position:static;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto;gap:10px}
 .product-page .detail-main-image{grid-column:1;grid-row:1;aspect-ratio:1/1;border-radius:16px}
 .product-page .detail-main-image>button{padding:16px}
 .product-page .detail-thumbnails{grid-column:1;grid-row:2;flex-direction:row;max-height:none;overflow-x:auto;overflow-y:hidden;padding:2px 2px 7px;scroll-snap-type:x proximity}
 .product-page .detail-thumbnails .thumb{width:64px;height:64px;min-height:64px;scroll-snap-align:start}
 .product-page .product-section-links{grid-column:1;grid-row:3;flex-wrap:nowrap;gap:18px;padding:12px 2px 2px}
 .product-page .detail-info{padding:20px 18px;border-radius:16px}
 .product-page .detail-info h1{font-size:clamp(25px,7vw,32px)}
 .product-page .detail-price{padding:12px}
 .product-page .detail-price strong{font-size:27px}
 .product-page .detail-purchase{grid-template-columns:102px minmax(0,1fr);gap:8px}
 .product-page .detail-purchase>.btn{padding:10px 12px;font-size:12px}
 .product-page .product-secondary-actions{flex-wrap:wrap}
 .product-page .product-secondary-actions>*{flex:1 1 135px}
}
