/* estilos.css */

/* Variables de colores para una fácil personalización */
:root {
    /* Colores principales */
    --color-fondo: #1e1e2f; /* Fondo oscuro azul marino */
    --color-texto: #e0e0ff; /* Texto en blanco hueso */

    /* Header */
    --color-header: #4b0082; /* Índigo oscuro */
    --color-header-texto: #ffffff; /* Texto blanco en header */

    /* Navegación */
    --color-nav: #6a0dad; /* Violeta intenso */
    --color-nav-texto: #e0e0ff; /* Texto en blanco hueso */
    --color-nav-hover: #9370db; /* Violeta medio */

    /* Botones */
    --color-boton: #ff80ab; /* Rosa intenso */
    --color-boton-hover: #f50057; /* Rosa más oscuro */
    --color-boton-visitado: #ffffff; /* Blanco para texto de botones visitados */
    --color-boton-activo: #c51162; /* Rosa aún más oscuro */
    --color-boton-cancel: #b0bec5; /* Gris azulado */
    --color-boton-cancel-hover: #78909c; /* Gris azulado más oscuro */

    /* Formularios */
    --color-form-label: #dda0dd; /* Ciruela */
    --color-form-input-bg: #2e2e3d; /* Fondo gris oscuro */
    --color-form-input-border: #9370db; /* Violeta medio */

    /* Comentarios */
    --color-comentario-border: #7b1fa2; /* Violeta oscuro */

    /* Tablas */
    --color-tabla-header-bg: #6a0dad; /* Violeta intenso */
    --color-tabla-header-texto: #ffffff; /* Texto blanco para header de tabla */
    --color-tabla-borde: #9370db; /* Violeta medio */

    /* Galería */
    --color-galeria-borde: #7b1fa2; /* Violeta oscuro */

    /* Editor */
    --color-editor-bg: #2e2e3d; /* Fondo gris oscuro */
    --color-editor-texto: #e0e0ff; /* Texto en blanco hueso */
    --color-ck-editor-bg: #2e2e3d; /* Fondo de CKEditor */
    --color-ck-editor-texto: #e0e0ff; /* Texto de CKEditor */

    /* Enlaces */
    --color-enlaces: #dda0dd; /* Ciruela */
    --color-enlaces-hover: #ffb6c1; /* Rosa claro */

    /* Sidebar de emojis */
    --color-sidebar-bg: linear-gradient(180deg, #7b1fa2, #1e1e2f, #4b0082); /* Gradiente morado a negro */
    --color-sidebar-header-bg: #7b1fa2; /* Violeta oscuro */
    --color-sidebar-header-texto: #ffffff; /* Texto blanco en headers de categorías */
    --color-sidebar-emoji: #dda0dd; /* Ciruela para emojis */
    --color-sidebar-emoji-hover-bg: rgba(221, 160, 221, 0.5); /* Fondo de emojis al pasar el ratón */
    --color-sidebar-emoji-hover-texto: #ffffff; /* Texto de emojis al pasar el ratón */

    /* Mensajes */
    --color-mensaje-success-bg: #4caf50; /* Verde suave */
    --color-mensaje-success-texto: #ffffff; /* Texto blanco */
    --color-mensaje-error-bg: #f44336; /* Rojo suave */
    --color-mensaje-error-texto: #ffffff; /* Texto blanco */
    --color-mensaje-warning-bg: #ff9800; /* Naranja suave */
    --color-mensaje-warning-texto: #ffffff; /* Texto blanco */
    --color-mensaje-info-bg: #2196f3; /* Azul suave */
    --color-mensaje-info-texto: #ffffff; /* Texto blanco */

    /* Paginación */
    --color-paginacion-bg: #2e2e3d; /* Fondo gris oscuro */
    --color-paginacion-border: #7b1fa2; /* Violeta oscuro */
    --color-paginacion-texto: #dda0dd; /* Ciruela */
    --color-paginacion-current-bg: #7b1fa2; /* Violeta oscuro */
    --color-paginacion-current-texto: #ffffff; /* Texto blanco */
}

/* Reset de márgenes y padding */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* Tipografía base */
body {
    font-family: Arial, sans-serif;
    line-height: 1.6;
    color: var(--color-texto);
    max-width: 1000px;
    margin: 0 auto;
    padding: 20px;
    background-color: var(--color-fondo);
}

/* Contenedor principal */
.container {
    background-color: #2e2e3d; /* Fondo gris oscuro */
    border-radius: 8px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.5);
    padding: 20px;
}

/* Header */
header {
    background-color: var(--color-header);
    color: var(--color-header-texto);
    text-align: center;
    padding: 1rem;
    border-radius: 8px 8px 0 0;
}

