/* ===== STE dedicated mobile layer (loaded with media="(max-width:640px)" — desktop never applies it) ===== */
html,body{overflow-x:clip}
body{-webkit-text-size-adjust:100%;text-size-adjust:100%}
/* header: 44px targets */
.hdr__act .ico,.hdr__login{width:44px;min-width:44px;height:44px}
.lang{min-height:44px;display:inline-flex;align-items:center}
@media (max-width:400px){.hdr__logo img{height:36px;width:auto}.hdr__in{gap:4px}}
/* lighter backgrounds on phones */
.phd::before{background-image:none}
.lband::before{background-image:url(/img/brand/chrome-800.webp)}
.mani__bg{background-image:url(/img/brand/streaks-800.webp)}
.ins{background-image:url(/img/brand/insider-rink-800.webp)}
.au::before{background-image:url(/img/brand/swoosh-800.webp)}
/* page headers: restore side padding, calmer type */
.phd__in{padding-top:18px;padding-bottom:22px}
.phd h1{font-size:clamp(38px,11.2vw,50px);line-height:.92}
.phd .lede{font-size:15.5px;line-height:1.5}
.phd:has(+ #shop) .lede{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.phd__vat{font-size:12.5px;border-radius:14px}
.si a,.si{min-height:44px}
.si{display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px}
.si a{display:inline-flex;align-items:center}
.crumbs{font-size:13.5px;line-height:1.35;min-width:0}
.crumbs ol{flex-wrap:nowrap;min-width:0}
.crumbs li,.crumbs a{min-height:36px;white-space:nowrap}
.crumbs li{flex:0 0 auto}
.crumbs li:last-child{display:inline-flex;flex:1 1 auto;min-width:0;overflow:hidden}
.crumbs li:last-child [aria-current]{flex:1 1 auto;display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* shop / collection: single column layout, full-width grid */
.shop{grid-template-columns:minmax(0,1fr)!important;gap:0!important}
.shop>.scrim{position:fixed}
.toolbar{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:10px;margin-bottom:14px}
.toolbar .qin{grid-column:1/-1;max-width:none;min-height:48px}
.toolbar .qin input{min-height:44px;font-size:16px}
.toolbar .count{grid-column:1/-1;order:5;font-size:13px;padding:0 4px}
.toolbar .fbtn{width:100%;min-height:48px;font-size:17px;padding:0 12px}
.toolbar .sel,.toolbar .sel select{width:100%}
.toolbar .sel select{min-height:48px;font-size:15px}
.grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px 10px!important}
.card__t{font-size:14px;line-height:1.25;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.card__brand{font-size:10.5px}
.card__p{font-size:15.5px}
/* home */
.hero__cta .btn{min-height:52px}
.cats{gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}
.cat,.cat:nth-child(n),.cat:last-child{min-height:0;padding:0;grid-column:auto}
.cat b{font-size:clamp(18px,5.2vw,22px);line-height:1.05;max-width:100%;min-height:2.1em;hyphens:manual;overflow-wrap:normal}
.cat img,.cat:nth-child(n) img{position:absolute;inset:0;width:100%;height:100%;right:auto;bottom:auto;padding:8%;object-fit:contain}
.cat i{position:relative;z-index:1;font-size:13px}
.deliv__grid{grid-template-columns:1fr;gap:10px}
.deliv__c{padding:18px 18px 16px}
.deliv__c b{font-size:46px;line-height:1;margin:6px 0 2px}
.deliv__c--nl::before{width:90px;height:20px;top:16px}
.brands{gap:12px}
.brand{min-height:0;padding:20px 20px 18px}
.brand--logo{min-height:160px;padding:22px 16px 16px}
.brand--logo img{width:84%;height:72px;max-width:none}
.brand>span{display:inline-flex;align-items:center;min-height:44px}
.sec__hd{gap:14px}
.sec__hd .btn{width:100%}
.h2{font-size:clamp(34px,10vw,44px)}
/* product page */
.pdp>.gal{margin:0 auto!important;width:min(100%,300px)!important;max-width:300px!important}
.gal__track{aspect-ratio:1/1;max-height:300px}
.gal__track img{padding:0;max-width:100%;max-height:100%}
.gal__main{border-radius:16px}
.gal__dots{margin-top:2px}
.gal__dots button{width:44px}
.bx h1{font-size:clamp(30px,8.8vw,38px);line-height:.95}
.opt button{min-height:48px}
.sticky-buy.sb-js{transform:translateY(calc(100% + 80px));visibility:hidden;transition:transform .25s ease,visibility 0s linear .25s}
.sticky-buy.sb-js.sb-on{transform:none;visibility:visible;transition:transform .25s ease}
.sticky-buy .btn{min-height:50px}
/* spec-file tabs: one swipeable row, every tab a full 52px target */
.df__tabs{display:flex!important;flex-wrap:nowrap;overflow-x:auto;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;gap:6px;margin:12px 0 0;padding:5px 12px;border-radius:0;background:none;box-shadow:none;-webkit-mask-image:linear-gradient(90deg,#000 85%,transparent);mask-image:linear-gradient(90deg,#000 85%,transparent)}
.df__tabs button{flex:0 0 auto!important;min-width:108px;max-width:150px;min-height:52px;scroll-snap-align:start;background:rgba(255,255,255,.08);font-size:13.5px}
.df__tabs button:last-child{margin-right:28px}
.df__body{padding:4px 16px 18px}
.df__body table,.df__row{font-size:14.5px}
details summary{min-height:56px}
/* footer: tappable legal links */
.ftr__legal{gap:4px 12px}
.ftr__legal a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;padding:0 2px}
.ftr__legal nav,.ftr__legal div{display:flex;flex-wrap:wrap;gap:0 14px}
/* account pages */
.au__in{padding:18px 14px 96px}
.au__card{padding:24px 20px 22px;border-radius:20px}
.au__h{font-size:clamp(36px,10.5vw,46px)}
.af__in input{font-size:16px}
/* tier badge */
.tierp--on{font-size:13px}
.phd__lcp{opacity:.4}

/* Dedicated phone widths from the approved QA sheet: 430, 390 and 360. */
@media (max-width:430px){
  .hero__motto{font-size:clamp(42px,12vw,54px)!important}
  .hero__stats{gap:18px}
  .hero__stats b{font-size:32px}
  .cat{min-height:0}
  .mnav__list a{font-size:28px;min-height:56px;white-space:nowrap}
}
@media (max-width:390px){
  .hero__cta{gap:10px}
  .hero__cta .btn{width:100%}
  .usp>div{padding:22px 16px}
  .df__tabs button{min-width:96px;font-size:12.5px}
  .au__card{padding:20px 16px}
}
@media (max-width:360px){
  .hdr__logo img{height:32px}
  .lang span{min-width:24px;height:24px;font-size:11px}
  .hero__motto{font-size:40px!important}
  .hero__sig{font-size:15px}
  .h2{font-size:32px}
  .grid{gap:14px 8px!important}
  .card__t{font-size:13px}
  .sticky-buy{padding-left:max(18px, env(safe-area-inset-left));padding-right:max(18px, env(safe-area-inset-right))}
}
/* Phone: content is visible without scroll-reveal, and the homepage fits a few screens. */
.m-skip{display:none!important}
.sec{padding:20px 0!important}
.dx-sec{padding:18px 0!important}
.phd__in{padding-top:12px!important;padding-bottom:14px!important}
.phd h1{font-size:clamp(34px,10vw,44px)!important}
.phd--calc h1{font-size:32px!important}
.phd--calc .lede{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.boot-calc .btn{min-height:44px}
.h2{font-size:clamp(28px,8vw,36px)!important;margin:.1em 0 .2em}
.home-intro p{font-size:15px;line-height:1.45}
:root{--hdr:58px}
.ann__track{padding:5px 0}
.hdr__in{height:58px}
.hdr__logo{min-width:0;flex:1 1 auto}
.hdr__logo img{height:34px;max-width:118px;object-fit:contain;object-position:left center}
.hdr__act{flex:0 0 auto}
.hdr__cart,.hdr__login{display:inline-flex!important;width:44px;min-width:44px;overflow:visible}
.mnav__list a,.mnav__list a > .nav__label,.tabs a,.tabs button{white-space:nowrap}
.ftr__logo img{height:64px}
.tabs a,.tabs button{min-height:52px;padding-bottom:env(safe-area-inset-bottom)}
body{padding-bottom:calc(64px + env(safe-area-inset-bottom))}
.ftr,.one11-ftr{padding-bottom:calc(28px + env(safe-area-inset-bottom))}
.hero__rink{display:none!important}
.hero__in{min-height:0!important;padding-top:10px!important;padding-bottom:12px!important;gap:0!important}
.hero__motto{font-size:clamp(32px,8.8vw,40px)!important;margin:.06em 0 .12em!important}
.hero__sig{font-size:15px!important;margin:0 0 8px!important;display:block;overflow:visible;-webkit-line-clamp:unset}
.hero__cta{margin-top:10px!important;gap:8px!important}
.hero__cta .btn{min-height:44px}
.hero__stats{margin-top:12px!important;gap:10px!important}
.hero__stats b{font-size:24px!important}
.cat,.cat:nth-child(1),.cat:nth-child(2),.cat:last-child{min-height:0!important;grid-column:auto!important;padding:0!important}
.cat:nth-child(1){grid-column:auto!important}
.home-cats .sec__hd .btn,.home-cats .si,.home-rail .sec__hd .btn,.home-rail .si,.home-rail .lede{display:none}
.home-cats .sec__hd{margin-bottom:10px}
.lband__in{padding-top:18px!important;padding-bottom:18px!important}
.lband .lede{display:none}
.lband .h2{font-size:32px!important}
.mani__in{padding:28px 0!important}
.news__row{flex-direction:column!important}
.news__row input,.news__row .btn{width:100%!important;flex:1 1 auto}
.one11-hero{min-height:0}
.one11-hero__copy{padding-top:28px;padding-bottom:32px}
.wrap{padding-left:max(18px, env(safe-area-inset-left))!important;padding-right:max(18px, env(safe-area-inset-right))!important}
.buy{display:block}
.fold{margin:14px 0;border-top:1px solid var(--line)}
.fold summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;padding:8px 0;font-weight:750;font-size:16.5px;line-height:1.25;cursor:pointer;list-style:none}
.fold summary::-webkit-details-marker{display:none}
.fold summary::after{content:"+";font-size:28px;line-height:1}
.fold[open] summary::after{content:"–"}
.boot-strip{display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 0 8px;margin:0}
.boot-strip a{flex:0 0 auto;scroll-snap-align:start;min-width:148px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#fff}
.boot-strip a.is-on{background:#0b0f17;color:#fff}
.boot-strip b{display:block;font-family:var(--display);font-style:italic;font-weight:900;font-size:22px;letter-spacing:.02em;text-transform:uppercase;line-height:1}
.boot-strip small{display:block;margin-top:4px;color:var(--muted);font-size:12px}
.boot-strip a.is-on small{color:#c5ceda}
.one11-product__title{font-size:clamp(36px,10vw,48px)}
