/* Definición de variables para el modo oscuro y claro */
:root {
    --fondo-claro: #fff;
    --texto-claro: #000;
    --fondo-oscuro: #333;
    --texto-oscuro: #eee;
    --fondo: var(--fondo-claro); /* Valor predeterminado */
    --texto: var(--texto-claro); /* Valor predeterminado */
}

/* Estilos para modo oscuro */
[data-fondo="oscuro"] {
    --fondo: var(--fondo-oscuro);
    --texto: var(--texto-oscuro);
}

/* Estilos para modo claro */
[data-fondo="claro"] {
    --fondo: var(--fondo-claro);
    --texto: var(--texto-claro);
}

/* Estilos generales */
body {
    font-family: Arial, sans-serif;
    margin: 20px;
    color: var(--texto);
    background-color: var(--fondo);
    transition: background-color 0.3s, color 0.3s;
}

h1 {
    color: var(--texto);
    text-align: center; /* Centra el texto del encabezado */
}

header {
    text-align: center; /* Centra el contenido en el encabezado */
    padding: 20px; /* Espacio interno alrededor del contenido */
    background-color: var(--fondo); /* Color de fondo del encabezado */
    border-bottom: 1px solid #ccc; /* Línea separadora debajo del encabezado */
}

header img {
    max-width: 100%; /* Asegura que el logo no se expanda más allá del contenedor */
    height: auto; /* Mantiene la proporción del logo */
    margin-bottom: 10px; /* Espacio debajo del logo */
}

/* Estilos del menú */
.menu {
    display: none; /* Oculta el menú por defecto */
    padding: 10px; /* Espacio interno alrededor del menú */
    background-color: #f9f9f9; /* Color de fondo del menú */
    border: 1px solid #ccc; /* Línea separadora del menú */
}

.menu.expand {
    display: block; /* Muestra el menú cuando está expandido */
}

.menu nav {
    background-color: #f9f9f9; /* Color de fondo del menú de navegación */
    border: 1px solid #ccc; /* Línea separadora del menú de navegación */
    padding: 10px; /* Espacio interno del menú de navegación */
    margin-top: 10px; /* Espacio superior del menú de navegación */
}

.menu .opciones {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

.menu .opcion-label {
    margin-right: 10px; /* Espacio entre opciones */
    cursor: pointer; /* Cambia el cursor para indicar que es interactivo */
}

/* Estilos para el iframe */
#contenido {
    border: 1px solid #ccc;
    padding: 10px;
    margin-top: 10px;
    background-color: #fff;
    width: 100%;
    height: 400px; /* Ajusta la altura del iframe según tus necesidades */
}

#contenido h2,
#contenido p {
    color: var(--texto);
}

/* Estilos para los botones de ajuste de tamaño de letra */
.botones-ajuste {
    margin-top: 10px; /* Espacio superior para los botones */
}

.botones-ajuste button {
    padding: 8px 16px; /* Espacio interno en los botones */
    margin-right: 10px; /* Espacio entre botones */
    border: none; /* Sin borde predeterminado */
    cursor: pointer; /* Cambia el cursor para indicar que es interactivo */
}

/* Estilos para el selector de fondo */
.selector-fondo {
    margin-top: 20px; /* Espacio superior para el selector */
    padding: 10px; /* Espacio interno alrededor del selector */
    background-color: #f9f9f9; /* Color de fondo del selector */
    border: 1px solid #ccc; /* Línea separadora del selector */
}

.selector-fondo label {
    margin-right: 10px; /* Espacio entre opciones de fondo */
}

/* Estilos para las redes sociales */
#social-container {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
}

#social-container a {
    display: inline-block;
    margin-right: 10px;
}

#social-container img {
    width: 32px; /* Tamaño del icono */
    height: 32px; /* Tamaño del icono */
}

/* Estilos para la introducción */
.introduction {
    max-width: 800px;
    margin: 0 auto;
    padding: 20px;
    background-color: #f9f9f9;
    border: 1px solid #ccc;
}

.introduction h2 {
    font-size: 24px;
    margin-bottom: 10px;
}

.introduction p {
    margin-bottom: 15px;
}

/* Estilos para el footer */
#miFooter {
    background-color: var(--fondo);
    color: var(--texto);
    padding: 10px;
    text-align: center;
    font-size: 12px;
}

#miFooter a {
    color: var(--texto);
    text-decoration: none;
}

#miFooter a:hover {
    text-decoration: underline;
}

/* Estilos para el formulario de contacto */
#formulario-contacto {
    display: none;
    margin-top: 20px;
    padding: 20px;
    background-color: #f9f9f9;
    border: 1px solid #ccc;
    max-width: 400px;
    margin-left: auto;
    margin-right: auto;
}

#formulario-contacto h2 {
    font-size: 24px;
    margin-bottom: 10px;
}

#formulario-contacto label {
    display: block;
    margin-bottom: 5px;
    font-weight: bold;
}

#formulario-contacto input[type="text"],
#formulario-contacto input[type="email"],
#formulario-contacto textarea {
    width: 100%;
    padding: 5px;
    margin-bottom: 10px;
    border: 1px solid #ccc;
}

#formulario-contacto textarea {
    height: 100px;
}

#formulario-contacto input[type="submit"] {
    background-color: #4CAF50;
    color: var(--texto);
    padding: 8px 16px;
    border: none;
    cursor: pointer;
}

#formulario-contacto input[type="submit"]:hover {
    background-color: #45a049;
}

#formulario-contacto input[type="submit"]:focus {
    outline: none;
}

#formulario-contacto input[type="submit"]:active {
    background-color: #3e8e41;
    box-shadow: 0 2px #666;
    transform: translateY(1px);
}