header h1 {
    font-size: 2em;
    margin: 0;
}

/* Navegación */
nav {
    background-color: var(--color-nav);
    color: var(--color-nav-texto);
    padding: 10px;
}

nav ul {
    list-style-type: none;
    padding: 0;
    margin: 0;
}

nav ul li {
    display: inline;
    margin-right: 10px;
}

nav ul li a {
    color: var(--color-nav-texto);
    text-decoration: none;
    font-weight: bold;
    transition: color 0.3s ease;
}

nav ul li a:hover {
    color: var(--color-nav-hover);
}

#menu-toggle {
    display: none;
    background-color: var(--color-nav);
    color: var(--color-nav-texto);
    border: none;
    padding: 14px 16px;
    font-size: 18px;
    cursor: pointer;
    width: 100%;
    text-align: left;
}

/* Mensajes de advertencia */
.mensaje-advertencia {
    background-color: var(--color-mensaje-warning-bg);
    border: 1px solid #FFEEBA;
    color: var(--color-mensaje-warning-texto);
    padding: 15px;
    margin-bottom: 20px;
    border-radius: 4px;
}

/* Acceso item */
.acceso-item {
    background-color: #3a3a4d; /* Fondo gris muy oscuro */
    border: 1px solid #7b1fa2; /* Violeta oscuro */
    border-radius: 4px;
    padding: 15px;
    margin-bottom: 10px;
}

/* Emojis */
.emoji {
    font-size: 1.5em;
    margin-right: 5px;
    color: var(--color-sidebar-emoji);
}

/* Botones */
.button {
    display: inline-block;
    background-color: var(--color-boton);
    color: var(--color-boton-visitado);
    padding: 10px 20px;
    text-decoration: none;
    border-radius: 4px;
    margin-top: 20px;
    font-weight: bold;
    transition: background-color 0.3s ease;
}

.button:hover {
    background-color: var(--color-boton-hover);
}

.button:active {
    background-color: var(--color-boton-activo);
}

.button:visited {
    color: var(--color-boton-visitado);
}

/* Mejoras en la presentación de imágenes */
img {
    max-width: 100%;
    height: auto;
    border-radius: 8px;
    display: block;
    margin: 10px auto;
    box-shadow: 0 2px 4px rgba(0,0,0,0.5);
}

/* Contenido principal */
main {
    padding: 20px;
}

/* Entradas */
.entrada {
    background-color: #3a3a4d; /* Fondo gris muy oscuro */
    border: 1px solid var(--color-tabla-borde);
    margin-bottom: 20px;
    padding: 15px;
    border-radius: 5px;
    transition: box-shadow 0.3s ease;
}

.entrada:hover {
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
}

.entrada h2 {
    margin-top: 0;
}

/* Formularios */
form label {
    display: block;
    margin-top: 10px;
    color: var(--color-form-label);
    font-weight: bold;
}

form input[type="text"],
form input[type="password"],
form textarea {
    width: 100%;
    padding: 8px;
    margin-top: 5px;
    border: 1px solid var(--color-form-input-border);
    border-radius: 4px;
    box-sizing: border-box;
    background-color: var(--color-form-input-bg);
    color: var(--color-texto);
    transition: border-color 0.3s ease;
}

form input[type="text"]:focus,
form input[type="password"]:focus,
form textarea:focus {
    border-color: var(--color-nav-hover);
    outline: none;
}

form button {
    margin-top: 15px;
}

/* Comentarios */
.comentario {
    border-top: 1px solid var(--color-comentario-border);
    padding: 10px 0;
}

.comentario p {
    margin: 5px 0;
}

/* Mensajes */
.mensaje {
    padding: 10px;
    margin: 20px 0;
    border-radius: 5px;
    font-weight: bold;
}

.mensaje.success {
    background-color: var(--color-mensaje-success-bg);
    color: var(--color-mensaje-success-texto);
}

.mensaje.error {
    background-color: var(--color-mensaje-error-bg);
    color: var(--color-mensaje-error-texto);
}

.mensaje.warning {
    background-color: var(--color-mensaje-warning-bg);
    color: var(--color-mensaje-warning-texto);
}

.mensaje.info {
    background-color: var(--color-mensaje-info-bg);
    color: var(--color-mensaje-info-texto);
}

/* Tabla de gestión de usuarios */
table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 20px;
}

table th,
table td {
    border: 1px solid var(--color-tabla-borde);
    padding: 10px;
    text-align: left;
}

table th {
    background-color: var(--color-tabla-header-bg);
    color: var(--color-tabla-header-texto);
}

table tr:nth-child(even) {
    background-color: #2e2e3d; /* Fondo gris oscuro para filas pares */
}

