/* Estilos generales */
    /* Fuente para toda la página */
    body {
        font-family: 'Azonic';
        src: url('fonts/Azonix.otf') format('truetype');
        margin: 0;
        padding: 0;
        box-sizing: border-box;
    }

 /* Importar fuente */
@font-face {
    font-family: 'Azonic';
    src: url('fonts/Azonix.otf') format('truetype');
}

/* Estilo del header */
header {
    background-image: url('header.png');
    width: 97,05vw; /* Asegura que ocupe todo el ancho de la ventana */
    height: 230px; /* Ajusta la altura al valor que necesites */
    background-size: 100% 100%; /* Mantiene la imagen ajustada sin cortar */
    background-position: center;
    background-repeat: no-repeat;
    color: white;
    padding: 20px;
    text-align: center;
}

/* Contenedor para los logos */
.logo-container {
    display: flex;
    justify-content: left;
    align-items: center;
    padding: 25px;
    margin-top: -4px;
}

/* Estilo general para todas las imágenes en el contenedor */
.logo-container img {
    width: 150px; /* Tamaño por defecto */
    height: auto;
    border-radius: 25%;
    object-fit: contain;
    background-color: transparent;
    margin-left: 80px;
    margin-bottom: -10px; /* Márgen inferior que mueve las palabras de las funciones */
}

/* Ajuste específico para la primera imagen dentro del contenedor */
.logo-container img:first-child {
    width: 195px; 
    margin-left: 100px;
}

/* Ajuste específico para la segunda imagen dentro del contenedor */
.logo-container img:nth-child(2) {
    width: 160px; 
}

/* Ajuste para unir las imágenes */
.logo-izquierdo0 {
    margin-right: -68px;
}

.logo-derecho0 {
    margin-left: -68px;
}

/* Apartado de funciones */
.funciones {
    display: flex;
    justify-content: left;
    align-items: center;
    gap: 30px;
    padding: 10px 0;
    color: #333;
    margin-left: 55px;
}

/* Estilo para los enlaces de funciones */
.funcion {
    font-family: 'Azonic', sans-serif;
    font-weight: bold;
    font-size: 18px;
    text-transform: uppercase;
    text-decoration: none;
    color: #000000;
    position: relative;
    transition: all 0.3s ease;
}

.funcion:hover {
    font-size: 20px;
}

/* Línea debajo al pasar el cursor */
.funcion:hover::after {
    content: '';
    position: absolute;
    bottom: -5px;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: #000000;
}

/* === 📱 RESPONSIVO HEADER: reorganiza sin alterar tamaños base === */
@media (max-width: 768px) {
    header {
        height: auto; /* Permite que el contenido se adapte sin romper */
        padding: 20px;
        background-size: cover;
        background-position: center;
        text-align: center;
    }

    .logo-container {
        flex-wrap: wrap; /* Permite que los logos se acomoden sin apilarse */
        justify-content: center;
        align-items: center;
        padding: 25px;
        margin-top: 0;
        gap: 20px;
    }

    .logo-container img {
        width: 150px; /* Se mantiene el tamaño original */
        margin-left: 0;
        margin-bottom: 10px;
    }

    .logo-container img:first-child {
        width: 195px;
        margin-left: 0;
    }

    .logo-container img:nth-child(2) {
        width: 160px;
    }

    .logo-izquierdo0,
    .logo-derecho0 {
        margin: 0;
    }

    .funciones {
        flex-wrap: wrap; /* Evita que desaparezcan en pantallas pequeñas */
        justify-content: center;
        align-items: center;
        gap: 30px;
        margin-left: 0;
        padding: 10px 0;
        text-align: center;
    }

    .funcion {
        font-size: 18px; /* Se mantiene el tamaño original */
    }

    .funcion:hover {
        font-size: 20px;
    }
}

@media (max-width: 480px) {
    .logo-container img {
        width: 150px;
    }

    .logo-container img:first-child {
        width: 195px;
    }

    .logo-container img:nth-child(2) {
        width: 160px;
    }

    .funcion {
        font-size: 18px;
    }

    .funcion:hover {
        font-size: 20px;
    }
}


/* Carrusel */
#carrusel {
    position: relative;
    overflow: hidden;
    width: 100%;
    background-color: #ffffff;
    margin: auto;
}

/* Contenedor de las imágenes */
.carousel {
    display: flex;
    transition: transform 0.5s ease-in-out;
    width: 600%; /* 6 imágenes, cada una ocupa 16.666% */
}

