/* Estilos básicos para toda la página */
body {
  /* Selector de elemento */
  font-family: Arial, sans-serif; /* Tipografía */
  margin: 0; /* Elimina márgenes predeterminados */
  padding: 20px; /* Espacio interno */
  background-color: #f0f5ff; /* Color de fondo */
  line-height: 1.6; /* Altura de línea */
}

/* Encabezados */
h1, h2 {
  /* Selector múltiple de elementos */
  color: #2c3e50; /* Color del texto */
  margin-bottom: 15px; /* Margen inferior */
}

h1 {
  font-size: 28px; /* Tamaño de fuente */
  border-bottom: 2px solid #3498db; /* Borde inferior */
  padding-bottom: 10px; /* Espacio interno inferior */
}

h2 {
  font-size: 22px; /* Tamaño de fuente */
}

/* Enlaces */
a {
  color: #3498db; /* Color del texto */
  text-decoration: none; /* Quita el subrayado */
}

a:hover {
  /* Pseudo-clase :hover - cuando el mouse pasa por encima */
  color: #e74c3c; /* Cambia el color al pasar el mouse */
  text-decoration: underline; /* Agrega subrayado */
}

/* Clases reutilizables */
.container {
  /* Selector de clase */
  max-width: 1200px; /* Ancho máximo */
  margin: 0 auto; /* Centrar horizontalmente */
}

/* Navegación */
nav {
  background-color: #34495e; /* Color de fondo */
  padding: 10px; /* Espacio interno */
  margin-bottom: 20px; /* Margen inferior */
  border-radius: 5px; /* Bordes redondeados */
}

nav ul {
  list-style: none; /* Quita los puntos de la lista */
  padding: 0; /* Quita el padding predeterminado */
  margin: 0; /* Quita el margen predeterminado */
  display: flex; /* Muestra elementos en línea */
}

nav li {
  margin-right: 20px; /* Espacio entre elementos */
}

nav a {
  color: white; /* Color del texto */
  font-weight: bold; /* Negrita */
}

nav a:hover {
  color: #f39c12; /* Color al pasar mouse */
}

/* Secciones */
section {
  background-color: white; /* Color de fondo */
  padding: 20px; /* Espacio interno */
  margin-bottom: 20px; /* Margen inferior */
  border-radius: 5px; /* Bordes redondeados */
  box-shadow: 0 2px 5px rgba(0,0,0,0.1); /* Sombra */
}

/* Listas */
ul, ol {
  padding-left: 20px; /* Espacio interno izquierdo */
}

/* Tabla */
table {
  width: 100%; /* Ancho completo */
  border-collapse: collapse; /* Unir bordes */
  margin: 15px 0; /* Margen vertical */
}

th, td {
  border: 1px solid #ddd; /* Borde */
  padding: 8px; /* Espacio interno */
  text-align: left; /* Alineación del texto */
}

th {
  background-color: #f2f2f2; /* Color de fondo */
  font-weight: bold; /* Negrita */
}

tr:nth-child(even) {
  /* Selector con pseudo-clase para filas pares */
  background-color: #f9f9f9; /* Color de fondo */
}

/* Formulario */
form {
  display: block; /* Tipo de display */
  margin-top: 15px; /* Margen superior */
}

label {
  display: block; /* Cada etiqueta en su propia línea */
  margin-bottom: 5px; /* Espacio debajo */
  font-weight: bold; /* Negrita */
}

input[type="text"],
input[type="email"],
select,
textarea {
  /* Selector de atributo */
  width: 100%; /* Ancho completo */
  padding: 8px; /* Espacio interno */
  margin-bottom: 10px; /* Espacio debajo */
  border: 1px solid #ddd; /* Borde */
  border-radius: 4px; /* Bordes redondeados */
  box-sizing: border-box; /* Incluir padding y borde en el tamaño */
}

input[type="submit"] {
  background-color: #3498db; /* Color de fondo */
  color: white; /* Color del texto */
  padding: 10px 15px; /* Espacio interno */
  border: none; /* Sin borde */
  border-radius: 4px; /* Bordes redondeados */
  cursor: pointer; /* Cursor de mano */
}

input[type="submit"]:hover {
  background-color: #2980b9; /* Color de fondo al pasar mouse */
}

/* Figura e imagen */
figure {
  text-align: center; /* Centrar contenido */
  margin: 15px 0; /* Margen vertical */
}

img {
  max-width: 100%; /* Ancho máximo */
  height: auto; /* Altura automática */
  border: 1px solid #ddd; /* Borde */
}

figcaption {
  font-style: italic; /* Texto en cursiva */
  margin-top: 5px; /* Margen superior */
  color: #666; /* Color del texto */
}

/* Aside */
aside {
  background-color: #fff8dc; /* Color de fondo */
  padding: 10px; /* Espacio interno */
  border-left: 4px solid #ffd700; /* Borde izquierdo */
  margin: 15px 0; /* Margen vertical */
}

/* Pie de página */
footer {
  text-align: center; /* Centrar texto */
  margin-top: 30px; /* Margen superior */
  padding: 10px; /* Espacio interno */
  background-color: #34495e; /* Color de fondo */
  color: white; /* Color del texto */
  border-radius: 5px; /* Bordes redondeados */
}