/* Rockstride Core Styles */
.rs-car-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 25px; }
.rs-car-card { border-radius: 12px; overflow: hidden; background: #fff; box-shadow: 0 4px 20px rgba(0,0,0,.08); transition: transform .3s ease; }
.rs-car-card:hover { transform: translateY(-5px); }
.rs-car-card img { width: 100%; height: 220px; object-fit: cover; display: block; }
.rs-car-card-body { padding: 16px; }
.rs-car-price { color: #C9A14A; font-weight: 700; font-size: 18px; margin: 0 0 12px; }
.rs-car-specs { display: flex; gap: 10px; flex-wrap: wrap; list-style: none; margin: 0 0 12px; padding: 0; }
.rs-car-specs li { font-size: 12px; background: #f5f5f5; padding: 4px 10px; border-radius: 20px; }
.car-360-viewer { position: relative; width: 100%; aspect-ratio: 16/9; overflow: hidden; cursor: grab; background: #f0f0f0; border-radius: 12px; }
.car-360-viewer img { width: 100%; height: 100%; object-fit: cover; pointer-events: none; }
.car-360-hint { position: absolute; bottom: 12px; left: 50%; transform: translateX(-50%); background: rgba(0,0,0,.6); color: #fff; padding: 6px 14px; border-radius: 20px; font-size: 12px; }
.rs-vin-checker { background: #f7f7f7; border-radius: 12px; padding: 20px; margin: 20px 0; }
.rs-vin-input-wrap { display: flex; gap: 10px; }
.rs-vin-input { flex: 1; padding: 10px 14px; border: 1px solid #ddd; border-radius: 6px; }
.rs-vin-btn { background: #111; color: #fff; border: none; padding: 10px 20px; border-radius: 6px; cursor: pointer; transition: background .3s; }
.rs-vin-btn:hover { background: #C9A14A; }
.rs-vin-result.success { background: #e8f5e9; color: #2e7d32; padding: 10px; border-radius: 6px; margin-top: 10px; }
.rs-vin-result.error { background: #ffebee; color: #c62828; padding: 10px; border-radius: 6px; margin-top: 10px; }
.rs-booking-form { background: #fff; border: 1px solid #eee; border-radius: 12px; padding: 24px; }
.rs-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-bottom: 14px; }
.rs-form-group { display: flex; flex-direction: column; gap: 6px; }
.rs-form-group label { font-size: 13px; font-weight: 600; }
.rs-form-group input, .rs-form-group select, .rs-form-group textarea { padding: 10px 14px; border: 1px solid #ddd; border-radius: 6px; }
.rs-booking-submit { background: #C9A14A; color: #fff; border: none; padding: 12px 30px; border-radius: 6px; font-size: 15px; cursor: pointer; width: 100%; font-weight: 600; }
.rs-booking-submit:hover { background: #111; }
@media (max-width: 768px) { .rs-car-grid { grid-template-columns: 1fr; } .rs-form-row { grid-template-columns: 1fr; } }
