:root {
    --color-primary: #007bff;
    --color-secondary: #495057;
    --color-background: #ced5db;
    --color-text: #343a40;
    --color-highlight: #f56a00;
    --font-family-sans-serif: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    --font-family-header: 'Georgia', Times, 'Times New Roman', serif;
}

body {
    font-family: var(--font-family-sans-serif);
    color: var(--color-text);
    background-color: var(--color-background);
    margin: 0;
    padding: 0;
    line-height: 1.6;
}

header {
    background-color: var(--color-primary);
    color: white;
    padding: 20px 0;
    text-align: center;
}

/* Índice / Navegación */
nav#indice {
    background-color: var(--color-secondary);
    color: white;
    padding: 10px;
    text-align: center;
}

nav#indice ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}

nav#indice ul li a {
    text-decoration: none;
    color: white;
    padding: 10px;
    display: block;
    transition: background-color 0.3s, color 0.3s; /* Transición suave para hover */
}

nav#indice ul li a:hover {
    background-color: var(--color-highlight); /* Color de fondo al hacer hover */
    color: white; /* Color de texto al hacer hover */
    border-radius: 5px; /* Bordes redondeados */
}

/* Main Content */
main {
    padding: 20px;
}

/* Headings */
h1, h2, h3, h4 {
    color: var(--color-secondary);
    padding-left: 20px; /* Adds indentation for all headings */
}

h1 {
    font-size: 2em;
    margin-bottom: 0.5em;
}

h2 {
    font-size: 1.75em;
    margin-top: 1em;
    margin-bottom: 0.5em;
}

h3 {
    font-size: 1.5em;
    margin-top: 1em;
    margin-bottom: 0.25em;
}

h4 {
    font-size: 1.25em;
    margin-top: 1em;
    margin-bottom: 0.25em;
}

/* Paragraphs */
p {
    margin-bottom: 1em;
}

/* Bold Text */
b {
    font-weight: bold;
    color: var(--color-highlight);
    background-color: rgba(245, 106, 0, 0.2);
    padding: 2px 4px;
    border-radius: 4px;
}

/* Responsive Design */
@media (max-width: 768px) {
    nav#indice ul {
        flex-direction: column;
    }
}

@media (max-width: 576px) {
    body, header, main {
        padding: 10px;
    }
}
