/**
 * Similar Vehicles Styles
 *
 * @package SDAS_Inventory
 */

/* Similar Vehicles Container */
.sdas-similar-vehicles {
    margin: 2rem 0;
    width: 100%;
}

/* Force grid container to use grid layout */
.sdas-similar-vehicles[data-layout="grid"] {
    display: block !important;
}

.sdas-similar-vehicles-title {
    margin: 0 0 1.5rem 0;
    font-size: 1.75rem;
    font-weight: 700;
    color: #333;
}

.sdas-similar-vehicles-empty {
    padding: 2rem;
    text-align: center;
    color: #666;
    background: #f5f5f5;
    border-radius: 8px;
}

/* Grid Layout - Use high specificity to override any conflicting styles */
.sdas-similar-vehicles[data-layout="grid"] .sdas-similar-vehicles-grid,
.sdas-similar-vehicles .sdas-similar-vehicles-grid,
.sdas-similar-vehicles-grid,
div.sdas-similar-vehicles-grid[style*="--sdas-grid-columns"],
div.sdas-similar-vehicles-grid[data-columns] {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important; /* Fallback */
    grid-template-columns: repeat(var(--sdas-grid-columns, 4), 1fr) !important;
    gap: 1.5rem !important;
    width: 100% !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    flex-direction: unset !important;
    flex-wrap: unset !important;
}

/* Explicit column counts using data attributes */
.sdas-similar-vehicles-grid[data-columns="1"] {
    grid-template-columns: repeat(1, 1fr) !important;
}

.sdas-similar-vehicles-grid[data-columns="2"] {
    grid-template-columns: repeat(2, 1fr) !important;
}

.sdas-similar-vehicles-grid[data-columns="3"] {
    grid-template-columns: repeat(3, 1fr) !important;
}

.sdas-similar-vehicles-grid[data-columns="4"] {
    grid-template-columns: repeat(4, 1fr) !important;
}

.sdas-similar-vehicles-grid[data-columns="5"] {
    grid-template-columns: repeat(5, 1fr) !important;
}

.sdas-similar-vehicles-grid[data-columns="6"] {
    grid-template-columns: repeat(6, 1fr) !important;
}

/* Ensure vehicle cards in grid don't override grid layout */
.sdas-similar-vehicles[data-layout="grid"] .sdas-similar-vehicles-grid .sdas-vehicle-card,
.sdas-similar-vehicles-grid .sdas-vehicle-card,
.sdas-similar-vehicles .sdas-similar-vehicles-grid .sdas-vehicle-card,
div.sdas-similar-vehicles-grid[style*="--sdas-grid-columns"] .sdas-vehicle-card {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    height: 100% !important;
    flex: 0 0 auto !important;
}

/* Ensure slider cards also have equal height */
.sdas-similar-vehicles-slider .sdas-vehicle-card {
    display: flex !important;
    flex-direction: column !important;
    flex: 0 0 280px !important;
    flex-shrink: 0 !important;
    min-width: 280px !important;
    max-width: 280px !important;
    width: 280px !important;
    height: 100% !important;
    box-sizing: border-box !important;
    min-height: 420px !important;
    align-self: stretch !important;
}

/* Ensure image maintains 4:3 aspect ratio */
.sdas-similar-vehicles .vehicle-image,
.sdas-similar-vehicles-grid .vehicle-image,
.sdas-similar-vehicles-slider .vehicle-image {
    aspect-ratio: 4/3 !important;
    width: 100% !important;
    position: relative !important;
    overflow: hidden !important;
    background: #f5f5f5 !important;
}

.sdas-similar-vehicles .vehicle-image a,
.sdas-similar-vehicles-grid .vehicle-image a,
.sdas-similar-vehicles-slider .vehicle-image a {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
}

.sdas-similar-vehicles .vehicle-image img,
.sdas-similar-vehicles-grid .vehicle-image img,
.sdas-similar-vehicles-slider .vehicle-image img {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
}

