/* Public styles for Car Rental Suite */
.crs-vehicle-list { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 1rem; }
.crs-vehicle-list .crs-vehicle { border: 1px solid #e0e0e0; padding: 1rem; background: #fff; }
.crs-search-form, .crs-booking-flow form { display: grid; gap: .75rem; }
.crs-grid { display: grid; gap: 1rem; }
.crs-extras { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
.crs-itinerary-widget { border: 1px solid #ddd; padding: 1rem; background: #fafafa; }

/* Enhanced vehicle list styles */
.crs-vehicle-list-container { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 20px; margin: 20px 0; }
.crs-vehicle-card { border: 1px solid #e0e0e0; border-radius: 8px; overflow: hidden; background: #fff; display: flex; flex-direction: column; transition: box-shadow 0.3s; }
.crs-vehicle-card:hover { box-shadow: 0 4px 12px rgba(0,0,0,0.1); }
.crs-vehicle-image { width: 100%; height: 200px; overflow: hidden; background: #f5f5f5; }
.crs-vehicle-thumb { width: 100%; height: 100%; object-fit: cover; }
.crs-vehicle-placeholder { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; color: #999; }
.crs-vehicle-content { padding: 15px; flex-grow: 1; }
.crs-vehicle-title { margin: 0 0 10px 0; font-size: 20px; font-weight: 600; }
.crs-vehicle-features { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 10px; font-size: 14px; }
.crs-feature-item { display: inline-block; }
.crs-feature-item strong { margin-right: 5px; }
.crs-vehicle-description { color: #666; font-size: 14px; margin-top: 10px; }
.crs-vehicle-pricing { padding: 15px; background: #f9f9f9; border-top: 1px solid #e0e0e0; display: flex; justify-content: space-between; align-items: center; }
.crs-daily-price { display: flex; flex-direction: column; }
.crs-price-label { font-size: 12px; color: #666; }
.crs-price-amount { font-size: 24px; font-weight: 700; color: #2271b1; }
.crs-price-period { font-size: 12px; color: #666; }
.crs-view-details-btn { padding: 10px 20px; background: #2271b1; color: #fff; text-decoration: none; border-radius: 4px; font-weight: 600; transition: background 0.3s; }
.crs-view-details-btn:hover { background: #135e96; }
.crs-no-vehicles { text-align: center; padding: 40px; color: #666; }

/* Search form styles */
.crs-search-form { max-width: 800px; margin: 20px auto; padding: 20px; background: #f9f9f9; border-radius: 8px; }
.crs-search-row { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; margin-bottom: 15px; }
.crs-search-field { display: flex; flex-direction: column; }
.crs-search-field label { margin-bottom: 5px; font-weight: 600; }
.crs-search-field .required { color: #d63638; }
.crs-search-field input[type="date"],
.crs-search-field input[type="time"],
.crs-search-field select { padding: 8px; border: 1px solid #ddd; border-radius: 4px; font-size: 14px; }
.crs-search-submit { text-align: center; margin-top: 10px; }
.crs-search-button { padding: 12px 30px; background: #2271b1; color: #fff; border: none; border-radius: 4px; font-size: 16px; font-weight: 600; cursor: pointer; transition: background 0.3s; }
.crs-search-button:hover { background: #135e96; }

@media (max-width: 768px) {
    .crs-vehicle-list-container,
    .crs-search-row { grid-template-columns: 1fr; }
    .crs-vehicle-pricing { flex-direction: column; gap: 15px; }
    .crs-view-details-btn { width: 100%; text-align: center; }
}
