/* Phone presentation layer, deliberately scoped away from desktop. */
.phone-menu,.phone-cart-icon{display:none}
/* Focus must settle immediately on checkout: a smooth page scroll can keep
   moving the adjacent Apply button while the customer starts to click it. */
html:has([data-checkout-form]){scroll-behavior:auto}
@media(max-width:850px){
 :root{--phone-bar-space:calc(76px + env(safe-area-inset-bottom,0px))}
 body{padding-bottom:var(--phone-bar-space)}
 .announcement{position:relative;top:auto}
 .site-header{top:0!important}
 .site-header .nav{height:64px;min-height:64px;flex-wrap:nowrap;gap:8px}
 .site-header .brand{flex:1;min-width:0;white-space:nowrap;font-size:1.05rem!important;gap:6px}
 .site-header .brand img{width:28px;height:36px;object-fit:contain}
 .nav-actions{gap:2px;margin-left:0}
 .nav-actions>:is(.currency-switch,.language-switch,.account-link){display:none!important}
 .nav-actions>[data-search],.nav-actions>[data-cart-open],.phone-menu>summary{display:inline-flex;align-items:center;justify-content:center;width:44px;min-width:44px;height:44px;padding:4px}
 .nav-actions>[data-cart-open]{position:relative;font-size:0}
 .phone-cart-icon{display:block}
 .nav-actions .cart-count{position:absolute;top:0;right:0;min-width:17px;height:17px;padding:2px;font-size:11px!important}
 .heel-mobile-menu{display:none!important}
 .phone-menu{display:block}
 .phone-menu>summary{list-style:none;cursor:pointer;color:var(--text);border:1px solid var(--line);border-radius:50%;background:var(--surface-2)}
 .phone-menu>summary::-webkit-details-marker{display:none}
 .phone-menu-panel{position:absolute;left:12px;right:12px;top:100%;max-height:calc(100dvh - 150px);overflow-y:auto;padding:12px;background:#1c1224;border:1px solid var(--line);border-radius:16px;box-shadow:0 16px 32px #0009}
 .phone-menu-links{display:grid;grid-template-columns:1fr 1fr;gap:4px}
 .phone-menu-links a{display:flex;align-items:center;min-height:44px;padding:8px 12px;border-radius:8px;text-decoration:none;color:var(--text);font-size:16px}
 .phone-menu-links a:hover{background:var(--surface-3)}
 .phone-menu-utilities{display:flex;flex-wrap:wrap;align-items:center;gap:8px;border-top:1px solid var(--line);padding-top:12px;margin-top:8px}
 .site-header .phone-menu-utilities :is(a,select){display:inline-flex!important;align-items:center;justify-content:center;min-width:44px;min-height:44px;width:auto;height:auto;padding:8px 12px;font-size:16px;color:var(--text);background:var(--surface-2);border:1px solid var(--line);border-radius:10px}
 .phone-menu-utilities .account-link::before{content:none}
 .phone-menu-credit .signup-pill{position:static;display:inline-flex;margin-top:12px;min-height:44px;font-size:16px;box-shadow:none}
 .mobile-bar{left:0;right:0;bottom:0!important;border-radius:0;padding:8px 12px calc(8px + env(safe-area-inset-bottom,0px));background:#1c1224!important;box-shadow:0 -4px 20px #0005}
 .mobile-bar :is(a,button){min-height:44px;display:flex;align-items:center;justify-content:center;gap:6px;font-size:16px}
 /* Localized buy widgets have their own purchase link; keep navigation off their options. */
 body:has(.shoe-version-localized) .mobile-bar{display:none}
 /* Checkout fields can be fully in the viewport but behind fixed navigation.
    Keep its links in normal flow so they cannot intercept form actions. */
 body:has([data-checkout-form]) .mobile-bar{position:static}
 main{padding-bottom:24px!important}
 .site-footer{padding-bottom:24px!important}
 /* Status messages sit above the bar and can overlap purchase controls while
    animating. Keep taps passing through them, including in the visible state. */
 .toast,.toast.show{bottom:calc(var(--phone-bar-space) + 12px);pointer-events:none}
 .cookie-notice{position:relative!important;inset:auto!important;margin:0!important;max-width:none;width:100%;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px!important;padding:12px 16px!important;border-radius:0;box-shadow:none;min-height:0}
 .cookie-notice>span{grid-column:1/-1;font-size:16px;line-height:1.35}
 .cookie-notice{background:#1c1224!important;color:var(--text)!important;align-items:stretch!important}
 .cookie-notice a{color:#ff9ac7!important}
 .cookie-notice [data-ads-note]{font-size:14px}
 .cookie-notice :is(.cookie-refuse,.cookie-accept,.cookie-accept-all){width:100%!important;min-height:60px!important;font-size:14px!important;padding:8px 6px!important;border-color:#674459!important}
 .home-v2 .home-hero .hero-grid{padding:12px 0 24px!important;gap:14px;grid-template-columns:minmax(0,1fr)}
 .home-v2 .home-hero .hero-copy{width:100%;max-width:100%;grid-column:1;text-align:left}
 .home-v2 .home-hero .hero-product-visual{width:100%;max-width:none;padding:6px;justify-self:stretch;order:-1}
 .home-v2 .home-hero .hero-product-image{height:min(40svh,330px);aspect-ratio:auto;width:100%;object-fit:contain}
 body:has([data-cookie-notice]) .home-hero .hero-product-image{height:18svh}
 .home-v2 .home-hero figcaption{display:none}
 .home-v2 .home-hero h1{font-size:clamp(28px,7.6vw,34px)!important;line-height:1.05;max-width:none;letter-spacing:-.035em;margin:0 0 8px}
 .home-v2 .home-hero .eyebrow{margin:0 0 6px;font-size:12px}
 .home-v2 .home-hero .lede{font-size:16px;line-height:1.4;margin:0 0 8px}
 .home-v2 .hero-price{font-size:22px;margin:8px 0}
 .home-v2 .hero-actions{margin:10px 0;gap:8px}
 .home-v2 .hero-actions .button{min-height:44px;font-size:16px;padding:10px 12px}
 .home-v2 .hero-trust{font-size:14px}
 .section{padding-block:32px}
 .shop-page :is(.chips,.kink-filter .chips,.kink-guides){display:flex;flex-wrap:nowrap!important;overflow-x:auto;max-width:100%;gap:8px;padding-bottom:8px;scrollbar-width:thin}
 .shop-page :is(.chips,.kink-guides)>*{flex:0 0 auto;white-space:nowrap!important;min-height:44px;display:inline-flex;align-items:center;font-size:14px}
 .shop-page .category-links a{min-height:44px;display:inline-flex;align-items:center;font-size:14px}
 .shop-page .shop-controls{grid-template-columns:minmax(0,1fr)!important}
 .shop-page .shop-controls .field{min-height:44px;font-size:16px}
 .shop-page .kink-filter{min-width:0}
 .product-detail .gallery-main{margin-inline:0;aspect-ratio:auto;height:min(43svh,360px);min-height:0}
 .product-detail .gallery-main [data-view]{height:100%}
 .product-detail .gallery-main img{height:100%;max-height:100%;width:100%}
 .product-detail .gallery-thumbs{display:flex;flex-wrap:nowrap;overflow-x:auto;max-width:100%}
 .product-detail .gallery-thumbs button{flex:0 0 56px;min-height:56px}
 .product-detail .buy-box h1{font-size:30px;line-height:1.1}
 .product-detail .product-price{font-size:24px}
 .product-detail :is(.variant-chips button,.swatch,.qty button,summary){min-height:44px;min-width:44px}
 .product-detail .faq-question{min-height:44px;font-size:16px}
 .onyx-ux .onyx-sticky-cart{left:0;right:0;bottom:0;width:100%;display:flex;align-items:center;gap:12px;padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));background:#1c1224!important;border-top:1px solid var(--line)!important;transform:none;pointer-events:auto}
 .onyx-ux .onyx-sticky-cart__price{display:block!important;font-size:18px;flex:0 0 auto}
 .onyx-ux .onyx-sticky-cart .button{flex:1;width:auto;min-height:48px;padding:10px 12px;box-shadow:none;font-size:16px}
 .onyx-ux .onyx-sticky-cart[aria-hidden="true"]{visibility:hidden;pointer-events:none}
 .cart-drawer{width:100%;max-width:100%;padding:16px;padding-bottom:calc(16px + env(safe-area-inset-bottom,0px))}
 .cart-drawer :is(.cart-quantity button,.remove-link){min-width:44px;min-height:44px}
 .cart-drawer button{min-height:44px}
 .cart-drawer .icon-button{min-width:44px}
 .checkout-summary{position:static}
 :is(input,select,textarea).field{font-size:16px;min-height:44px}
 .guide-detail,.category-intro{overflow-wrap:anywhere}
 .guides-hero h1,.guide-head h1{font-size:clamp(30px,8vw,40px);line-height:1.12}
 .category-intro .category-links{display:flex;flex-direction:column;align-items:stretch}
 .category-intro .category-links a{white-space:normal;min-height:44px}
 .lp-arrow{width:44px;height:44px}
 .lp-sticky{background:#1c1224;backdrop-filter:none}
}
