﻿
/*header*/
.magazine-header {
    text-align: center;
    margin-top: 1rem;
}

.magazine-title-link {
    font-family: 'Playfair Display', serif;
    font-size: 2rem;
    text-decoration: none;
    color: #333;
}

.season-subtitle {
    font-size: 1rem;
    color: #666;
}

.main-menu {
    background-color: #f8f9fa;
    border-top: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
}

.navbar-nav .nav-link {
    font-weight: 500;
    color: #333;
}

    .navbar-nav .nav-link:hover {
        color: #007bff;
    }




/* ============================
   TARJETAS Y GRID
   ============================ */

/* Las columnas internas del mosaic deben comportarse como bloques */
.mosaic .col-12,
.mosaic .col-md-6,
.mosaic .col-lg-4 {
    display: flex;
}

/* Tarjetas */
.card {
    background: #f4f4f4;
    border: 1px solid #ddd;
    padding: 1rem;
    border-radius: 4px;
    width: 100%;
    display: block;
}

/* Imágenes */
.featured-image {
    width: 100%;
    height: auto;
    object-fit: cover;
    border-radius: 4px;
    margin-bottom: 1rem;
}

/* Categorías */
.category {
    font-size: 0.85rem;
    font-weight: bold;
    color: #0077cc;
    margin-bottom: 0.5rem;
    text-transform: uppercase;
}

/* Enlaces */
.card-link {
    display: block;
    color: inherit;
    text-decoration: none;
}

    .card-link:hover h2 {
        text-decoration: underline;
    }

/* ============================
   ASIDES ESTILO PERIÓDICO
   ============================ */

.aside-periodico {
    padding: 1rem;
    background: #fafafa;
    border-left: 1px solid #ddd;
    border-right: 1px solid #ddd;
    font-size: 0.95rem;
    line-height: 1.5;
}

/* Sticky ads */
.aside-sticky {
    position: sticky;
    top: 1rem;
    height: fit-content;
}

/* Widgets */
.aside-widget {
    margin-bottom: 2rem;
}

.widget-title {
    font-size: 1rem;
    font-weight: bold;
    margin-bottom: 0.8rem;
    padding-bottom: 0.3rem;
    border-bottom: 2px solid #0077cc;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

/* Banners */
.aside-banner {
    width: 100%;
    border-radius: 4px;
    display: block;
}

/* Listas */
.aside-list {
    list-style: none;
    padding-left: 0;
    margin: 0;
}

    .aside-list li {
        margin-bottom: 0.6rem;
    }

    .aside-list a {
        text-decoration: none;
        color: #0077cc;
        font-weight: 500;
    }

        .aside-list a:hover {
            text-decoration: underline;
        }

/* ============================
   LIMPIEZA DE FLEXBOX ANTIGUO
   ============================ */

.card.small,
.card.medium,
.card.large {
    flex: none !important;
}

/*
    Así, aunque subas una imagen de 300 px, si el aside cambia de tamaño en móvil, la imagen se adapta sola.

*/
aside img {
    width: 100%;
    height: auto;
    display: block;
}

/* footer premium oscuro */

.footer-premium {
    background: #111;
    color: #ddd;
    padding: 3rem 0;
    margin-top: 4rem;
    font-family: 'Inter', sans-serif;
}

    .footer-premium a {
        color: #ccc;
        text-decoration: none;
    }

        .footer-premium a:hover {
            color: #fff;
        }

.footer-top {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: 2rem;
}

.footer-logo {
    text-align: center;
}

    .footer-logo img {
        width: 60px;
        height: auto;
        max-height:80px;
        margin-bottom: 0.5rem;
    }

    .footer-logo h3 {
        font-family: 'Playfair Display', serif;
        color: #fff;
        margin: 0;
    }

.footer-about {
    max-width: 350px;
}

    .footer-about h4,
    .footer-social h4 {
        color: #fff;
        margin-bottom: 0.5rem;
    }

    .footer-about p {
        color: #bbb;
        font-size: 0.95rem;
    }

.footer-social .social-icons a {
    font-size: 1.5rem;
    margin-right: 0.7rem;
}

.footer-menu {
    text-align: center;
    margin: 2rem 0;
}

    .footer-menu a {
        margin: 0 0.7rem;
        font-weight: 500;
    }

.footer-legal {
    text-align: center;
    font-size: 0.9rem;
    color: #aaa;
}

.footer-copy {
    margin-top: 0.5rem;
    color: #777;
}

/* Responsive */
@media (max-width: 768px) {
    .footer-top {
        flex-direction: column;
        text-align: center;
        gap: 2rem;
    }
}
