/* Shared purchase chrome. Page content and checkout behavior stay independent. */
.sp-purchase-header{position:sticky;top:0;flex:none;z-index:60;background:var(--vnext-color-surface);border-bottom:1px solid var(--vnext-color-border);color:var(--vnext-color-text);font-family:var(--vnext-font-family)}
.sp-purchase-header__inner{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:16px;width:min(1240px,calc(100% - 32px));min-height:72px;margin:auto}
.sp-purchase-header a{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:var(--vnext-color-text);font-size:13px;font-weight:600;line-height:1.35;text-decoration:none}
.sp-purchase-header__brand{justify-self:center;justify-content:center;min-width:0;text-align:center}
.sp-purchase-header__brand img{display:block;max-width:160px;max-height:40px;object-fit:contain}
.sp-purchase-header__help{justify-self:end}
.sp-purchase-header svg{width:22px;height:22px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.sp-purchase-header a:focus-visible{outline:2px solid var(--vnext-color-focus);outline-offset:3px;border-radius:var(--vnext-radius-control)}
@media(max-width:760px){
 .sp-purchase-header__inner{min-height:64px;grid-template-columns:44px minmax(0,1fr) 44px;gap:12px}
 .sp-purchase-header__back,.sp-purchase-header__help{justify-content:center;width:44px}
 .sp-purchase-header__back span,.sp-purchase-header__help span{display:none}
 .sp-purchase-header__brand{font-size:12px}
 .sp-purchase-header__brand img{max-width:132px;max-height:36px}
 body[data-web-theme="storefront_vnext"] :is(.sp-cart-mobile-bar,.sp-checkout-app .sp-step-nav){position:fixed;inset:auto 0 0;z-index:70;display:grid;grid-template-columns:minmax(0,1fr) 36px minmax(132px,1.35fr);align-items:center;width:100%;min-height:73px;gap:8px;margin:0;padding:12px max(16px,env(safe-area-inset-right)) calc(12px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));border-top:1px solid var(--vnext-color-border);background:var(--vnext-color-surface);color:var(--vnext-color-text);font-family:var(--vnext-font-family);box-sizing:border-box}
 body[data-web-theme="storefront_vnext"] :is(.sp-cart-mobile-bar>div,.sp-checkout-app .sp-nav-total){display:grid;gap:2px;min-width:0;padding:0}
 body[data-web-theme="storefront_vnext"] .sp-purchase-actions__amount small{margin:0;font-size:11px;line-height:1.35;color:var(--vnext-color-muted)}
 body[data-web-theme="storefront_vnext"] :is(.sp-cart-mobile-bar strong,.sp-checkout-app .sp-nav-total strong){font-size:clamp(14px,4.6vw,18px);font-weight:700;line-height:1.3;white-space:nowrap;letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--vnext-color-text)}
 body[data-web-theme="storefront_vnext"] :is(.sp-cart-mobile-bar .sp-cart-primary,.sp-checkout-app .sp-step-nav .sp-btn--primary){display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;height:48px;min-height:48px;min-width:0;padding:0 10px;border:0;border-radius:var(--vnext-radius-control);background:var(--vnext-color-action);color:var(--vnext-color-on-action);font:inherit;font-size:13px;font-weight:700;line-height:1.3;text-decoration:none}
 body[data-web-theme="storefront_vnext"] :is(.sp-cart-mobile-back,.sp-checkout-app .sp-step-nav .sp-btn--quiet){display:grid;place-items:center;width:36px;min-height:48px;padding:0;border:0;background:transparent;color:var(--vnext-color-text);border-radius:var(--vnext-radius-control)}
 body[data-web-theme="storefront_vnext"] :is(.sp-cart-mobile-bar,.sp-checkout-app .sp-step-nav) svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
 body[data-web-theme="storefront_vnext"] :is(.sp-cart-mobile-back,.sp-checkout-app .sp-step-nav .sp-btn--quiet):focus-visible{outline:2px solid var(--vnext-color-focus);outline-offset:2px}
 .sp-checkout-app .sp-step-nav .sp-btn--primary .sp-nav-icon{order:1}
}
/* Native cross-document transitions preserve matching header/action snapshots.
   Unsupported browsers keep normal navigation; no fetch-swapped checkout. */
@view-transition{navigation:auto}
:root{view-transition-name:none}
.sp-purchase-header{view-transition-name:purchase-header}
body.spds-store-route-web_cart .sp-store-main,body.sp-checkout-mode .sp-store-main{view-transition-name:purchase-content}
@media(max-width:760px){.sp-purchase-actions{view-transition-name:purchase-actions}}
/* Snapshot groups otherwise inherit the browser's width/height/transform tween.
   Purchase chrome must use its destination geometry immediately, not scale. */
::view-transition-group(purchase-header),::view-transition-group(purchase-actions){animation:none}
::view-transition-old(purchase-header),::view-transition-new(purchase-header),::view-transition-old(purchase-actions),::view-transition-new(purchase-actions){animation:none;mix-blend-mode:normal}
::view-transition-old(purchase-content){animation:purchase-content-out var(--vnext-motion-fast) var(--vnext-motion-ease) both}
::view-transition-new(purchase-content){animation:purchase-content-in var(--vnext-motion-normal) var(--vnext-motion-ease) both}
@keyframes purchase-content-out{to{opacity:0;transform:translateY(-4px)}}
@keyframes purchase-content-in{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
.sp-purchase-enter{animation:purchase-content-in var(--vnext-motion-normal) var(--vnext-motion-ease) both}
@media(prefers-reduced-motion:reduce){@view-transition{navigation:none}::view-transition-old(*),::view-transition-new(*),.sp-purchase-enter{animation:none}}
