/* Mobile usability and safe areas; shared by the store and service pages. */
html:has(body.panel-open),html:has(dialog[open]){overflow:hidden;overscroll-behavior:none}
body:has(dialog[open]){overflow:hidden}
.mobile-panel,.cart-drawer,.search-overlay{height:100dvh;max-height:100dvh;overscroll-behavior:contain}
.mobile-panel{overflow-y:auto;display:flex;flex-direction:column;padding-bottom:max(26px,env(safe-area-inset-bottom))}
.mobile-panel>p{position:static;margin-top:auto;padding-top:28px}
.mobile-panel nav{margin-bottom:26px;flex-shrink:0}
.mobile-panel .panel-close,.cart-drawer .drawer-header{flex-shrink:0}
.cart-scroll,.checkout-scroll,.product-dialog .product-detail-grid{-webkit-overflow-scrolling:touch}
.search-overlay{padding-bottom:max(24px,env(safe-area-inset-bottom))}
@media(max-width:760px){
 .site-header .menu-button{min-width:44px;min-height:44px}
 .filter-chip{min-height:44px}
 .filter-chip,.filter-chip:hover,.filter-chip:active{transform:none;box-shadow:none;border-color:#b5b5af;color:var(--ink);background:transparent;transition:background-color .28s ease,color .28s ease,border-color .28s ease;-webkit-tap-highlight-color:transparent}
 .filter-chip:before{content:none}
 .filter-chip.active,.filter-chip.active:hover{background:var(--ink);border-color:var(--ink);color:var(--white)}
 .filter-chip sup,.filter-chip:hover sup{color:inherit;transform:none;transition:none}
 .catalog-controls select{font-size:16px;min-height:48px}
 .catalog-reset{min-height:44px;padding-block:10px}
 .size-picker div{flex-wrap:wrap;gap:8px}
 .size-picker div button{min-width:44px;min-height:44px;width:auto;padding-inline:12px;color:var(--ink);appearance:none;-webkit-appearance:none}
 .size-picker div button.active{color:#fff}
 .size-picker legend .size-guide-open{min-height:44px;display:inline-flex;align-items:center;padding:0;font-size:12px}
 .size-picker legend{display:flex;align-items:center;justify-content:space-between;gap:12px;float:none}
 .wish{width:44px;height:44px;right:7px;top:7px;color:var(--ink);appearance:none;-webkit-appearance:none;font-family:Arial,sans-serif}
 .wish.active{color:#fff}
 .quick-add{min-height:44px;height:44px}
 .cart-drawer .cart-item button{min-height:44px;padding:10px 0}
 .cart-extra-size select,.cart-extra-add{min-height:44px;height:44px}
 .cart-drawer .cart-item>div{min-width:0}
 .cart-drawer .cart-item h3{overflow-wrap:anywhere}
 dialog.product-dialog{height:100dvh;max-height:100dvh;margin:0}
 .product-dialog-close{position:fixed;top:max(12px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));background:var(--paper)}
 dialog.product-dialog .detail-image-wrap{max-height:65svh;aspect-ratio:3/4}
 dialog.product-dialog .detail-copy{padding-bottom:max(30px,env(safe-area-inset-bottom))}
 .product-inline h1{font-size:clamp(30px,8.8vw,42px);overflow-wrap:anywhere}
 .product-inline .detail-add{position:static}
 .product-inline .detail-thumbs{padding-inline:0}
 .size-guide-dialog{max-height:calc(100dvh - 24px);overscroll-behavior:contain}
 .size-guide-panel{overscroll-behavior-x:contain}
 .search-results{max-height:none;overflow:visible}
 .search-form{margin-top:24px}
 .search-form input{font-size:clamp(26px,8vw,44px);min-width:0}
 .search-form button{min-width:44px;min-height:44px}
 .checkout-dialog-close{position:fixed;top:max(12px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right))}
 .checkout-form{padding-bottom:max(36px,env(safe-area-inset-bottom))}
 .cookie-dialog,.gift-terms-dialog{max-height:calc(100dvh - 28px);overscroll-behavior:contain}
 .faq-back{min-height:44px;display:inline-flex;align-items:center}
}
@media(max-width:360px){.cart-extra-controls{grid-template-columns:minmax(0,1fr)}.cart-extra-add{width:100%}.product-tag{left:7px;max-width:calc(100% - 60px);line-height:1.4}.mobile-panel{padding-inline:20px}.mobile-panel nav{margin-top:25px}.mobile-panel nav a{font-size:27px}}
@media(max-height:520px) and (max-width:900px){.mobile-panel nav{margin-top:15px}.mobile-panel nav a{font-size:25px;padding-block:9px}.mobile-panel>p{font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.mobile-panel,.cart-drawer,.search-overlay,.product-dialog[open]{animation:none;transition:none}}

.product-image-link>picture{display:block;width:100%;height:100%}
@media(max-width:760px) and (prefers-reduced-motion:no-preference){.reveal{transform:none;transition:opacity .6s ease;transition-delay:0s!important}}
