/* O'Sullivan Motors — DealerHub vehicle preview v0.4.0 */
.osm-vehicle-preview { --osm-blue: #159fda; --osm-navy: #14293a; font-family: inherit; color: #14293a; }
.osm-vehicle-preview .osm-vehicle-note { margin: 0 0 14px; font-size: 12px; color: #536575; }
.osm-vehicle-preview .osm-vehicle-grid { display: grid !important; grid-template-columns: repeat(3, minmax(0,1fr)) !important; gap: 24px !important; align-items: stretch; }
.osm-vehicle-preview .osm-vehicle-grid > .osm-vehicle-card { min-width: 0; display: flex; flex-direction: column; margin: 0; overflow: hidden; border-radius: 14px; border: 1px solid #e6ebef; background: #fff; box-shadow: 0 8px 24px rgba(18,47,64,.09); }
.osm-vehicle-preview .osm-vehicle-photo { aspect-ratio: 4/3; overflow:hidden; background: #eef3f6; }
.osm-vehicle-preview .osm-vehicle-photo img { display:block; width:100%; height:100%; object-fit:cover; }
.osm-vehicle-preview .osm-vehicle-body { display:flex; flex:1; flex-direction:column; padding:19px 20px 20px; }
.osm-vehicle-preview h3.osm-vehicle-title { color:var(--osm-navy); font-size:19px; font-weight:700; letter-spacing:0; line-height:1.35; margin:0 0 10px; min-height:50px; }
.osm-vehicle-preview p.osm-vehicle-price { display:block; color:var(--osm-blue) !important; font-size:27px !important; font-weight:800 !important; line-height:1.1; margin:0 0 17px !important; padding:0; }
.osm-vehicle-preview ul.osm-vehicle-specs { display:grid !important; grid-template-columns:1fr 1fr; list-style:none !important; padding:14px 0 !important; margin:0 0 18px !important; border-top:1px solid #ebf0f3; border-bottom:1px solid #ebf0f3; gap:10px 12px; font-size:13px; color:#4a5b68; }
.osm-vehicle-preview .osm-vehicle-specs li { display:flex !important; gap:7px; align-items:center; margin:0 !important; padding:0 !important; list-style:none !important; min-width:0; }
.osm-vehicle-preview .osm-vehicle-specs li::before, .osm-vehicle-preview .osm-vehicle-specs li::marker { content:none !important; display:none !important; }
.osm-vehicle-preview svg.osm-spec-icon { flex:0 0 18px; width:18px; height:18px; color:#159fda; }
.osm-vehicle-preview .osm-vehicle-actions { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:auto; align-items:start; }
.osm-vehicle-preview .osm-vehicle-details { min-width:0; }
.osm-vehicle-preview .osm-vehicle-button { box-sizing:border-box; display:flex !important; align-items:center; justify-content:center; min-height:44px; width:100%; border-radius:8px !important; padding:10px !important; font-size:13px !important; font-weight:700 !important; line-height:1.2; text-align:center; text-decoration:none !important; border:1px solid #159fda !important; cursor:pointer; transition:background .15s ease; }
.osm-vehicle-preview .osm-vehicle-button-primary { color:#fff !important; background:#159fda !important; list-style:none; }
.osm-vehicle-preview .osm-vehicle-button-primary:hover { background:#0c82b6 !important; }
.osm-vehicle-preview .osm-vehicle-button-primary::-webkit-details-marker { display:none; }
.osm-vehicle-preview .osm-vehicle-button-outline { color:#1179a7 !important; background:white !important; }
.osm-vehicle-preview .osm-vehicle-button-outline:hover { background:#eff9fd !important; }
.osm-vehicle-preview .osm-vehicle-button:focus-visible { outline:3px solid #135e92; outline-offset:3px; }
.osm-vehicle-preview .osm-vehicle-details-content { padding-top:12px; font-size:12px; color:#4a5b68; }
.osm-vehicle-preview .osm-vehicle-details-content dl { margin:0; }
.osm-vehicle-preview .osm-vehicle-details-content dl>div { display:flex; justify-content:space-between; gap:10px; padding:6px 0; border-bottom:1px solid #ebeff2; }
.osm-vehicle-preview .osm-vehicle-details-content dt { font-weight:600; }
.osm-vehicle-preview .osm-vehicle-details-content dd { text-align:right; margin:0; }
@media(max-width:1024px) { .osm-vehicle-preview .osm-vehicle-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; } }
@media(max-width:767px) { .osm-vehicle-preview .osm-vehicle-grid { grid-template-columns:minmax(0,1fr) !important; gap:16px !important; } .osm-vehicle-preview .osm-vehicle-photo { aspect-ratio:16/10; } .osm-vehicle-preview h3.osm-vehicle-title { min-height:0; } }

/* v0.4: keep old CSS overrides intact and add a single CTA */
.osm-vehicle-preview .osm-vehicle-actions { grid-template-columns: minmax(0, 1fr); }
