.vehicle-catalog-card { font: inherit; cursor: pointer; }
.catalog-source-tabs { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px; padding: 8px; border: 1px solid var(--border); border-radius: 13px; background: var(--card); }
.catalog-source-tabs button { display: grid; gap: 3px; padding: 12px; border: 1px solid transparent; border-radius: 9px; background: transparent; color: var(--text2); text-align: left; cursor: pointer; }
.catalog-source-tabs button:hover { background: color-mix(in srgb,var(--green) 6%,transparent); color: var(--text); }
.catalog-source-tabs button.active { border-color: color-mix(in srgb,var(--green) 38%,var(--border)); background: color-mix(in srgb,var(--green) 10%,var(--bg)); color: var(--green); }
.catalog-source-tabs strong { font-size: 10px; text-transform: uppercase; }
.catalog-source-tabs small { font-size: 8px; color: var(--text2); }
.vehicle-catalog-copy > small { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.catalog-origin { padding: 3px 5px; border-radius: 5px; background: var(--bg); color: var(--text2); font-size: 6px; font-style: normal; letter-spacing: .7px; }
.catalog-origin.origin-showroom { color: var(--orange); }
.catalog-origin.origin-community { color: var(--green); }
.vehicle-catalog-card:focus-visible { outline: 2px solid var(--green); outline-offset: 2px; }
.vehicle-catalog-visual { overflow: hidden; }
.vehicle-catalog-visual img { cursor: zoom-in; transition: transform .25s ease; }
.vehicle-catalog-card:hover .vehicle-catalog-visual img { transform: scale(1.035); }
.catalog-zoom-hint { position: absolute; right: 9px; bottom: 8px; padding: 5px 7px; border: 1px solid var(--border); border-radius: 7px; background: rgba(6,12,18,.78); color: #fff; font-size: 7px; font-weight: 900; opacity: 0; transform: translateY(4px); transition: .2s ease; }
.vehicle-catalog-card:hover .catalog-zoom-hint { opacity: 1; transform: none; }
.catalog-detail-image { position: relative; display: grid; width: 100%; height: 210px; margin: 14px 0; padding: 0; overflow: hidden; border: 1px solid var(--border); border-radius: 12px; background: var(--bg); color: var(--text); cursor: zoom-in; }
.catalog-detail-image:disabled { cursor: default; }
.catalog-detail-image img { width: 100%; height: 100%; object-fit: contain; }
.catalog-detail-image b { position: absolute; right: 9px; bottom: 9px; padding: 6px 8px; border-radius: 7px; background: rgba(6,12,18,.82); color: #fff; font-size: 8px; }
.catalog-image-placeholder { place-self: center; font-size: 38px; opacity: .45; }
.catalog-lightbox { position: fixed; inset: 0; z-index: 100000; display: grid; place-items: center; padding: 28px; }
.catalog-lightbox-backdrop { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; background: rgba(1,5,9,.9); backdrop-filter: blur(12px); }
.catalog-lightbox figure { position: relative; z-index: 1; display: grid; grid-template-rows: minmax(0,1fr) auto; width: min(1180px,94vw); height: min(820px,90vh); margin: 0; overflow: hidden; border: 1px solid color-mix(in srgb,var(--green) 35%,var(--border)); border-radius: 18px; background: var(--card); box-shadow: 0 30px 90px rgba(0,0,0,.6); animation: catalog-lightbox-in .22s ease both; }
.catalog-lightbox figure > img { width: 100%; height: 100%; min-height: 0; object-fit: contain; background: #070b0f; }
.catalog-lightbox figcaption { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 12px; padding: 14px 18px; }
.catalog-lightbox figcaption small { color: var(--green); font-weight: 900; }
.catalog-lightbox figcaption strong { font-size: 17px; }
.catalog-lightbox figcaption span { color: var(--text2); font-size: 9px; }
.catalog-lightbox-close { position: absolute; z-index: 2; top: 12px; right: 12px; width: 40px; height: 40px; border: 1px solid rgba(255,255,255,.18); border-radius: 10px; background: rgba(4,9,13,.8); color: #fff; font-size: 22px; cursor: pointer; }
@keyframes catalog-lightbox-in { from { opacity: 0; transform: scale(.96) translateY(10px); } to { opacity: 1; transform: none; } }
@media (max-width: 900px) { .catalog-source-tabs { grid-template-columns: 1fr 1fr; } }
@media (max-width: 700px) { .catalog-source-tabs { grid-template-columns: 1fr; } .catalog-detail-image { height: 170px; } .catalog-lightbox { padding: 10px; } .catalog-lightbox figure { width: 100%; height: 85vh; } .catalog-lightbox figcaption { grid-template-columns: 1fr; } .catalog-lightbox figcaption span { display: none; } }
