/* ========== ETTA BASE ========== */
:root {
  --max: 1100px;
  --gap: 18px;
  --radius: 14px;
  --azul: #004996;
  --azul-sec: #0b4ea3;
  --amar: #fdda34;
  --verde: #22c55e;
  --gris-fondo: #f6f7f9;
  --txt: #222;
  --font-main: 'Poppins', system-ui, Arial, sans-serif;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

body {
  font-family: var(--font-main);
  color: var(--txt);
  background: var(--gris-fondo);
  margin: 0;
}

/* === Enlaces === */
a {
  color: inherit;
  text-decoration: none;
}

/* === Botones === */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  padding: 12px 16px;
  border-radius: 12px;
  cursor: pointer;
  transition: 0.2s all;
}
.btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.15);
}
.btn-primary { background: var(--amar); color: #1a1a1a; border: none; }
.btn-outline { border: 2px solid var(--azul); color: var(--azul); background: transparent; }
.btn-whatsapp { background: #25d366; color: #fff; border: none; }
.btn-whatsapp:hover { background: #1ebe5d; }

/* === Cards === */
.card {
  border-radius: var(--radius);
  background: #fff;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.08);
  overflow: hidden;
  transition: 0.2s all;
}
.card:hover { transform: translateY(-3px); }

/* === Footer === */
.footer {
  padding: 26px 0 40px;
  text-align: center;
  color: #999;
  font-size: 0.85rem;
}

/* === Contenedores === */
.wrap { max-width: var(--max); margin: 0 auto; padding: 0 16px; }
.logos-top { background: #fff; border-bottom: 2px solid #e6e9ef; padding: 16px 0; }

/* CONTENEDOR GENERAL */
.wrap {
  max-width: 1100px;
  margin: 0 auto;
  padding: 24px 16px;
}

/* BLOQUES DE SECCIÓN */
.section {
  background: #ffffff;
  border-radius: 16px;
  padding: 24px;
  margin: 24px auto;
  box-shadow: 0 12px 32px rgba(0,0,0,0.07);
  max-width: 1280px;
}

.section h2 {
  font-size: 1.1rem;
  font-weight: 600;
  color: #004996;
  margin: 0 0 18px;
  line-height: 1.4;
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
}

/* GRID DE PROGRAMAS */
.cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(300px,100%), 1fr));
  gap: 20px;
}

/* TARJETA DE PROGRAMA */
.card {
  background: #fff;
  border-radius: 14px;
  border: 1px solid #e6e9ef;
  box-shadow: 0 6px 18px rgba(0,0,0,0.06);
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.card img {
  width: 100%;
  height: auto;
  display: block;
}

.card-body {
  padding: 16px 18px 20px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-family: Poppins, system-ui, sans-serif;
}

/* ETIQUETA ESCUELA (ETTA / ESCI) */
.card-body .school {
  font-size: 0.75rem;
  font-weight: 700;
  color: #fff;
  background: #004996;
  display: inline-block;
  padding: 3px 8px;
  border-radius: 6px;
  line-height: 1.2;
  width: fit-content;
}

/* NOMBRE DEL PROGRAMA */
.card-body .program {
  font-size: 0.9rem;
  font-weight: 600;
  line-height: 1.4;
  color: #1a1a1a;
}

/* TEXTO DE INICIO (ej: 3 inician en noviembre) */
.card-body .start {
  font-size: 0.8rem;
  color: #4b5563;
  line-height: 1.4;
}

/* ===== FOOTER WRAPPER ===== */
.footer {
  background: #0b1f4a;        /* si en tu versión original el footer iba oscuro */
  color: #fff;
  padding: 40px 0 40px;       /* en index2.css sube a 100px en desktop */
  font-family: Poppins, sans-serif;
  border-top-left-radius: 14px;
  border-top-right-radius: 14px;
}

@media screen and (min-width: 991.98px) {
  .footer {
    padding: 100px 0 40px;    /* :contentReference[oaicite:1]{index=1} */
  }
}

/* Contenedor grande del footer (logo / navegación / suscripción) */
.footer_main {
  margin-bottom: 40px;
}
@media screen and (min-width: 991.98px) {
  .footer_main {
    margin-bottom: 80px;      /* :contentReference[oaicite:2]{index=2} */
  }
}
@media screen and (min-width: 1199.98px) {
  .footer_main {
    margin-bottom: 80px;      /* :contentReference[oaicite:3]{index=3} */
  }
}

/* Bloques internos */
.footer_main-block {
  margin-bottom: 30px;
  color: #fff;
  font-size: 16px;
  line-height: 1.5;
  max-width: 100%;
}

.footer_main-block--about {
  width: 100%;
}
@media screen and (min-width: 991.98px) {
  .footer_main-block--about {
    margin-bottom: 50px;      /* :contentReference[oaicite:4]{index=4} */
  }
}
@media screen and (min-width: 1199.98px) {
  .footer_main-block--about {
    margin-bottom: 0;         /* :contentReference[oaicite:5]{index=5} */
    max-width: 380px;         /* :contentReference[oaicite:6]{index=6} */
  }
  .footer_main-block--about .brand {
    margin-bottom: 40px;      /* :contentReference[oaicite:7]{index=7} */
  }
  .footer_main-block--about .text {
    margin-bottom: 55px;      /* :contentReference[oaicite:8]{index=8} */
  }
}

/* Texto descriptivo bajo el logo institucional */
.footer_main-block--about .text {
  margin-bottom: 30px;        /* :contentReference[oaicite:9]{index=9} */
  color: #e1e1e1;             /* :contentReference[oaicite:10]{index=10} */
  font-size: 0.95rem;
}

/* Navegación rápida (lista de links) */
.footer_main-block--nav {
  margin-bottom: 40px;        /* :contentReference[oaicite:11]{index=11} */
}
@media screen and (min-width: 991.98px) {
  .footer_main-block--nav {
    margin-bottom: 40px;      /* :contentReference[oaicite:12]{index=12} */
  }
}
@media screen and (min-width: 1199.98px) {
  .footer_main-block--nav {
    margin-bottom: 0;         /* :contentReference[oaicite:13]{index=13} */
    flex-grow: 1;
    display: flex;
    justify-content: flex-end;
    margin-right: 110px;      /* :contentReference[oaicite:14]{index=14} */
  }
}

/* Cada item del menú lateral */
.footer_main-block--nav .list {
  list-style: none;
  padding-left: 0;
  margin-bottom: 0;
}
.footer_main-block--nav .list-item {
  display: inline-flex;       /* :contentReference[oaicite:15]{index=15} */
  align-items: center;        /* :contentReference[oaicite:16]{index=16} */
  font-size: 18px;            /* :contentReference[oaicite:17]{index=17} */
  margin-bottom: 15px;        /* :contentReference[oaicite:18]{index=18} */
  font-family: Poppins, sans-serif;  /* :contentReference[oaicite:19]{index=19} */
  font-weight: 500;           /* :contentReference[oaicite:20]{index=20} */
  color: #fff;
}
.footer_main-block--nav .list-item:last-of-type {
  margin-bottom: 0;           /* :contentReference[oaicite:21]{index=21} */
}
@media screen and (min-width: 1199.98px) {
  .footer_main-block--nav .list-item {
    margin-bottom: 25px;      /* :contentReference[oaicite:22]{index=22} */
  }
}
.footer_main-block--nav .list-item .icon {
  padding-right: 10px;        /* :contentReference[oaicite:23]{index=23} */
  position: relative;
  top: -1px;
  transition: 0.3s ease-in-out; /* :contentReference[oaicite:24]{index=24} */
  color: #e1e1e1;            /* :contentReference[oaicite:25]{index=25} */
}
.footer_main-block--nav .list-item:hover .icon {
  color: #ffcc29;             /* :contentReference[oaicite:26]{index=26} */
}
.footer_main-block--nav .list-item .link {
  color: #fff;
  text-decoration: none;
}
.footer_main-block--nav .list-item .link:hover {
  opacity: 0.8;
}

/* Bloque de suscripción */
.footer_main-block--subscribe {
  max-width: 380px;           /* :contentReference[oaicite:27]{index=27} */
  color: #fff;
}
.footer_main-block--subscribe .title {
  font-size: 20px;            /* :contentReference[oaicite:28]{index=28} */
  line-height: 1.2;           /* :contentReference[oaicite:29]{index=29} */
  color: #fff;                /* :contentReference[oaicite:30]{index=30} */
  margin-bottom: 15px;        /* :contentReference[oaicite:31]{index=31} */
  font-weight: 600;
}
.footer_main-block--subscribe .text {
  color: #e1e1e1;             /* :contentReference[oaicite:32]{index=32} */
  margin-bottom: 30px;        /* :contentReference[oaicite:33]{index=33} */
  font-size: 0.9rem;
  line-height: 1.4;
}

/* Formulario de suscripción */
.footer_main-block--subscribe .form {
  background: rgba(255, 255, 255, 0.1); /* :contentReference[oaicite:34]{index=34} */
  height: 55px;                         /* :contentReference[oaicite:35]{index=35} */
  border-radius: 6px;
  overflow: hidden;
}
.footer_main-block--subscribe .form .field {
  padding: 15px 20px;          /* :contentReference[oaicite:36]{index=36} */
  border: 1px solid #e1e1e1;   /* :contentReference[oaicite:37]{index=37} */
  border-right: none;          /* :contentReference[oaicite:38]{index=38} */
  height: 100%;                /* :contentReference[oaicite:39]{index=39} */
  background: transparent;     /* :contentReference[oaicite:40]{index=40} */
  color: #fff;                 /* :contentReference[oaicite:41]{index=41} */
  flex: 1 1 auto;
  border-top-left-radius: 6px;
  border-bottom-left-radius: 6px;
  font-size: 0.9rem;
}
.footer_main-block--subscribe .form .field::placeholder {
  color: #fff;                 /* :contentReference[oaicite:42]{index=42} */
}
.footer_main-block--subscribe .form .field.error {
  border-color: #bc0000;       /* :contentReference[oaicite:43]{index=43} */
}
.footer_main-block--subscribe .form .btn {
  width: 55px;                 /* :contentReference[oaicite:44]{index=44} */
  font-size: 22px;             /* :contentReference[oaicite:45]{index=45} */
  background: #00008e;         /* :contentReference[oaicite:46]{index=46} */
  border: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-top-right-radius: 6px;
  border-bottom-right-radius: 6px;
}
.footer_main-block--subscribe .form .btn .icon {
  transition: 0.4s ease-in-out; /* :contentReference[oaicite:47]{index=47} */
  color: #fff;
}
.footer_main-block--subscribe .form .btn:hover .icon {
  transform: scale(1.1);       /* :contentReference[oaicite:48]{index=48} */
}

/* Redes sociales en el footer */
.footer_main-block--subscribe .social-icons {
  margin-top: 24px;
}
.footer_main-block--subscribe .social-btn {
  width: 40px;
  height: 40px;
  border-radius: 8px;
  background: rgba(255,255,255,0.12);
  border: 1px solid rgba(255,255,255,0.3);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  transition: all .15s;
  font-size: 0.9rem;
}
.footer_main-block--subscribe .social-btn:hover {
  transform: scale(1.07);
  box-shadow: 0 16px 32px rgba(0,0,0,0.75);
}

/* Info de contacto / dirección / email */
.footer_info {
  margin-bottom: 80px;         /* :contentReference[oaicite:49]{index=49} */
  list-style: none;
  padding-left: 0;
  gap: 20px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
@media screen and (min-width: 991.98px) {
  .footer_info {
    margin-bottom: 100px;      /* :contentReference[oaicite:50]{index=50} */
  }
}

.footer_info-block {
  background: rgba(255, 255, 255, 0.1);     /* :contentReference[oaicite:51]{index=51} */
  width: 100%;                              /* :contentReference[oaicite:52]{index=52} */
  display: flex;                            /* :contentReference[oaicite:53]{index=53} */
  flex-direction: column;                   /* :contentReference[oaicite:54]{index=54} */
  padding: 25px;                            /* :contentReference[oaicite:55]{index=55} */
  border-radius: 8px;
}
.footer_info-block--highlight {
  background: rgba(255, 255, 255, 0.2);     /* :contentReference[oaicite:56]{index=56} */
}
@media screen and (min-width: 767.98px) {
  .footer_info-block {
    width: calc(50% - 10px);                /* :contentReference[oaicite:57]{index=57} */
  }
}
@media screen and (min-width: 1199.98px) {
  .footer_info-block {
    width: calc(100% / 3);                  /* :contentReference[oaicite:58]{index=58} */
    padding: 40px 30px;                     /* :contentReference[oaicite:59]{index=59} */
  }
}

.footer_info-block .main {
  display: flex;                            /* :contentReference[oaicite:60]{index=60} */
  flex-direction: column;                   /* :contentReference[oaicite:61]{index=61} */
}
.footer_info-block .main_label {
  color: #e1e1e1;                           /* :contentReference[oaicite:62]{index=62} */
  margin-bottom: 10px;                      /* :contentReference[oaicite:63]{index=63} */
  font-size: .8rem;
  font-weight: 500;
  line-height: 1.4;
}
.footer_info-block .main_info {
  font-family: Poppins, sans-serif;         /* :contentReference[oaicite:64]{index=64} */
  font-size: 18px;                          /* :contentReference[oaicite:65]{index=65} */
  line-height: 1.3;                         /* :contentReference[oaicite:66]{index=66} */
  font-weight: 600;                         /* :contentReference[oaicite:67]{index=67} */
  color: #fff;
  text-decoration: none;
}
.footer_info-block .main_info.link--bold {
  font-weight: 700;                         /* :contentReference[oaicite:68]{index=68} */
}
.footer_info-block .main_info.link:hover {
  opacity: 0.8;                             /* :contentReference[oaicite:69]{index=69} */
}

/* Créditos finales */
.footer_copyrights {
  text-align: center;                       /* :contentReference[oaicite:70]{index=70} */
  color: #e1e1e1;                           /* :contentReference[oaicite:71]{index=71} */
  font-size: 0.8rem;
  line-height: 1.4;
  margin-bottom: 24px;
}