/* Vehicle body should fill available space for equal card heights */
.sdas-similar-vehicles-grid .sdas-vehicle-card .vehicle-body,
.sdas-similar-vehicles-slider .sdas-vehicle-card .vehicle-body,
.sdas-similar-vehicles .sdas-vehicle-card .vehicle-body {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 !important;
    padding: 16px !important;
}

/* Vehicle header */
.sdas-similar-vehicles .vehicle-header,
.sdas-similar-vehicles-grid .vehicle-header,
.sdas-similar-vehicles-slider .vehicle-header {
    margin-bottom: 0 !important;
}

.sdas-similar-vehicles .vehicle-title,
.sdas-similar-vehicles-grid .vehicle-title,
.sdas-similar-vehicles-slider .vehicle-title {
    margin: 0 0 8px 0 !important;
}

.sdas-similar-vehicles .vehicle-price,
.sdas-similar-vehicles-grid .vehicle-price,
.sdas-similar-vehicles-slider .vehicle-price {
    margin: 0 0 16px 0 !important;
    font-weight: 600 !important;
    font-size: 18px !important;
    color: #000 !important;
}

/* Spacer to push details to bottom */
.sdas-similar-vehicles .vehicle-spacer,
.sdas-similar-vehicles-grid .vehicle-spacer,
.sdas-similar-vehicles-slider .vehicle-spacer {
    flex: 1 !important;
}

/* Vehicle details container */
.sdas-similar-vehicles .vehicle-details,
.sdas-similar-vehicles-grid .vehicle-details,
.sdas-similar-vehicles-slider .vehicle-details {
    margin-bottom: 0 !important;
}

/* Make vehicle field text smaller (12px) */
.sdas-similar-vehicles .vehicle-field,
.sdas-similar-vehicles-grid .vehicle-field,
.sdas-similar-vehicles-slider .vehicle-field {
    font-size: 12px !important;
    line-height: 1.4 !important;
    margin: 4px 0 !important;
}

.sdas-similar-vehicles .vehicle-field-label,
.sdas-similar-vehicles-grid .vehicle-field-label,
.sdas-similar-vehicles-slider .vehicle-field-label {
    font-size: 12px !important;
}

.sdas-similar-vehicles .vehicle-field-value,
.sdas-similar-vehicles-grid .vehicle-field-value,
.sdas-similar-vehicles-slider .vehicle-field-value {
    font-size: 12px !important;
}

/* Vehicle actions container */
.sdas-similar-vehicles .vehicle-actions,
.sdas-similar-vehicles-grid .vehicle-actions,
.sdas-similar-vehicles-slider .vehicle-actions {
    margin-top: 12px !important;
}

/* Slider Layout (reuse vehicle slider styles if available) */
.sdas-similar-vehicles-slider-wrapper {
    position: relative !important;
}

.sdas-similar-vehicles-slider {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    gap: 1.5rem !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    scroll-snap-type: x mandatory !important;
    padding-bottom: 1rem !important;
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
    scroll-behavior: smooth !important;
}

.sdas-similar-vehicles-slider::-webkit-scrollbar {
    display: none;
}

.sdas-similar-vehicles-slider .sdas-vehicle-card {
    flex: 0 0 280px;
    flex-shrink: 0;
    min-width: 280px;
    max-width: 280px;
    scroll-snap-align: start;
    width: 280px;
}

/* Navigation Arrows */
.sdas-similar-vehicles-nav-prev,
.sdas-similar-vehicles-nav-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    background: rgb(19, 122, 195);
    border: 1px solid rgb(19, 122, 195);
    border-radius: 50%;
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.15);
    color: #fff;
    padding: 0;
}

.sdas-similar-vehicles-nav-prev:hover,
.sdas-similar-vehicles-nav-next:hover {
    background: #0d5a8a;
    border-color: #0d5a8a;
    box-shadow: 0 5px 14px rgba(0, 0, 0, 0.18);
    transform: translateY(-50%) scale(1.1);
}

