/* Critical above-the-fold styles for homepage — keep small */
/* Minimal layout primitives so mobile can defer home-legacy without CLS */
.container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto;box-sizing:border-box}
@media (min-width:768px){.container{width:750px}}
@media (min-width:992px){.container{width:970px}}
@media (min-width:1200px){.container{width:1170px}}
.tb-home-page{overflow-x:hidden;background:#f5f6f8;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;color:#12263a}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;color:#24272c}
.tb-home-h1{margin:0 0 10px;padding:0;font-size:1.05rem;font-weight:700;line-height:1.35;letter-spacing:-.01em;color:#12263a}
.tb-home-start{background:#fff;border:1px solid #e8ecf0;border-radius:14px;box-shadow:0 1px 4px rgba(36,39,44,.04);padding:14px 16px 12px;margin:14px 0 16px;min-height:118px}
.tb-home-start__actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin:0 0 10px}
.tb-home-intent{display:flex;flex-wrap:wrap;gap:8px;margin:0}
.tb-home-intent__chip{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:0 14px;border-radius:999px;border:1px solid #e5e7eb;background:#fff;color:#12263a;font-size:13px;font-weight:600;text-decoration:none;line-height:1.2}
.tb-home-intent__chip--primary{background:#c92127;border-color:#c92127;color:#fff}
.tb-home-loc-cta{margin:0;min-height:18px;visibility:visible;pointer-events:auto}
.tb-home-loc-cta:not(.is-set){opacity:.72}
.tb-home-loc-cta.is-set{opacity:1}
.tb-home-loc-cta__link{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:600;color:#6b7280;text-decoration:none;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.tb-home-loc-cta__link strong{font-weight:700;color:#c92127}
.tb-home-quick-tools{display:flex;flex-wrap:nowrap;align-items:center;gap:0;margin:0;padding-top:10px;border-top:1px solid #f0f2f5;overflow-x:auto;scrollbar-width:none}
.tb-home-quick-tools__label{flex:0 0 auto;margin-right:10px;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#9ca3af}
.tb-home-quick-tools__item{flex:0 0 auto;display:inline-flex;align-items:center;min-height:28px;padding:0 10px;background:transparent;color:#4b5563;font-size:12px;font-weight:600;text-decoration:none;line-height:1.2}
.tb-home-sticky-cta{display:none}
@media (min-width:992px){
.tb-home-start{display:grid;grid-template-columns:1fr auto;grid-template-areas:"title title" "actions tools";align-items:center;column-gap:20px;row-gap:8px;padding:16px 20px;margin:16px 0 18px;min-height:96px}
.tb-home-h1{grid-area:title;margin:0;font-size:1.1rem}
.tb-home-start__actions{grid-area:actions;margin:0}
.tb-home-quick-tools{grid-area:tools;justify-self:end;padding:0;border-top:0;border-left:1px solid #f0f2f5;padding-left:16px}
}
.tb-home-hero{margin:0;background:#f0f2f5;overflow:hidden}
.tb-home-carousel{position:relative}
.tb-home-carousel .carousel-inner{position:relative;width:100%;overflow:hidden;aspect-ratio:1600/395;max-height:395px;background:#f0f2f5}
.tb-home-carousel .carousel-inner>.item{display:none;position:relative;transition:transform .6s ease-in-out;height:100%}
.tb-home-carousel .carousel-inner>.item.active{display:block}
.tb-home-carousel .carousel-inner>.item>a{display:block;line-height:0;height:100%}
/* Lock geometry so late Bootstrap/sections `height:auto` cannot collapse the hero (desktop field CLS). */
.tb-home-page .tb-home-carousel .carousel-inner,
.tb-home-carousel .carousel-inner{aspect-ratio:1600/395;max-height:395px}
.tb-home-page .tb-home-carousel .carousel-inner>.item>a>img,
.tb-home-page .tb-home-carousel .carousel-inner img,
.tb-home-carousel .carousel-inner>.item>a>img,
.tb-home-carousel .carousel-inner img{width:100%!important;height:100%!important;max-height:none!important;object-fit:cover!important;display:block;margin:0 auto}
.tb-home-carousel .carousel-control{position:absolute;top:0;bottom:0;width:44px;background-image:none;opacity:.85;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}
.tb-home-carousel .carousel-control.left{left:0}
.tb-home-carousel .carousel-control.right{right:0}
.tb-hero-chevron{display:inline-block;width:14px;height:14px;margin-top:-7px;position:absolute;top:50%;left:50%;border-top:3px solid #fff;border-right:3px solid #fff;box-sizing:border-box}
.tb-hero-chevron--left{margin-left:-4px;transform:rotate(-135deg)}
.tb-hero-chevron--right{margin-left:-10px;transform:rotate(45deg)}
/* Promo: media visibility without Bootstrap visible-* (avoids dual-image flash before legacy CSS). */
.tb-home-promo{text-align:center;min-height:0;line-height:0}
.tb-home-promo__desktop{display:block}
.tb-home-promo__mobile{display:none}
.tb-home-promo img{max-width:100%;height:auto;display:inline-block;vertical-align:middle}
@media (max-width:767px){
.tb-home-promo__desktop{display:none}
.tb-home-promo__mobile{display:block}
}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
.home-section-wrap{margin-bottom:28px;padding:0 24px;max-width:1170px;width:100%;margin-left:auto;margin-right:auto;box-sizing:border-box}
.tb-home-page>.container{max-width:1170px;width:100%;margin-left:auto;margin-right:auto;padding-left:24px;padding-right:24px;box-sizing:border-box}
.tb-home-page>.section-full:not(.home-section-wrap){max-width:1170px;width:100%;margin-left:auto;margin-right:auto;padding-left:24px;padding-right:24px;box-sizing:border-box}
.home-section{background:#fff;border-radius:14px;border:1px solid #e8ecf0;box-shadow:0 2px 12px rgba(36,39,44,.06);overflow:hidden;margin:0 auto}
.home-section-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:22px 22px 14px;border-bottom:1px solid #f0f2f5;background:linear-gradient(180deg,#fafbfc 0,#fff 100%)}
.home-section-title{margin:0;font-size:clamp(1.35rem,2.4vw,1.75rem);font-weight:800;line-height:1.25;letter-spacing:-.02em;color:#12263a}
.home-section-tabs{display:flex;flex-wrap:nowrap;gap:8px;overflow-x:auto;padding:12px 20px 0;margin:0;list-style:none;border-bottom:1px solid #f0f2f5}
.home-section-tabs>li{flex:0 0 auto;margin:0}
.home-section-tabs>li>a{display:inline-block;padding:8px 14px;border-radius:20px;font-size:13px;font-weight:600;white-space:nowrap;text-decoration:none}
.home-price-chips{display:flex!important;flex-wrap:nowrap!important;flex-direction:row!important;gap:8px;overflow-x:auto;overflow-y:hidden;width:100%;padding:10px 20px 12px;margin:0;list-style:none;border-bottom:1px solid #f0f2f5;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.home-price-chips[hidden]{display:none!important}
.home-price-chips>li{flex:0 0 auto!important;float:none!important;width:auto!important;margin:0}
.home-price-chips>li>a{display:inline-block;padding:6px 12px;border-radius:16px;font-size:12px;font-weight:600;white-space:nowrap;text-decoration:none;border:1px solid #e5e7eb;background:#fff;color:#4b5563}
.home-price-chips>li.active>a{background:#fff5f5;color:#d81517;border-color:#d81517}
[hidden]{display:none!important}
.home-section-body{padding:16px 0 6px}
.home-section-footer{padding:4px 20px 18px;text-align:center}
.home-section-view-all{display:inline-flex;align-items:center;min-height:28px}
.tb-home-product-track{display:flex;gap:14px;overflow-x:auto;overflow-y:hidden;padding:4px 20px 8px}
.tb-home-product-card{position:relative;flex:0 0 220px;display:flex;flex-direction:column;background:#fff;border:1px solid #e8ecf0;border-radius:12px;overflow:hidden}
.tb-home-product-link{display:block;color:inherit;text-decoration:none}
.tb-home-product-img{aspect-ratio:16/10;background:#f8f9fb;overflow:hidden}
.tb-home-product-img img{display:block;width:100%;height:100%;object-fit:cover}
.tb-home-product-name{margin:0;padding:12px 14px 4px;font-size:14px;font-weight:700;line-height:1.35;min-height:42px}
.tb-home-product-cta{padding:8px 12px 12px;margin-top:auto;text-align:center;display:flex;flex-direction:column;gap:8px;align-items:stretch}
.tb-home-product-cta .card-link,.tb-home-product-cta>a.tb-home-product-btn,.tb-home-product-btn{display:inline-flex!important;align-items:center;justify-content:center;width:100%;box-sizing:border-box;min-height:40px;padding:0 12px!important;margin:0!important;position:relative;z-index:2;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.tb-home-product-details{display:inline-flex!important;align-items:center;justify-content:center;gap:4px;width:100%;min-height:auto!important;padding:2px 4px!important;margin:0!important;border:none!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:#6b7280!important;font-size:12px!important;font-weight:600!important;line-height:1.3!important;text-decoration:none!important}
.tb-home-page .home-section>.container,.tb-home-page .listing-brands-section>.container,.tb-home-page .listing-news-section>.container,.tb-home-page .listing-compare-section>.container{width:100%;max-width:none;padding-left:0;padding-right:0}
/* Header shell in critical — match header-modern so first paint cannot shift ATF (desktop field CLS). */
.tb-header__main.container{display:flex;align-items:center;gap:24px;min-height:72px;padding-top:12px;padding-bottom:12px;box-sizing:border-box}
.tb-header__logo-link img{display:block;height:44px!important;width:auto!important;max-width:176px!important;max-height:44px!important;object-fit:contain}
.tb-header__search-wrap{flex:1;min-width:0;max-width:720px}
.tb-search-field__inner{display:flex;align-items:stretch;width:100%;min-height:46px;box-sizing:border-box}
.tb-loc-chip{appearance:none;border:1px solid #e5e7eb;background:#fff;color:#24272c;border-radius:999px;min-height:36px;height:36px;padding:0 12px 0 10px;display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;line-height:1.2;width:148px;max-width:160px;flex-shrink:0;box-sizing:border-box;overflow:hidden}
.tb-header__navrow{min-height:44px}
.tab-content>.tab-pane{display:none}
.tab-content>.active{display:block}
.tb-wish-btn{position:absolute;top:8px;right:8px;z-index:2;width:36px;height:36px;border:0;border-radius:50%;background:rgba(255,255,255,.92);color:#c92127;cursor:pointer}
.tb-wish-btn .fa{font-style:normal;font-family:inherit;line-height:1}
.tb-wish-btn .fa-heart-o::before{content:"♡"}
.tb-wish-btn .fa-heart::before{content:"♥"}
/* Prefer CLS stability over content-visibility savings — desktop field CLS was 0.23 from under-reserve on scroll. */
.tb-cwv-defer{content-visibility:visible}
.home-stories-videos-section .home-section-tabs{min-height:44px}
.home-stories-videos-section .tab-content.home-section-body{min-height:280px}
.tb-tab-pane-deferred:not(.active){content-visibility:hidden;contain-intrinsic-size:auto 320px}
.tb-cwv-tab-placeholder{min-height:220px;display:block;background:transparent;border-radius:12px;padding:4px 0 8px}
.tb-cwv-tab-placeholder.is-loading{overflow:hidden}
.tb-cwv-skel-track{display:flex;gap:14px;overflow:hidden;padding:0 20px}
.tb-cwv-skel-card{flex:0 0 220px;background:#fff;border:1px solid #e8ecf0;border-radius:12px;overflow:hidden;box-shadow:0 1px 4px rgba(36,39,44,.05)}
.tb-cwv-skel-img{height:132px;background:linear-gradient(90deg,#eceff2 25%,#f7f8fa 50%,#eceff2 75%);background-size:200% 100%;animation:tbCwvShimmer 1.2s linear infinite}
.tb-cwv-skel-line{height:12px;margin:12px 12px 0;border-radius:6px;background:linear-gradient(90deg,#eceff2 25%,#f7f8fa 50%,#eceff2 75%);background-size:200% 100%;animation:tbCwvShimmer 1.2s linear infinite}
.tb-cwv-skel-line.med{width:78%}
.tb-cwv-skel-line.short{width:52%;margin-bottom:8px}
.tb-cwv-skel-btn{height:34px;margin:12px;border-radius:8px;background:linear-gradient(90deg,#eceff2 25%,#f7f8fa 50%,#eceff2 75%);background-size:200% 100%;animation:tbCwvShimmer 1.2s linear infinite}
.tb-cwv-skel{display:block;width:70%;height:14px;border-radius:6px;background:linear-gradient(90deg,#eceff2 25%,#f7f8fa 50%,#eceff2 75%);background-size:200% 100%;animation:tbCwvShimmer 1.2s linear infinite}
@keyframes tbCwvShimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}
.tb-cwv-empty{margin:0;padding:24px;color:#667;font-size:14px;text-align:center}
/* Scroll-top: fixed box + CSS chevron — no Font Awesome (desktop field CLS). */
button.scroltop{position:fixed;right:18px;bottom:18px;z-index:99;display:none;width:40px;height:40px;padding:0;border:0;border-radius:50%;background:#c92127;color:#fff;box-shadow:0 2px 10px rgba(0,0,0,.18);cursor:pointer;line-height:0;font-size:0}
button.scroltop::before{content:"";display:block;width:10px;height:10px;margin:14px auto 0;border-top:2px solid #fff;border-right:2px solid #fff;transform:rotate(-45deg);box-sizing:border-box}
button.scroltop.fa::before{/* keep CSS chevron even if FA class left on markup */}
/* Desktop: reserve geometry only for product/tab strips — not promo/brands (was leaving huge gaps). */
@media (min-width:768px){
.home-section-wrap:has(.tb-home-product-track),
.home-section-wrap:has(.home-section-tabs),
.home-section-wrap:has(.tb-home-used-track),
.home-section-wrap:has(.tb-home-category-track){min-height:360px}
.home-section-wrap:has(.home-promo-banner),
.home-section-wrap:has(.listing-brands-section),
.home-section-wrap.tb-home-promo-wrap{min-height:0!important}
.home-section-tabs{min-height:52px}
.tb-home-product-track,.tb-cwv-tab-placeholder{min-height:260px}
}
@media (max-width:767px){
.tb-home-page .tb-home-carousel .carousel-inner,
.tb-home-carousel .carousel-inner{aspect-ratio:16/5;max-height:113px}
.tb-home-page .tb-home-carousel .carousel-inner img,
.tb-home-carousel .carousel-inner img{height:100%!important;max-height:none!important;object-fit:cover!important}
.tb-home-h1{margin:0 0 8px;font-size:0.95rem}
.tb-home-start{padding:12px 12px 10px;margin:10px 0 12px;border-radius:12px;min-height:148px}
.tb-home-start__actions{flex-direction:column;align-items:stretch;gap:8px;margin:0 0 8px}
.tb-home-intent{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.tb-home-intent__chip{min-height:38px;padding:0 10px;font-size:12px}
.tb-home-intent__chip--primary{grid-column:1/-1}
.tb-home-quick-tools{padding-top:8px}
.tb-home-quick-tools__label{display:none}
.tb-home-sticky-cta{position:fixed;left:0;right:0;bottom:0;z-index:1040;display:flex;gap:8px;padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px));background:#fff;border-top:1px solid #e5e7eb;box-shadow:0 -6px 20px rgba(18,38,58,.12);transform:translateY(110%);transition:transform .22s ease}
.tb-home-sticky-cta.is-visible{transform:translateY(0)}
.tb-home-sticky-cta[hidden]{display:none!important}
.tb-home-sticky-cta__call,.tb-home-sticky-cta__lead{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border-radius:10px;font-size:14px;font-weight:700;text-decoration:none}
.tb-home-sticky-cta__call{flex:0 0 96px;border:1.5px solid #c92127;color:#c92127;background:#fff}
.tb-home-sticky-cta__lead{flex:1 1 auto;background:#c92127;color:#fff;border:1.5px solid #c92127}
.home-section-wrap{padding-left:10px;padding-right:10px;margin-bottom:14px!important}
.tb-home-page>.container,.tb-home-page>.section-full:not(.home-section-wrap){padding-left:10px;padding-right:10px}
.home-section-header{flex-direction:column;align-items:stretch;padding:14px 14px 10px;gap:8px}
.home-section-tabs{padding:8px 14px 0;gap:6px}
.home-section-tabs>li>a{padding:7px 12px;font-size:12px}
.tb-home-product-track{padding:4px 14px 12px;gap:10px}
.tb-home-product-card{flex-basis:66vw;max-width:220px}
.tb-home-product-name{font-size:13px;min-height:44px;padding:10px 10px 0}
.tb-home-product-cta{padding:8px 10px 12px}
}
