/* --- Global Fix --- */
html, body {
    max-width: 100%;
    overflow-x: hidden; /* Evita cualquier desplazamiento lateral accidental */
}

/* css/styles.css - Estilos Generales y Layout */
body {
    margin: 0;
    font-family: 'Roboto', sans-serif;
    background-color: var(--md-sys-color-background);
    color: var(--md-sys-color-on-background);
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

/* --- Ajustes para Material Symbols --- */
md-icon.filled {
    font-variation-settings: 'FILL' 1, 'wght' 500;
}

header {
    padding: 12px 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: sticky;
    top: 0;
    z-index: 100;
    background-color: rgba(20, 18, 24, 0.9);
    backdrop-filter: blur(12px);
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.header-logo {
    height: 30px; 
    width: auto;
    display: block;
}

/* Navegación Desktop */
.nav-menu {
    display: flex;
    gap: 8px;
    align-items: center;
}

.btn-register {
    --md-filled-button-container-color: var(--md-sys-color-primary);
}

.menu-mobile-btn {
    display: none; /* Oculto en desktop */
}

/* --- RESPONSIVO MÓVIL --- */
@media (max-width: 768px) {
    header {
        padding: 10px 16px;
        width: 100%;
        box-sizing: border-box; /* Asegura que el padding no sume al ancho */
    }

    .header-logo {
        height: 25px;
    }

    .menu-mobile-btn {
        display: block; /* Mostrar hamburguesa */
        --md-icon-button-icon-color: white;
    }

    .nav-menu {
        display: none; 
        flex-direction: column;
        position: absolute;
        
        /* Posicionamiento exacto */
        top: 100%; 
        left: 0;
        right: 0; /* En lugar de width: 100%, usamos left/right 0 */
        
        width: 100vw; /* Asegura que cubra el ancho de pantalla */
        background-color: #141218;
        padding: 24px;
        gap: 16px;
        box-sizing: border-box; /* CRÍTICO: El padding se queda dentro del 100% */
        
        border-bottom: 2px solid var(--md-sys-color-primary);
        box-shadow: 0 10px 20px rgba(0,0,0,0.5);
    }

    .nav-menu.active {
        display: flex;
    }

    /* Ajuste de botones para que no empujen el contenedor */
    .nav-menu md-text-button, 
    .nav-menu md-filled-button {
        width: 100%;
        margin: 0;
    }
}

/* --- Ajuste de color para los botones de texto (Series, Eventos, etc.) --- */
    .nav-menu md-text-button {
        /* Color del texto en estado normal */
        --md-text-button-label-text-color: #FFFFFF;
        /* Color del texto al pasar el mouse */
        --md-text-button-hover-label-text-color: var(--md-sys-color-primary);
        /* Color del foco/presionado */
        --md-text-button-focus-label-text-color: #FFFFFF;
        --md-text-button-pressed-label-text-color: #FFFFFF;
    }

    /* --- Ajuste para el botón Registrarse (Filled Button) --- */
    .btn-register {
        --md-filled-button-container-color: var(--md-sys-color-primary);
        /* Aquí forzamos que el texto dentro del botón sea el color "on-primary" */
        --md-filled-button-label-text-color: var(--md-sys-color-on-primary);
        
        /* Por si acaso el on-primary no es blanco puro en tu paleta: */
        /* --md-filled-button-label-text-color: #FFFFFF; */
    }

    /* --- Ajuste para el icono del menú hamburguesa --- */
    .menu-mobile-btn {
        --md-icon-button-icon-color: #FFFFFF;
        --md-icon-button-hover-icon-color: var(--md-sys-color-primary);
    }

/* --- Carrusel Hero --- */
.carousel-wrapper {
    position: relative;
    margin: 16px 24px;
    display: flex;
    align-items: center;
    border-radius: 32px;
    min-height: 550px;
}

.carousel {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory; 
    scroll-behavior: smooth;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    border-radius: 32px;
    -ms-overflow-style: none;  
    scrollbar-width: none;  
}

.carousel::-webkit-scrollbar {
    display: none;
}

.slide {
    position: relative;
    flex: 0 0 100%;
    scroll-snap-align: center;
    padding: 80px 24px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    overflow: hidden; 
    color: #FFFFFF; 
}

.slide-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover; 
    z-index: 1;
}

.slide-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom, rgba(20,18,24,0.3), rgba(20,18,24,0.9)); 
    z-index: 2;
}