/* Ajustar imágenes del carrusel */
.carousel-item {
    width: 16.666%;
    height: 250px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

/* Botones mejorados */
button.prev, button.next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background-color: black; /* Fondo negro */
    color: white; /* Texto blanco */
    border: 2px solid red; /* Borde rojo */
    padding: 15px;
    border-radius: 70%; /* Ajuste de bordes redondeados */
    cursor: pointer;
    font-size: 16px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.5); /* Sombra para efecto 3D */
    transition: all 0.3s ease; /* Suavidad en las interacciones */
    display: flex;
    justify-content: center;
    align-items: center;
    width: 65px;
    margin-bottom: 12px;
}

button.prev:hover, button.next:hover {
    background-color: red; /* Fondo rojo al hacer hover */
    color: black; /* Texto negro para contraste */
    border-color: white; /* Cambio del borde a blanco */
    box-shadow: 0 6px 8px rgba(255, 0, 0, 0.7); /* Sombra más pronunciada */
}

button.prev::after {
    content: '◀'; /* Flecha simple para el botón izquierdo */
    font-size: 20px;
    left: 10px;
}

button.next::after {
    content: '▶'; /* Flecha simple para el botón derecho */
    font-size: 20px;
    right: 10px;
}

button.prev {
    left: 15px; /* Posición a la izquierda */
}

button.next {
    right: 15px; /* Posición a la derecha */
}

/* === 📱 RESPONSIVO COMPLETO PARA #CARRUSEL === */
@media (max-width: 768px) {
  #carrusel {
    width: 100vw;
    overflow: hidden;
    margin: auto;
    padding-bottom: 60px; /* espacio para botones si se colocan abajo */
  }

  .carousel {
    display: flex;
    transition: transform 0.5s ease-in-out;
    width: 600vw; /* 6 imágenes en fila, cada una 100vw */
  }

  .carousel-item {
    width: 100vw;
    height: 140px; /* Altura tipo banner */
    background-size: contain;         /* ← muestra la imagen completa */
    background-repeat: no-repeat;
    background-position: center;
    flex-shrink: 0;
    background-color: #f5f5f5;        /* Fondo neutro si hay espacio vacío */
  }

  button.prev,
  button.next {
    position: absolute;
    bottom: 12px; /* 🔧 Botones desplazados hacia abajo */
    top: auto;
    transform: none;
    width: 40px;
    height: 40px;
    font-size: 14px;
    background-color: rgba(0, 0, 0, 0.7);
    color: white;
    border: 2px solid red;
    border-radius: 50%;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.4);
    z-index: 2;
  }

  button.prev {
    left: 10px;
  }

  button.next {
    right: 10px;
  }

  button.prev::after {
    content: '◀';
    font-size: 16px;
  }

  button.next::after {
    content: '▶';
    font-size: 16px;
  }
}


/* Cuadros con efectos de sombra */
#cuadros {
    display: flex;
    justify-content: center;
    gap: 70px;
    padding: 50px;
    background-color: #fff;
}

.cuadro {
    width: 300px;
    height: 300px;
    background-color: #f0f0f0;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); /* Efecto de sombra */
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    border-radius: 10px; /* Bordes redondeados (opcional) */
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    overflow: hidden; /* Evita que la imagen sobresalga */
}

.cuadro:hover {
    transform: translateY(-17px); /* Efecto de levantamiento */
    box-shadow: 0 10px 18px rgba(252, 50, 50, 0.842); /* Sombra más fuerte */
}

.cuadro a {
    text-decoration: none; /* Elimina el subrayado */
    color: inherit; /* Mantiene el color del texto */
    display: block; /* Hace que el enlace ocupe todo el cuadro */
    width: 100%; /* Asegura que ocupe todo el ancho del cuadro */
    height: 100%; /* Asegura que ocupe todo el alto del cuadro */
}

/* Modificación para imágenes */
.cuadro img {
    width: 100%; /* Imagen ajustada al ancho del cuadro */
    height: 100%; /* Imagen ajustada al alto del cuadro */
    object-fit: cover; /* Ajuste para que la imagen ocupe todo el espacio sin perder proporción */
}

