/* Mobile storefront: final overrides; desktop geometry remains intact. */
:root{--minna-mobile-height:100vh}
@supports(height:100dvh){:root{--minna-mobile-height:100dvh}}
@media(min-width:761px) and (max-width:1024px){
  body main.wrap #grid.products,body main.wrap #hotSection .hotGrid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  body main.wrap .hero{grid-template-columns:1fr!important}
  body header .head{flex-wrap:wrap!important;gap:12px!important}
  body header .head .headerTools{width:100%!important;max-width:100%!important;flex:1 1 100%!important;min-width:0!important}
  body header .head .headerTools .search{width:auto!important;min-width:0!important;max-width:none!important;flex:1 1 auto!important}
}
@media(max-width:760px){
  html{scroll-padding-top:175px}
  body{width:100%;max-width:100%;margin:0;-webkit-text-size-adjust:100%}
  body main.wrap{width:100%!important;max-width:100%!important;padding-left:max(12px,env(safe-area-inset-left))!important;padding-right:max(12px,env(safe-area-inset-right))!important;padding-bottom:calc(88px + env(safe-area-inset-bottom))!important}
  body main.wrap>*,body .modalbox>*{min-width:0}
  body img{max-width:100%}
  body .top .topInner{display:block!important;padding:6px 12px!important}
  body .top .marketNotice{white-space:normal!important;font-size:11px!important;line-height:1.4!important}
  body .top .topLinks{display:none!important}
  body header .head{
    display:grid!important;grid-template-columns:minmax(60px,1fr) auto auto auto!important;
    grid-template-rows:auto auto auto!important;gap:6px 4px!important;
    padding:8px max(12px,env(safe-area-inset-right)) 8px max(12px,env(safe-area-inset-left))!important;
    width:100%!important;max-width:100%!important;min-width:0!important;position:relative!important;
  }
  body header .head .brandHeader{grid-column:1!important;grid-row:1!important;min-width:0!important;width:100%!important;max-width:150px!important}
  body header .head .mainLogoImage{display:block!important;width:100%!important;max-width:150px!important;height:auto!important;max-height:46px!important;object-fit:contain!important}
  body header .head .headerTools,body header .head .headerIdentityStack{display:contents!important}
  body header .head .headerLangSwitch{grid-row:1!important;grid-column:2!important;display:flex!important;align-items:center!important;gap:0!important;margin:0!important;width:auto!important}
  body header .head .headerLangDivider{display:none!important}
  body header .head .headerLangSwitch .siteLangBtn{width:44px!important;min-width:44px!important;max-width:44px!important;min-height:44px!important;height:44px!important;font-size:11px!important;padding:2px!important}
  body header .head .headerAuthRow{grid-row:1!important;grid-column:3!important;display:flex!important;margin:0!important;gap:0!important}
  body header .head .headerAccountBtn{display:flex!important;align-items:center!important;justify-content:center!important;width:52px!important;min-width:44px!important;max-width:64px!important;min-height:44px!important;height:44px!important;padding:4px!important;font-size:11px!important}
  body header .head .accountBtnLabel{max-width:46px!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
  body header .head .headerRegisterBtn{display:none!important}
  body header .head .headerCartBtn{grid-column:4!important;grid-row:1!important;min-width:44px!important;min-height:44px!important;height:44px!important;width:auto!important;padding:6px!important;font-size:11px!important}
  body header .head .headerTools .search{grid-column:1/-1!important;grid-row:2!important;display:flex!important;width:100%!important;min-width:0!important;max-width:none!important;flex:none!important;margin:0!important;height:44px!important}
  body header .head .headerTools .search input{width:100%!important;min-width:0!important;flex:1 1 auto!important;font-size:16px!important;height:44px!important}
  body header .head .searchIconBtn{width:44px!important;min-width:44px!important;min-height:44px!important;flex:0 0 44px!important}
  body header .head .primaryNav{display:flex!important;grid-row:3!important;grid-column:1/-1!important;width:100%!important;min-width:0!important;gap:12px!important;margin:0!important;overflow-x:auto!important;white-space:nowrap!important;-webkit-overflow-scrolling:touch}
  body header .head .primaryNav a,body header .head .primaryNav button{flex:0 0 auto!important;min-height:40px!important;display:inline-flex!important;align-items:center!important;font-size:12px!important;padding:4px 0!important}
  body .searchSuggest{left:0!important;right:0!important;width:100%!important;max-width:100%!important;max-height:45vh!important;overflow-y:auto!important}
  body .accountQuickMenu{width:min(280px,calc(100vw - 24px))!important;max-width:calc(100vw - 24px)!important}
  body .accountQuickMenu button{min-height:44px!important;font-size:14px!important}
  body main.wrap .hero{grid-template-columns:minmax(0,1fr)!important;gap:12px!important}
  body main.wrap .heroMain{min-width:0!important;padding:20px 16px!important}
  body main.wrap .hero h1{font-size:clamp(26px,7vw,38px)!important;line-height:1.14!important;overflow-wrap:anywhere}
  body main.wrap .heroBtns{display:flex!important;flex-wrap:wrap!important;gap:8px!important}
  body main.wrap .heroBtns button{min-height:44px!important;flex:1 1 140px!important;font-size:13px!important}
  body main.wrap .heroPromo{width:100%!important;height:clamp(240px,70vw,360px)!important;min-height:0!important}
  body .promoNav{min-width:44px!important;min-height:44px!important}
  body .promoDots{min-height:36px!important;align-items:center!important;max-width:calc(100% - 24px)!important;overflow-x:auto!important}
  body .promoDot{min-width:24px!important;min-height:24px!important;background-clip:content-box!important;border:7px solid transparent!important}
  body main.wrap .sectionHead{flex-wrap:wrap!important;gap:8px!important;align-items:flex-start!important}
  body main.wrap .sectionSub{font-size:12px!important;line-height:1.5!important;white-space:normal!important}
  body main.wrap .sectionLink{min-height:44px!important;max-width:100%;font-size:12px!important;white-space:normal!important;text-align:left!important}
  body .browseTabs{display:flex!important;width:100%!important;gap:4px!important}
  body .browseTabs .browseTab{flex:1 1 0!important;min-width:0!important;min-height:44px!important;font-size:13px!important;padding:9px 4px!important}
  body main.wrap #categoryDirectory.categoryDirectory{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  body main.wrap #categoryDirectory .categoryTile{min-width:0!important;min-height:106px!important;padding:12px!important}
  body main.wrap #categoryDirectory .catTitle{font-size:13px!important;line-height:1.35!important}
  body main.wrap #categoryDirectory .catMetaLine{font-size:10px!important;white-space:normal!important;overflow-wrap:anywhere}
  body main.wrap .brandGroup summary{min-height:48px!important;font-size:14px!important}
  body main.wrap .brandGrid{gap:7px!important}
  body main.wrap .brandChip{min-height:44px!important;max-width:100%!important;font-size:12px!important;white-space:normal!important;overflow-wrap:anywhere}
  body main.wrap .sceneGrid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  body main.wrap .sceneCard{min-width:0!important;height:auto!important;min-height:150px!important;padding:12px!important}
  body main.wrap .sceneTitle{font-size:14px!important}
  body main.wrap .sceneDesc{font-size:12px!important;line-height:1.45!important;white-space:normal!important}
  body main.wrap #grid.products,body main.wrap #hotSection .hotGrid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}
  body main.wrap .card.productCard{min-width:0!important;width:100%!important}
  body main.wrap .card.productCard .productImage,body main.wrap #hotSection .productCard .productImage{height:clamp(138px,43vw,205px)!important;min-height:0!important}
  body main.wrap .card.productCard .productBody{padding:10px 8px!important}
  body main.wrap .card.productCard .productName,body main.wrap #hotSection .productCard .productName{font-size:14px!important;line-height:1.4!important;min-height:39px!important;overflow-wrap:anywhere}
  body main.wrap .card.productCard .productBrand,body main.wrap #hotSection .productCard .productBrand{font-size:10px!important;line-height:1.4!important}
  body main.wrap .card.productCard .productJP{font-size:11px!important;line-height:1.45!important;min-height:0!important}
  body main.wrap .card.productCard .price{font-size:17px!important;overflow-wrap:anywhere}
  body main.wrap .card.productCard .productPurchaseRow{display:flex!important;flex-direction:column!important;gap:7px!important;align-items:stretch!important}
  body main.wrap .card.productCard .productQtyPicker{display:flex!important;justify-content:space-between!important;align-items:center!important;width:100%!important;min-width:0!important;min-height:44px!important}
  body main.wrap .card.productCard .productQtyPicker button{min-width:44px!important;width:44px!important;min-height:44px!important;height:44px!important;font-size:18px!important}
  body main.wrap .card.productCard .productAddBtn{width:100%!important;min-width:0!important;min-height:44px!important;font-size:13px!important;padding:8px 4px!important}
  body main.wrap .card.productCard .textDetail{min-height:40px!important;font-size:12px!important}
  body main.wrap #catalog .facetPanel .facetGrid,body main.wrap #catalog .facetPanel .facetTopRow{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;min-width:0!important}
  body main.wrap .facetField{min-width:0!important}
  body main.wrap .facetField label{font-size:12px!important}
  body main.wrap .facetField select{width:100%!important;min-width:0!important;min-height:44px!important;font-size:16px!important}
  body main.wrap .mobileFacetToggle{min-height:48px!important;width:100%!important}
  body main.wrap .sceneRecommendGrid,body main.wrap .recentGrid{grid-template-columns:repeat(2,minmax(0,1fr))!important;min-width:0!important}
  body .modal{padding:8px!important;box-sizing:border-box!important}
  body .modal .modalbox{width:100%!important;max-width:100%!important;max-height:calc(var(--minna-mobile-height) - 16px)!important;min-width:0!important;overflow-y:auto!important;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
  body #detailModal.productPageMode{height:var(--minna-mobile-height)!important;max-height:var(--minna-mobile-height)!important;padding:0!important}
  body #detailModal.productPageMode .modalbox{max-height:none!important;min-height:var(--minna-mobile-height)!important;overflow:visible!important;padding-left:12px!important;padding-right:12px!important}
  body #detailModal .detail,#detailModal .detailMain{grid-template-columns:minmax(0,1fr)!important;gap:16px!important}
  body #detailModal .detailImg{height:clamp(240px,75vw,390px)!important;max-height:390px!important;min-height:0!important}
  body #detailModal .detailInfo{min-width:0!important}
  body #detailModal .detailInfo h1{font-size:24px!important;overflow-wrap:anywhere}
  body #detailModal .detailActions{display:flex!important;flex-wrap:wrap!important;gap:8px!important}
  body #detailModal .detailActions button{min-height:44px!important;flex:1 1 130px!important}
  body .modal input:not([type=checkbox]):not([type=radio]),body .modal select,body .modal textarea{font-size:16px!important;min-height:44px!important;max-width:100%!important;box-sizing:border-box!important}
  body .modal .grid2,body .modal .memberGrid,body .modal .shippingFormGrid{grid-template-columns:minmax(0,1fr)!important;gap:12px!important}
  body .modal .authField,body .modal .field{min-width:0!important}
  body :is(#authModal,#memberAddressModal,#memberCenterModal,#checkoutModal,#memberOrderDetailModal) input:not([type=checkbox]):not([type=radio]),
  body :is(#authModal,#memberAddressModal,#memberCenterModal,#checkoutModal,#memberOrderDetailModal) select,
  body :is(#authModal,#memberAddressModal,#memberCenterModal,#checkoutModal,#memberOrderDetailModal) textarea{font-size:16px!important;min-height:44px!important;min-width:0!important;max-width:100%!important}
  body #memberAddressModal .shippingAddressEditor .shippingFormGrid,
  body #memberCenterModal .memberBox .memberGrid,
  body #authModal .authBox .grid2{grid-template-columns:minmax(0,1fr)!important}

  body #authModal .authBox,body #memberCenterModal .memberBox,body #memberOrderDetailModal .memberBox{max-height:calc(var(--minna-mobile-height) - 16px)!important;max-width:100%!important;min-width:0!important}
  body #memberAddressModal .shippingAddressEditor{width:100%!important;max-width:100%!important;height:calc(var(--minna-mobile-height) - 16px)!important;max-height:calc(var(--minna-mobile-height) - 16px)!important}
  body .modal .authBody{min-height:0!important;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior:contain}
  body .modal .authTitle{font-size:22px!important;overflow-wrap:anywhere}
  body .modal .authTopRow{gap:8px!important}
  body .modal .btn,body .modal .close{min-height:44px!important}
  body .shippingAddressFooter{padding-bottom:calc(12px + env(safe-area-inset-bottom))!important;gap:8px!important;flex-wrap:wrap!important}
  body .shippingAddressFooter button{min-height:44px!important;min-width:0!important;flex:1 1 120px!important}
  body #cart.minna-cart-ux-v34{height:var(--minna-mobile-height)!important;max-height:var(--minna-mobile-height)!important;width:100%!important;max-width:100%!important}
  body #cart .minna-cart-layout-v34{display:block!important;min-height:0!important;flex:1 1 auto!important;overflow-y:auto!important;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
  body #cart .minna-cart-products-v34,body #cart.minna-cart-expanded-v34 .minna-cart-products-v34{height:auto!important;max-height:none!important;overflow:visible!important;padding:12px!important}
  body #cart .minna-cart-summary-v34{overflow:visible!important;min-height:0!important;padding:12px 12px 0!important}
  body #cart.minna-cart-ux-v34 #cartRows>.cartrow{grid-template-columns:46px minmax(0,1fr) 44px!important;gap:8px!important}
  body #cart.minna-cart-ux-v34 #cartRows .qty button{min-width:44px!important;min-height:44px!important}
  body #cart.minna-cart-ux-v34 #cartRows .minna-cart-row-remove{width:44px!important;min-width:44px!important;min-height:44px!important;padding:4px!important;font-size:11px!important;white-space:normal!important}
  body #cart #minnaCartCountry{width:100%!important;min-width:0!important;max-width:100%!important;min-height:44px!important;font-size:16px!important}
  body #cart .minnaCartQuoteLocation{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:6px!important}
  body #cart .minna-cart-summary-v34 #checkoutBtn{width:calc(100% + 24px)!important;margin:12px -12px 0!important;min-height:56px!important;padding:14px 12px calc(14px + env(safe-area-inset-bottom))!important}
  body #checkoutModal{padding:0!important}
  body #checkoutModal .checkoutModalBox{height:var(--minna-mobile-height)!important;max-height:var(--minna-mobile-height)!important;border-radius:0!important}
  body #checkoutBody{flex:1 1 auto!important;min-height:0!important;overflow:hidden!important}
  body #checkoutBody .checkoutShell{display:block!important;overflow-y:auto!important;min-height:0!important;overscroll-behavior:contain}
  body #checkoutBody .checkoutMain,body #checkoutBody .checkoutSummary{padding:14px 12px!important;overflow:visible!important;min-width:0!important}
  body #checkoutBody .checkoutMain .grid2,body #checkoutBody .checkoutPostalCity{grid-template-columns:minmax(0,1fr)!important}
  body #checkoutBody .checkoutActions{flex-wrap:wrap!important;padding:10px 12px calc(10px + env(safe-area-inset-bottom))!important}
  body #checkoutBody .checkoutActions button{flex:1 1 120px!important;min-width:0!important;min-height:48px!important}
  body #checkoutBody .checkoutSuccess{padding:20px 12px!important}
  body .orderCardTop,body .orderCardFooter{flex-wrap:wrap!important;gap:10px!important}
  body .orderMetaGrid,body .orderDetailTwoCol{grid-template-columns:minmax(0,1fr)!important}
  body .orderItemName{font-size:12px!important;overflow-wrap:anywhere}
  body .orderItemPrice{font-size:12px!important;white-space:nowrap!important}
  body .orderCardNo,body .orderDetailHeroNo,body .orderTrackingNumber{overflow-wrap:anywhere!important}
  body .memberOrderActions .btn{min-height:44px!important}
  body .age{padding:12px!important}
  body .agebox{width:100%!important;max-width:440px!important;max-height:calc(var(--minna-mobile-height) - 24px)!important;overflow-y:auto!important;padding:20px 16px!important}
  body .ageChoice{min-height:48px!important;display:flex!important;align-items:center!important;justify-content:center!important}
  body .v965FooterInner,body main.wrap .steps{grid-template-columns:minmax(0,1fr)!important}
  body .footerSocial a{min-width:44px!important;min-height:44px!important}
  body .modal table{display:block;max-width:100%;overflow-x:auto}
  body .toast{max-width:calc(100vw - 24px)!important;white-space:normal!important;bottom:calc(80px + env(safe-area-inset-bottom))!important}
  body.minna-mobile-keyboard #mobileCartBar,body.minna-mobile-keyboard #v104CartBtn,body.minna-mobile-keyboard .v44-fabs{visibility:hidden!important;pointer-events:none!important}
}
@media(max-width:359px){
  body header .head{padding-left:8px!important;padding-right:8px!important}
  body main.wrap{padding-left:8px!important;padding-right:8px!important}
  body main.wrap #grid.products,body main.wrap #hotSection .hotGrid{gap:6px!important}
  body main.wrap .card.productCard .productBody{padding:8px 6px!important}
}
@media(max-width:760px) and (max-height:520px){body header{position:static!important}body .heroPromo{height:240px!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}}