.slide-logo {
    position: relative;
    z-index: 3;
    width: 25%;
    min-width: 50%;
    height: auto;
    margin-bottom: 20px;
    filter: drop-shadow(0px 4px 10px rgba(0,0,0,0.3));
    opacity: 0.5s;
}

.slide-content {
    position: relative;
    z-index: 3;
    width: 100%;
    max-width: 800px;
}

.slide-content h1 {
    font-size: 4.5rem;
    font-weight: 700;
    font-style: italic;
    text-transform: uppercase;
    letter-spacing: -0.02em;
    margin: 0 0 16px 0;
    line-height: 1;
    text-shadow: 2px 4px 12px rgba(0,0,0,0.5);
}

.slide-content p {
    font-size: 1.25rem;
    margin: 0 auto 32px auto;
    opacity: 0.9;
}

/* Botones flotantes del carrusel */
.nav-btn {
    position: absolute;
    z-index: 4; 
    background-color: rgba(255, 255, 255, 0.1); 
    color: white; 
    backdrop-filter: blur(8px);
    border-radius: 50%;
}

.nav-btn md-icon {
    --md-icon-button-icon-color: #FFFFFF; 
}

.nav-btn.left { left: 24px; }
.nav-btn.right { right: 24px; }

/* --- Sección Quiénes Somos --- */
.about-section {
    padding: 100px 24px;
    background-color: var(--md-sys-color-surface);
}

.about-container {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: center;
}

/* Texto */
.about-subtitle {
    color: var(--md-sys-color-primary);
    font-weight: 700;
    letter-spacing: 0.1em;
    font-size: 0.9rem;
}

.about-title {
    font-size: 3.5rem;
    line-height: 1.1;
    font-style: italic;
    font-weight: 700;
    text-transform: uppercase;
    margin: 16px 0 24px;
    color: var(--md-sys-color-on-surface);
}

.about-description {
    font-size: 1.1rem;
    line-height: 1.6;
    color: var(--md-sys-color-on-surface-variant);
    margin-bottom: 32px;
}

.about-features {
    margin-bottom: 40px;
}

.feature-item {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
    color: var(--md-sys-color-on-surface);
}

.feature-item md-icon {
    color: var(--md-sys-color-primary);
}

/* Composición Visual (Expressive) */
.about-visual {
    position: relative;
    height: 500px;
}

.visual-stack {
    position: relative;
    width: 100%;
    height: 100%;
}

.visual-card {
    position: absolute;
    border-radius: 32px;
    overflow: hidden;
    box-shadow: var(--md-sys-elevation-3);
    transition: transform 0.3s ease;
}

.main-img {
    width: 80%;
    height: 350px;
    top: 0;
    left: 0;
    z-index: 1;
}

.main-img img { width: 100%; height: 100%; object-fit: cover; }

.secondary-img {
    width: 60%;
    height: 250px;
    bottom: 0;
    right: 0;
    z-index: 2;
    border: 8px solid var(--md-sys-color-surface);
}

.secondary-img img { width: 100%; height: 100%; object-fit: cover; }

.floating-stats {
    background-color: var(--md-sys-color-primary-container);
    color: var(--md-sys-color-on-primary-container);
    padding: 24px;
    top: 20%;
    right: 5%;
    z-index: 3;
    text-align: center;
}

.floating-stats h3 { font-size: 2.5rem; margin: 0; line-height: 1; }
.floating-stats p { font-size: 0.8rem; margin: 0; text-transform: uppercase; font-weight: 700; }

/* Responsive */
@media (max-width: 900px) {
    .about-container { grid-template-columns: 1fr; }
    .about-title { font-size: 2.5rem; }
    .about-visual { height: 400px; margin-top: 40px; }
}

/* --- Sección de Estadísticas (Stats) --- */
.stats-container {
    display: flex;
    justify-content: space-around;
    align-items: center;
    flex-wrap: wrap;
    padding: 40px 24px;
    background-color: var(--md-sys-color-primary);
    color: var(--md-sys-color-on-primary);
    border-radius: 32px;
    margin: 0 24px 24px 24px;
}

.stat-item {
    text-align: center;
    margin: 16px;
}

.stat-item h2 {
    font-size: 3.5rem;
    font-weight: 700;
    font-style: italic;
    margin: 0;
    line-height: 1;
}

.stat-item p {
    font-size: 1.1rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin: 8px 0 0 0;
    font-weight: 500;
    opacity: 0.9;
}

/* --- Grid de Tarjetas (Servicios) --- */
.cards-container {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 24px;
    padding: 0 24px 40px 24px; /* Ajuste de padding top a 0 para que pegue mejor con los Stats */
    max-width: 1200px;
    margin: 0 auto;
}

