/* Consistent, uncropped manufacturer photographs on desktop and mobile. */
.card-visual .car-photo {position:absolute;inset:0;width:100%;height:100%;min-height:0;aspect-ratio:auto;margin:0;display:grid;place-items:center;overflow:hidden}
.card-visual .car-photo>img,.motion-enabled .card-visual .car-photo>img,.car-card:hover .card-visual .car-photo>img {position:static;display:block;width:100%;height:100%;min-height:0;max-height:100%;object-fit:contain;object-position:50% 50%;padding:27px 12px 23px;transform:none!important;transition:opacity .2s}
.card-visual .photo-label {bottom:4px;left:9px;font-size:9px;line-height:1.4;max-width:calc(100% - 18px)}
.compare-photo {height:142px;aspect-ratio:auto;display:grid;place-items:center}
.compare-photo>img {width:100%;height:100%;object-fit:contain;object-position:center;padding:10px;transform:none!important}
.trim-picker-note,.gallery-coverage {font-size:.78rem;line-height:1.6;color:var(--muted)}
.trim-picker-note {margin:-8px 0 18px}
.vehicle-gallery {margin:22px 0 25px;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--surface)}
.gallery-toolbar {padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.gallery-toolbar>strong {font-size:.95rem}
.gallery-categories {display:flex;gap:6px;flex-wrap:wrap}
.gallery-categories button {min-height:36px;padding:6px 10px;background:var(--input);color:var(--muted);border:1px solid var(--line);border-radius:8px;font-size:.75rem}
.gallery-categories button span {margin-left:4px;font-variant-numeric:tabular-nums}
.gallery-categories button[aria-pressed=true] {background:var(--text);color:var(--surface);border-color:var(--text)}
.gallery-stage {position:relative;background:#e8ebed}
.vehicle-gallery .detail-photo {height:360px;aspect-ratio:auto;border-radius:0;margin:0;display:grid;place-items:center;background:#e8ebed}
.vehicle-gallery .detail-photo>img {width:100%;height:100%;max-height:none;object-fit:contain;object-position:center;padding:12px 22px 30px;transform:none!important}
.vehicle-gallery .photo-label {bottom:8px;left:12px}
.gallery-arrow {position:absolute;top:calc(50% - 23px);width:44px;min-height:46px;border-radius:12px;background:#fffef0ee;color:#1b2125;font-size:2rem;line-height:1;border:1px solid #b8c0c7;box-shadow:0 3px 12px #1423331a}
.gallery-arrow.previous {left:10px}.gallery-arrow.next {right:10px}
.gallery-counter {position:absolute;bottom:10px;right:12px;background:#20282edb;color:white;border-radius:6px;padding:3px 7px;font-size:.72rem;font-variant-numeric:tabular-nums}
.gallery-thumbnails {display:flex;gap:8px;overflow:auto;padding:12px;scrollbar-width:thin}
.gallery-thumbnails button {flex:0 0 98px;padding:3px;border:2px solid transparent;border-radius:9px;background:var(--input);color:var(--muted);min-height:76px;overflow:hidden}
.gallery-thumbnails button[aria-pressed=true] {border-color:var(--accent);color:var(--text)}
.gallery-thumbnails img {display:block;width:100%;height:58px;object-fit:contain;background:#e8ebed;border-radius:4px}
.gallery-thumbnails span {display:block;font-size:.6rem;padding:3px;white-space:nowrap}
.vehicle-gallery .photo-credit {padding:0 16px;margin:3px 0 10px!important}
.gallery-coverage {border-top:1px solid var(--line);padding:11px 16px;margin:0;background:var(--input)}
:root[data-theme=light] {--text:#182128;--muted:#414e58;--quiet:#4d5962;--line:#c8cfd4}
[data-theme=light] .car-card,[data-theme=light] .controls,[data-theme=light] .config-picker,[data-theme=light] .detail-facts {font-weight:450}
[data-theme=light] .card-main h3,[data-theme=light] .detail-heading h2 {font-weight:650}
[data-theme=light] .trim,[data-theme=light] .car-brand,[data-theme=light] .field,[data-theme=light] .detail-facts dt,[data-theme=light] .preset span,[data-theme=light] .card-description {font-weight:500}
[data-theme=light] .micro,[data-theme=light] .small,[data-theme=light] .spec-context,[data-theme=light] .photo-credit,[data-theme=light] .gallery-coverage {color:var(--muted)}
[data-theme=light] input,[data-theme=light] select {color:#1e2a33;font-weight:500;border-color:#b7c1c9}
[data-theme=light] .photo-label {color:#23313d;background:#fffffff0;font-weight:500}
@media(max-width:600px){
  .card-visual .car-photo>img,.motion-enabled .card-visual .car-photo>img,.car-card:hover .card-visual .car-photo>img {padding:26px 10px 23px}
  .vehicle-gallery {margin:16px 0 20px;border-radius:12px}
  .gallery-toolbar {padding:11px 12px;gap:8px}
  .gallery-categories {gap:5px}.gallery-categories button {min-height:40px;padding:7px 9px}
  .vehicle-gallery .detail-photo {height:235px}
  .vehicle-gallery .detail-photo>img {padding:10px 12px 28px}
  .gallery-arrow {width:38px;min-height:44px}.gallery-arrow.previous {left:5px}.gallery-arrow.next {right:5px}
  .gallery-thumbnails {padding:9px;gap:6px}.gallery-thumbnails button {flex-basis:86px}
  .vehicle-gallery .photo-label {font-size:8px;left:8px;max-width:calc(100% - 67px)}
}

.trim-equipment ul {padding-left:20px;color:var(--muted);font-size:.84rem;line-height:1.7}
.trim-equipment h4 {text-transform:capitalize}

/* Keep the selected trim and close control within reach while reading specs. */
#detailDialog {padding:0;overflow:hidden}
#detailDialog[open] {display:flex;flex-direction:column}
#detailDialog>.dialog-top {flex:0 0 auto;margin:0;padding:15px 24px;border-bottom:1px solid var(--line);background:var(--surface)}
#detailBody {min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:20px 24px 28px;scrollbar-gutter:stable}
.sticky-trim-bar {position:sticky;top:0;z-index:8;display:flex;align-items:flex-end;gap:10px;padding:12px 0;background:var(--surface);border-bottom:1px solid var(--line);box-shadow:0 8px 14px -14px #0009;margin-bottom:16px}
.sticky-trim-bar .config-picker {flex:1;min-width:0;padding:0;margin:0;border:0;background:none;font-size:.875rem}
.sticky-trim-bar .config-picker span {display:block;margin-bottom:6px}
.sticky-trim-bar select {width:100%;min-height:44px;font-size:.875rem}
.trim-compare-button {min-height:44px;padding:10px 14px;border:1px solid var(--accent);border-radius:9px;background:var(--soft-purple);color:var(--text);font-weight:600;font-size:.875rem}
.trim-compare-button:hover {background:var(--surface-2)}
.trim-photo-empty {padding:30px 22px;background:var(--input);text-align:center;line-height:1.65}
.trim-photo-empty p {margin:9px 0;color:var(--muted)}
.trim-photo-empty small,.trim-photo-note {color:var(--quiet);font-size:.8125rem}
.gallery-thumbnails {overscroll-behavior-x:contain;scrollbar-color:var(--quiet) var(--input)}
.trim-compare-pickers {display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin:20px 0 12px}
.trim-compare-choice label {display:block;font-size:.875rem;font-weight:550}
.trim-compare-choice select {width:100%;min-height:44px;margin-top:6px;font-size:.875rem}
.trim-comparison-note {color:var(--muted);font-size:.875rem;line-height:1.65;margin:18px 0 6px}
.compare-equipment {padding-left:18px;font-size:.875rem}
#about {scroll-margin-top:95px}
.creator-effort {margin-bottom:30px}
.creator-effort p+p {margin-top:16px}
@media(max-width:600px){
 #detailDialog>.dialog-top {padding:10px 16px}
 #detailBody {padding:16px 16px 22px}
 .sticky-trim-bar {top:0;flex-wrap:wrap;gap:8px;padding:10px 0}
 .sticky-trim-bar .config-picker {flex-basis:100%}
 .sticky-trim-bar .trim-compare-button {padding:8px 12px;min-height:40px;font-size:.8125rem}
 .trim-compare-pickers {grid-template-columns:1fr}
}
