/**
 * ChaufEasy Vehicle Horizontal Layout Override - 3 Column Layout
 * Column 1: Vehicle Title + Details (left)
 * Column 2: Car Image (center)
 * Column 3: Price + Button (right)
 * @package ChaufEasy
 */

/* FORCE 3-COLUMN HORIZONTAL LAYOUT - HIGHEST SPECIFICITY */
.ce-booking-container .ce-vehicle-grid,
.ce-step-container .ce-vehicle-grid,
.elementor-widget-shortcode .ce-vehicle-grid,
body .ce-vehicle-grid {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 0 20px !important;
    grid-template-columns: none !important;
}

/* VEHICLE CARD - 3 COLUMN LAYOUT - COMPACT HEIGHT */
.ce-booking-container .ce-vehicle-card,
.ce-step-container .ce-vehicle-card,
.elementor-widget-shortcode .ce-vehicle-card,
body .ce-vehicle-card {
    background: #ffffff !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    transition: all 0.3s ease !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: stretch !important;
    min-height: 120px !important;
    margin-bottom: 16px !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08) !important;
}

.ce-booking-container .ce-vehicle-card:hover,
.ce-step-container .ce-vehicle-card:hover,
.elementor-widget-shortcode .ce-vehicle-card:hover,
body .ce-vehicle-card:hover {
    border-color: #3b82f6 !important;
    box-shadow: 0 8px 25px rgba(59, 130, 246, 0.15) !important;
    transform: translateY(-2px) !important;
}

/* COLUMN 1: VEHICLE DETAILS (LEFT) - COMPACT */
.ce-booking-container .ce-vehicle-content,
.ce-step-container .ce-vehicle-content,
.elementor-widget-shortcode .ce-vehicle-content,
body .ce-vehicle-content {
    width: 280px !important;
    min-width: 280px !important;
    display: flex !important;
    flex-direction: column !important;
    padding: 16px 20px !important;
    justify-content: center !important;
    background: #ffffff !important;
    border-right: 1px solid #f0f0f0 !important;
}

.ce-booking-container .ce-vehicle-card-header,
.ce-step-container .ce-vehicle-card-header,
.elementor-widget-shortcode .ce-vehicle-card-header,
body .ce-vehicle-card-header {
    padding: 0 !important;
    border-bottom: none !important;
    margin-bottom: 0 !important;
}

.ce-booking-container .ce-vehicle-title,
.ce-step-container .ce-vehicle-title,
.elementor-widget-shortcode .ce-vehicle-title,
body .ce-vehicle-title {
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #1a1a1a !important;
    margin: 0 0 10px 0 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}

.ce-booking-container .ce-vehicle-specs,
.ce-step-container .ce-vehicle-specs,
.elementor-widget-shortcode .ce-vehicle-specs,
body .ce-vehicle-specs {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    margin-bottom: 0 !important;
}

.ce-booking-container .ce-spec,
.ce-step-container .ce-spec,
.elementor-widget-shortcode .ce-spec,
body .ce-spec {
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
    font-size: 13px !important;
    color: #6b7280 !important;
}

.ce-booking-container .ce-spec .material-icons,
.ce-step-container .ce-spec .material-icons,
.elementor-widget-shortcode .ce-spec .material-icons,
body .ce-spec .material-icons {
    font-size: 16px !important;
    color: #6b7280 !important;
}

/* COLUMN 2: VEHICLE IMAGE (CENTER) - PERFECTLY CENTERED */
.ce-booking-container .ce-vehicle-image,
.ce-step-container .ce-vehicle-image,
.elementor-widget-shortcode .ce-vehicle-image,
body .ce-vehicle-image {
    flex: 1 !important;
    min-width: 0 !important;
    background: #f8f9fa !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 20px !important;
    overflow: hidden !important;
    border-right: 1px solid #f0f0f0 !important;
}

.ce-booking-container .ce-vehicle-image img,
.ce-step-container .ce-vehicle-image img,
.elementor-widget-shortcode .ce-vehicle-image img,
body .ce-vehicle-image img {
    max-width: 65% !important;
    max-height: 100% !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
    object-position: center !important;
    display: block !important;
    transition: transform 0.3s ease !important;
}

/* Image hover effect */
.ce-booking-container .ce-vehicle-card:hover .ce-vehicle-image img,
.ce-step-container .ce-vehicle-card:hover .ce-vehicle-image img,
.elementor-widget-shortcode .ce-vehicle-card:hover .ce-vehicle-image img,
body .ce-vehicle-card:hover .ce-vehicle-image img {
    transform: scale(1.08) !important;
}

/* HIDE FEATURES SECTION COMPLETELY */
.ce-booking-container .ce-vehicle-features,
.ce-step-container .ce-vehicle-features,
.elementor-widget-shortcode .ce-vehicle-features,
body .ce-vehicle-features {
    display: none !important;
}

/* COLUMN 3: PRICE + BUTTON (RIGHT) - COMPACT */
.ce-booking-container .ce-vehicle-footer,
.ce-step-container .ce-vehicle-footer,
.elementor-widget-shortcode .ce-vehicle-footer,
body .ce-vehicle-footer {
    width: 200px !important;
    min-width: 200px !important;
    padding: 18px 16px !important;
    border-top: none !important;
    border-left: none !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    background: #f8f9fa !important;
    text-align: center !important;
    border-radius: 0 12px 12px 0 !important;
}