.card {
    background-color: var(--md-sys-color-surface-variant);
    color: var(--md-sys-color-on-surface-variant);
    border-radius: 24px; 
    padding: 32px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    border: 1px solid rgba(255,255,255,0.05);
    transition: transform 0.3s cubic-bezier(0.2, 0, 0, 1);
}

.card:hover {
    transform: translateY(-8px);
    background-color: #333138;
}

.card h3 {
    margin: 0;
    font-size: 1.5rem;
    color: #FFFFFF;
}

/* --- Sección Próximos Eventos --- */
.events-section {
    padding: 60px 24px;
    max-width: 1200px;
    margin: 0 auto;
}

.section-header {
    text-align: center;
    margin-bottom: 40px;
}

.section-header h2 {
    font-size: 2.5rem;
    font-weight: 700;
    font-style: italic;
    color: #FFFFFF;
    margin: 0 0 8px 0;
    text-transform: uppercase;
}

.section-header p {
    font-size: 1.1rem;
    color: var(--md-sys-color-on-surface-variant);
    margin: 0;
}

.events-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 24px;
}

/* El evento destacado ocupará dos columnas en pantallas grandes */
@media (min-width: 768px) {
    .events-grid .event-card.featured {
        grid-column: span 2;
    }
}

.event-card {
    position: relative;
    border-radius: 24px;
    overflow: hidden;
    min-height: 350px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end; /* Alinea el texto abajo */
    transition: transform 0.3s ease;
    cursor: pointer;
}

.event-card:hover {
    transform: scale(1.02);
}

.event-img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 1;
}

/* Gradiente para leer el texto sobre la imagen */
.event-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to top, rgba(20,18,24,0.9) 0%, rgba(20,18,24,0.1) 60%, rgba(0,0,0,0) 100%);
    z-index: 2;
}

.event-info {
    position: relative;
    z-index: 3;
    padding: 32px;
}

.event-date {
    display: inline-block;
    background-color: var(--md-sys-color-primary);
    color: var(--md-sys-color-on-primary);
    padding: 4px 12px;
    border-radius: 8px;
    font-size: 0.85rem;
    font-weight: 700;
    margin-bottom: 12px;
}

.event-info h3 {
    font-size: 1.8rem;
    font-weight: 700;
    color: #FFFFFF;
    margin: 0 0 4px 0;
    line-height: 1.2;
}

.event-info p {
    color: #E6E0E9;
    margin: 0 0 24px 0;
    opacity: 0.9;
}

/* --- Contador Regresivo en Tarjeta --- */
.countdown-badge {
    position: absolute;
    top: 24px;
    right: 24px;
    z-index: 3; /* Sobre la imagen y el gradiente */
    display: flex;
    align-items: center;
    background-color: rgba(20, 18, 24, 0.7); /* Fondo oscuro transparente */
    backdrop-filter: blur(8px); /* Efecto cristal */
    border: 1px solid rgba(255, 255, 255, 0.1);
    padding: 12px 20px;
    border-radius: 20px;
    color: #FFFFFF;
}

.countdown-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    min-width: 40px;
}

.time-value {
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1;
    color: var(--md-sys-color-on-primary); /* Tu azul eléctrico para resaltar los números */
}

.time-label {
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    opacity: 0.8;
    margin-top: 4px;
}

.countdown-separator {
    font-size: 1.2rem;
    font-weight: 700;
    margin: 0 8px;
    padding-bottom: 12px; /* Alineación óptica con los números */
    opacity: 0.5;
}

/* Ajuste responsive para móviles */
@media (max-width: 600px) {
    .countdown-badge {
        top: 16px;
        right: 16px;
        padding: 8px 12px;
    }
    .time-value { font-size: 1.2rem; }
    .time-label { font-size: 0.6rem; }
}

/* --- Sección: Galería Expresiva de Pilotos --- */
.pilots-gallery-section {
    padding: 40px 24px;
    max-width: 1000px; /* Un poco más contenido para que las formas luzcan bien */
    margin: 0 auto;
}

.gallery-container {
    display: flex;
    gap: 16px;
    height: 450px; /* Altura fija para mantener el aspecto de galería */
    justify-content: center;
}

.gallery-card {
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: center; /* Centra el texto verticalmente como en tu foto */
    align-items: center;
    text-align: center;
    transition: transform 0.3s ease;
}

.gallery-card:hover {
    transform: translateY(-8px);
}

.gallery-img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 1;
    transition: transform 0.5s ease;
}

