* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family:'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

body {
    background:linear-gradient(to bottom,#0cf0bb 5%, #097ae3 100%); 
    color: #0cf0bb;
    scroll-behavior: smooth;
}

a {
    text-decoration: none;
}

/*Encabezado y navegación*/
header {
    height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: relative;
    color: white;
}

.nav-bar {
    position: absolute;
    top: 0;
    width: 100%;
    padding: 5px 15px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.logo {
    font-size: 1.8rem;
    font-weight: bold;
}
nav ul {
  list-style: none;            /* Quita los puntos de las listas */
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: center;     /* Centra horizontalmente los elementos */
  flex-wrap: wrap;             /* Permite que se acomoden si la pantalla es pequeña */
}

nav ul li {
  position: relative;          /* Necesario para los submenús */
}

nav ul li a {
  display: block;
  padding: 10px 30px;          /* Espaciado interno */
  color: white;
  text-decoration: none;
  transition: background 0.1s, color 0.1s;
  font-size:1.2rem;
  font-weight: 700;
}

/* ==== EFECTO AL PASAR EL MOUSE ==== */
nav ul li a:hover {
  color: red;
}

/* ==== SUBMENÚS ==== */
nav ul li ul {
  display: none;               /* Oculta los submenús inicialmente */
  position: absolute;
  top: 100%;                   /* Justo debajo del elemento padre */
  left: 0;
  min-width: 200px;
  z-index: 1000;
  flex-direction: column;
}

nav ul li ul li {
  width: 100%;
}

nav ul li ul li a {
  padding: 3px 8px;
  color: #fff;
  font-size: 16px;
}

/* ==== MOSTRAR SUBMENÚ AL PASAR EL MOUSE ==== */
nav ul li:hover > ul {
  display: block;
 background: rgba(0, 0, 0, 0.5);
  border-radius: 20px;
}

/* ==== SUBMENÚS DE SEGUNDO NIVEL ==== */
nav ul li ul li ul {
  top: 0;
  left: 100%;                 /* Se despliega a la derecha */
}

/* ==== EFECTO RESPONSIVO (OPCIONAL) ==== */
@media (max-width: 768px) {
  nav ul {
    flex-direction: column;    /* Menú vertical en pantallas pequeñas */
  }

  nav ul li {
    text-align: center;
  }
}
/** nav ul {
    display: flex;
    gap: 20px;
}
nav ul li a {
    color: white;
    font-weight: 500;
    transition: color 0.3s;
    font-size:1.2rem;
}

nav ul li a:hover {
    color: #E0F7FA;
}
nav li:hover > ul {
	display:block;
	}**/
.header-content {
    text-align: center;
    max-width: 700px;
    animation: fadeIn 1.5s ease-in-out;
}

.header-content h1 {
    font-size: 3.5rem;
    margin-bottom: 15px;
    color: #E0F7FA;
}

.header-content p {
    font-size: 1.3rem;
    margin-bottom: 30px;
    color: #E0F7FA;
}

.btn {
    background-color: #E0F7FA;
    color: #004D40;
    padding: 12px 25px;
    border-radius: 25px;
    font-size: 1.1rem;
    transition: background 0.3s ease;
}

.btn:hover {
    background-color: #80CBC4;
}

/* --- Sección Sobre --- */
.sobre-section {
    padding: 80px 20px;
    text-align: justify;
    background:linear-gradient(to bottom,#097ae3 5%,  #0cf0bb 100%);
    margin-bottom: 15px;
    margin-top: 15px;
    width: 80%;
    height: 80%;
    border-radius:15px;
 margin: 15px auto;
}

.sobre-section h2 {
    font-size: 2.5rem;
    color: black;
    margin-bottom: 20px;
    text-align: center;
}
.sobre-section h3 {
    font-size: 1.3rem;
    color: black;
    margin-bottom: 20px;
    text-align: center;
}

.sobre-section p {
    max-width: 800px;
    margin: 0 auto 40px;
     margin-bottom: 25px;
    font-size: 1.1rem;
    color: black;
}
.sobre-section p li{
    max-width: 800px;
    margin: 0 auto 40px;
    font-size: 1.1rem;
    color: black;
}
.cards {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 25px;
}

.card {
    padding: 25px;
    width: 280px;
    border-radius: 15px;
    box-shadow: 0 0 15px rgba(0, 114, 255, 0.2);
    transition: transform 0.3s ease;
    margin-bottom: 15px;
}

.card:hover {
    transform: translateY(-10px);
}

.card h3 {
    color: black;
    margin-bottom: 10px;
}


form {
    max-width: 500px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 15px;
}

input, textarea {
    padding: 12px;
    border-radius: 8px;
    border: 1px solid #80DEEA;
    font-size: 1rem;
}

textarea {
    min-height: 120px;
    resize: none;
}

button.btn {
    cursor: pointer;
}

/*Footer*/
footer {
    background-color: #2ba0ee;
    color: white;
    text-align: center;
    padding: 25px 20px;

    width: 100%;
    margin: 20px 0 0 0;

    border-radius: 15px;
}

/*Animaciones*/
@keyframes fadeIn {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
}

/*Responsivo --- */
@media (max-width: 768px) {
    .header-content h1 {
        font-size: 2.5rem;
    }
    nav ul {
        flex-direction: column;
        background: rgba(0, 0, 0, 0.3);
        padding: 10px;
        border-radius: 10px;
    }
}


.cards_ext {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 25px;
}

.card_ext {
    padding: 25px;
    width: 420px;
    height:500px;
    border-radius: 15px;
    box-shadow: 0 0 15px rgba(0, 114, 255, 0.2);
    transition: transform 0.3s ease;
    margin-bottom: 15px;
    text-align: center;
}

.card_ext:hover {
    transform: translateY(-10px);
}

.card_ext h3 {
    color: black;
    margin-bottom: 10px;
}
.extraescolar h2{
    font-size: 2.5rem;
    color: black;
    margin-top: 30px;
    margin-bottom: 30px;
    text-align: center;
}
.hero_ext {
  position: relative;
  width: 100%;
  height: 400px;      /* 🔹 Altura fija del carrusel */
  margin: 0 auto;
  overflow: hidden;
 border-radius: 10px;
}

/* Contenedor de las imágenes */
.slides_ext {
  display: flex;
  width: 400%;        /* 4 imágenes → 400% */
  height: 100%;
  animation: slide_ext 16s infinite;
}

/* Estándar para todas las imágenes */
.slides_ext img {
  width: 100%;        /* 🔹 Imagen ocupa todo el carrusel */
  height: 100%;       /* 🔹 Mantiene tamaño estándar */
  flex-shrink: 0;     /* No se reduce */
}

@keyframes slide_ext {
  0%   { transform: translateX(0%); }
  20%  { transform: translateX(0%); }

  25%  { transform: translateX(-100%); }
  45%  { transform: translateX(-100%); }

  50%  { transform: translateX(-200%); }
  70%  { transform: translateX(-200%); }

  75%  { transform: translateX(-300%); }
  100% { transform: translateX(-300%); }
}

.logo-inicio {
    width: 100%;
    display: flex;
    justify-content: flex-start; /* Alinea a la izquierda */
    padding: 0px 10px;          /* Margen opcional */
    position: relative;
    z-index: 5;                   /* Encima del video */
}

.logo-inicio img {
    width: 50px;   /* Tamaño estándar */
    height: auto;
}

.hero {
  position: relative;
  width: 90%;              
  height: 550px;           
  margin: 30px auto;
  border-radius: 20px;  
  overflow: hidden;        
  box-shadow: 0 4px 15px rgba(0,0,0,0.3);
}

/* Todas las imágenes superpuestas */
.slides {
  position: relative;
  width: 100%;
  height: 100%;
}

.slides img {
  position: absolute;
  /* CENTRADO REAL */
  left: 0;
  top: 0;

  width: 100%;
  height: 100%;

  object-fit: cover;        /* Imagen sin distorsión */
  object-position: center; /* Centra la imagen */
  background-color: transparent;

  opacity: 0;
  animation: fade 15s infinite;
}

/* Animación individual para cada imagen */
.slides img:nth-child(1) {
  animation-delay: 0s;
}

.slides img:nth-child(2) {
  animation-delay: 5s;
}

.slides img:nth-child(3) {
  animation-delay: 10s;
}

/* Keyframes del efecto fade */
@keyframes fade {
  0% { opacity: 0; }
  10% { opacity: 1; }
  30% { opacity: 1; }
  40% { opacity: 0; }
  100% { opacity: 0; }
}
    .form-container {
      background: white;
      padding: 30px;
      border-radius: 8px;
      box-shadow: 0 4px 12px rgba(0,0,0,0.1);
      width: 100%;
      max-width: 400px;
    }
    h2 {
      text-align: center;
      margin-bottom: 20px;
      color: #00796b;
    }
    input, textarea {
      width: 100%;
      padding: 10px;
      margin-top: 10px;
      border: 1px solid #ccc;
      border-radius: 4px;
      font-size: 1em;
    }
    button {
      margin-top: 15px;
      width: 100%;
      background-color: #00796b;
      color: white;
      border: none;
      padding: 12px;
      font-size: 1em;
      border-radius: 4px;
      cursor: pointer;
      transition: background-color 0.3s;
    }
    button:hover {
      background-color: #004d40;
    }

contaloria ul {
  list-style: none;            /* Quita los puntos de las listas */
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: center;     /* Centra horizontalmente los elementos */
  flex-wrap: wrap;             /* Permite que se acomoden si la pantalla es pequeña */
}

contaloria ul li {
  position: relative;          /* Necesario para los submenús */
}

contaloria ul li a {
  display: block;
  padding: 10px 30px;          /* Espaciado interno */
  color: white;
  text-decoration: none;
  transition: background 0.1s, color 0.1s;
  font-size:1.2rem;
  font-weight: 700;
}

/* ==== EFECTO AL PASAR EL MOUSE ==== */
contaloria ul li a:hover {
  color: red;
}

/* ==== SUBMENÚS ==== */
contaloria ul li ul {
  display: none;               /* Oculta los submenús inicialmente */
  position: absolute;
  top: 100%;                   /* Justo debajo del elemento padre */
  left: 0;
  min-width: 200px;
  z-index: 1000;
  flex-direction: column;
}

contaloria ul li ul li {
  width: 100%;
}

contaloria ul li ul li a {
  padding: 3px 8px;
  color: #fff;
  font-size: 16px;
}

/* ==== MOSTRAR SUBMENÚ AL PASAR EL MOUSE ==== */
contaloria ul li:hover > ul {
  display: block;
 background: rgba(0, 0, 0, 0.5);
  border-radius: 20px;
}

/* ==== SUBMENÚS DE SEGUNDO NIVEL ==== */
contaloria ul li ul li ul {
  top: 0;
  left: 100%;                 /* Se despliega a la derecha */
}

/* ==== EFECTO RESPONSIVO (OPCIONAL) ==== */
@media (max-width: 768px) {
 contaloria ul {
    flex-direction: column;    /* Menú vertical en pantallas pequeñas */
  }

contaloria ul li {
    text-align: center;
  }
}
/** .contaloria ul {
    display: flex;
    gap: 20px;
}
contaloria ul li a {
    color: white;
    font-weight: 500;
    transition: color 0.3s;
    font-size:1.2rem;
}

contaloria ul li a:hover {
    color: #E0F7FA;
}
contaloria li:hover > ul {
	display:block;
	}**/
.video {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 100vh;
    padding: 20px;                 /* margen interno */
}

/* Video centrado y proporcional */
.hero-video {
    width: 80%;
    max-width: calc(100% - 40px);  /* respeta márgenes */
    height: auto;
    aspect-ratio: 16 / 9;
    object-fit: contain;

    border: 3px solid #ffffff;
    border-radius: 16px;

    box-sizing: border-box;
}

/* --- Sección Sobre ofertas--- */
.sobre-section-ofertas {
    padding: 80px 20px;
    text-align: justify;
    background:linear-gradient(to bottom,#097ae3 5%,  #0cf0bb 100%);
    margin-bottom: 15px;
    margin-top: 15px;
    width: 80%;
    height: 80%;
    border-radius:15px;
    margin: 15px auto;
}

.sobre-section-ofertas h2 {
    font-size: 2.5rem;
    color: black;
    margin-bottom: 20px;
    text-align: center;
    margin: 0 auto 40px;
}
.cards-ofertas p {
    max-width: 800px;
    margin: 0 auto 40px;
     margin-bottom: 25px;
    font-size: 1.1rem;
    color: black;
}
.cards-ofertas ul li {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 25px; 
    color: black;
    max-width: 800px;
    margin: 0 auto;
    font-size: 1.1rem;

}

.cards:hover-ofertas  {
    transform: translateY(-10px);
}


.hero_ext1 {
  position: relative;
  width: 400%;
  height: 700px;      /* 🔹 Altura fija del carrusel */
  margin: 0 auto;
  overflow: hidden;
 border-radius: 10px;
}

.card_ext1 {
    padding: 25px;
    width: 420px;
    height:500px;
    border-radius: 15px;
    box-shadow: 0 0 15px rgba(0, 114, 255, 0.2);
    transition: transform 0.3s ease;
    margin-bottom: 15px;
    text-align: center;
}