/* === 📱 RESPONSIVO PARA LA SECCIÓN #CUADROS (TABLET Y MÓVIL) === */
@media (max-width: 768px) {
    #cuadros {
        flex-direction: column; /* Apila los cuadros verticalmente */
        align-items: center; /* Centra los cuadros en pantalla */
        gap: 70px; /* Se mantiene tu separación original */
        padding: 50px; /* Se conserva tu padding base */
        margin: 0;
    }

    .cuadro {
        width: 300px; /* Se mantiene tu ancho original */
        height: 300px; /* Se mantiene tu alto original */
    }

    .cuadro img {
        width: 100%;
        height: 100%;
    }
}

@media (max-width: 480px) {
    #cuadros {
        gap: 70px;
        padding: 50px;
    }

    .cuadro {
        width: 300px;
        height: 300px;
    }

    .cuadro img {
        width: 100%;
        height: 100%;
    }
}


#certificaciones {
    display: flex;
    justify-content: space-between; /* Mantiene la disposición original */
    align-items: center;
    padding: 40px;
    height: 250px; /* Mantiene el tamaño original */
    background-image: url('fondocertificacion1.png'); /* Imagen de fondo */
    background-size: cover; /* Ajusta la imagen para que cubra el fondo */
    background-repeat: no-repeat; /* Evita la repetición */
    background-position: left center; /* Coloca la imagen hacia la izquierda */
    background-color: #f4f4f4; /* Color de respaldo si la imagen no carga */
}

.iconos-certificaciones {
    display: flex;
    flex-wrap: wrap;
    gap: 30px; /* Espacio entre los íconos */
    justify-content: flex-end; /* Alinea los iconos a la derecha */
    flex: 1; /* Ajusta el tamaño proporcionalmente */
}

.icono {
    width: 130px;
    height: 130px;
    background-color: #f4f4f4;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    box-shadow: 0 13px 15px rgba(255, 29, 29, 0.432);
    cursor: pointer;
    overflow: hidden;
}

/* Ajuste general para las imágenes dentro de los iconos */
.icono img {
    object-fit: cover; /* Ajusta la imagen para cubrir completamente el círculo */
    border-radius: 0%; /* Aplica el borde redondeado también a las imágenes */
}

.cert1 {
    width: 120px;
    height: auto;
}

.cert2 {
    width: 125px;
    height: 125px;
}

.cert3 {
    width: 125px;
    height: auto;
}

.cert4 {
    width: 95px;
    height: auto;
}

/* === 📱 RESPONSIVO PARA LA SECCIÓN #CERTIFICACIONES (TABLET Y MÓVIL) === */
@media (max-width: 768px) {
  #certificaciones {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    padding: 16px;
    height: 180px; /* 🔧 altura tipo banner, imagen intacta */
    background-image: url('fondocertificacion1.png');
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center left;
    background-color: #f4f4f4;
    gap: 12px;
  }

  .iconos-certificaciones {
    display: flex;
    flex-direction: row;
    gap: 12px;
    justify-content: center;
    align-items: center;
    flex: 0 0 auto;
    margin-left: 48px;
    margin-top: 109px;         /* 🔧 bajamos ligeramente */
    padding-top: 12px;        /* 🔧 espacio interno superior */
    transform: translateY(8px); /* 🔧 ajuste fino vertical */
  }

  .icono {
    width: 55px;
    height: 55px;
    box-shadow: 0 5px 7px rgba(255, 29, 29, 0.3);
    background-color: #f4f4f4;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
  }

  .cert1,
  .cert2,
  .cert3,
  .cert4 {
    width: 45px;
    height: auto;
  }
}


/* Estilos generales del cuadro interactivo */
#cuadro-interactivo {
    display: flex;
    justify-content: center; /* Centrar el cuadro */
    gap: 85px; /* Espacio entre cuadros */
    padding: 50px; /* Espacio alrededor */
    background-color: #f9f9f9; /* Fondo claro */
}

.cuadro-interactivo {
    width: 328px; /* Ajustado al estilo del primer grupo */
    height: 300px;
    background-color: #f0f0f0; /* Color similar */
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); /* Efecto de sombra igual */
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    border-radius: 10px; /* Bordes redondeados */
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    overflow: hidden; /* Evita que la imagen sobresalga */
}

.cuadro-interactivo:hover {
    transform: translateY(-17px); /* Efecto igual al primer grupo */
    box-shadow: 0 10px 18px rgba(252, 50, 50, 0.842); /* Sombra al pasar el ratón */
}

