/* Definición y uso de variables CSS */
:root {
    --color-primario: #2c3e50; /* Codificación Hexadecimal */
    --color-secundario: rgba(41, 128, 185, 0.9); /* Codificación RGBA */
    --color-fondo: rgb(236, 240, 241); /* Codificación RGB */
    --color-texto: #333333;
    --espaciado-base: 20px;
    --ancho-maximo: 900px;
}

/* Selectores básicos y aplicación de unidades de medida (px, %, em) */
body {
    font-family: Arial, sans-serif;
    background-color: var(--color-fondo);
    color: var(--color-texto);
    margin: 0;
    padding: 0;
}

/* Uso de funciones CSS: var() y calc() */
.contenedor-principal {
    max-width: var(--ancho-maximo);
    margin: 20px auto;
    /* Función calc() para calcular el padding dinámicamente */
    padding: calc(var(--espaciado-base) * 1.5);
    background-color: #ffffff;
    border: 1px solid #bdc3c7;
    border-radius: 8px;
}

/* Estilización de encabezados (propiedades de color, padding, margin) */
h1, h2, h3, h4, h5, h6 {
    color: var(--color-primario);
}

h1 { font-size: 2.5em; text-align: center; margin-bottom: 5px; }
h2 { font-size: 1.5em; text-align: center; font-weight: normal; margin-top: 0; }
h3 { border-bottom: 2px solid var(--color-secundario); padding-bottom: 10px; }

/* Selectores combinadores */
header nav ul.menu-navegacion {
    list-style-type: none;
    padding: 0;
    margin: 0;
    text-align: center;
    background-color: var(--color-primario);
}

header nav ul.menu-navegacion li {
    display: inline-block;
}

header nav ul.menu-navegacion li a {
    display: block;
    padding: 15px 25px;
    color: #ffffff;
    text-decoration: none;
    font-weight: bold;
}

/* Selectores Avanzados: :hover */
header nav ul.menu-navegacion li a:hover {
    background-color: var(--color-secundario);
}

/* Selectores Avanzados: :nth-child */
.lista-tecnologias li:nth-child(odd) {
    background-color: #f4f6f7;
    padding: 8px;
}

.lista-tecnologias li:nth-child(even) {
    background-color: #e5e8e8;
    padding: 8px;
}

/* Selectores Avanzados: :focus */
.input-texto {
    width: calc(100% - 20px);
    padding: 10px;
    margin-bottom: 15px;
    border: 1px solid #ccc;
}

.input-texto:focus {
    outline: none;
    border: 2px solid var(--color-secundario);
    background-color: #eaf2f8;
}

.imagen-contenedor {
    text-align: center;
    margin-top: var(--espaciado-base);
}

.img-destacada {
    max-width: 100%;
    height: auto;
    border-radius: 5px;
}

/* Uso de Hacks CSS */
/* 1. Clearfix Hack: Soluciona problemas de colapso de contenedores con elementos flotantes (limitación de navegadores) */
.clearfix::after {
    content: "";
    clear: both;
    display: table;
}

/* 2. Star Hack (*): Aplicado al botón. Este hack es ignorado por navegadores modernos, pero aplica reglas exclusivas en Internet Explorer 7 y versiones anteriores */
.btn-enviar {
    *display: inline; /* Hack CSS para IE7 */
    *zoom: 1; /* Hack CSS para IE7 */
    display: inline-block;
    background-color: var(--color-secundario);
    color: #ffffff;
    padding: 10px 20px;
    border: none;
    cursor: pointer;
    font-size: 1em;
}

.btn-enviar:hover {
    background-color: var(--color-primario);
}