/* ------------------------------------- */
/* VARIABLES FUSIONADAS (TUS IMÁGENES + COLORES OSCUROS) */
/* ------------------------------------- */
:root {
    /* Mantenemos tus imágenes */
    --header-image: url('https://i.pinimg.com/736x/74/ff/93/74ff93cb78f4f7ae7275602bae99da58.jpg');
    --body-bg-image: url('https://gifdb.com/images/thumbnail/twinkle-star-background-d63lofyxcoyronvx.gif');

    /* Colores oscuros que te gustaron: */
    --color-fondo-base: #120A1A; /* Negro muy oscuro, casi morado */
    --color-texto-principal: #E6E0F8; /* Blanco suave/gris claro */
    --color-acento-claro: #A855F7; /* Morado eléctrico para links/bordes */
    --color-acento-oscuro: #241445; /* Morado oscuro para cajas/sidebar */
    --color-principal-main: #43256E; /* Morado medio para el contenido principal */
}

/* ------------------------------------- */
/* FUENTES Y CUERPO (BODY) */
/* ------------------------------------- */
@font-face {
    font-family: Nunito;
    src: url('https://sadhost.neocities.org/fonts/Nunito-Regular.ttf');
}

@font-face {
    font-family: Nunito;
    src: url('https://sadhost.neocities.org/fonts/Nunito-Bold.ttf');
    font-weight: bold;
}

@font-face {
    font-family: Nunito;
    src: url('https://sadhost.neocities.org/fonts/Nunito-Italic.ttf');
    font-style: italic;
}

@font-face {
    font-family: Nunito;
    src: url('https://sadhost.neocities.org/fonts/Nunito-BoldItalic.ttf');
    font-style: italic;
    font-weight: bold;
}

body {
    font-family: 'Nunito', sans-serif;
    margin: 0;
    /* Aplicamos el color de fondo oscuro y la imagen de estrellas */
    background-color: var(--color-fondo-base);
    background-size: 65px;
    color: var(--color-texto-principal);
    background-image: var(--body-bg-image);
}

* {
    box-sizing: border-box;
}

/* ------------------------------------- */
/* LAYOUT Y CONTENEDORES */
/* ------------------------------------- */
#container {
    max-width: 900px;
    margin: 0 auto;
}

/* Enlaces fuera de la barra de navegación */
#container a {
    color: var(--color-acento-claro); /* Usamos el morado eléctrico */
    font-weight: bold;
    text-decoration: none;
}

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

/* Header */
#header {
    width: 100%;
    background-color: var(--color-principal-main);
    height: 150px;
    background-image: var(--header-image);
    background-size: cover; /* Cambiado a 'cover' para que se ajuste mejor */
    background-position: center;
}

/* Navigation Bar */
#navbar {
    height: 40px;
    background-color: #13092D;
    width: 100%;
}

#navbar ul {
    display: flex;
    padding: 0;
    margin: 0;
    list-style-type: none;
    justify-content: space-evenly;
}

#navbar li {
    padding-top: 10px;
}

#navbar li a {
    color: var(--color-acento-claro); 
    font-weight: 800;
    text-decoration: none;
}

#navbar li a:hover {
    color: var(--color-texto-principal); 
    text-decoration: underline;
}

#flex {
    display: flex;
}

/* Sidebars */
aside {
    background-color: var(--color-acento-oscuro); 
    width: 200px;
    padding: 20px;
    font-size: smaller;
}

/* Main Content */
main {
    background-color: var(--color-principal-main); 
    flex: 1;
    padding: 20px;
    order: 2;
}

/* Títulos */
h1, h2, h3 {
    color: var(--color-texto-principal); 
    text-shadow: 1px 1px 2px var(--color-acento-claro);
}

h1 {
    font-size: 25px;
    text-align: center; /* Centramos tu nuevo título de página */
    padding-top: 10px;
}

strong {
    color: var(--color-acento-claro);
}

