/* CSS is how you can add style to your website, such as colors, fonts, and positioning of your
   HTML content. To learn how to do something, just try searching Google for questions like
   "how to change link color." */

/* VARIABLES */
:root {
  --azul-ieee: #00629B;
  --magenta-cugdl: #D6006E;
  --verde-cugdl: #94D600;
  --morado-cugdl: #843E98;
  --turquesa-cugdl: #00B6A3;
  --gris-fondo: #f8f9fc;
  --gris-texto: #1f1f1f;
}
/* ====== ANIMACIONES ====== */

/* Fade In */
@keyframes fadeIn {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: translateY(0); }
}

/* Zoom In */
@keyframes zoomIn {
  from { transform: scale(0.95); opacity: 0; }
  to { transform: scale(1); opacity: 1; }
}

/* Slide In desde la izquierda */
@keyframes slideInLeft {
  from { transform: translateX(-100px); opacity: 0; }
  to { transform: translateX(0); opacity: 1; }
}

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

body {
  font-family: 'Poppins', 'Inter', sans-serif;
  background-color: var(--gris-fondo);
  color: var(--gris-texto);
  line-height: 1.6;
}

/* HEADER */
header {
  color: white;
  padding: 20px 10px;
  text-align: center;
  border-bottom: 5px solid var(--verde-cugdl);
  background-color: var(--azul-ieee);
}

/* NAV */
nav ul {
  list-style: none;
  display: flex;
  justify-content: center;
  gap: 20px;
  margin-top: 10px;
}

nav a {
  color: var(--gris-texto);
  text-decoration: none;
  font-weight: bold;
}

nav a:hover {
  color: var(--verde-cugdl);
}

/* SECTIONS */
section {
  background-color: white;
  margin: 20px auto;
  padding: 30px;
  max-width: 900px;
  border-left: 5px solid var(--turquesa-cugdl);
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

/* FORMULARIOS */
form {
  display: flex;
  flex-direction: column;
  gap: 15px;
  margin-top: 20px;
}

label {
  font-weight: bold;
}

input, textarea, select {
  padding: 10px;
  border: 1px solid #ccc;
  border-radius: 6px;
  font-size: 1rem;
}

/* BOTONES */
button, .btn {
  background-color: var(--magenta-cugdl);
  color: white;
  padding: 10px 20px;
  border: none;
  border-radius: 8px;
  font-weight: 600;
  cursor: pointer;
  transition: background-color 0.3s;
}

button:hover, .btn:hover {
  background-color: var(--morado-cugdl);
}

/* FOOTER */
footer {
  text-align: center;
  padding: 10px;
  background-color: var(--azul-ieee);
  color: white;
  margin-top: 40px;
}

/* SECCIÓN CAPÍTULOS */
#capitulos {
  padding: 40px;
  background-color: #f5f5f5;
  border-top: 2px solid var(--azul-ieee);
}

#capitulos h2 {
  color: var(--azul-ieee);
  font-size: 2rem;
  margin-bottom: 20px;
  text-align: center;
}

.capitulo {
  background-color: white;
  border-left: 5px solid var(--azul-ieee);
  padding: 20px;
  margin-bottom: 20px;
  box-shadow: 0 2px 5px rgba(0,0,0,0.1);
  border-radius: 6px;
}

.capitulo h3 {
  margin-top: 0;
  color: var(--morado-cugdl);
}

/* SECCIÓN QUÉ HACEMOS */
#que-hacemos {
  background-color: #f5f5f5;
  padding: 40px;
  border-radius: 12px;
  margin-top: 40px;
}

#que-hacemos h2 {
  font-size: 2rem;
  color: var(--azul-ieee); 
  margin-bottom: 20px;
  text-align: center;
}

#que-hacemos ul {
  list-style: none;
  padding-left: 0;
}

#que-hacemos li {
  margin-bottom: 12px;
  font-size: 1.05rem;
  line-height: 1.6;
}

#que-hacemos p {
  margin-top: 20px;
  font-size: 1.1rem;
  color: #333;
}

/* LOGOS EN LAS ESQUINAS */
.corner-logos {
  position: relative;
  width: 100%;
  height: 0;
}

.logo-ieee {
  position: absolute;
  top: 10px;
  left: 20px;
  max-height: 50px;
  z-index: 1000;
}

.logo-cugdl {
  position: absolute;
  top: 10px;
  right: 20px;
  max-height: 50px;
  z-index: 1000;
}
section, #que-hacemos, #capitulos {
  animation: fadeIn 1s ease forwards;
  opacity: 0;
}
.capitulo {
  animation: slideInLeft 0.8s ease forwards;
  opacity: 0;
}
button, .btn {
  transition: all 0.3s ease;
  animation: zoomIn 0.5s ease forwards;
  opacity: 0;
}
.capitulo:nth-child(1) {
  animation-delay: 0.2s;
}
.capitulo:nth-child(2) {
  animation-delay: 0.4s;
}
.capitulo:nth-child(3) {
  animation-delay: 0.6s;
}