/* Galería de multimedia */
.galeria {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 20px;
    justify-content: center;
}

.archivo {
    width: 100%;
    max-width: 300px;
    text-align: center;
}

.archivo img,
.archivo video,
.archivo audio {
    width: 100%;
    max-height: 200px;
    border-radius: 5px;
    object-fit: cover;
    border: 1px solid var(--color-galeria-borde);
}

/* Estilos específicos para el editor */
.main-container {
    background-color: #2e2e3d; /* Fondo gris oscuro */
    border-radius: 10px;
    box-shadow: 0 0 15px rgba(0,0,0,0.5);
    padding: 20px;
    margin: 20px 0;
}

header.edit-page-header {
    background: linear-gradient(45deg, #7b1fa2, #6a0dad);
    color: #ffffff;
    padding: 20px;
    border-radius: 10px 10px 0 0;
    text-align: center;
    transition: background 0.3s ease;
}

header.edit-page-header h1 {
    margin: 0;
    font-family: Arial, sans-serif;
    transition: color 0.5s ease;
}

input[type="text"],
textarea {
    border: 2px solid #9370db;
    border-radius: 5px;
    padding: 10px;
    width: calc(100% - 22px);
    margin-bottom: 15px;
    background-color: #3a3a4d; /* Fondo gris muy oscuro */
    color: var(--color-texto);
}

input[type="text"]:focus,
textarea:focus {
    border-color: var(--color-nav-hover);
    outline: none;
}

/* Estilos para CKEditor */
.ck-editor__editable {
    min-height: 300px;
    background-color: var(--color-ck-editor-bg);
    color: var(--color-ck-editor-texto);
}

/* Ajustes de contraste y accesibilidad */
a {
    color: var(--color-enlaces);
    transition: color 0.3s ease;
}

a:hover {
    color: var(--color-enlaces-hover);
    text-decoration: underline;
}

/* Selector de emojis */
.emoji-selector {
    display: flex;
    flex-direction: column;
    margin-top: 20px;
}

.emoji-category {
    margin-bottom: 20px;
}

.emoji-category h4 {
    cursor: pointer;
    margin: 0;
    padding: 10px;
    background: var(--color-sidebar-header-bg);
    color: var(--color-sidebar-header-texto);
    font-family: Arial, sans-serif;
    border-radius: 8px;
    transition: background 0.3s ease;
}

.emoji-category h4:hover {
    background: #9370db;
}

.emoji-container {
    display: none;
    margin: 10px 0;
}

.emoji-container.active {
    display: block;
}

.emoji {
    font-size: 26px;
    cursor: pointer;
    margin: 5px;
    user-select: none;
    display: inline-block;
    transition: transform 0.2s, background 0.2s, color 0.2s;
    padding: 4px;
    border-radius: 8px;
    color: var(--color-sidebar-emoji);
}

.emoji:hover {
    transform: scale(1.2);
    background: var(--color-sidebar-emoji-hover-bg);
    color: var(--color-sidebar-emoji-hover-texto);
}

/* Barra lateral de emojis */
#emoji-sidebar {
    position: fixed;
    top: 0;
    right: 0;
    width: 250px;
    height: 100vh;
    background: var(--color-sidebar-bg);
    border-left: 2px solid #e3e3e3;
    overflow-y: auto;
    padding: 10px;
    box-shadow: -2px 0 10px rgba(0,0,0,0.5);
}

#emoji-sidebar h3 {
    text-align: center;
    color: var(--color-sidebar-header-texto);
    margin-bottom: 10px;
}

/* Paginación */
.paginacion {
    margin-top: 20px;
    text-align: center;
}

.paginacion a,
.paginacion span {
    display: inline-block;
    padding: 5px 10px;
    margin: 0 5px;
    border: 1px solid var(--color-paginacion-border);
    border-radius: 3px;
    text-decoration: none;
    color: var(--color-paginacion-texto);
    transition: background-color 0.3s ease, color 0.3s ease;
}

.paginacion a:hover {
    background-color: var(--color-nav-hover);
    color: #ffffff;
}

.paginacion span {
    background-color: var(--color-paginacion-current-bg);
    color: var(--color-paginacion-current-texto);
    border-color: var(--color-paginacion-border);
}

/* Estilos para el perfil */
ul.lista-usuario {
    list-style-type: none;
    padding: 0;
}

