/* --- ANIMACIONES --- */
@keyframes pulsoFondo {
    0% { background-color: #ffffff; }
    50% { background-color: #ffcccc; } /* Rojo claro visible */
    100% { background-color: #ffffff; }
}

@keyframes fundidoEntrada {
    from { opacity: 0; filter: blur(5px); }
    to { opacity: 1; filter: blur(0); }
}

/* --- BASE --- */
* { margin: 0; padding: 0; box-sizing: border-box; }

body {
    font-family: 'Open Sans', sans-serif;
    color: #000;
    overflow-x: hidden;
    animation: pulsoFondo 7s infinite ease-in-out;
}

.animacion-entrada {
    animation: fundidoEntrada 1.2s ease-in-out;
}

/* Forzar transparencia para ver el pulso de fondo */
header, main, section, div, nav {
    background-color: transparent !important;
}

/* --- HEADER ESCRITORIO --- */
.header-container {
    display: flex;
    max-width: 1920px;
    margin: 0 auto;
    padding: 10px 50px;
    justify-content: space-between;
}

.item-logo { order: 2; flex: 2; display: flex; justify-content: center; padding-top: 20px; }
.item-nav { order: 1; flex: 1; }
.item-contact { order: 3; flex: 1; display: flex; flex-direction: column; align-items: flex-end; }

.red-nav-box { 
    background-color: #FF0000 !important; 
    width: 206.5px; 
    padding: 10px; 
}

.nav-links a { display: block; color: #fff; text-decoration: none; font-size: 11pt; margin-bottom: 2px; }

.main-logo { width: 501px; height: auto; }

.compact-contact-bar { display: flex; flex-direction: column; align-items: flex-end; }
.social-mini { display: flex; gap: 15px; margin-bottom: 5px; }
.social-mini img { width: 28px; height: 28px; }
.phone-mini { display: flex; align-items: center; gap: 5px; font-size: 12pt; }
.wha-icon { width: 28px; height: 28px; }
.phone-mini a, .email-mini a { text-decoration: none; color: #000; }

/* --- CUERPO --- */
.page-content { max-width: 1203px; margin: 0 auto; padding: 0 10px; }

/* --- CARRUSEL CORREGIDO --- */
.section-carousel { 
    width: 100%; 
    overflow: hidden; 
    margin-bottom: 15px; 
    position: relative;
}

.carousel-track { 
    display: flex; 
    gap: 10px; 
    width: max-content; /* Permite que el contenido se extienda horizontalmente */
    animation: scroll 40s linear infinite; 
}

.carousel-track img { 
    width: 280px; 
    height: 236px; 
    object-fit: cover; 
    flex-shrink: 0; /* EVITA QUE LA IMAGEN SE DEFORME O DESAPAREZCA EN MÓVIL */
    border-radius: 4px;
}

/* La animación debe calcular el ancho de la imagen + el gap (280px + 10px = 290px) */
@keyframes scroll {
    0% { transform: translateX(0); }
    100% { transform: translateX(calc(-290px * 5)); } /* Ajustado a 5 imágenes que tienes en el HTML */
}

/* Resto de elementos */
.products-secondary-menu { 
    background-color: #FF0000 !important; 
    padding: 8px 0; 
    margin-bottom: 20px; 
}
.products-inner { display: flex; justify-content: space-around; max-width: 1203px; margin: 0 auto; }
.products-secondary-menu a { color: #fff; text-decoration: none; font-size: 8.5pt; font-weight: 700; }

.section-text { text-align: center; margin: 15px 0; }
.title-bold { font-size: 28pt; font-weight: 700; margin-bottom: 10px; }
.subtitle-normal { font-size: 18pt; line-height: 1.3; }

.section-hero-img { margin-bottom: 25px; }
.img-foto1 { width: 100%; height: auto; display: block; }

/* --- MAPAS --- */
.full-width-maps { width: 100%; }
.iframe-holder { width: 100%; height: 450px; }
.iframe-holder iframe { width: 100%; height: 100%; border: 0; }
.map-description { text-align: center; font-size: 14pt; padding: 20px; margin-bottom: 30px; }

/* --- RESPONSIVE MÓVIL --- */
@media (max-width: 768px) {
    .header-container { flex-direction: column; align-items: center; padding: 0; }
    
    .item-logo { order: 1; padding: 5px 0; width: 100%; text-align: center; }
    .main-logo { width: 60%; } /* Un poco más grande para legibilidad */

    .item-nav { order: 2; width: 100%; }
    .red-nav-box { width: 100%; padding: 4px; text-align: center; }
    .nav-links { display: flex; flex-direction: column; align-items: center; }
    .nav-links a { font-size: 9.5pt; line-height: 1.5; margin-bottom: 2px; }

    /* Ajuste de imágenes en móvil para que no ocupen toda la pantalla */
    .carousel-track img {
        width: 220px; /* Tamaño un poco más compacto en móvil */
        height: 180px;
    }

    @keyframes scroll {
        0% { transform: translateX(0); }
        100% { transform: translateX(calc(-230px * 5)); } /* 220px + 10px gap */
    }

    .item-contact { order: 3; width: 100%; padding: 10px 0; display: flex; flex-direction: column; align-items: center; }
    .compact-contact-bar { 
        flex-direction: column; 
        justify-content: center; 
        align-items: center; 
        gap: 8px; 
    }
    
    .social-mini { gap: 15px; justify-content: center; }
    .social-mini img { width: 24px; height: 24px; }
    .phone-mini { font-size: 10pt; gap: 6px; }
    .email-mini a { font-size: 9pt; }

    .products-inner { 
        flex-direction: column; 
        align-items: center; 
        gap: 6px; 
    }
    
    .title-bold { font-size: 18pt; }
    .subtitle-normal { font-size: 12pt; }
    .iframe-holder { height: 300px; }
}