/* V3.1 keeps the V3 composition. Media follows the original artwork geometry. */
:root {
 --tb-motion-fast:140ms;
 --tb-motion-base:220ms;
 --tb-motion-slow:280ms;
 --tb-ease-standard:cubic-bezier(.2,.65,.3,1);
 --tb-ease-enter:cubic-bezier(.16,1,.3,1);
 --tb-ease-exit:cubic-bezier(.4,0,1,1);
}
html:has(body.tb-storefront) { scrollbar-gutter:stable; min-width:0; }
html.tb-scroll-lock:has(body.tb-storefront) { overflow:hidden; scrollbar-gutter:auto; }
html.tb-scroll-lock { overflow:hidden; }
body.tb-storefront .tb-site-header { background:#fff; }
/* Surface spans the viewport. Only the inner columns have a maximum width. */
body.tb-storefront .tb-mega { position:fixed; top:var(--tb-mega-top,138px); left:0; right:0; width:var(--tb-viewport-width,100vw); max-width:none; border-left:0; border-right:0; border-radius:0; }
.tb-mega > .tb-sheet-heading,.tb-mega > .tb-mega-body { max-width:1296px; margin-inline:auto; }
.tb-mega > .tb-sheet-heading { padding-inline:20px; }
.tb-mega-roots { border-radius:0; }
.tb-v2-backdrop { width:var(--tb-viewport-width,100vw); }
body.tb-storefront .tb-mega-visual { padding:12px; }
body.tb-storefront .tb-mega-visual-art { position:relative; display:block; width:100%; aspect-ratio:4/3; overflow:hidden; }
body.tb-storefront .tb-mega-visual-art > img { position:absolute; inset:0; display:block; width:100%; max-width:100%; height:100%; object-fit:contain; border-radius:6px; }
.tb-mega-visual-caption { padding:18px 8px 8px; min-height:114px; justify-content:space-between; }
/* 3:1 originals, never a magnified crop. Compact captions are outside the artwork. */
body.tb-storefront .tb-v3-hero-card { grid-template-columns:minmax(240px,30%) minmax(0,70%); min-height:0; align-items:center; }
body.tb-storefront .tb-v3-hero-copy { padding:28px; }
body.tb-storefront .tb-v3-hero h1 { font-size:clamp(27px,2.4vw,36px); }
body.tb-storefront .tb-v3-scene { overflow:visible; height:auto; min-height:0; align-self:center; }
body.tb-storefront .tb-v3-scene img { position:static; display:block; width:100%; max-width:100%; height:auto; aspect-ratio:3/1; object-fit:contain; transform:none; }
body.tb-storefront .tb-v3-category-art { aspect-ratio:4/3; }
body.tb-storefront .tb-v3-category-art img { position:absolute; inset:0; display:block; width:100%; max-width:100%; height:100%; object-fit:contain; transform:none; }
body.tb-storefront .tb-v3-promo-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
body.tb-storefront .tb-v3-promo { grid-template-columns:1fr; min-height:0; align-content:start; }
body.tb-storefront .tb-v3-promo > .tb-v3-scene { order:-1; }
body.tb-storefront .tb-v3-promo > div:first-child { padding:22px 26px; }
body.tb-storefront .tb-v3-promo .tb-v3-kicker { display:none; }
body.tb-storefront .tb-v3-promo h2 { font-size:24px; margin-bottom:8px; }
body.tb-storefront .tb-v3-promo p { max-width:none; margin-bottom:12px; }
body.tb-storefront .tb-v3-editorial .tb-v3-promo { grid-template-columns:minmax(220px,30%) minmax(0,70%); align-items:center; }
body.tb-storefront .tb-v3-editorial .tb-v3-scene { order:0; }
/* Reserve the result canvas while an asynchronous result set is replaced. */
@media(min-width:768px) { .tb-search-panel { height:min(620px,calc(100dvh - 150px)); } .tb-search-composition { flex:1; } }
.tb-search-status { min-height:18px; }
.tb-search-status:empty { display:block; }
.tb-search-composition [aria-busy=true] { opacity:.72; }
.tb-search-composition [role=listbox] { transition:opacity var(--tb-motion-fast) var(--tb-ease-standard); }
/* CSS animations, explicit exit completion before releasing modal interaction. */
@keyframes tb-premium-enter { from { opacity:0; transform:translate3d(0,8px,0); } to { opacity:1; transform:translate3d(0,0,0); } }
@keyframes tb-premium-exit { from { opacity:1; transform:translate3d(0,0,0); } to { opacity:0; transform:translate3d(0,5px,0); } }
@keyframes tb-premium-fade-in { from { opacity:0; } to { opacity:1; } }
@keyframes tb-premium-fade-out { from { opacity:1; } to { opacity:0; } }
@keyframes tb-premium-level-in { from { opacity:0; transform:translate3d(var(--tb-level-offset,12px),0,0); } to { opacity:1; transform:translate3d(0,0,0); } }
@keyframes tb-premium-level-out { from { opacity:1; } to { opacity:0; transform:translate3d(calc(-1 * var(--tb-level-offset,12px)),0,0); } }
@keyframes tb-premium-drawer-in { from { opacity:0; transform:translate3d(-18px,0,0); } to { opacity:1; transform:translate3d(0,0,0); } }
@keyframes tb-premium-drawer-out { from { opacity:1; transform:translate3d(0,0,0); } to { opacity:0; transform:translate3d(-18px,0,0); } }
@keyframes tb-premium-badge { 50% { transform:scale(1.06); } }
body.tb-storefront .tb-motion-enter { animation:tb-premium-enter var(--tb-motion-slow) var(--tb-ease-enter) both; }
body.tb-storefront .tb-motion-exit { animation:tb-premium-exit var(--tb-motion-fast) var(--tb-ease-exit) both; }
body.tb-storefront :is(.tb-v2-backdrop,.tb-header-backdrop,.tb-filter-backdrop).tb-motion-enter { animation-name:tb-premium-fade-in; }
body.tb-storefront :is(.tb-v2-backdrop,.tb-header-backdrop,.tb-filter-backdrop).tb-motion-exit { animation-name:tb-premium-fade-out; }
body.tb-storefront :is(.tb-mega-content,.tb-mega-promo,[role=listbox]).tb-motion-enter { animation-duration:var(--tb-motion-base); }
body.tb-storefront .tb-header-account .dropdown-menu,body.tb-storefront .tb-header-cart .dropdown-menu { animation:none; }
body.tb-storefront :is(.tb-header-account,.tb-header-cart) .dropdown-menu.tb-motion-enter { animation:tb-premium-enter var(--tb-motion-base) var(--tb-ease-enter) both; }
body.tb-storefront :is(.tb-header-account,.tb-header-cart) .dropdown-menu.tb-motion-exit { animation:tb-premium-exit var(--tb-motion-fast) var(--tb-ease-exit) both; }
body.tb-storefront .tb-cart-badge.tb-badge-changed { animation:tb-premium-badge var(--tb-motion-base) var(--tb-ease-standard); }
body.tb-storefront :is(.btn,.tb-header-action,.tb-account-toggle,.tb-catalog-trigger,.tb-v3-category,.tb-v3-promo,.tb-v2-card) { transition:background-color var(--tb-motion-fast) var(--tb-ease-standard),border-color var(--tb-motion-base) var(--tb-ease-standard),box-shadow var(--tb-motion-base) var(--tb-ease-standard),transform var(--tb-motion-base) var(--tb-ease-standard); }
body.tb-storefront :is(.btn,.tb-catalog-trigger):active { transform:translateY(1px); }
.tb-v3-category > span:last-child { transition:transform var(--tb-motion-base) var(--tb-ease-standard); }
@media(hover:hover) and (pointer:fine) {
 body.tb-storefront :is(.tb-v2-card,.tb-v3-promo):hover { transform:translateY(-1px); box-shadow:0 7px 20px #15223b0b; }
 body.tb-storefront .tb-v2-card .image img { transition:transform var(--tb-motion-base) var(--tb-ease-standard); }
 body.tb-storefront .tb-v2-card:hover .image img { transform:translateY(-1px); }
 body.tb-storefront .tb-v3-category:hover .tb-v3-category-art { box-shadow:0 0 0 1px #d7e2f2,0 5px 16px #15223b0a; }
 body.tb-storefront .tb-v3-category:hover > span:last-child { transform:translate(1px,-1px); }
}
.tb-v3-category-art { transition:box-shadow var(--tb-motion-base) var(--tb-ease-standard); }
.tb-premium-lightbox.mfp-bg,.tb-premium-lightbox .mfp-content { opacity:0; transition:opacity var(--tb-motion-base) var(--tb-ease-standard); }
.tb-premium-lightbox.mfp-ready.mfp-bg,.tb-premium-lightbox.mfp-ready .mfp-content { opacity:1; }
.tb-premium-lightbox.mfp-removing.mfp-bg,.tb-premium-lightbox.mfp-removing .mfp-content { opacity:0; }
@media(max-width:991px) {
 body.tb-storefront .tb-filter-panel { display:flex; flex-direction:column; visibility:hidden; }
 body.tb-storefront .tb-filter-panel.is-open { visibility:visible; animation:none; }
 body.tb-storefront .tb-filter-panel.is-open.tb-motion-enter { animation:tb-premium-drawer-in var(--tb-motion-slow) var(--tb-ease-enter) both; }
 body.tb-storefront .tb-filter-panel.is-open.tb-motion-exit { animation:tb-premium-drawer-out var(--tb-motion-fast) var(--tb-ease-exit) both; }
}
@media(max-width:767px) {
 body.tb-storefront .tb-mega { inset:0; height:100dvh; }
 body.tb-storefront .tb-v3-hero-card,body.tb-storefront .tb-v3-editorial .tb-v3-promo { grid-template-columns:1fr; }
 body.tb-storefront .tb-v3-hero-copy { padding:24px; }
 body.tb-storefront .tb-v3-hero-card > .tb-v3-scene { height:auto; }
 body.tb-storefront .tb-v3-promo-grid { grid-template-columns:1fr; }
 body.tb-storefront .tb-v3-editorial .tb-v3-scene { order:-1; }
 body.tb-storefront .tb-v3-promo > div:first-child { padding:20px; }
 body.tb-storefront .tb-mega-body.tb-motion-enter { animation:tb-premium-level-in var(--tb-motion-base) var(--tb-ease-enter) both; }
 body.tb-storefront .tb-mega-body.tb-motion-exit { animation:tb-premium-level-out var(--tb-motion-fast) var(--tb-ease-exit) both; }
}
@media(prefers-reduced-motion:reduce) {
 body.tb-storefront *,body.tb-storefront *::before,body.tb-storefront *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
 body.tb-storefront :is(.btn,.tb-v2-card,.tb-v3-promo):is(:hover,:active) { transform:none; }
}

body.tb-storefront { min-width:0; }
body.tb-v2-open .tb-site-header::before { content:""; position:fixed; z-index:2; top:var(--tb-shopping-header-top,0px); left:0; width:var(--tb-viewport-width,100%); height:var(--tb-shopping-header-height,90px); background:#fff; pointer-events:none; }

@media(max-width:767px) { body.tb-storefront .tb-header-search { min-height:48px; } body.tb-storefront .tb-header-search .tb-search-surface.is-open { width:var(--tb-viewport-width,100%); } }

@media(min-width:1024px) { body.tb-storefront .tb-mega-promo { display:block; } }
@media(min-width:768px) and (max-width:1023px) { .tb-mega-body,.tb-mega-body:has(.tb-mega-promo) { grid-template-columns:200px minmax(0,1fr); } }

@supports(scrollbar-gutter:stable) { html:has(.tb-premium-lightbox) { margin-right:0!important; } }
.tb-premium-lightbox.mfp-ready.mfp-bg { opacity:.82; }

/* The legacy universal reduced-motion duration must never animate the page width. */
html:has(body.tb-storefront),body.tb-storefront { transition:none!important; animation:none!important; }
