/* Definiciones de variables para los temas */
:root {
    --background-color-light: #b1e1f9; /* Fondo claro */
    --background-color-dark: #121212; /* Fondo oscuro */
    --text-color-light: #333333; /* Texto claro */
    --text-color-dark: #fefefe; /* Texto oscuro */
    --button-background-light: rgb(255, 0, 102); /* Fondo del botón claro */
    --button-background-dark: rgb(0, 17, 255); /* Fondo del botón oscuro */
    --button-color-light: #ffffff; /* Color del texto del botón claro */
    --button-color-dark: #ffffff; /* Color del texto del botón oscuro */
}

body {
    font-family: Arial, Helvetica, sans-serif;
    text-align: center;
    background-color: var(--background-color-light);
    color: var(--text-color-light);
    margin: 0;
    padding: 0;
    transition: background-color 0.3s ease, color 0.3s ease; /* Transición suave para el color de fondo y texto */
}

body.dark-mode {
    background-color: var(--background-color-dark);
    color: var(--text-color-dark);
}

body.dark-mode .form-label {
    color: #000000; /* Color del texto en modo oscuro */
}

h1 {
    font-size: 34px;
    margin-bottom: 10px;
    font-family: 'Acumin Pro Condensed Black Italic', sans-serif; /* Tipografía moderna y legible para el título */
    color: var(--text-color-light); /* Color del título en modo claro */
    margin-top: 30px; /* Ajusta el margen superior para separar del menú de navegación */
    text-align: center;
}

body.dark-mode h1 {
    color: var(--text-color-dark); /* Color del título en modo oscuro */
}

p {
    font-family: 'Roboto', sans-serif; /* Fuente Roboto Medium */
    font-weight: 500; /* Medium weight */
    font-size: 1.125rem; /* Tamaño de fuente para el párrafo */
    line-height: 1.6; /* Espacio entre líneas para mejor legibilidad */
    color: var(--text-color-light); /* Color del texto del párrafo en modo claro */
    margin: 0 auto; /* Centra el párrafo */
    max-width: 800px; /* Ancho máximo del párrafo */
}

body.dark-mode p {
    color: var(--text-color-dark); /* Color del texto del párrafo en modo oscuro */
}

body.dark-mode #eventsContainer.empty {
    color: #000000; /* Color del texto en modo oscuro */
}

#eventsContainer.empty {
    color: var(--text-color-light); /* Color del texto en modo claro */
    font-style: italic;
    min-height: 100px; /* Altura mínima cuando está vacío para centrar el texto */
}


.form {
    background-color: #ebedef; /* Color de fondo del formulario */
    padding: 20px;
    width: 500px;
    height: 250px;
    margin: 30px auto; /* Centrando el formulario con margen superior */
    border-radius: 8px; /* Bordes redondeados */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); /* Sombra para darle profundidad */
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.form:hover {
    transform: scale(1.02); /* Efecto de escalado en hover */
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.3); /* Aumenta la sombra en hover */
}

button {
    border: none;
    background-color: var(--button-background-light); /* Fondo del botón claro */
    padding: 10px 20px;
    margin: 10px auto;
    color: var(--button-color-light); /* Color del texto del botón claro */
    border-radius: 10px; /* Bordes redondeados */
    cursor: pointer; /* Cambia el cursor a mano en hover */
    transition: background-color 0.3s ease, transform 0.3s ease; /* Transiciones suaves */
}

body.dark-mode button {
    background-color: var(--button-background-dark); /* Fondo del botón oscuro */
    color: var(--button-color-dark); /* Color del texto del botón oscuro */
}

button:hover {
    background-color: rgb(0, 136, 220); /* Color de fondo en hover */
    transform: scale(1.05); /* Efecto de escalado en hover */
}


button:hover {
    background-color: rgb(0, 136, 220); /* Color de fondo en hover */
    transform: scale(1.05); /* Efecto de escalado en hover */
}

.form input {
    margin: 20px 0;
    padding: 10px;
    display: block;
    width: 100%;
    box-sizing: border-box;
}

.añadir {
    border: none;
    background-color: var(--button-background-dark); /* Fondo del botón oscuro */
    color: var(--button-color-dark); /* Color del texto del botón oscuro */
    padding: 16px;
    border-radius: 6px;
    margin-top: 10px;
}

#eventsContainer {
    background-color: #ebedef; /* Color de fondo */
    border-radius: 6px; /* Bordes redondeados */
    padding: 10px;
    width: 500px;
    margin: 100px auto; /* Centrando el contenedor de eventos */
    display: flex;
    flex-direction: column;
    gap: 5px;
    transition: transform 0.5s ease; /* Transición suave */
}

/* Efecto de entrada para el contenedor de eventos */
#eventsContainer {
    transform: translateY(-20px); /* Efecto inicial */
}

#eventsContainer.loaded {
    transform: translateY(0); /* Efecto al cargar */
}

