/**
 * Estilos para el Catálogo de Autos Dalton
 */

/* Variables */
:root {
    --dalton-primary: #EB0029;
    --dalton-primary-dark: #135e96;
    --dalton-text: #333;
    --dalton-light-text: #666;
    --dalton-bg: #fff;
    --dalton-light-bg: #f5f5f5;
    --dalton-border: #e2e2e2;
    --dalton-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    --dalton-transition: all 0.3s ease;
    --dalton-radius: 8px;
}

/* Contenedor principal */
.dalton-autos-container {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px 0;
    color: var(--dalton-text);
    display: block;
    width: 100%;
}

/* Header */
.dalton-autos-header {
    text-align: left;
    margin-bottom: 30px;
    width: 100%;
}

.dalton-autos-title {
    font-size: 16px;
    font-weight: 500;
    text-transform: uppercase;
    color: var(--dalton-light-text);
    letter-spacing: 1px;
    margin-bottom: 10px;
}

.dalton-autos-subtitle {
    font-size: 36px;
    font-weight: 700;
    margin: 0;
    color: var(--dalton-text);
}

/* Filters */
.dalton-autos-filters {
    margin-bottom: 30px;
    position: relative;
    overflow: hidden;
    width: 100%;
    text-align: left;
}

.dalton-filters-scroll {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    padding: 8px 0;
    scrollbar-width: none; /* Firefox */
    -ms-overflow-style: none; /* IE and Edge */
    gap: 10px;
}

.dalton-filters-scroll::-webkit-scrollbar {
    display: none; /* Chrome, Safari and Opera */
}

.dalton-filter-button {
    padding: 10px 20px;
    border-radius: 30px;
    background: var(--dalton-light-bg);
    border: 1px solid var(--dalton-border);
    color: var(--dalton-text);
    white-space: nowrap;
    cursor: pointer;
    transition: var(--dalton-transition);
    font-size: 15px;
    font-weight: 500;
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: 'Roboto';
}

.dalton-filter-button:hover {
    background: #f0f0f0;
}

.dalton-filter-button.active {
    background: #DCDCDC;
    color: black;
    border-color: black;
}

.dalton-check-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* Grid de autos */
.dalton-autos-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-bottom: 30px;
    width: 100%;
    text-align: left;
}

/* Item de auto */
.dalton-auto-item {
    background: var(--dalton-bg);
    border-radius: var(--dalton-radius);
    overflow: hidden;
    box-shadow: var(--dalton-shadow);
    transition: var(--dalton-transition);
    backface-visibility: hidden; /* Ayuda con problemas de renderizado en móviles */
    height: 100%;
    display: flex;
    flex-direction: column;
    will-change: transform, opacity;
    transform: translateZ(0);
}

.dalton-auto-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.1);
}

.dalton-auto-link {
    display: flex;
    flex-direction: column;
    flex: 1;
    text-decoration: none;
    color: inherit;
}

.dalton-auto-image {
    position: relative;
    height: 0;
    padding-bottom: 67%; /* Relación de aspecto 3:2 */
    overflow: hidden;
    background-color: var(--dalton-light-bg);
    flex: 0 0 auto;
}

.dalton-auto-image img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: var(--dalton-transition);
}

.dalton-auto-item:hover .dalton-auto-image img {
    transform: scale(1.05);
}

.dalton-no-image-placeholder {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--dalton-light-bg);
}

.dalton-no-image-placeholder:after {
    content: '';
    display: block;
    width: 60px;
    height: 60px;
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%23cccccc"><path d="M18.92 6.01C18.72 5.42 18.16 5 17.5 5h-11c-.66 0-1.21.42-1.42 1.01L3 12v8c0 .55.45 1 1 1h16c.55 0 1-.45 1-1v-8l-2.08-5.99zM6.5 16c-.83 0-1.5-.67-1.5-1.5S5.67 13 6.5 13s1.5.67 1.5 1.5S7.33 16 6.5 16zm11 0c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5zM5 11l1.5-4.5h11L19 11H5z"/></svg>');
    background-repeat: no-repeat;
    background-position: center;
    opacity: 0.3;
}

.dalton-auto-info {
    padding: 20px;
    flex: 1;
    background-color: #EDEDED;
}

.dalton-auto-item:hover .dalton-auto-info {
    background-color: #000000;
}

.dalton-auto-item:hover .dalton-auto-info .dalton-auto-title {
    color: #ffffff;
}