.cuadro-interactivo a {
    text-decoration: none; /* Elimina el subrayado */
    color: inherit; /* Mantiene el color del texto */
    display: block; /* Hace que el enlace ocupe todo el cuadro */
    width: 100%;
    height: 100%;
}

/* Modificación para imágenes */
.cuadro-interactivo img {
    width: 100%; /* Imagen ajustada al ancho del cuadro */
    height: 100%; /* Imagen ajustada al alto del cuadro */
    object-fit: cover; /* Ajuste para que la imagen ocupe todo el espacio sin perder proporción */
}

/* === 📱 RESPONSIVO PARA LA SECCIÓN #CUADRO-INTERACTIVO (TABLET Y MÓVIL) === */
@media (max-width: 768px) {
    #cuadro-interactivo {
        flex-direction: column; /* Apila los cuadros verticalmente */
        align-items: center; /* Centra los cuadros en pantalla */
        gap: 85px; /* Se mantiene tu separación original */
        padding: 50px; /* Se conserva tu padding base */
        margin: 0;
    }

    .cuadro-interactivo {
        width: 328px; /* Se mantiene tu ancho original */
        height: 300px; /* Se mantiene tu alto original */
    }

    .cuadro-interactivo img {
        width: 100%;
        height: 100%;
    }
}

@media (max-width: 480px) {
    #cuadro-interactivo {
        gap: 85px;
        padding: 50px;
    }

    .cuadro-interactivo {
        width: 328px;
        height: 300px;
    }

    .cuadro-interactivo img {
        width: 100%;
        height: 100%;
    }
}


/* Sección general con fondo moderno */
.video-carousel {
    background-image: url('fondovideos.png');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
  
    height: 520px; /* ← Cambiá esta línea para ajustar la altura total */
    display: flex;
    justify-content: center;
    align-items: center;
  }
  
  /* 🌫️ Fondo semitransparente editable */
  .video-wrapper {
    position: relative;
    max-width: 960px;    
    height: 320px;                    
    width: 840px;
    padding: 60px 200px;                             /* ← Ajustá márgenes internos */
    background-color: rgba(240, 240, 240, 0.445);     
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    box-shadow: 0 0 30px rgba(0,0,0,0.2);
  }
  
  /* 🎥 Video con tamaño decente y fluido */
  #carousel-video {
    width: 100%;
    height: auto;
    max-height: 75vh;                               /* Ajuste flexible según pantalla */
    object-fit: contain;                            
    background-color: rgba(255, 255, 255, 0.05);     
    border: none;
    transition: opacity 0.4s ease;
    opacity: 1;
    display: block;
  }
  
  /* ▶️ Botón minimalista */
  #play-button {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: transparent;
    border: none;
    cursor: pointer;
    z-index: 10;
    transition: transform 0.3s ease;
  }
  
  #play-button:hover {
    transform: translate(-50%, -50%) scale(1.1);
  }
  
  .play-icon {
    display: inline-block;
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.15), rgba(0, 0, 0, 0.4));
    backdrop-filter: blur(4px);
    position: relative;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
    transition: box-shadow 0.3s ease, background 0.3s ease;
  }
  
  #play-button:hover .play-icon {
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.3);
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.25), rgba(0, 0, 0, 0.5));
  }
  
  .play-icon::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-45%, -50%);
    width: 0;
    height: 0;
    border-left: 18px solid #ffffff;
    border-top: 12px solid transparent;
    border-bottom: 12px solid transparent;
  }

  /* === 📱 RESPONSIVO PARA LA SECCIÓN .VIDEO-CAROUSEL (TABLET Y MÓVIL) === */
@media (max-width: 768px) {
    .video-carousel {
      height: auto; /* Permite que se adapte al contenido */
      padding: 40px 20px; /* Aire lateral sin romper el fondo */
      background-position: center center;
      flex-direction: column;
    }
  
    .video-wrapper {
      width: 100%; /* Se adapta al ancho disponible */
      max-width: 100%;
      height: auto;
      padding: 40px 20px; /* Reduce márgenes internos sin perder aire */
      box-sizing: border-box;
    }
  
    #carousel-video {
      max-height: 75vh;
      width: 100%;
      height: auto;
    }
  
    #play-button {
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
    }
  
    .play-icon {
      width: 64px;
      height: 64px;
    }
  }
  
  @media (max-width: 480px) {
    .video-wrapper {
      padding: 30px 15px;
    }
  
    .play-icon {
      width: 56px;
      height: 56px;
    }
  
    .play-icon::before {
      border-left: 16px solid #ffffff;
      border-top: 10px solid transparent;
      border-bottom: 10px solid transparent;
    }
  }  