.gallery-card:hover .gallery-img {
    transform: scale(1.05); /* Efecto zoom sutil al pasar el mouse */
}

/* Oscurecemos un poco la imagen para que el texto blanco resalte */
.gallery-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.4); 
    z-index: 2;
}

.gallery-content {
    position: relative;
    z-index: 3;
    color: #FFFFFF;
    padding: 16px;
}

.gallery-content h2 {
    font-size: 4rem;
    font-weight: 400; /* Tipografía más limpia y menos pesada */
    margin: 0 0 4px 0;
    line-height: 1;
}

.gallery-content p {
    font-size: 1.5rem;
    margin: 0;
    font-weight: 500;
}

/* --- Formas Asimétricas (La clave de Material 3) --- */

/* Tarjeta izquierda (Más ancha, bordes redondeados estándar M3) */
.card-wide {
    flex: 2; /* Ocupa más espacio */
    border-radius: 40px; 
}

/* Tarjeta central (Más delgada, bordes iguales) */
.card-medium {
    flex: 1.2;
    border-radius: 40px;
}

/* Tarjeta derecha (Píldora extrema) */
.card-narrow {
    flex: 0.7;
    border-radius: 200px; /* Radio gigante para hacer la forma de pastilla */
}

/* --- Responsivo para móviles --- */
@media (max-width: 768px) {
    .gallery-container {
        flex-direction: column; /* En celular se apilan hacia abajo */
        height: auto;
    }

    .gallery-card {
        height: 250px;
        width: 100%; /* Todas toman el mismo ancho en celular */
        border-radius: 32px; /* Uniformamos los bordes en móvil */
    }
}

/* --- Sección: Próximas Fechas (Slider) --- */
.next-event-section {
    padding: 60px 24px;
    max-width: 1200px;
    margin: 0 auto;
}

/* Wrapper para posicionar los botones relativos al carrusel */
.next-event-carousel-wrapper {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
}

/* El contenedor que hace el scroll horizontal */
.next-event-carousel {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    width: 100%;
    gap: 32px; /* Separación entre tarjetas */
    border-radius: 40px;
    -ms-overflow-style: none;
    scrollbar-width: none;
    padding-bottom: 16px; /* Sombra inferior */
}

.next-event-carousel::-webkit-scrollbar {
    display: none;
}

/* La tarjeta ahora es un slide */
.next-event-card {
    flex: 0 0 100%; /* Cada tarjeta ocupa el 100% del ancho visible */
    scroll-snap-align: center;
    display: flex;
    background-color: var(--md-sys-color-surface-variant);
    border-radius: 40px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.05);
    box-shadow: 0 12px 24px rgba(0,0,0,0.3);
    box-sizing: border-box;
}

/* Botones flotantes del slider de eventos */
.event-nav-btn {
    position: absolute;
    z-index: 5;
    background-color: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(8px);
    color: white;
    border-radius: 50%;
    /* Truco para asegurar que el icono es blanco */
    --md-icon-button-icon-color: #FFFFFF; 
}

/* Posición de botones sacándolos un poquito del margen en desktop */
.event-nav-btn.left { left: -24px; }
.event-nav-btn.right { right: -24px; }

/* --- Interior de la tarjeta (Sin cambios mayores, solo lo tuyo) --- */
.event-image-container {
    flex: 1;
    position: relative;
    min-height: 300px;
}

.next-event-img {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.event-badge {
    position: absolute;
    top: 24px;
    left: 24px;
    background-color: var(--md-sys-color-primary);
    color: var(--md-sys-color-on-primary);
    padding: 16px 24px;
    border-radius: 24px;
    display: flex;
    flex-direction: column;
    align-items: center;
    box-shadow: 0 8px 16px rgba(0,0,0,0.4);
}

.badge-day {
    font-size: 2.5rem;
    font-weight: 700;
    line-height: 1;
}

.badge-month {
    font-size: 1.2rem;
    font-weight: 500;
    letter-spacing: 2px;
}

.event-details {
    flex: 1;
    padding: 48px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.event-category {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--md-sys-color-primary);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-size: 0.9rem;
    margin-bottom: 16px;
}

.event-details h3 {
    font-size: 3rem;
    font-style: italic;
    font-weight: 700;
    margin: 0 0 16px 0;
    line-height: 1.1;
    color: #FFFFFF;
}

.event-location {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--md-sys-color-on-surface-variant);
    margin-bottom: 24px;
    font-size: 1.1rem;
}

.event-location p {
    margin: 0;
}

.event-desc {
    font-size: 1.1rem;
    color: var(--md-sys-color-on-surface-variant);
    line-height: 1.6;
    margin: 0 0 32px 0;
}