.ce-booking-container .ce-vehicle-price-box,
.ce-step-container .ce-vehicle-price-box,
.elementor-widget-shortcode .ce-vehicle-price-box,
body .ce-vehicle-price-box {
    margin-bottom: 14px !important;
}

.ce-booking-container .ce-price-label,
.ce-step-container .ce-price-label,
.elementor-widget-shortcode .ce-price-label,
body .ce-price-label {
    font-size: 11px !important;
    color: #6b7280 !important;
    margin-bottom: 6px !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}

.ce-booking-container .ce-price-amount,
.ce-step-container .ce-price-amount,
.elementor-widget-shortcode .ce-price-amount,
body .ce-price-amount {
    font-size: 28px !important;
    font-weight: 700 !important;
    color: #1a1a1a !important;
    line-height: 1 !important;
}

.ce-booking-container .ce-btn-select,
.ce-step-container .ce-btn-select,
.elementor-widget-shortcode .ce-btn-select,
body .ce-btn-select,
.ce-booking-container .ce-select-car-btn,
.ce-step-container .ce-select-car-btn,
.elementor-widget-shortcode .ce-select-car-btn,
body .ce-select-car-btn {
    width: 100% !important;
    padding: 12px 20px !important;
    background: #3b82f6 !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 25px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    box-shadow: 0 2px 8px rgba(59, 130, 246, 0.2) !important;
}

.ce-booking-container .ce-btn-select:hover,
.ce-step-container .ce-btn-select:hover,
.elementor-widget-shortcode .ce-btn-select:hover,
body .ce-btn-select:hover,
.ce-booking-container .ce-select-car-btn:hover,
.ce-step-container .ce-select-car-btn:hover,
.elementor-widget-shortcode .ce-select-car-btn:hover,
body .ce-select-car-btn:hover {
    background: #2563eb !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 20px rgba(59, 130, 246, 0.3) !important;
}

/* Fallback for missing images */
.ce-booking-container .ce-vehicle-image:empty::before,
.ce-step-container .ce-vehicle-image:empty::before,
.elementor-widget-shortcode .ce-vehicle-image:empty::before,
body .ce-vehicle-image:empty::before {
    content: "🚗" !important;
    font-size: 32px !important;
    color: #9ca3af !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* Vehicle placeholder when no image */
.ce-booking-container .ce-vehicle-placeholder,
.ce-step-container .ce-vehicle-placeholder,
.elementor-widget-shortcode .ce-vehicle-placeholder,
body .ce-vehicle-placeholder {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 32px !important;
    color: #9ca3af !important;
}

/* Style for broken images */
.ce-booking-container .ce-vehicle-image img[src=""],
.ce-step-container .ce-vehicle-image img[src=""],
.elementor-widget-shortcode .ce-vehicle-image img[src=""],
body .ce-vehicle-image img[src=""],
.ce-booking-container .ce-vehicle-image img:not([src]),
.ce-step-container .ce-vehicle-image img:not([src]),
.elementor-widget-shortcode .ce-vehicle-image img:not([src]),
body .ce-vehicle-image img:not([src]) {
    display: none !important;
}

/* RESPONSIVE - SWITCH TO VERTICAL ON MOBILE */
@media (max-width: 768px) {
    .ce-booking-container .ce-vehicle-card,
    .ce-step-container .ce-vehicle-card,
    .elementor-widget-shortcode .ce-vehicle-card,
    body .ce-vehicle-card {
        flex-direction: column !important;
        min-height: auto !important;
    }
    
    .ce-booking-container .ce-vehicle-content,
    .ce-step-container .ce-vehicle-content,
    .elementor-widget-shortcode .ce-vehicle-content,
    body .ce-vehicle-content {
        width: 100% !important;
        min-width: auto !important;
        border-right: none !important;
        border-bottom: 1px solid #f0f0f0 !important;
    }
    
    .ce-booking-container .ce-vehicle-image,
    .ce-step-container .ce-vehicle-image,
    .elementor-widget-shortcode .ce-vehicle-image,
    body .ce-vehicle-image {
        width: 100% !important;
        height: 120px !important;
        border-right: none !important;
        border-bottom: 1px solid #f0f0f0 !important;
    }
    
    .ce-booking-container .ce-vehicle-image img,
    .ce-step-container .ce-vehicle-image img,
    .elementor-widget-shortcode .ce-vehicle-image img,
    body .ce-vehicle-image img {
        max-height: 100px !important;
    }
    
    .ce-booking-container .ce-vehicle-footer,
    .ce-step-container .ce-vehicle-footer,
    .elementor-widget-shortcode .ce-vehicle-footer,
    body .ce-vehicle-footer {
        width: 100% !important;
        min-width: auto !important;
        background: #ffffff !important;
        border-radius: 0 !important;
        flex-direction: row !important;
        justify-content: space-between !important;
        align-items: center !important;
    }
    
    .ce-booking-container .ce-vehicle-price-box,
    .ce-step-container .ce-vehicle-price-box,
    .elementor-widget-shortcode .ce-vehicle-price-box,
    body .ce-vehicle-price-box {
        margin-bottom: 0 !important;
        text-align: left !important;
    }
    
    .ce-booking-container .ce-btn-select,
    .ce-step-container .ce-btn-select,
    .elementor-widget-shortcode .ce-btn-select,
    body .ce-btn-select,
    .ce-booking-container .ce-select-car-btn,
    .ce-step-container .ce-select-car-btn,
    .elementor-widget-shortcode .ce-select-car-btn,
    body .ce-select-car-btn {
        width: auto !important;
        min-width: 140px !important;
    }
}