/* Estilos del footer */
footer {
    background: linear-gradient(to bottom, #333, #444); /* Fondo degradado */
    color: #fff;
    padding: 20px 0;
    border-top: 3px solid #F08080; /* Línea superior distintiva */
}

.footer-container {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    justify-content: center; /* Centra las columnas horizontalmente */
    flex-wrap: wrap;
    gap: 20px;
    padding: 0 15px;
}

/* Ajuste de columnas */
.footer-column {
    flex: 1;
    min-width: 250px;
    max-width: 350px; /* Limita el ancho para mayor balance visual */
    text-align: center; /* Alinea el contenido al centro */
}

/* Ajuste del menú */
.menu-column {
    margin-left: 130px; /* Empuja el menú un poco a la derecha */
}

/* Iconos de contacto */
.contact-info p i {
    color: #F08080; /* Mismo color que los íconos de redes sociales */
    font-size: 1.5em;
    margin-right: 8px;
    display: inline-block;
}

/* Alinear título de Contacto más centrado */
.contact-info h3 {
    text-align: center; /* Centrar el título */
    padding-bottom: 25px; /* Separación del título con la información de contacto */
    margin-left: 70px;
}

/* Espaciado uniforme de la información de contacto */
.contact-info p {
    display: flex;
    align-items: center;
    justify-content: center; /* Alineación similar a las otras columnas */
    gap: 10px;
    white-space: nowrap;
    margin-bottom: 10px; /* Espacio entre cada dato */
}

/* Asegurar que la info de contacto esté en una sola línea */
.contact-info p {
    display: flex;
    align-items: center;
    justify-content: start;
    gap: 10px;
    white-space: nowrap; /* Evita que el texto se divida en dos líneas */
}

/* Estilos del título en cada columna */
.footer-column h3 {
    font-size: 1.2em;
    margin-bottom: 10px;
    color: #F08080;
}

/* Ajustes de lista */
.footer-column ul {
    list-style: none;
    padding: 0;
    margin-top: 40px;
}

.footer-column ul li {
    margin-bottom: 8px;
}

.footer-column ul li a {
    color: #fff;
    text-decoration: none;
    transition: color 0.3s;
}

.footer-column ul li a:hover {
    color: #F4A89A;
    text-decoration: underline;
}

/* Ajustes de redes sociales */
.social-media li {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 10px;
}

.social-media li a i {
    font-size: 1.5em;
    margin-right: 8px;
    color: #F08080;
    display: inline-block;
}

/* Estilos del footer-bottom */
.footer-bottom {
    text-align: center;
    margin-top: 20px;
    font-size: 0.9em;
    border-top: 1px solid #555;
    padding-top: 10px;
    color: #ddd;
}

/* === 📱 RESPONSIVO PARA LA SECCIÓN FOOTER (TABLET Y MÓVIL) === */
@media (max-width: 768px) {
    .footer-container {
      flex-direction: column; /* Apila las columnas verticalmente */
      align-items: center; /* Centra el contenido */
      gap: 20px; /* Se mantiene tu separación original */
      padding: 0 15px;
    }
  
    .footer-column {
      max-width: 100%; /* Permite que cada columna ocupe el ancho disponible */
      text-align: center;
    }
  
    .menu-column {
      margin-left: 0; /* Elimina el desplazamiento lateral en móvil */
    }
  
    .contact-info h3 {
      margin-left: 0; /* Centra el título sin desplazamiento */
      padding-bottom: 25px;
    }
  
    .contact-info p {
      justify-content: center; /* Centra los ítems de contacto */
      flex-wrap: wrap; /* Permite que se acomoden si el espacio es limitado */
      text-align: center;
    }
  
    .footer-column ul {
      margin-top: 30px;
    }
  
    .footer-column ul li {
      margin-bottom: 10px;
    }
  
    .social-media li {
      justify-content: center;
    }
  }
  
  @media (max-width: 480px) {
    .footer-container {
      padding: 0 10px;
    }
  
    .footer-column h3 {
      font-size: 1.1em;
    }
  
    .footer-bottom {
      font-size: 0.85em;
      padding-top: 10px;
    }
  
    .contact-info p {
      gap: 8px;
      font-size: 0.95em;
    }
  
    .social-media li a i {
      font-size: 1.4em;
    }
  }
  