/* --- ANIMACIONES --- */
@keyframes pulsoFondo {
    0% { background-color: #ffffff; }
    50% { background-color: #ffcccc; }
    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;
}

header, main, section, div, nav {
    background-color: transparent !important;
}

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

/* Bloque Izquierdo (Navegación) */
.item-nav { 
    order: 1; 
    flex: 1; 
    display: flex; 
    justify-content: flex-start; 
}

/* Bloque Central (Logo) */
.item-logo { 
    order: 2; 
    flex: 1; 
    display: flex; 
    justify-content: center; 
}

/* Bloque Derecho (Contacto) */
.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; text-transform: lowercase; }

.main-logo { width: 100%; max-width: 350px; height: auto; } /* Ajustado tamaño para mejor centrado */

.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 --- */
.section-carousel { 
    width: 100%; 
    overflow: hidden; 
    margin-bottom: 15px; 
    position: relative;
}

.carousel-track { 
    display: flex; 
    gap: 10px; 
    width: max-content; 
    animation: scroll 40s linear infinite; 
}

.carousel-track img { 
    width: 280px; 
    height: 236px; 
    object-fit: cover; 
    flex-shrink: 0; 
    border-radius: 4px;
}

@keyframes scroll {
    0% { transform: translateX(0); }
    100% { transform: translateX(calc(-290px * 5)); } 
}

/* Menú de productos */
.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; flex-wrap: wrap; gap: 10px; }
.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; }

/* --- ESTILOS AVISO COOKIES --- */
#cookie-banner.cookie-discreta {
    position: fixed !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100% !important;
    background-color: #000000 !important;
    color: #ffffff !important;
    z-index: 999999 !important;
    padding: 20px 0 !important;
    display: none;
    border-top: 3px solid #ff0000 !important;
}

.cookie-contenido {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 20px;
}

.cookie-contenido p { color: #fff !important; font-size: 14px; }
.cookie-contenido a { color: #ff0000 !important; font-weight: bold; }

.cookie-btns { display: flex; gap: 10px; }
.btn-si { background-color: #28a745 !important; color: white !important; padding: 10px 20px; border: none; border-radius: 4px; cursor: pointer; font-weight: bold; }
.btn-no { background-color: #444444 !important; color: white !important; padding: 10px 20px; border: none; border-radius: 4px; cursor: pointer; font-weight: bold; }

/* --- AJUSTES MÓVIL (MEDIA QUERY) --- */
@media (max-width: 768px) {
    .header-container { flex-direction: column; gap: 20px; padding: 20px 10px; }
    .item-logo { order: 1; width: 100%; }
    .item-nav { order: 2; width: 100%; justify-content: center; }
    .item-contact { order: 3; width: 100%; align-items: center; }
    
    .red-nav-box { width: 100%; text-align: center; margin: 0 auto; }
    .nav-links a { font-size: 13pt; margin-bottom: 8px; }
    .compact-contact-bar { align-items: center; }

    .main-logo { width: 85%; max-width: 280px; }

    .products-inner { flex-direction: column; text-align: center; }
    .products-secondary-menu a { font-size: 10pt; padding: 5px 0; }

    .title-bold { font-size: 18pt; }
    .subtitle-normal { font-size: 12pt; padding: 0 10px; }

    .iframe-holder { height: 300px; }
    .map-description { font-size: 11pt; padding: 15px; }
    .break-mobile::after { content: "\A"; white-space: pre; }

    .cookie-contenido { flex-direction: column; gap: 15px; text-align: center; }
}