/* Box (Updates, etc.) */
.box {
    background-color: #13092D;
    border: 1px solid var(--color-acento-claro);
    padding: 10px;
}

/* Footer */
footer {
    background-color: var(--color-acento-oscuro); 
    width: 100%;
    height: 40px;
    padding: 10px;
    text-align: center;
    color: var(--color-texto-principal);
}

/* ------------------------------------- */
/* MEDIA QUERY (RESPONSIVE) */
/* ------------------------------------- */
@media only screen and (max-width: 800px) {
    #flex {
        flex-wrap: wrap;
    }
    aside {
        width: 100%;
    }
    main {
        order: 1;
    }
    #leftSidebar {
        order: 2;
    }
    #rightSidebar {
        order: 3;
    }
    #navbar ul {
        flex-wrap: wrap;
    }
}

/* ------------------------------------- */
/* ESTILO DE FICHAS DE PROYECTOS (STORIES) */
/* ------------------------------------- */

.proyecto-ficha {
    display: grid;
    /* La ficha se divide en 2 columnas: 1 para la portada (150px) y 1 para el contenido */
    grid-template-columns: 150px 1fr; 
    gap: 20px;
    
    background-color: var(--color-acento-oscuro); /* Fondo morado oscuro */
    border: 1px solid var(--color-acento-claro); /* Borde morado eléctrico */
    padding: 15px;
    margin-bottom: 25px; /* Espacio entre fichas */
}

/* Estilo para la portada (cuadrado) */
.ficha-portada {
    width: 150px;
    height: 100%; /* Ocupa toda la altura disponible */
    overflow: hidden;
}

.ficha-portada img {
    width: 100%;
    height: auto;
    display: block;
    /* Efecto para que las imágenes (portadas) sean visibles */
    object-fit: cover; 
}

/* Estilo para el contenido de la ficha (rectángulo) */
.ficha-contenido {
    display: flex; /* Usamos flexbox para organizar el contenido verticalmente */
    flex-direction: column;
    justify-content: space-between; /* Mantiene el contenido espaciado */
}

.ficha-contenido h2 {
    color: var(--color-texto-principal); /* Título principal de la ficha en blanco */
    font-size: 1.5em;
    margin-top: 0;
    margin-bottom: 5px;
    text-align: center; /* Título centrado */
    text-decoration: underline;
}

/* Enlace del título */
.ficha-contenido a {
    text-decoration: none; /* Quitamos el underline por defecto del a, lo ponemos en h2 */
    color: var(--color-texto-principal);
}

.ficha-contenido a:hover h2 {
    color: var(--color-acento-claro); /* El título cambia de color al pasar el ratón */
    text-decoration: underline;
}

/* Estilo para temas (pequeño y centrado) */
.ficha-temas {
    color: var(--color-acento-claro); /* Morado eléctrico para las etiquetas */
    font-size: 0.8em;
    font-weight: bold;
    text-align: center; /* Temas centrado */
    margin: 5px 0 10px 0;
}

/* Estilo para sinopsis */
.ficha-sinopsis {
    font-size: 0.9em;
    margin: 0;
    /* Opcional: Justifica el texto para un look más formal */
    text-align: justify; 
}

/* RESPONSIVE: En pantallas pequeñas, la portada va arriba y ocupa todo el ancho */
@media (max-width: 600px) {
    .proyecto-ficha {
        /* Pone la portada y el contenido en una sola columna vertical */
        grid-template-columns: 1fr; 
        gap: 10px;
    }
    
    .ficha-portada {
        width: 100%; /* La portada ocupa todo el ancho de la pantalla */
        height: auto;
        text-align: center; /* Centramos la portada si la imagen es pequeña */
    }
    .ficha-portada img {
        max-width: 150px; /* Tamaño máximo para que no se estire demasiado */
        margin: 0 auto;
    }
    
    .ficha-contenido h2 {
        font-size: 1.2em; /* Título un poco más pequeño en móvil */
    }
}