.event-actions {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
}

/* --- Responsivo para móviles --- */
@media (max-width: 900px) {
    .next-event-card {
        flex-direction: column;
    }
    
    .event-image-container {
        min-height: 250px;
    }

    .event-details {
        padding: 32px 24px;
    }
    
    .event-details h3 {
        font-size: 2.2rem;
    }
    
    /* Metemos los botones adentro para que no se salgan de la pantalla en celular */
    .event-nav-btn.left { left: 8px; }
    .event-nav-btn.right { right: 8px; }
}

/* --- Sección: Últimas Noticias (Blog) --- */
.news-section {
    padding: 60px 24px;
    max-width: 1200px;
    margin: 0 auto;
}

.news-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 32px;
    margin-bottom: 40px;
}

.news-card {
    background-color: var(--md-sys-color-surface-variant);
    border-radius: 32px; /* Super redondeado M3 */
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: transform 0.3s cubic-bezier(0.2, 0, 0, 1), box-shadow 0.3s ease;
    border: 1px solid rgba(255, 255, 255, 0.05);
}

.news-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 16px 32px rgba(0, 0, 0, 0.4);
    background-color: #33363F; /* Se aclara ligeramente al hacer hover */
}

.news-img-container {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9; /* Formato panorámico para la foto */
    overflow: hidden;
}

.news-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.news-card:hover .news-img {
    transform: scale(1.05); /* Efecto de zoom sutil en la imagen */
}

/* Etiqueta tipo "Chip" flotando sobre la imagen */
.news-category {
    position: absolute;
    top: 16px;
    left: 16px;
    background-color: var(--md-sys-color-primary);
    color: var(--md-sys-color-on-primary);
    padding: 6px 16px;
    border-radius: 100px; /* Forma de píldora */
    font-size: 0.8rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    z-index: 2;
    box-shadow: 0 4px 8px rgba(0,0,0,0.3);
}

.news-content {
    padding: 32px;
    display: flex;
    flex-direction: column;
    flex-grow: 1; /* Para que los botones queden alineados abajo si los textos varían */
    align-items: flex-start;
}

.news-date {
    font-size: 0.85rem;
    color: var(--md-sys-color-on-surface-variant);
    margin-bottom: 12px;
    font-weight: 500;
}

.news-content h3 {
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.3;
    color: #FFFFFF;
    margin: 0 0 12px 0;
}

.news-content p {
    font-size: 1rem;
    color: var(--md-sys-color-on-surface-variant);
    line-height: 1.6;
    margin: 0 0 24px 0;
    flex-grow: 1;
}

.news-action {
    display: flex;
    justify-content: center;
    margin-top: 24px;
}

/* --- Sección: Tabla de Posiciones (Standings) --- */
.standings-section {
    padding: 60px 24px;
    max-width: 900px; /* Un poco más angosta para que sea fácil de leer */
    margin: 0 auto;
}

.standings-container {
    background-color: var(--md-sys-color-surface-variant);
    border-radius: 32px;
    padding: 32px;
    box-shadow: 0 8px 16px rgba(0,0,0,0.2);
    border: 1px solid rgba(255, 255, 255, 0.05);
}

/* Encabezado de la tabla */
.standings-header {
    display: flex;
    padding: 0 16px 16px 16px;
    border-bottom: 1px solid var(--md-sys-color-outline-variant);
    color: var(--md-sys-color-on-surface-variant);
    font-size: 0.85rem;
    font-weight: 700;
    letter-spacing: 0.1em;
}