/* Estilo de cada evento */
.event {
    border: solid 1px #ebedef; /* Borde de los eventos */
    padding: 10px;
    display: flex;
    align-items: center;
    justify-content: space-between; /* Espaciado entre los elementos */
    background-color: #ffffff; /* Fondo blanco para los eventos */
    border-radius: 6px; /* Bordes redondeados */
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); /* Sombra sutil */
    transition: box-shadow 0.3s ease; /* Transición suave */
}



.event:hover {
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); /* Aumenta la sombra en hover */
}

/* Estilo de los días en el evento */
.event .days {
    text-align: center;
    width: 80px; /* Ajusta el ancho */
    background-color: #f0f0f0; /* Fondo gris claro */
    border-radius: 4px; /* Bordes redondeados */
    padding: 10px;
}

/* Estilo del número de días */
.event .days .days-number {
    font-size: 25px;
    font-weight: bold;
    color: #333; /* Color del texto */
}

/* Estilo del nombre del evento */
.event .event-name,
.event .event-date {
    padding: 10px;
    width: calc(100% - 90px); /* Ajusta el ancho para dejar espacio para los días */
    text-align: left;
    color: #333; /* Color del texto */
}

/* Estilo de las acciones (botones) */
.event .actions {
    padding: 5px;
}

.event .actions .bDelete {
    background-color: rgb(255, 0, 102); /* Color del botón eliminar */
    color: #fff; /* Color del texto */
    padding: 5px 10px;
    border-radius: 4px;
    border: none;
    cursor: pointer;
    transition: background-color 0.3s ease, transform 0.3s ease; /* Transiciones suaves */
}

.event .actions .bDelete:hover {
    background-color: rgb(220, 0, 90); /* Color de fondo en hover */
    transform: scale(1.05); /* Efecto de escalado en hover */
}

/* Estilo del campo de categoría en el formulario */
.form-group {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    margin-bottom: 20px;
}

.form-label {
    font-weight: bold;
    margin-bottom: 5px;
    color: var(--text-color-light); /* Color del texto en modo claro */
}

.form-select {
    width: 100%;
    padding: 10px;
    border-radius: 4px;
    border: 1px solid #ddd;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.form-select:focus {
    border-color: rgb(0, 17, 255);
    outline: none;
    box-shadow: 0 0 0 2px rgba(0, 17, 255, 0.25);
}



#theme-toggle {
    display: none;
}

/* Pantallas pequeñas (teléfonos) */
@media (max-width: 767px) {
    .form {
        width: 90%; /* Ajusta el ancho del formulario para pantallas pequeñas */
        height: auto; /* Deja que la altura se ajuste automáticamente */
        padding: 15px; /* Ajusta el relleno */
    }
    
    #eventsContainer {
        width: 90%; /* Ajusta el ancho del contenedor de eventos */
        margin: 20px auto; /* Reduce el margen para pantallas pequeñas */
    }
    
    .event {
        flex-direction: column; /* Cambia la dirección del flex para pantallas pequeñas */
        align-items: flex-start; /* Alinea los elementos al principio */
        padding: 10px; /* Ajusta el relleno de los eventos */
    }
    
    .event .days {
        width: 100%; /* Ajusta el ancho de los días */
        text-align: left; /* Alinea el texto a la izquierda */
        margin-bottom: 10px; /* Añade un margen inferior */
    }
    
    .event .event-name,
    .event .event-date {
        width: 100%; /* Ajusta el ancho de nombre y fecha del evento */
        margin-bottom: 10px; /* Añade un margen inferior */
    }
    
    .event .actions {
        width: 100%; /* Ajusta el ancho de las acciones */
        text-align: center; /* Centra las acciones */
    }
    
    button {
        padding: 8px 16px; /* Ajusta el relleno del botón */
        margin: 5px auto; /* Ajusta el margen del botón */
    }
}

/* Estilos del botón de alternancia de tema flotante */
#theme-toggle {
    position: fixed;
    top: 20px;
    right: 20px;
    background-color: #ffffff;
    border: none;
    border-radius: 50%;
    padding: 10px;
    cursor: pointer;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    transition: background-color 0.3s ease, box-shadow 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000; /* Asegura que esté por encima de otros elementos */
}

#theme-toggle i {
    font-size: 18px;
    color: #333;
    transition: color 0.3s ease;
}

/* Estilo para el modo oscuro */
body.dark-mode #theme-toggle {
    background-color: #333;
    color: #fff;
}

body.dark-mode #theme-toggle i {
    color: #fff;
}

/* Agrega un efecto de hover para el botón */
#theme-toggle:hover {
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.3);
}

/* Pantallas pequeñas (teléfonos) */
@media (max-width: 767px) {
    #theme-toggle {
        top: auto; /* Permite que se ajuste automáticamente */
        right: auto; /* Permite que se ajuste automáticamente */
        bottom: 20px; /* Coloca el botón en la parte inferior */
        left: 20px; /* Coloca el botón en la parte izquierda */
    }
}
