/* Single vehicle only; same site-owned fonts and Stage 7 catalog visual tokens. */
.dic-vehicle {
 --dic-font-heading:"Eurostile Extended",sans-serif; --dic-font-body:"Mont",sans-serif; --dic-font-control:"Akzidenz Grotesk Pro",sans-serif;
 --dic-content-max:1140px; --dic-color-text:#141414; --dic-color-secondary:#606873;
 --dic-color-surface:#fff; --dic-color-muted:#f5f5f5; --dic-color-border:#e5e8ed; --dic-color-input-border:#cbd4e2;
 --dic-radius-card:16px; --dic-radius-button:12px;
 box-sizing:border-box; width:calc(100% - 56px); max-width:var(--dic-content-max); margin:60px auto 70px;
 color:var(--dic-color-text); font:400 16px/1.5 var(--dic-font-body); overflow-wrap:anywhere;
}
.dic-vehicle *, .dic-vehicle *::before, .dic-vehicle *::after { box-sizing:border-box; }
.dic-vehicle [hidden] { display:none !important; }
.dic-vehicle a { color:var(--dic-color-text); box-shadow:none; text-decoration:none; }
.dic-vehicle :is(a,button):focus-visible { outline:2px solid #141414; outline-offset:3px; }
.dic-vehicle .dic-detail-breadcrumbs { display:flex; gap:10px; flex-wrap:wrap; font-size:13px; color:var(--dic-color-secondary); margin-bottom:24px; }
.dic-vehicle .dic-detail-breadcrumbs a { text-decoration:underline; text-underline-offset:3px; }
.dic-vehicle h1:not(.entry-title):not(.page-title) { font:700 36px/1.15 var(--dic-font-heading); color:var(--dic-color-text); letter-spacing:normal; text-transform:none; margin:0; }
.dic-vehicle .dic-detail-heading { margin-bottom:28px; }
.dic-vehicle .dic-detail-trim { margin:12px 0; color:var(--dic-color-secondary); }
.dic-vehicle .dic-detail-market { display:inline-block; font-size:13px; background:var(--dic-color-muted); border-radius:8px; padding:5px 10px; margin-top:12px; }
.dic-vehicle .dic-detail-hero { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(0,1fr); gap:28px; align-items:start; }
.dic-vehicle .dic-detail-gallery { min-width:0; }
.dic-vehicle .dic-detail-placeholder { aspect-ratio:3/2; background:var(--dic-color-muted); border-radius:var(--dic-radius-card); overflow:hidden; display:flex; align-items:center; justify-content:center; }
.dic-vehicle .dic-gallery-stage { position:relative; width:min(calc(100% - 104px),600px,calc(min(65vh,600px) * var(--dic-image-ratio))); aspect-ratio:var(--dic-image-ratio); margin-inline:auto; }
.dic-vehicle .dic-gallery-main { display:flex; justify-content:center; align-items:center; width:100%; height:100%; }
.dic-vehicle .dic-gallery-main a { display:flex; align-items:center; justify-content:center; width:100%; height:100%; border-radius:var(--dic-radius-card); overflow:hidden; }
.dic-vehicle .dic-gallery-main img { display:block; width:100%; height:100%; max-width:100%; max-height:100%; object-fit:contain; }
.dic-vehicle .dic-gallery-status { font-size:13px; color:var(--dic-color-secondary); margin:8px 0; text-align:right; }
.dic-vehicle .dic-detail-thumbnails { display:flex; justify-content:flex-start; gap:4px; overflow-x:auto; padding:4px; scrollbar-width:none; height:72px; box-sizing:border-box; }
.dic-vehicle .dic-detail-thumbnails a { flex:0 0 64px; width:64px; height:64px; aspect-ratio:1; box-sizing:border-box; padding:3px; border:2px solid transparent; border-radius:10px; }
.dic-vehicle .dic-detail-thumbnails a[aria-current] { border-color:#141414; }
.dic-vehicle .dic-detail-thumbnails img { width:100%; height:100%; object-fit:contain; display:block; border-radius:5px; background:var(--dic-color-muted); }
.dic-vehicle .dic-detail-thumbnails::-webkit-scrollbar { display:none; }
.dic-vehicle .dic-gallery-navigation { position:absolute; inset:0 -52px; display:flex; align-items:center; justify-content:space-between; pointer-events:none; padding:0; }
.dic-vehicle .dic-gallery-navigation button { pointer-events:auto; width:44px; height:44px; min-width:44px; padding:0; font:400 28px/1 sans-serif; background:rgba(255,255,255,.94); border:1px solid #CBD4E2; }
.dic-vehicle button, .dic-vehicle .dic-detail-contacts a { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; font:400 15px/1 var(--dic-font-control); padding:12px 16px; border:1px solid var(--dic-color-input-border); border-radius:var(--dic-radius-button); background:#fff; color:#141414; text-transform:none; letter-spacing:normal; cursor:pointer; box-shadow:none; }
.dic-vehicle button:hover, .dic-vehicle .dic-detail-messenger:hover { background:var(--dic-color-muted); }
.dic-vehicle .dic-detail-summary { border:1px solid var(--dic-color-border); border-radius:var(--dic-radius-card); padding:24px; min-width:0; }
.dic-vehicle .dic-vehicle-price { font:600 30px/1.2 var(--dic-font-body); margin:0 0 6px; }
.dic-vehicle .dic-detail-contacts { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:24px; }
.dic-vehicle .dic-detail-contacts .dic-detail-primary { flex-basis:100%; color:#fff; background:#141414; border-color:#141414; }
.dic-vehicle .dic-detail-primary:hover { background:#282828; }
.dic-vehicle .dic-detail-messenger { flex:1; }
.dic-vehicle .dic-detail-messenger img { display:block; width:22px; height:22px; margin:0; }
.dic-vehicle .dic-vehicle-specs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px 28px; margin:0; }
.dic-vehicle .dic-vehicle-specs > div { min-width:0; border-bottom:1px solid var(--dic-color-border); padding-bottom:12px; }
.dic-vehicle .dic-vehicle-specs dt { font:400 13px/1.4 var(--dic-font-body); color:var(--dic-color-secondary); margin-bottom:6px; }
.dic-vehicle .dic-vehicle-specs dd { font:600 16px/1.4 var(--dic-font-body); margin:0; }
.dic-vehicle .dic-detail-summary .dic-vehicle-specs { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.dic-vehicle .dic-detail-section { margin-top:56px; }
.dic-vehicle h2 { font:700 25px/1.2 var(--dic-font-heading); margin:0 0 24px; text-transform:none; letter-spacing:normal; }
.dic-vehicle h3 { font:600 18px/1.4 var(--dic-font-body); margin:0 0 14px; text-transform:none; letter-spacing:normal; }
.dic-vehicle .dic-detail-features { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.dic-vehicle .dic-detail-features > div { padding:20px; background:var(--dic-color-muted); border-radius:var(--dic-radius-card); }
.dic-vehicle .dic-detail-features ul { list-style:none; padding:0; margin:0; }
.dic-vehicle .dic-detail-features li { padding-left:22px; position:relative; margin:10px 0; }
.dic-vehicle .dic-detail-features li::before { content:"✓"; position:absolute; left:0; }
.dic-vehicle .dic-vehicle-description { max-width:850px; }
.dic-vehicle .dic-vehicle-description :is(img,iframe,video) { max-width:100%; height:auto; }
.dic-vehicle .dic-vehicle-description table { display:block; max-width:100%; overflow:auto; }
@media (max-width:1024px) {
 .dic-vehicle .dic-detail-hero { grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:20px; }
 .dic-vehicle .dic-detail-summary { padding:18px; }
 .dic-vehicle .dic-vehicle-price { font-size:26px; }
}
@media (max-width:768px) {
 .dic-vehicle { width:calc(100% - 40px); margin-top:36px; }
 .dic-vehicle h1:not(.entry-title):not(.page-title) { font-size:28px; }
 .dic-vehicle .dic-detail-hero { grid-template-columns:minmax(0,1fr); gap:24px; }
 .dic-vehicle .dic-vehicle-specs, .dic-vehicle .dic-detail-features { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .dic-vehicle .dic-detail-section { margin-top:40px; }
 .dic-vehicle h2 { font-size:22px; }
 body.single-di_vehicle:has(.dic-vehicle) .site-header { position:sticky; top:0; }
 body.single-di_vehicle:has(.dic-vehicle) .site-content { padding-top:0 !important; }
}
@media (max-width:480px) {
 .dic-vehicle .dic-detail-features { grid-template-columns:minmax(0,1fr); }
 .dic-vehicle h1:not(.entry-title):not(.page-title) { font-size:25px; }
}

/* Model reviews: portrait presentation, separate from the image gallery. */
.dic-vehicle .dic-model-video { aspect-ratio:9/16; min-width:0; overflow:hidden; border-radius:var(--dic-radius-card); background:var(--dic-color-muted); }
.dic-vehicle .dic-model-video-play { display:flex; position:relative; align-items:center; justify-content:center; width:100%; height:100%; }
.dic-vehicle .dic-model-video-play img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.dic-vehicle .dic-model-video-play-label { position:relative; display:flex; align-items:center; justify-content:center; width:64px; height:64px; border:1px solid rgba(255,255,255,.8); border-radius:50%; background:rgba(20,20,20,.65); color:#fff; }
.dic-vehicle .dic-model-video-play-label::before { content:""; width:0; height:0; margin-left:4px; border-top:11px solid transparent; border-bottom:11px solid transparent; border-left:17px solid currentColor; }
.dic-vehicle .dic-model-video-play:hover .dic-model-video-play-label { background:rgba(20,20,20,.85); }
.dic-vehicle .dic-model-video-play:focus-visible { outline:2px solid #fff; outline-offset:-4px; }
.dic-vehicle .dic-model-video-play:focus-visible .dic-model-video-play-label { outline:2px solid #fff; outline-offset:4px; }
.dic-vehicle .dic-model-video video { display:block; width:100%; height:100%; object-fit:contain; background:#141414; }
/* Native controls receive focus after Play; mouse focus must not frame the whole player. */
.dic-vehicle .dic-model-video video:focus:not(:focus-visible) { outline:none; }
.dic-vehicle .dic-model-video video:focus-visible { outline:2px solid #fff; outline-offset:-4px; }
@media (max-width:768px) {
 .dic-vehicle .dic-detail-features { grid-template-columns:minmax(0,1fr); }
}
/* One complete summary and a shared photo/model-review area. */
.dic-vehicle .dic-detail-media { min-width:0; }
.dic-vehicle .dic-media-tabs { display:flex; gap:8px; margin-bottom:16px; }
.dic-vehicle .dic-media-tabs a { display:inline-flex; min-height:44px; padding:12px 18px; align-items:center; justify-content:center; border:1px solid var(--dic-color-input-border); border-radius:12px; font:400 15px/1 var(--dic-font-control); }
.dic-vehicle .dic-media-tabs a[aria-selected="true"] { color:white; background:#141414; border-color:#141414; }
.dic-vehicle .dic-detail-summary .dic-vehicle-specs { gap:12px 16px; }
.dic-vehicle .dic-detail-summary .dic-vehicle-specs > div { padding-bottom:10px; }

/* Native dialog supplies modal focus/inert semantics; only the selected master is loaded. */
.dic-vehicle .dic-lightbox { width:100%; max-width:none; height:100dvh; max-height:none; margin:0; padding:20px; border:0; background:#141414; color:#fff; }
.dic-vehicle .dic-lightbox::backdrop { background:#141414; }
.dic-vehicle .dic-lightbox[open] { display:grid; grid-template-rows:auto minmax(0,1fr); gap:12px; }
.dic-vehicle .dic-lightbox-bar { display:flex; justify-content:space-between; align-items:center; gap:16px; }
.dic-vehicle .dic-lightbox-bar p { margin:0; }
.dic-vehicle .dic-lightbox-image { min-height:0; display:flex; justify-content:center; align-items:center; touch-action:pan-y; }
.dic-vehicle .dic-lightbox-image img { max-width:100%; max-height:100%; width:auto; height:auto; object-fit:contain; }
.dic-vehicle .dic-lightbox-body { min-height:0; display:grid; grid-template-columns:44px minmax(0,1fr) 44px; gap:12px; }
.dic-vehicle .dic-lightbox-body > button { align-self:center; width:44px; padding:0; font:400 28px/1 sans-serif; }
.dic-vehicle .dic-lightbox button { display:inline-flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; padding:8px 16px; background:#fff; color:#141414; border:1px solid #CBD4E2; border-radius:10px; }
.dic-vehicle .dic-lightbox button:focus-visible { outline:3px solid #fff; outline-offset:4px; }
@media (max-width:767px) {
 .dic-vehicle .dic-gallery-main img { max-height:75vh; }
 .dic-vehicle .dic-lightbox { padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left)); }
 .dic-vehicle .dic-lightbox-body { grid-template-columns:minmax(0,1fr) minmax(0,1fr); grid-template-rows:minmax(0,1fr) 44px; gap:12px; }
 .dic-vehicle .dic-lightbox-image { grid-column:1 / -1; grid-row:1; min-width:0; }
 .dic-vehicle .dic-lightbox-body > button { grid-row:2; height:44px; }
 .dic-vehicle [data-dic-lightbox-prev] { grid-column:1; justify-self:end; }
 .dic-vehicle [data-dic-lightbox-next] { grid-column:2; justify-self:start; }
}
@media (prefers-reduced-motion:reduce) { .dic-vehicle .dic-lightbox * { animation:none; transition:none; scroll-behavior:auto; } }

.dic-vehicle .dic-detail-summary .dic-market-spec:last-child:nth-child(odd) { grid-column:1 / -1; text-align:center; }

/* Narrow screens retain large photos; controls use only the outer gutter/edge. */
@media (max-width:600px) {
 .dic-vehicle .dic-gallery-stage { width:min(calc(100% - 24px),600px,calc(min(65vh,600px) * var(--dic-image-ratio))); }
 .dic-vehicle .dic-gallery-navigation { inset-inline:-24px; }
}

/* One selected review, inert alternatives, explicit navigation without autoplay. */
.dic-vehicle .dic-model-videos { display:block; }
.dic-vehicle .dic-review-stage { position:relative; width:min(calc(100% - 104px),400px); margin-inline:auto; }
.dic-vehicle .dic-review-arrows { position:absolute; inset:0 -52px; display:flex; justify-content:space-between; align-items:center; pointer-events:none; }
.dic-vehicle .dic-review-arrows button { pointer-events:auto; width:44px; height:44px; padding:0; font:400 28px/1 sans-serif; }
.dic-vehicle [data-dic-review-count] { text-align:center; margin:8px 0; font-size:13px; }
.dic-vehicle .dic-review-thumbnails { display:flex; justify-content:flex-start; overflow-x:auto; gap:6px; padding:4px; scrollbar-width:none; }
.dic-vehicle .dic-review-thumbnails::-webkit-scrollbar { display:none; }
.dic-vehicle .dic-review-thumbnails button { position:relative; flex:0 0 48px; width:48px; height:64px; padding:2px; border:2px solid transparent; overflow:hidden; }
.dic-vehicle .dic-review-thumbnails button[aria-current] { border-color:#141414; }
.dic-vehicle .dic-review-thumbnails img { width:100%; height:100%; object-fit:cover; }
.dic-vehicle .dic-review-thumbnails span { position:absolute; bottom:2px; right:2px; background:#fff; padding:1px 4px; border-radius:3px; font-size:12px; }
@media (max-width:767px) {
 .dic-vehicle .dic-review-stage { width:min(100%,400px); }
 .dic-vehicle .dic-review-arrows { position:static; justify-content:center; gap:12px; margin-top:12px; }
}
.dic-vehicle .dic-detail-price-note {font-family:Mont,sans-serif;font-size:14px;line-height:1.5;color:#606873;margin:0 0 16px;}

@media (max-width:768px) {
 .dic-vehicle .dic-gallery-navigation { display:none; }
 .dic-vehicle .dic-gallery-main { touch-action:pan-y pinch-zoom; }
}