/* Columnas Flex */
.col-pos {
    width: 80px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.col-driver {
    flex-grow: 1; /* Ocupa todo el espacio disponible en medio */
    display: flex;
    align-items: center;
    gap: 16px;
}

.col-points {
    width: 80px;
    text-align: right;
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

/* Filas de la tabla */
.standings-list {
    display: flex;
    flex-direction: column;
}

.standing-row {
    display: flex;
    padding: 16px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    transition: background-color 0.2s ease;
    align-items: center;
}

.standing-row:hover {
    background-color: rgba(255, 255, 255, 0.03);
    border-radius: 16px;
}

.standing-row:last-child {
    border-bottom: none;
}

/* Estilos Específicos */
.pos-number {
    font-size: 1.5rem;
    font-weight: 700;
    font-style: italic;
    color: var(--md-sys-color-on-surface-variant);
    width: 30px; /* Ancho fijo para que los números queden alineados */
}

/* Destacar al líder */
.standing-row.leader .pos-number {
    color: var(--md-sys-color-primary); /* Tu azul eléctrico */
    font-size: 2rem;
}

.standing-row.leader .points-number {
    color: var(--md-sys-color-primary);
    font-weight: 700;
}

/* Avatares de los pilotos */
.driver-avatar {
    width: 48px;
    height: 48px;
    border-radius: 50%; /* Circular */
    object-fit: cover;
    border: 2px solid var(--md-sys-color-outline-variant);
}

.driver-avatar-placeholder {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background-color: var(--md-sys-color-secondary-container);
    color: var(--md-sys-color-on-secondary-container);
    display: flex;
    justify-content: center;
    align-items: center;
}

.driver-info h4 {
    margin: 0 0 4px 0;
    font-size: 1.1rem;
    font-weight: 700;
    color: #FFFFFF;
}

.driver-info p {
    margin: 0;
    font-size: 0.9rem;
    color: var(--md-sys-color-on-surface-variant);
}

.points-number {
    font-size: 1.5rem;
    font-weight: 500;
    color: #FFFFFF;
}

.standings-action {
    display: flex;
    justify-content: center;
    margin-top: 24px;
    padding-top: 24px;
    border-top: 1px solid var(--md-sys-color-outline-variant);
}

/* Responsivo */
@media (max-width: 600px) {
    .standings-container {
        padding: 16px;
    }
    
    .driver-avatar, .driver-avatar-placeholder {
        display: none; /* Ocultamos los avatares en celular para ahorrar espacio */
    }
}

/* ============================================== */
/* FOOTER                                         */
/* ============================================== */

/* ============================================== */
/* FOOTER PREMIUM - PILOTOS ADAC 2026             */
/* ============================================== */

:root {
    /* Variables de apoyo basadas en tu código */
    --footer-bg: #0A0B0E;
    --footer-bottom-bg: #060709;
    --transition-speed: 0.3s;
}

.main-footer {
    background-color: var(--footer-bg);
    border-top: 1px solid rgba(255, 255, 255, 0.05);
    padding-top: 40px;
    margin-top: 60px;
    color: var(--md-sys-color-on-surface-variant);
    font-family: sans-serif; /* Asegura la fuente del sistema */
}

/* --- SECCIÓN PATROCINADORES --- */
.footer-sponsors {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px 40px 24px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.sponsors-title {
    text-align: center;
    margin-bottom: 24px;
}

.sponsors-title img {
    height: 50px;
    width: auto;
    display: inline-block;
}

.sponsors-grid {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 40px;
}

.sponsor-item {
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform var(--transition-speed);
}

.sponsor-item:hover {
    transform: translateY(-3px);
}

/* Control de imágenes de sponsors (Filtros y tamaños) */
.sponsor-item img {
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: 40px; /* Altura estándar desktop */
    object-fit: contain;
    opacity: 0.6;
    filter: grayscale(100%);
    transition: all var(--transition-speed) ease;
}

/* Ajustes específicos por logo para equilibrio visual */
.sponsor-item img[alt*="Autodromo"] { max-height: 55px; }
.sponsor-item img[alt*="Unique"], 
.sponsor-item img[alt*="xcs"] { max-height: 25px; }

/* Efecto Hover: los logos cobran vida */
.sponsor-item:hover img {
    opacity: 1;
    filter: none; /* Si tus SVGs son blancos, brillarán. Si tienen color, se verá el color original */
}

/* --- CONTENIDO PRINCIPAL (GRID) --- */
.footer-content {
    max-width: 1200px;
    margin: 0 auto;
    padding: 60px 24px;
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1fr;
    gap: 40px;
}

/* Columna de Marca (Logo y Desc) */
.footer-brand {
    padding-right: 40px;
    display: flex;
    flex-direction: column;
    align-items: flex-start; /* Izquierda por defecto */
    text-align: left;
}

.footer-logo img {
    height: 32px;
    margin-bottom: 16px;
    display: block;
}

.footer-desc {
    font-size: 0.95rem;
    line-height: 1.6;
    margin-bottom: 32px;
}

/* Redes Sociales */
.social-title {
    display: block;
    font-size: 0.8rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: #FFFFFF;
    margin-bottom: 16px;
}

.social-icons {
    display: flex;
    gap: 8px;
}

.social-icons md-icon-button {
    --md-icon-button-icon-color: var(--md-sys-color-on-surface-variant);
    --md-icon-button-hover-icon-color: var(--md-sys-color-primary);
}

/* Columnas de Enlaces */
.footer-links-col h4 {
    color: #FFFFFF;
    font-size: 1rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin: 0 0 24px 0;
}

.footer-links-col ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-links-col li {
    margin-bottom: 12px;
    font-size: 0.95rem;
}

.footer-links-col a {
    color: var(--md-sys-color-on-surface-variant);
    text-decoration: none;
    transition: color 0.2s ease;
}

.footer-links-col a:hover {
    color: var(--md-sys-color-primary);
}

/* --- BARRA INFERIOR (LEGAL) --- */
.footer-bottom {
    background-color: var(--footer-bottom-bg);
    padding: 32px 24px;
    text-align: center;
}

.copyright {
    color: #FFFFFF;
    font-size: 0.9rem;
    margin-bottom: 16px;
}

.legal-disclaimer {
    max-width: 800px;
    margin: 0 auto;
    font-size: 0.75rem;
    line-height: 1.5;
    color: var(--md-sys-color-outline);
    text-align: justify;
    text-align-last: center;
}

/* ============================================== */
/* RESPONSIVE DESIGN                              */
/* ============================================== */

/* Tablets */
@media (max-width: 900px) {
    .footer-content {
        grid-template-columns: 1fr 1fr;
    }
    .footer-brand {
        grid-column: span 2;
        padding-right: 0;
        align-items: center;
        text-align: center;
    }
    .social-icons {
        justify-content: center;
    }
}

/* Móviles */
@media (max-width: 600px) {
    .footer-content {
        grid-template-columns: 1fr;
        gap: 40px;
        padding: 40px 24px;
    }

    .footer-brand {
        grid-column: span 1;
        align-items: center; /* Centra Logo */
        text-align: center;  /* Centra Texto */
    }

    .footer-logo img {
        height: 28px;
        margin: 0 auto 16px auto; /* Centrado forzado imagen */
    }

    /* Grid de patrocinadores en móvil (3 columnas ordenadas) */
    .sponsors-grid {
        gap: 20px;
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        justify-items: center;
    }

    .sponsor-item img {
        max-height: 30px;
    }

    /* Logo MRC en móvil */
    .sponsors-title img {
        max-height: 35px;
    }

    .footer-links-col {
        text-align: center;
    }
}

/* ============================================== */
/* TABLAS DE POSICIONES - EXPRESSIVE REFINED      */
/* ============================================== */

.standings-section {
    padding: 80px 24px; /* Un poco más de aire */
    background-color: var(--md-sys-color-surface);
}

.standings-wrapper {
    max-width: 1240px;
    margin: 0 auto;
    background: var(--md-sys-color-surface-container-lowest);
    border-radius: 32px;
    padding: 12px; /* Más espacio interno antes de la tabla */
    box-shadow: var(--md-sys-elevation-2); /* Elevación más marcada */
    border: 1px solid var(--md-sys-color-outline-variant);
}

.table-container {
    width: 100%;
    overflow-x: auto;
    border-radius: 24px;
    margin-top: 16px;
    /* Suavizamos el scroll en móviles */
    -webkit-overflow-scrolling: touch; 
}

.adac-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    min-width: 1000px;
}

/* Header Expressive */
.adac-table th {
    background: var(--md-sys-color-surface-container-lowest);
    padding: 20px 12px;
    font-size: 0.75rem;
    font-weight: 800; /* Más pesado */
    letter-spacing: 0.05em; /* Estilo profesional */
    color: var(--md-sys-color-primary);
    border-bottom: 2px solid var(--md-sys-color-outline-variant);
    text-transform: uppercase;
}

/* Columnas Sticky con Sombra de Profundidad */
.sticky-col { 
    position: sticky; 
    left: 0; 
    z-index: 10; 
    background: inherit; 
    width: 60px;
}

.sticky-col-name { 
    position: sticky; 
    left: 60px; 
    z-index: 10; 
    background: inherit; 
    text-align: left !important;
    /* Efecto de sombra sutil para separar del scroll de puntos */
    box-shadow: 4px 0 8px -4px rgba(0,0,0,0.1); 
}

/* Celdas Refinadas */
.adac-table td {
    padding: 16px 12px;
    text-align: center;
    border-bottom: 1px solid var(--md-sys-color-outline-variant);
    font-size: 0.95rem;
    color: var(--md-sys-color-on-surface);
    transition: all 0.2s ease;
}

/* El Líder con Estilo de Podio */
.row-leader td {
    background-color: var(--md-sys-color-primary-container) !important;
    color: var(--md-sys-color-on-primary-container) !important;
    border-bottom-color: var(--md-sys-color-primary);
}

.row-leader .pos-num {
    color: var(--md-sys-color-primary);
}

/* Tipografía y Totales */
.pos-num {
    font-weight: 900;
    font-style: italic;
    font-family: 'Roboto', sans-serif;
    font-size: 1.2rem;
}

.driver-name {
    font-weight: 800;
    text-transform: uppercase;
    font-size: 0.9rem;
    letter-spacing: -0.01em;
}

.auto-badge {
    font-size: 0.75rem;
    color: var(--md-sys-color-secondary);
    font-weight: 600;
    opacity: 0.8;
}

/* Columnas de Puntos Finales */
.col-total {
    font-weight: 950;
    background: var(--md-sys-color-surface-container-high) !important;
    font-size: 1.1rem;
    color: var(--md-sys-color-primary) !important;
}

/* Estilo para vs LID y DIF (Números limpios) */
.col-meta {
    font-weight: 700;
    font-size: 0.85rem;
    color: var(--md-sys-color-on-surface-variant);
    opacity: 0.9;
}

/* ============================================== */
/* SECCIÓN PRENSA - DEFINITIVA & EXPRESSIVE       */
/* ============================================== */

.press-section {
    padding: 80px 24px;
    background-color: var(--md-sys-color-surface); /* Fondo oscuro principal */
    display: flex;
    justify-content: center;
}

/* El Contenedor Central (Surface) */
.press-container {
    background-color: var(--md-sys-color-surface-container-low); /* Un gris muy sutil */
    border-radius: 40px; /* Bordes muy redondeados, Expressive */
    padding: 60px;
    width: 100%;
    max-width: 900px;
    box-shadow: var(--md-sys-elevation-3);
    border: 1px solid var(--md-sys-color-outline-variant); /* Borde sutil */
    box-sizing: border-box;
}

.press-form {
    display: flex;
    flex-direction: column;
    gap: 32px; /* Espaciado generoso M3 */
    margin-top: 48px;
}

/* Layout en Dos Columnas */
.form-group-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
}

/* --- ESTILADO PERSONALIZADO DE INPUTS (Material 3) --- */
.press-form md-filled-text-field,
.press-form md-filled-select {
    width: 100%;
    
    /* Fondo oscuro y texto claro */
    --md-filled-text-field-container-color: rgba(255, 255, 255, 0.03); 
    --md-filled-text-field-label-text-color: var(--md-sys-color-on-surface-variant);
    --md-filled-text-field-input-text-color: #FFFFFF;
    
    /* El borde inferior rojo (línea de foco) */
    --md-filled-text-field-focus-active-indicator-color: var(--md-sys-color-primary); 
    --md-filled-text-field-focus-label-text-color: var(--md-sys-color-primary);
    
    /* Bordes redondeados sutiles para inputs M3 */
    --md-filled-text-field-container-shape: 16px; 
}

/* Estilos específicos para el Select */
.press-form md-filled-select {
    --md-filled-select-container-color: rgba(255, 255, 255, 0.03);
    --md-filled-select-input-text-color: #FFFFFF;
    --md-filled-select-container-shape: 16px;
    --md-filled-select-focus-active-indicator-color: var(--md-sys-color-primary);
}

/* El Checkbox de Seguridad */
.safety-agreement {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 24px;
    background: rgba(255, 255, 255, 0.01);
    border-radius: 20px;
    border: 1px solid rgba(255, 255, 255, 0.03);
    margin-top: 16px;
}

.safety-agreement md-checkbox {
    --md-checkbox-selected-container-color: var(--md-sys-color-primary);
    --md-checkbox-selected-icon-color: var(--md-sys-color-on-primary);
}

.safety-agreement label {
    color: var(--md-sys-color-on-surface-variant);
    font-size: 0.95rem;
    line-height: 1.5;
}

/* Botón de Enviar (Expressive FAB) */
.form-actions {
    display: flex;
    justify-content: center;
    margin-top: 24px;
}

.btn-send-press {
    --md-filled-button-container-color: var(--md-sys-color-primary);
    --md-filled-button-label-text-color: var(--md-sys-color-on-primary);
    
    /* Toque Expressive: FAB Extendido */
    --md-filled-button-container-shape: 200px; 
    height: 64px; /* Un poco más alto para impacto */
    padding: 0 48px;
    
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-size: 1rem;
}

/* --- RESPONSIVO --- */
@media (max-width: 768px) {
    .press-container {
        padding: 40px 24px;
        border-radius: 32px;
    }
    
    .form-group-grid {
        grid-template-columns: 1fr; /* Columna única en móvil */
    }
}