/* Preview-only refinement. Original 3D assets and source scene remain unchanged. */
:root { --tx-ink:#25282b; --tx-muted:#62676b; --tx-paper:#f5f5f2; --tx-accent:#a52a32; }
.tx-preview-notice { background:#e9eae7!important; color:#45494c!important; font-weight:400!important; border-bottom:1px solid #d8dbd7; }
.tx-preview-notice a { color:#34383b!important; font-weight:600; }
header .section-header-info { background:#26292c!important; color:#e5e6e4!important; letter-spacing:.045em!important; }
header .section-header-info::before,header .section-header-info::after { display:none!important; }
header .section-header-info .apr-chip { background:#383c40; color:#fff; box-shadow:none; }
header .dropdown-item:hover,header .dropdown-item:focus { background:#34383c; }
/* Retain the dimensions/position of this link within the authored scene. */
.tx-preview-shop { background:#34383c!important; }
/* Preserve the original black/red brand ribbon and its bright logo treatment. */
.tc-divider .td-track { animation-play-state:running; }
@media(prefers-reduced-motion:reduce){.tc-divider .td-track{animation-play-state:paused;}}
.section-gallery-icons { background:#f7f7f4!important; }
.section-gallery-icons .gallery-title { font-family:Arial,sans-serif; font-size:18px; text-transform:none; letter-spacing:0; }
.section-gallery-icons .btn-red { background:#34383c!important; border-color:#34383c!important; color:#fff!important; box-shadow:none; }
.section-gallery-icons .switcher-icons a { font-family:Arial,sans-serif; letter-spacing:0; }
#gw-shop { background:var(--tx-paper); color:var(--tx-ink); }
#gw-shop [hidden] { display:none!important; }
#tx-popular-wheels,#tx-popular-tires { scroll-margin-top:110px; }
#gw-shop h2 { font-weight:600; letter-spacing:-.6px; font-size:clamp(27px,3vw,36px); }
#gw-shop button { background:var(--tx-ink); border-radius:6px; font-weight:600; }
#gw-shop button:hover:not(:disabled) { background:#40464a; }
#gw-shop .gw-outline { background:transparent; border:1px solid #bfc3c1; color:var(--tx-ink); }
#gw-shop .gw-outline:hover:not(:disabled) { background:#e8ebe6; }
#gw-shop button:focus-visible,#gw-shop select:focus-visible,#gw-shop input:focus-visible { outline-color:var(--tx-accent); }
#gw-shop .gw-hero { height:360px; }
#gw-shop .gw-hero-copy { padding:58px 40px; max-width:1240px; }
#gw-shop .gw-hero-copy h2 { font-size:clamp(34px,4vw,48px)!important; letter-spacing:-1px; line-height:1.12; max-width:450px; }
#gw-shop .gw-hero-copy p { font-size:16px; font-weight:400; }
#gw-shop .gw-hero-copy button { background:#f4f4ef; color:#24282b; }
#gw-shop .gw-hero-copy button:hover { background:#fff; }
#gw-shop .gw-eyebrow { font-weight:600; letter-spacing:1.5px; }
#gw-shop .gw-content { max-width:1240px; padding-top:44px; }
#gw-shop .gw-vehicle { border:1px solid #d8ddd8; border-radius:8px; padding:24px; }
#gw-shop input,#gw-shop select { border-radius:5px; border-color:#c5cbc6; }
#gw-shop .gw-card { border-color:#dce0db; border-radius:8px; box-shadow:none; }
#gw-shop .gw-card h3 { font-weight:600; font-size:17px; line-height:1.45; }
#gw-shop .gw-card-body { padding:20px; }
#gw-shop .gw-card small { color:#62676b; letter-spacing:.4px; }
#gw-shop .gw-card p { color:#565d60; line-height:1.6; }
#gw-shop .gw-card:hover { box-shadow:0 3px 12px #25282b0b; }
#gw-shop .gw-bag { background:#fff; border:1px solid #d8ddd8; border-radius:8px; padding:28px; margin-top:40px; }
.tx-demo-note { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:24px 0; border-top:1px solid #d8ddd8; margin-top:32px; }
.tx-demo-note p { margin:5px 0 0; font-size:13px; color:#62676b; max-width:620px; }
.tx-demo-note a { color:#34383b; border:1px solid #aab0aa; border-radius:6px; padding:12px 18px; white-space:nowrap; text-decoration:none; font-weight:600; font-size:13px; }
@media(max-width:600px) {
 #gw-shop .gw-hero { height:340px; }
 #gw-shop .gw-hero-copy { padding:42px 24px; }
 #gw-shop .gw-content { padding:30px 20px; }
 #gw-shop .gw-bag { padding:20px; }
 .tx-demo-note { align-items:flex-start; flex-direction:column; }
}
/* The real search stays in the scene; only results/selection flow below it. */
#tx-widget-search-shell[hidden] { display:none!important; }
#tx-widget-search { width:calc(100% - 24px); margin:0 auto; background:#fff; border-radius:8px; overflow:visible; }
#tx-widget-search #autosync-visualizer { zoom:var(--tx-form-scale,1); margin:auto; }
/* Full-width original scene: crop ceiling space, never shrink the artwork. */
#tx-scene-viewport { overflow-anchor:none; position:relative; height:calc(100svh - 110px); overflow:hidden; background:#15151a; }
#tx-scene-viewport .tx-fit-scene { position:absolute; left:0; top:calc(-1 * var(--tx-crop-top,0px)); width:100%; height:var(--tx-scene-height,800px); min-height:0!important; padding-top:calc(var(--tx-crop-top,0px) + 16px)!important; }
#tx-scene-viewport #tc-frame { min-height:0!important; }
/* A deeper lower bezel sits behind the original foreground tires/rims.
   Only decoration extends downward: the white form keeps its clear bounds. */
@media(min-width:1024px){
 #tx-scene-viewport #tc-frame { padding-bottom:clamp(40px,4vw,64px); }
}
#tx-scene-viewport .title { font-size:34px!important; margin-bottom:4px!important; }
#tx-scene-viewport .description { font-size:14px!important; margin-bottom:0!important; }
.tx-preview-notice { padding:3px 12px!important; font-size:11px!important; }
header .navbar { padding-top:4px!important; padding-bottom:4px!important; }
header .navbar-brand img { height:42px!important; }
header .section-header-info { padding:5px 12px!important; min-height:0!important; font-size:11px!important; }
@media(max-width:1023px){
 #tx-scene-viewport .tx-fit-scene { padding:18px 12px 20px!important; justify-content:flex-start!important; }
 #tx-scene-viewport .title { font-size:clamp(24px,4vw,38px)!important; }
 #tx-scene-viewport .description { font-size:13px!important; line-height:1.35!important; }
 #tx-scene-viewport #tc-frame { width:100%; max-width:900px; }
}
@media(max-height:500px){
 .tx-preview-notice { font-size:10px!important; padding:2px 8px!important; }
 header .navbar { padding-top:3px!important; padding-bottom:3px!important; }
 header .navbar-brand img { height:32px!important; }
 header .section-header-info { padding:3px 10px!important; font-size:10px!important; }
 #tx-scene-viewport .tx-fit-scene { padding-top:calc(var(--tx-crop-top,0px) + 8px)!important; }
 #tx-scene-viewport .title { font-size:24px!important; }
 #tx-scene-viewport .description { font-size:11px!important; margin-bottom:6px!important; }
}
#tx-widget-results { background:#f5f5f2; padding:32px 24px 48px; scroll-margin-top:180px; position:relative; z-index:1; }
#tx-widget-results[hidden],#tx-widget-placeholder[hidden] { display:none!important; }
#tx-widget-mount { max-width:1200px; margin:auto; }
#tx-widget-results #autosync-visualizer { zoom:1; filter:none; border:1px solid #d8ddd8; border-radius:8px; opacity:1; min-height:300px; }
/* Only the empty display's surface changes; the authored scene geometry stays fixed. */
#tc-frame:has(> #tx-widget-placeholder:not([hidden])) { background:radial-gradient(ellipse at 50% 0%,#30363c 0%,#191d22 48%,#101215 100%); }
#tc-frame:has(> #tx-widget-placeholder:not([hidden])) .tc-rule { background:linear-gradient(90deg,#a52a32,#373d43 45%,#373d43); }
#tc-frame:has(> #tx-widget-placeholder:not([hidden])) .tc-kicker { visibility:hidden; }
#tx-widget-placeholder { color:#f5f5f2; text-align:center; padding:12px 24px 28px; font:15px/1.5 Arial,sans-serif; }
.tx-search-card { max-width:650px; margin:auto; }
.tx-search-status { display:block; color:#bfc5ca; font:600 10px/1.5 Arial,sans-serif; letter-spacing:2px; margin-bottom:10px; }
#tx-widget-placeholder strong { display:block; color:#f5f5f2; font-size:clamp(23px,2.2vw,32px); font-weight:600; letter-spacing:-.5px; line-height:1.15; }
#tx-widget-placeholder p { color:#c3c8cc; margin:10px 0 18px; }
.tx-search-actions { display:flex; gap:12px; align-items:center; justify-content:center; flex-wrap:wrap; }
#tx-widget-placeholder button { background:#f3f3ee; color:#23272b; border:1px solid #f3f3ee; border-radius:6px; padding:11px 18px; min-height:44px; font:600 14px/1.5 Arial,sans-serif; cursor:pointer; transition:background .15s; }
#tx-widget-placeholder #tx-view-results { background:transparent; border-color:#737b82; color:#f3f3ee; }
#tx-widget-placeholder button:hover { background:#fff; }
#tx-widget-placeholder #tx-view-results:hover { background:#ffffff12; }
#tx-widget-placeholder button:focus-visible { outline:3px solid #fff; outline-offset:4px; }
@media(max-width:600px){#tx-widget-results{padding:18px 8px 28px;scroll-margin-top:165px}}

/* Vendor scrolling must not land controls beneath our sticky navigation. */
body.tx-results-open header { position:relative!important; top:auto!important; }
body.tx-results-open #tx-widget-results { scroll-margin-top:16px; }
/* Review fixes: protected scene, usable touch controls, no clipped local UI. */
#tx-about,#tx-contact,#tx-wholesale,#tx-gallery { scroll-margin-top:180px; }
#gw-shop .gw-fields > label,#gw-shop .gw-selects > label { min-width:0; }
#gw-shop .gw-bag-row { overflow-wrap:anywhere; }
#gw-shop .gw-hero-copy { padding-bottom:24px; }
#gw-shop summary { padding:10px 0; min-height:40px; }
#gw-shop details p { white-space:pre-line; }
#gw-cart-feedback { position:fixed; bottom:20px; left:50%; transform:translateX(-50%); width:max-content; max-width:calc(100% - 32px); padding:12px 20px; border-radius:8px; background:#25282b; color:#fff; box-shadow:0 3px 18px #0003; z-index:1100; font:14px/1.5 Arial,sans-serif; }
#gw-cart-feedback:empty { display:none; }
@media(max-width:1023px){
 #tc-frame { min-height:0!important; }

 #tx-widget-placeholder { padding:26px 12px; }
}
@media(max-width:360px){#gw-shop .gw-tools>div{flex-wrap:wrap}#gw-shop .gw-fields{grid-template-columns:1fr}.cq-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
#autosync-visualizer:empty::before { content:'Loading the live tire and wheel search…'; display:block; padding:38px 20px; color:#555; text-align:center; font:16px/1.6 Arial,sans-serif; }
#tx-comparison-hint { display:none; color:#555; font:14px/1.5 Arial,sans-serif; margin:0 auto 12px; max-width:1200px; }
@media(max-width:767px){body.tx-comparison #tx-comparison-hint{display:block}}
.tx-shop-tools { display:flex; align-items:center; gap:16px; flex-wrap:wrap; max-width:1200px; margin:0 auto 16px; font:14px/1.5 Arial,sans-serif; }
.tx-shop-tools span { font-size:18px; font-weight:600; margin-right:auto; }
.tx-shop-tools button,.tx-shop-tools a { border:1px solid #c4c8c2; border-radius:6px; padding:10px 14px; background:#fff; color:#25282b; text-decoration:none; min-height:44px; cursor:pointer; }
.tx-shop-tools button:focus-visible,.tx-shop-tools a:focus-visible { outline:3px solid #a52a32; outline-offset:3px; }

/* Keep all supplier fields, labels, branding and vehicle imagery. Compact only
   the search form's spacing so fitting it does not waste space on tall rows. */
#tx-widget-search [data-tctid^="tab_"] button { font-size:22px!important; padding:8px 10px!important; min-height:46px!important; display:flex!important; align-items:center!important; justify-content:center!important; gap:10px!important; }
#tx-widget-search [data-tctid^="tab_"] button img { position:static!important; width:26px!important; height:26px!important; margin:0!important; }
#tx-widget-search div:has(>select[data-tctid="search_by"]) { padding:10px!important; gap:12px!important; }
#tx-widget-search div:has(>select[data-tctid="search_by"]) > label { font-size:20px!important; line-height:1.2!important; }
#tx-widget-search label:has(>div select) { display:grid!important; grid-template-columns:105px minmax(0,1fr)!important; align-items:center!important; gap:10px!important; margin-bottom:8px!important; font-size:10px!important; }
#tx-widget-search label:has(>div select) > span { display:block!important; width:auto!important; margin:0!important; padding:0!important; font-size:16px!important; line-height:1.2!important; }
#tx-widget-search label:has(>div select) > div { min-width:0!important; width:100%!important; }
#tx-widget-search [data-tcwl]:has(canvas) { max-width:340px!important; margin:10px auto!important; }
@media(max-width:767px){
 #tx-widget-search { width:100%!important; }
 #tx-widget-search [data-tctid^="tab_"] button { font-size:18px!important; gap:5px!important; min-height:40px!important; padding:6px!important; }
 #tx-widget-search [data-tctid^="tab_"] button img { width:20px!important; height:20px!important; }
 #tx-widget-search div:has(>select[data-tctid="search_by"]) > label { font-size:16px!important; }
 #tx-widget-search [data-tcwl]:has(canvas) { max-width:180px!important; margin:6px auto!important; }
}
/* Semantic supplier hooks, rather than hashed vendor class names. The search
   must reflow after rotation/resizing even when the vendor keeps its initial layout. */
#tx-widget-search div:has(>div>ul>[data-tctid="tab_tire"]) { max-width:none!important; width:100%!important; padding:14px!important; }
#tx-widget-search div:has(>div>label select[name="year"]) { display:grid!important; grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important; gap:18px!important; }
#tx-widget-search div:has(>div>label select[name="year"]) > div { width:100%!important; min-width:0!important; }
@media(max-width:767px){
 #tx-widget-search div:has(>div>label select[name="year"]) { grid-template-columns:1fr!important; gap:8px!important; }
 #tx-widget-search div:has(>[data-tctid="vehicle_params_chosen"]) { flex-direction:row!important; align-items:center!important; justify-content:center!important; gap:10px!important; }
 #tx-widget-search [data-tcwl]:has(canvas) { max-width:150px!important; margin:0!important; }
 #tx-widget-search [data-tctid="vehicle_params_chosen"] { margin:0!important; }
 #tx-scene-viewport .tc-rule { margin-bottom:6px; }
 #tx-scene-viewport .tc-kicker { padding-bottom:6px; }
}
#tx-widget-search div:has(>select[data-tctid="search_by"]) { display:flex!important; flex-wrap:wrap!important; justify-content:center!important; align-items:center!important; }
#tx-widget-search select[data-tctid="search_by"] { font-size:16px!important; height:38px!important; }
#tx-widget-search div:has(>div>div>ul>[data-tctid="tab_tire"]) { padding-top:8px!important; padding-bottom:8px!important; }

/* Compact accessory search between the original wheel and tire carousels. */
#gw-shop { background:#f5f5f2; scroll-margin-top:110px; }
#gw-shop .gw-content { max-width:1240px; padding:24px; }
#gw-catalogue,#gw-results,#gw-bag,#tx-reviews,#tx-rebates { scroll-margin-top:110px; }
#gw-shop .gw-search-panel { max-width:860px; margin:auto; background:#fff; border:1px solid #d5d5d5; border-radius:4px; overflow:hidden; }
#gw-shop .gw-search-heading { display:flex; align-items:center; flex-wrap:wrap; gap:8px 16px; padding:9px 16px; border-bottom:1px solid #d5d5d5; background:#fafafa; }
#gw-shop .gw-search-heading h2 { margin:0 auto 0 0; font:700 19px/1.2 'Roboto Condensed','Arial Narrow',Arial,sans-serif; text-transform:uppercase; letter-spacing:0; }
#gw-shop .gw-provider { color:#777; font:11px/1.4 Arial,sans-serif; }
#gw-shop .gw-provider strong { color:#c81c24; margin-left:3px; font-size:13px; font-style:italic; }
#gw-shop #gw-open-bag { background:#fff; border-color:#c5c5c5; padding:7px 10px; min-height:36px; border-radius:3px; font-size:12px; }
#gw-shop .gw-search-body { padding:14px; }
#gw-shop .gw-category-tabs { display:grid; grid-template-columns:1fr 1fr; gap:6px; margin-bottom:12px; }
#gw-shop .gw-category-tabs button { display:flex; align-items:center; justify-content:center; gap:10px; min-height:44px; padding:8px 12px; border:1px solid #e7131a; border-radius:0; background:#fff; color:#e7131a; font:700 18px/1.2 'Roboto Condensed','Arial Narrow',Arial,sans-serif; text-transform:uppercase; }
#gw-shop .gw-category-tabs button[aria-pressed=true] { background:#e7131a; color:#fff; }
#gw-shop .gw-category-tabs button:hover { background:#fff3f3; }
#gw-shop .gw-category-tabs button[aria-pressed=true]:hover { background:#cf1017; }
#gw-shop .gw-category-tabs svg { width:24px; height:24px; flex-shrink:0; fill:none; stroke:currentColor; stroke-width:2.4; stroke-linecap:round; stroke-linejoin:round; }
#gw-shop .gw-vehicle { display:block; margin:0; padding:14px; border:1px solid #d3d3d3; border-radius:0; background:#fafafa; }
#gw-shop .gw-vehicle-summary { display:flex; align-items:baseline; flex-wrap:wrap; gap:5px 16px; margin:0 0 12px; padding:0; border:0; }
#gw-shop #gw-vehicle-title { font:700 18px/1.3 'Roboto Condensed','Arial Narrow',Arial,sans-serif; color:#292929; }
#gw-shop #gw-status { flex:1; min-width:220px; color:#626262; font:12px/1.45 Arial,sans-serif; margin:0; }
#gw-shop .gw-selects { display:grid; grid-template-columns:1fr 1fr 1.25fr auto; align-items:end; gap:10px; }
#gw-shop .gw-selects label { font:700 14px/1.3 'Roboto Condensed','Arial Narrow',Arial,sans-serif; min-width:0; }
#gw-shop .gw-selects label span { color:#e7131a; }
#gw-shop .gw-selects select { min-height:44px; height:44px; margin-top:5px; padding:8px; font:16px/1.3 'Roboto Condensed','Arial Narrow',Arial,sans-serif; border:1px solid #b5b5b5; border-radius:4px; }
#gw-shop .gw-selects select:disabled { background:#ededed; color:#777; }
#gw-shop #gw-find { display:flex; justify-content:center; align-items:center; gap:8px; border-radius:0; height:44px; padding:8px 12px; margin:0; background:#e7131a; font:700 17px/1.2 'Roboto Condensed','Arial Narrow',Arial,sans-serif; text-transform:uppercase; white-space:nowrap; }
#gw-shop #gw-find:hover:not(:disabled) { background:#c70e15; }
#gw-shop #gw-find:disabled { background:#929292; opacity:1; }
#gw-shop #gw-find svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:2; }
#gw-shop #gw-config { margin:8px 0 0; }
#gw-shop #gw-config summary { font-size:12px; padding:8px 0; min-height:30px; color:#555; }
#gw-shop #gw-config p { margin:12px 0; }
#gw-shop .gw-config-actions { display:flex; flex-wrap:wrap; gap:10px; }
#gw-shop #gw-reload { margin-top:12px; }
#gw-shop #gw-results { padding-top:28px; }
#gw-shop .gw-results-heading { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; }
#gw-shop .gw-results-heading h2 { margin:0; }
#gw-shop #gw-results-note { margin:8px 0 0; }
#gw-shop .gw-tools { justify-content:flex-end; margin:16px 0; }
#gw-shop #gw-bag { margin-top:24px; }
#tx-popular-wheels,#tx-popular-tires { padding:28px 0 32px; }
#tx-popular-wheels .switcher-icons-container,#tx-popular-tires .switcher-icons-container { padding:0 0 24px; }
#tx-popular-wheels .gallery-title,#tx-popular-tires .gallery-title { margin-top:14px; }
#tx-popular-wheels .switcher-icons a,#tx-popular-tires .switcher-icons a { padding:0 46px; }
#tx-reviews { padding:30px 0 34px; }
#tx-reviews .title-global { margin:0 0 6px; font-size:30px; }
#tx-reviews .tx-review-note { margin:0 20px 22px; text-align:center; font:12px/1.5 Arial,sans-serif; color:#666; }
#tx-reviews .cq { padding:22px 20px; border-radius:6px; box-shadow:none; border:1px solid #ddd; border-top:3px solid #c5262d; }
#tx-reviews .cq-title { font-size:16px; }
#tx-reviews .cq-body { font-size:13px; line-height:1.55; }
#tx-rebates { padding:28px 16px!important; }
#tx-rebates .description { margin-bottom:0!important; }
#tx-rebates .form-btn { margin-top:14px!important; }
#tx-gallery { padding-top:38px; padding-bottom:38px; }
#tx-gallery .description-global { margin-bottom:24px; }
@media(max-width:700px){
 #gw-shop .gw-content { padding:20px 12px; }
 #gw-shop .gw-search-heading { padding:10px 12px; gap:6px 10px; }
 #gw-shop .gw-search-heading h2 { font-size:18px; }
 #gw-shop .gw-provider { order:3; flex-basis:100%; }
 #gw-shop #gw-open-bag { min-height:44px; padding:8px 12px; }
 #gw-shop .gw-search-body { padding:10px; }
 #gw-shop .gw-category-tabs { gap:5px; }
 #gw-shop .gw-category-tabs button { gap:6px; padding:8px 5px; font-size:16px; }
 #gw-shop .gw-category-tabs svg { width:22px; height:22px; }
 #gw-shop .gw-vehicle { padding:12px 10px; }
 #gw-shop .gw-selects { grid-template-columns:1fr 1fr; gap:10px; }
 #gw-shop .gw-selects label:nth-of-type(3),#gw-shop #gw-find { grid-column:1/-1; }
 #gw-shop .gw-vehicle-summary { gap:4px; }
 #gw-shop #gw-status { flex-basis:100%; min-width:0; }
 #gw-shop #gw-config summary { min-height:44px; display:flex; align-items:center; }
 #gw-shop #gw-config summary::before { content:'▸'; margin-right:6px; }
 #gw-shop #gw-config[open] summary::before { content:'▾'; }
 #tx-popular-wheels,#tx-popular-tires { padding:22px 0 26px; }
 #tx-popular-wheels .switcher-icons a,#tx-popular-tires .switcher-icons a { padding:10px 22px; min-height:44px; align-items:center; }
 #tx-reviews .cq-grid { grid-template-columns:1fr; }
}