ul.lista-usuario li {
    background-color: #3a3a4d; /* Fondo gris muy oscuro */
    margin: 10px 0;
    padding: 15px;
    border-radius: 5px;
    border: 1px solid #7b1fa2; /* Violeta oscuro */
    transition: background-color 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

ul.lista-usuario li:hover {
    background-color: #4b0082; /* Índigo oscuro */
}

ul.lista-usuario .emoji {
    font-size: 24px;
    margin-right: 5px;
    color: var(--color-sidebar-emoji);
}

/* Estilos para el panel de administración */
.stats {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    margin-bottom: 20px;
}

.stats div {
    padding: 15px;
    background-color: #6a0dad; /* Violeta intenso */
    border-radius: 5px;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
    flex: 1;
    margin: 10px;
    min-width: 200px;
    text-align: center;
}

.stats h3 {
    margin: 0 0 10px 0;
    color: var(--color-texto);
}

.stats p {
    margin: 0;
    font-size: 24px;
    font-weight: bold;
    color: #dda0dd; /* Ciruela */
}

/* Estilos para la página de edición */
.edit-page-container {
    display: flex;
}

.main-container {
    background-color: #2e2e3d; /* Fondo gris oscuro */
    border-radius: 10px;
    box-shadow: 0 0 15px rgba(0,0,0,0.5);
    padding: 20px;
    margin: 20px 0;
    max-width: 70%;
    flex: 1;
    display: inline-block;
    vertical-align: top;
}

/* Navegación entre entradas */
.navegacion-entradas {
    margin-top: 20px;
    display: flex;
    justify-content: space-between;
}

.navegacion-entradas .button {
    width: 48%;
    text-align: center;
}

/* Estilos para Entradas Recientes */
.entradas-recientes {
    margin-top: 40px;
}

.entradas-recientes h2 {
    font-size: 1.8em;
    margin-bottom: 20px;
    color: var(--color-texto);
}

.lista-entradas-recientes {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}

.entrada-resumen {
    flex: 1 1 calc(33.333% - 20px);
    background-color: #3a3a4d; /* Fondo gris muy oscuro */
    border: 1px solid var(--color-tabla-borde);
    border-radius: 5px;
    overflow: hidden;
    transition: box-shadow 0.3s ease;
}

.entrada-resumen:hover {
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
}

.entrada-resumen a {
    color: inherit;
    text-decoration: none;
}

.entrada-resumen img {
    width: 100%;
    height: auto;
    display: block;
}

.entrada-resumen h3 {
    font-size: 1.2em;
    margin: 10px;
    color: var(--color-texto);
}

.entrada-resumen p {
    margin: 0 10px 10px 10px;
    color: #dda0dd; /* Ciruela */
}

/* Ajustes responsivos para Entradas Recientes */
@media screen and (max-width: 768px) {
    .lista-entradas-recientes {
        flex-direction: column;
    }

    .entrada-resumen {
        flex: 1 1 100%;
    }
}

/* Responsividad */
@media screen and (max-width: 768px) {
    /* Navegación */
    nav ul {
        display: none;
        flex-direction: column;
    }

    nav li {
        width: 100%;
    }

    #menu-toggle {
        display: block;
    }

    /* Contenedor principal con Flexbox */
    .edit-page-container {
        flex-direction: column;
    }

    /* Asegurar que el contenido y la barra lateral ocupen el 100% */
    #emoji-sidebar {
        position: static;
        width: 100%;
        height: auto;
        border-left: none;
        border-top: 2px solid #e3e3e3;
        box-shadow: none;
        margin-top: 20px;
    }

    /* Ajustes para entrada.php */
    .entrada-container {
        flex-direction: column;
    }

    .entrada-detalle {
        padding-right: 0;
    }

    /* Ajustar el tamaño de las imágenes si es necesario */
    .contenido img,
    .entrada img {
        max-width: 100%;
        height: auto;
    }

    /* Ajustar la fuente y espaciado para una mejor legibilidad */
    .contenido p,
    .entrada p {
        font-size: 1.1em;
        line-height: 1.6;
    }

    /* Asegurar que los botones sean fácilmente clicables */
    .button {
        width: 100%;
        padding: 12px;
        font-size: 1em;
    }

    /* Ajustes adicionales para las secciones */
    .stats {
        flex-direction: column;
        align-items: center;
    }

    .stats div {
        width: 100%;
        max-width: 300px;
    }
}

@media screen and (max-width: 600px) {
    nav ul li {
        display: block;
        margin-bottom: 10px;
    }

    #menu-toggle {
        display: block;
    }

    nav ul {
        display: none;
    }

    nav ul.show {
        display: block;
    }

    /* Ajustar padding en formularios */
    form input[type="text"],
    form input[type="password"],
    form textarea {
        padding: 6px;
    }

    /* Ajustar botones */
    .button {
        padding: 8px 12px;
        font-size: 14px;
    }
}

/* Ajustes para la presentación de imágenes */
img.loaded {
    opacity: 1;
    transition: opacity 0.3s ease-in-out;
}
