/* Shared desktop and iPhone layout corrections. */
body{touch-action:auto;-webkit-text-size-adjust:100%}
.checkout-overlay:not(.active),.cart-overlay:not(.active),.login-overlay:not(.active),.overlay:not(.active){visibility:hidden}
main,.product-grid>*,.review-grid>*,.nav-pill>div,.nav>*{min-width:0}
h1,h2,.subtitle,.breadcrumb,.meta b,.related-body b{overflow-wrap:anywhere}
.breadcrumb,.price-row,.rating-row{flex-wrap:wrap}
.cat-grid{grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr))}
.mobile-menu-panel,.product-mobile-menu-panel{
  max-height:calc(100vh - 96px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));
  max-height:calc(100dvh - 96px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));
  overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;
}
.checkout-box,.login-box,.modal{max-height:calc(100vh - 40px);max-height:calc(100dvh - 40px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))!important;overflow-y:auto;overscroll-behavior:contain}
.cart-box{max-height:calc(100vh - 40px);max-height:calc(100dvh - 40px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))!important}
.cart-header,.cart-footer{flex-shrink:0}
.mobile-menu-toggle,.product-mobile-menu-toggle,.mobile-menu-close,.product-mobile-menu-close,.close{min-width:44px;min-height:44px;flex-shrink:0}
:where(button,a,input,select,textarea):focus-visible{outline:2px solid #a5b4fc;outline-offset:3px}
@media(max-width:1023px){
  input,select,textarea,.checkout-input{font-size:16px!important}
  .nav-pill{gap:4px}
  .nav-pill .nav-link{padding-left:10px!important;padding-right:10px!important}
}
@media(max-width:768px){
  .nav-side.right{display:flex!important}
  .nav-side.right>.nav-link{display:none!important}
  .nav-wrap{padding-top:calc(12px + env(safe-area-inset-top,0px))}
  .wrap{width:calc(100% - 24px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px))!important}
  #main-content{padding-left:calc(12px + env(safe-area-inset-left,0px))!important;padding-right:calc(12px + env(safe-area-inset-right,0px))!important}
  #navLogoText{max-width:100%!important;white-space:normal;overflow-wrap:anywhere;text-align:center}
  .nav-pill>div:nth-child(2){min-width:0;flex-shrink:1!important}
  .checkout-overlay,.cart-overlay,.login-overlay,.overlay{padding-top:calc(12px + env(safe-area-inset-top,0px))!important;padding-bottom:calc(12px + env(safe-area-inset-bottom,0px))!important}
  .site-footer,.footer{padding-bottom:calc(24px + env(safe-area-inset-bottom,0px))!important}
  #toast,.toast{bottom:calc(16px + env(safe-area-inset-bottom,0px))!important;overflow-wrap:anywhere}
  .section-head{flex-wrap:wrap;align-items:flex-start}
  .review-grid{grid-template-columns:minmax(0,1fr)}
  .meta-grid>*{min-width:0}
}
@media(max-height:520px) and (max-width:950px){
  .product-grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:20px}
  .meta-grid{grid-template-columns:1fr!important}
  .mobile-menu-panel,.product-mobile-menu-panel{top:calc(10px + env(safe-area-inset-top,0px))!important;max-height:calc(100dvh - 20px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))}
}
@media(max-width:560px){.product-grid{grid-template-columns:minmax(0,1fr)}}
@media(hover:none){.btn:hover,.related-card:hover{transform:none!important}}

/* Avoid continuous GPU work, especially on iPhone. */
.book-3d,.swipe-hint{animation:none!important}
.view-section:not(.active) *{animation-play-state:paused!important}
@media(max-width:768px),(prefers-reduced-motion:reduce){
  .glass,.glass-btn,.nav-pill,.stat-pill,.cat-card,.nav,.panel,.related-card,.product-image-shell{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
  .bg-blur{filter:none!important;transform:none!important;inset:0}
  .noise{display:none}
  .checkout-overlay,.cart-overlay,.login-overlay,.overlay,.mobile-menu-backdrop,.product-mobile-menu-backdrop{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:rgba(0,0,0,.86)}
  .checkout-box,.cart-box,.login-box,.modal,.mobile-menu-panel,.product-mobile-menu-panel{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:#141414!important}
}