.dalton-auto-title {
    font-size: 20px;
    font-weight: 700;
    margin: 0 0 10px;
    color: var(--dalton-text);
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.dalton-auto-year {
    font-size: 16px;
    font-weight: 500;
    color: #6B7280;
    padding: 3px 8px;
    border-radius: 4px;
}

.dalton-auto-price {
    font-size: 16px;
    color: #6B7280;
    font-weight: 500;
}

/* Mensaje de no autos */
.dalton-no-autos {
    grid-column: 1 / -1;
    padding: 40px;
    text-align: center;
    background: var(--dalton-light-bg);
    border-radius: var(--dalton-radius);
}

.dalton-no-autos p {
    font-size: 16px;
    color: var(--dalton-light-text);
    margin: 0;
}

/* Elementos filtrados */
.dalton-auto-item.filtered {
    display: none;
}

/* Responsive */
@media (min-width: 992px) {
    .dalton-autos-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (min-width: 768px) and (max-width: 991px) {
    .dalton-autos-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .dalton-autos-subtitle {
        font-size: 28px;
    }
}

@media (max-width: 767px) {
    .dalton-autos-grid {
        grid-template-columns: 1fr;
    }
    
    .dalton-autos-subtitle {
        font-size: 24px;
    }
    
    .dalton-auto-title {
        font-size: 18px;
    }
}

/* Solución basada solo en CSS para el botón "Ver más" */

/* Parte 1: Ocultar inicialmente los elementos que exceden el límite */

@media (min-width: 768px) {
    /* En desktop, mostrar solo los primeros 6 elementos */
    .dalton-auto-item:nth-child(n+7) {
        display: block!important;
    }
    
    /* Cuando el checkbox está marcado, mostrar todos los elementos */
    .show-more-toggle:checked ~ .dalton-autos-grid .dalton-auto-item {
        display: block !important;
    }
}

@media (max-width: 767px) {
    /* En móviles, mostrar solo los primeros 4 elementos */
    .dalton-auto-item:nth-child(n+5) {
            display: block!important;
    }
    
    /* Cuando el checkbox está marcado, mostrar todos los elementos */
    .show-more-toggle:checked ~ .dalton-autos-grid .dalton-auto-item {
        display: block !important;
    }
}

/* Parte 2: Botón "Ver más" basado en un label vinculado a un checkbox oculto */
.show-more-toggle {
    display: none !important;
    opacity: 0;
    position: absolute;
    visibility: hidden;
    width: 0;
    height: 0;
    margin: 0;
    padding: 0;
    border: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
}

/* Centrar el botón */
.button-container {
    display: flex;
    justify-content: center;
    width: 100%;
    margin: 20px 0;
}

/* Estilos para el botón "Ver más" */
.show-more-button-label {
    display: inline-block;
    min-width: 120px;
    margin: 10px auto;
    padding: 8px 24px;
    background-color: white !important;
    color: #E50000 !important;
    border: 1px solid #E50000 !important;
    border-radius: 30px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    cursor: pointer;
    transition: all 0.2s ease;
    text-align: center;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    text-decoration: none !important;
    box-shadow: 0 2px 4px rgba(0,0,0,0.08);
    transform: translateZ(0);
    -webkit-font-smoothing: antialiased;
}

.show-more-button-label:hover {
    background-color: #E50000 !important;
    color: white !important;
    box-shadow: 0 4px 8px rgba(229, 0, 0, 0.2);
}

.show-more-button-label:active {
    transform: translateY(1px);
}

/* Ocultar el label cuando se hace clic en él */
.show-more-toggle:checked ~ .button-container .show-more-button-label {
    display: none;
}

/* Estilos específicos para móvil */
@media (max-width: 767px) {
    .show-more-button-label {
        padding: 10px 26px;
        font-size: 14px !important;
    }
}

/* Ajuste para mostrar correctamente los elementos filtrados al expandir */
.show-more-toggle:checked ~ .dalton-autos-grid .dalton-auto-item:not(.filtered) {
    display: block !important;
}

/* Asegurarse de que los elementos filtrados siempre estén ocultos, incluso al expandir */
.dalton-auto-item.filtered {
    display: none !important;
}

/* Esto asegura que al aplicar o cambiar un filtro, la regla anterior tenga precedencia */
@media (min-width: 768px) {
    /* En desktop, cuando se expande, mostrar solo los no filtrados */
    .show-more-toggle:checked ~ .dalton-autos-grid .dalton-auto-item.filtered {
        display: none !important;
    }
}

@media (max-width: 767px) {
    /* En móvil, cuando se expande, mostrar solo los no filtrados */
    .show-more-toggle:checked ~ .dalton-autos-grid .dalton-auto-item.filtered {
        display: none !important;
    }
}