.sdas-similar-vehicles-nav-prev:active,
.sdas-similar-vehicles-nav-next:active {
    transform: translateY(-50%) scale(0.95);
}

.sdas-similar-vehicles-nav-prev {
    left: 12px;
}

.sdas-similar-vehicles-nav-next {
    right: 12px;
}

.sdas-similar-vehicles-nav-prev svg,
.sdas-similar-vehicles-nav-next svg {
    width: 24px;
    height: 24px;
    display: block;
    color: inherit;
}

/* Quick View Button Styles */
.sdas-similar-vehicles .sdas-quick-view-button,
.sdas-similar-vehicles-grid .sdas-quick-view-button,
.sdas-similar-vehicles-slider .sdas-quick-view-button {
    width: 100% !important;
    padding: 10px !important;
    background: #137ac3 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 4px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: background 0.2s ease !important;
    margin-top: 12px !important;
}

.sdas-similar-vehicles .sdas-quick-view-button:hover,
.sdas-similar-vehicles-grid .sdas-quick-view-button:hover,
.sdas-similar-vehicles-slider .sdas-quick-view-button:hover {
    background: #0d5a8a !important;
}

.sdas-similar-vehicles .sdas-quick-view-button:active,
.sdas-similar-vehicles-grid .sdas-quick-view-button:active,
.sdas-similar-vehicles-slider .sdas-quick-view-button:active {
    background: #0a4a6f !important;
}

/* Hide arrows on mobile */
@media (max-width: 768px) {
/* Responsive Design */
@media (max-width: 1024px) {
    .sdas-similar-vehicles .sdas-similar-vehicles-grid,
    .sdas-similar-vehicles-grid {
        grid-template-columns: repeat(3, 1fr) !important;
    }

    /* Override custom grid columns on tablets */
    .sdas-similar-vehicles .sdas-similar-vehicles-grid[style*="--sdas-grid-columns"],
    .sdas-similar-vehicles-grid[style*="--sdas-grid-columns"] {
        grid-template-columns: repeat(3, 1fr) !important;
    }
}

@media (max-width: 768px) {
    .sdas-similar-vehicles .sdas-similar-vehicles-grid,
    .sdas-similar-vehicles-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }

    /* Override custom grid columns on mobile */
    .sdas-similar-vehicles .sdas-similar-vehicles-grid[style*="--sdas-grid-columns"],
    .sdas-similar-vehicles-grid[style*="--sdas-grid-columns"] {
        grid-template-columns: repeat(2, 1fr) !important;
    }

    .sdas-similar-vehicles-slider .sdas-vehicle-card {
        flex: 0 0 88% !important;
        min-width: 88% !important;
        max-width: 88% !important;
        width: 88% !important;
    }

    .sdas-similar-vehicles-nav-prev,
    .sdas-similar-vehicles-nav-next {
        width: 42px;
        height: 42px;
        left: 6px;
        right: 6px;
        opacity: 0.9;
        box-shadow: 0 3px 10px rgba(0, 0, 0, 0.12);
    }

    .sdas-similar-vehicles-nav-prev svg,
    .sdas-similar-vehicles-nav-next svg {
        width: 20px;
        height: 20px;
    }
}

@media (max-width: 640px) {
    .sdas-similar-vehicles .sdas-similar-vehicles-grid,
    .sdas-similar-vehicles-grid {
        grid-template-columns: 1fr !important;
    }

    /* Override custom grid columns on small mobile */
    .sdas-similar-vehicles .sdas-similar-vehicles-grid[style*="--sdas-grid-columns"],
    .sdas-similar-vehicles-grid[style*="--sdas-grid-columns"] {
        grid-template-columns: 1fr !important;
    }

    .sdas-similar-vehicles-slider .sdas-vehicle-card {
        flex: 0 0 92% !important;
        min-width: 92% !important;
        max-width: 92% !important;
        width: 92% !important;
    }
}
