.vtne-garage-open, .vtne-purchase button, .vtne-garage-entry button { min-height: 44px; padding: 6px 12px; border: 1px solid var(--vt-border, #2a3038); border-radius: 8px; background: var(--vt-panel, #11151a); color: var(--vt-text, #f7f7f7); font: inherit; cursor: pointer; }
.header-actions .vtne-garage-open { display: grid; max-width: 180px; font-size: 12px; }
.vtne-garage-open small { display: block; max-width: 160px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--vt-muted, #9da4ad); font-size: 10px; }
.header-actions > a > svg { width: 24px; height: 24px; }
.vtne-favorite { display: inline-grid; place-items: center; width: 44px; height: 44px; margin: 0 12px 12px; border: 1px solid var(--vt-border, #2a3038); background: var(--vt-panel, #11151a); color: var(--vt-text, #f7f7f7); border-radius: 50%; cursor: pointer; }
.vtne-favorite svg { width: 22px; height: 22px; }
.vtne-favorite[aria-pressed="true"] { color: #db6205; }
.vtne-favorite[aria-pressed="true"] svg { fill: currentColor; }
.vtne-favorite:disabled { opacity: .5; cursor: not-allowed; }
.vtne-global-status { position: fixed; bottom: 76px; left: 50%; transform: translateX(-50%); width: min(560px, calc(100% - 24px)); padding: 12px 18px; background: var(--vt-raised, #151a20); border: 1px solid var(--vt-border, #2a3038); border-radius: 8px; color: var(--vt-text, #f7f7f7); box-shadow: 0 4px 20px #0005; z-index: 60; }
.vtne-dialog { width: min(800px, calc(100% - 24px)); max-height: calc(100dvh - 40px); padding: 24px; border: 1px solid var(--vt-border, #2a3038); border-radius: 8px; background: var(--vt-panel, #11151a); color: var(--vt-text, #f7f7f7); overflow-y: auto; }
.vtne-dialog::backdrop { background: #000b; }
body:has(.vtne-dialog[open]) { overflow: hidden; }
.vtne-dialog-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.vtne-dialog-head h2 { margin: 0; font-size: 25px; }
.vtne-dialog button:not(.button) { min-height: 44px; padding: 8px 12px; border: 1px solid var(--vt-border, #2a3038); border-radius: 6px; background: var(--vt-raised, #151a20); color: var(--vt-text, #f7f7f7); cursor: pointer; }
.vtne-dialog-head button { min-width: 44px; font-size: 24px; }
.vtne-garage-row { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; padding: 14px 0; border-top: 1px solid var(--vt-border, #2a3038); }
.vtne-garage-row strong { flex: 1 1 100%; }
.vtne-garage-row > span { font-size: 12px; color: #f58b3d; margin-right: auto; }
[data-vtne-garage-form] { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 20px; }
[data-vtne-garage-form] label, .vtne-purchase label { display: grid; gap: 6px; font-size: 12px; }
[data-vtne-garage-form] select, .vtne-purchase select { width: 100%; min-height: 44px; padding: 10px; background: var(--vt-bg, #080a0d); color: var(--vt-text, #f7f7f7); border: 1px solid var(--vt-border, #2a3038); border-radius: 6px; font: inherit; }
.vtne-note { font-size: 11px; color: var(--vt-muted, #9da4ad); }
.vtne-purchase { margin-bottom: 18px; display: grid; gap: 8px; }
.vtne-purchase button { justify-self: start; }
.vtne-purchase small { font-size: 11px; color: var(--vt-muted, #9da4ad); }
.vtne-favorites-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.vtne-favorite-card { background: var(--vt-panel, #11151a); border: 1px solid var(--vt-border, #2a3038); border-radius: 8px; overflow: hidden; padding-bottom: 14px; }
.vtne-favorite-card > a { display: block; text-decoration: none; }
.vtne-favorite-card img { width: 100%; height: 220px; object-fit: contain; padding: 12px; background: #fff; }
.vtne-favorite-card h2 { font-size: 14px; padding: 12px 14px 0; margin: 0; }
.vtne-price { color: var(--vt-text, #f7f7f7); padding: 8px 14px 14px; font-weight: 800; }
.vtne-favorite-card > button, [data-vtne-favorites-unresolved] button, [data-vtne-favorites-retry] { min-height: 44px; margin-inline: 14px; padding: 8px 12px; background: var(--vt-raised, #151a20); color: var(--vt-text, #f7f7f7); border: 1px solid var(--vt-border, #2a3038); border-radius: 6px; cursor: pointer; }
[data-vtne-favorites-unresolved] { overflow-wrap: anywhere; }
.vtne-fitment-badge { display: inline-flex; align-items: center; align-self: flex-start; max-width: 100%; padding: 4px 7px; border: 1px solid var(--vt-border, #2a3038); border-radius: 4px; color: var(--vt-muted, #9da4ad); font-size: 10px; font-weight: 750; line-height: 1.35; }
.vtne-fitment-badge[data-fitment-status="matched"], .vtne-fitment-badge[data-fitment-status="universal"] { border-color: #16834860; color: #66dc8c; background: #16834812; }
.vtne-fitment-badge[data-fitment-status="recommended"] { color: #ed9c5e; border-color: #db62054d; }
.vtne-catalog-garage { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 10px; min-height: 48px; margin: 0 0 12px; padding: 6px 12px; border: 1px solid var(--vt-border, #2a3038); border-left-width: 4px; border-radius: 7px; background: var(--vt-panel, #11151a); color: var(--vt-text, #f7f7f7); }
.vtne-catalog-garage > svg { width: 28px; height: 24px; color: var(--vt-muted, #9da4ad); }
.vtne-catalog-garage > span { display: grid; min-width: 0; }
.vtne-catalog-garage small { color: var(--vt-muted, #9da4ad); font-size: 8px; font-weight: 850; letter-spacing: .1em; }
.vtne-catalog-garage strong { font-size: 12px; overflow-wrap: anywhere; }
.vtne-catalog-garage > button { min-height: 44px; padding: 5px 8px; border: 0; background: transparent; color: #ed7a25; font-size: 11px; font-weight: 850; cursor: pointer; }
.vtne-catalog-garage > p, .vtne-catalog-garage > noscript { grid-column: 1 / -1; margin: 0; color: var(--vt-muted, #9da4ad); font-size: 11px; line-height: 1.4; }
.vtne-catalog-garage[data-selected="true"] { border-color: color-mix(in srgb,#168348 50%,var(--vt-border,#2a3038)); background: color-mix(in srgb,#168348 10%,var(--vt-panel,#11151a)); }
.vtne-catalog-garage[data-selected="true"] > svg, .vtne-catalog-garage[data-selected="true"] small { color: #66dc8c; }
html[data-color-scheme="light"] .vtne-fitment-badge[data-fitment-status="matched"], html[data-color-scheme="light"] .vtne-fitment-badge[data-fitment-status="universal"] { color: #176a39; }
html[data-color-scheme="light"] .vtne-fitment-badge[data-fitment-status="recommended"] { color: #964000; }
.mobile-bottom-nav .vtne-garage-open { border: 0; background: transparent; font-size: 11px; padding: 6px; border-radius: 0; }
@media (max-width: 1024px) { .header-actions .vtne-garage-open { display: none; } }
@media (max-width: 760px) {
  .vtne-dialog { padding: 18px; }
  [data-vtne-garage-form] { grid-template-columns: 1fr; }
  .vtne-favorites-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .vtne-favorite-card img { height: 170px; }
  .vtne-favorite-card > button { font-size: 11px; margin-inline: 8px; padding: 8px; }
}

/* Approved garage composition; native dialog, registry and saved records remain authoritative. */
.vtne-dialog { width: min(650px, calc(100% - 32px)); max-height: calc(100dvh - 40px); padding: 22px; }
.vtne-dialog-head { align-items: flex-start; border-bottom: 1px solid var(--vt-border, #2a3038); padding-bottom: 14px; }
.vtne-garage-eyebrow { margin: 0; color: #ed7a25; font-size: 10px; font-weight: 850; letter-spacing: .1em; line-height: 1.4; }
.vtne-dialog-head h2 { margin: 5px 0 0; font-size: 28px; line-height: 1; letter-spacing: -.025em; }
.vtne-dialog .vtne-dialog-head button { display: grid; flex: 0 0 36px; place-items: center; width: 36px; min-width: 36px; height: 36px; min-height: 36px; padding: 0; font-size: 24px; line-height: 1; }
.vtne-garage-summary { display: flex; align-items: center; gap: 10px; padding: 10px; margin-top: 14px; border-left: 3px solid var(--vt-border, #2a3038); border-radius: 5px; background: var(--vt-panel, #11151a); color: var(--vt-muted, #9da4ad); }
.vtne-garage-summary > svg { width: 24px; height: 24px; flex: 0 0 auto; }
.vtne-garage-summary > span { display: grid; min-width: 0; }
.vtne-garage-summary small { font-size: 8px; font-weight: 850; }
.vtne-garage-summary strong { font-size: 11px; overflow-wrap: anywhere; }
.vtne-garage-summary[data-selected="true"] { border-color: #168348; background: #0d2b1c; color: #66dc8c; }
[data-vtne-garage-status] { min-height: 1lh; font-size: 12px; }
[data-vtne-garage-form] { grid-template-columns: minmax(0,1fr) minmax(0,1fr); margin-top: 16px; }
[data-vtne-garage-form] label { min-width: 0; font-size: 10px; font-weight: 800; text-transform: uppercase; color: var(--vt-muted, #9da4ad); }
[data-vtne-garage-form] select { min-width: 0; font-size: 14px; font-weight: 500; text-transform: none; color: var(--vt-text, #f7f7f7); }
.vtne-garage-actions { display: flex; flex-wrap: wrap; grid-column: 1 / -1; gap: 8px; margin-top: 6px; padding-top: 16px; border-top: 1px solid var(--vt-border, #2a3038); }
.vtne-garage-actions > :is(button,a) { min-height: 44px; padding: 10px 16px; font-size: 11px; font-weight: 800; }
.vtne-garage-actions .vtne-garage-catalog { border: 1px solid var(--vt-border, #2a3038); background: var(--vt-bg, #080a0d); color: var(--vt-text, #f7f7f7); text-decoration: none; }
.vtne-garage-actions button:disabled { opacity: .45; cursor: not-allowed; }

/* Favorites use the theme's current Woo cards, preserving native price/stock/fitment rendering. */
.vtne-visually-hidden { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip-path: inset(50%) !important; white-space: nowrap !important; border: 0 !important; }
.vtne-favorites-page .vt-content-heading { border-bottom: 0; padding-bottom: 0; }
.vtne-favorites-breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 20px; color: var(--vt-muted, #9da4ad); font-size: 11px; font-weight: 400; }
.vtne-favorites-breadcrumb a { color: inherit; text-decoration: none; }
.vtne-favorites-breadcrumb > span:last-child { color: var(--vt-text, #f7f7f7); font-weight: 700; }
.vtne-favorites .vtne-favorites-count { padding-left: 10px; border-left: 2px solid #db6205; font-size: 12px; font-weight: 700; }
.vtne-favorites .vtne-favorites-empty { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; min-height: 380px; padding: 35px 20px; border: 1px solid var(--vt-border, #2a3038); border-radius: 8px; background: var(--vt-panel, #11151a); text-align: center; }
.vtne-favorites [hidden] { display: none !important; }
.vtne-favorites-empty > svg { width: 60px; height: 60px; padding: 14px; border-radius: 50%; background: #0c1720; color: #db6205; }
.vtne-favorites .vtne-favorites-empty h2 { margin: 0; color: var(--vt-text, #f7f7f7); font-size: 26px; line-height: 1.15; letter-spacing: -.025em; }
.vtne-favorites-empty > .button { min-height: 44px; padding: 12px 16px; font-size: 11px; text-decoration: none; }
.vtne-favorites .woocommerce ul.products.vtne-favorites-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; margin: 0; padding: 0; list-style: none; }
.vtne-favorites .woocommerce ul.products.vtne-favorites-grid > li { min-width: 0; }
.vtne-favorites .vtne-favorite-card h2 { color: var(--vt-text, #f7f7f7); font-size: 13px; line-height: 1.5; font-weight: 500; }
@media (max-width: 760px) {
  .vtne-favorites .woocommerce ul.products.vtne-favorites-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
}
