/* ========================================
   UNIVERSO BELL HOUSE
======================================== */

/* Hero */
.universo-hero {
    height: 100vh;
    background-color: var(--color-background);
    padding: 0px;
}

.universo-hero-container {
    display: flex;
    gap: 0px;
    height: 100%;
}

.hero-left {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 40px;
}

.hero-titulo {
    font-family: var(--font-serif);
    font-size: 56px;
    letter-spacing: -1px;
    font-weight: 100;
    line-height: 0.9;
    margin: 0;
}

.hero-img-pequena {
    width: 35%;
    aspect-ratio: 4 / 5;
    overflow: hidden;
}

.hero-img-pequena img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.hero-right {
    flex: 1;
    display: flex;
    overflow: hidden;
}

.hero-right img {
    width: 100%;
    height: 100%;
    object-fit: cover;


    transform: scale(1.05);
    transition: transform 2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    transform-origin: center center;
}

.hero-right img.loaded {
    transform: scale(1);
}

/* ========================================
   RESPONSIVE TABLET
======================================== */

@media (max-width: 1024px) {
    .universo-hero {
        height: 100vh;
        padding: 0;
    }
    
    .universo-hero-container {
        position: relative;
        flex-direction: column;
        height: 100%;
    }
    
    .hero-left {
        position: absolute;
        bottom: 40px;
        left: 40px;
        z-index: 3;
        gap: 0;
        align-items: flex-start;
        justify-content: flex-end;
    }
    
    .hero-titulo {
        font-size: 50px; /* ⭐ Intermedio entre desktop (56px) y móvil (46px) */
        color: var(--color-light);
        line-height: 1;
    }
    
    .hero-img-pequena {
        display: none; /* ⭐ Ocultar también en tablet */
    }
    
    .hero-right {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        z-index: 1;
    }
    
    .hero-right img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    
    /* ⭐ Overlay oscuro sobre la imagen */
    .hero-right::after {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.3);
        z-index: 2;
    }
}

/* Responsive */
@media (max-width: 768px) {
    .universo-hero {
        height: 100vh;
        padding: 0;
    }
    
    .universo-hero-container {
        position: relative;
        flex-direction: column;
        height: 100%;
    }
    
    .hero-left {
        position: absolute;
        bottom: 30px;
        left: 30px;
        z-index: 3; /* ⭐ Por encima del overlay */
        gap: 0;
        align-items: flex-start;
        justify-content: flex-end;
    }
    
    .hero-titulo {
        font-size: 46px;
        color: var(--color-light);
        line-height: 1;
    }
    
    .hero-img-pequena {
        display: none;
    }
    
    .hero-right {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        z-index: 1;
    }
    
    .hero-right img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    
    /* ⭐ Overlay oscuro sobre la imagen */
    .hero-right::after {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.3); /* ⭐ Negro al 30% */
        z-index: 2;
    }
}

@media (max-width: 480px) {
    .hero-left {
        bottom: 20px;
        left: 20px;
    }
    
    .hero-titulo {
        /* font-size: 38px; */
        font-size: 46px;

    }
}





/* Historia */
.universo-historia {
    display: flex;
    flex-direction: column;
    background-color: var(--color-background);
    padding: 80px 0;
}

/* Texto historia */
.text-historia {
    display: flex;
    flex-direction: row;
    padding: 0 30px 80px 30px;
}

.historia-vacio {
    flex: 1;
}

.historia-texto {
    flex: 1;
    /* font-family: var(--font-texts);
    font-size: 16px;
    line-height: 1.6;
    color: var(--color-dark); */
    font-family: var(--font-texts);
    font-size: 20px;
    line-height: 1.3;
    color: var(--color-dark);
    font-weight: 300;
    letter-spacing: -1px;
    padding-left: 20px;
}

.historia-texto p {
    margin-bottom: 20px;
}

/* Ocultar imagen pequeña por defecto (desktop) */
/* ⭐ Ocultar por defecto (DESKTOP) */
.huecoEimagen {
    display: none;
}

/* Imagen historia - a sangre con proporción 5:4 */
.historia-imagen {
    width: 100%;
    aspect-ratio: 5 / 4;
    overflow: hidden;
}

.historia-imagen img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Responsive */
/* ========================================
   RESPONSIVE TABLET
======================================== */

@media (max-width: 1024px) {
    .universo-historia {
        padding: 70px 0;
    }
    
    .text-historia {
        flex-direction: column;
        padding: 0 30px 50px 30px;
    }
    
    .historia-vacio {
        display: none;
    }
    
    .historia-texto {
        font-size: 19px;
        line-height: 1.3;
        padding-left: 0;
    }
    
    .historia-texto p {
        margin-bottom: 18px;
    }

    /* ⭐ MOSTRAR imagen pequeña en tablet */
    .huecoEimagen {
        display: flex;
        flex-direction: row;
        padding: 30px;
        padding-bottom: 40px;
    }
    
    .hueco {
        flex: 1;
    }
    
    .historia-imagen-pequena {
        flex: 1;
        display: flex;
        justify-content: center;
        align-items: center;
    }
    
    .historia-imagen-pequena img {
        width: 100%;
        aspect-ratio: 4/5;
        object-fit: cover;
    }
    
    /* Imagen grande a sangre con ratio 5/4 en tablet */
    .historia-imagen {
        width: 100vw;
        aspect-ratio: 5/4; /* ⭐ Horizontal en tablet */
        margin: 0;
    }
}

@media (max-width: 768px) {
    .universo-historia {
        padding: 60px 0; /* ⭐ Sin padding lateral para imagen a sangre */
    }
    
    .text-historia {
        flex-direction: column;
        padding: 0 20px 40px 20px; /* ⭐ Solo el texto tiene padding */
    }
    
    .historia-texto {
        font-size: 18px;
        line-height: 1.3;
        padding-left: 0;
    }
    
    .historia-texto p {
        margin-bottom: 15px;
    }

    /* ⭐ MOSTRAR solo en móvil */
    .huecoEimagen {
        display: flex;
        flex-direction: row;
        padding: 20px;
        /* padding: 0 0 40px 0; */
        padding-bottom: 30px;
    }
    
    .hueco {
        flex: 1;
    }
    
    .historia-imagen-pequena {
        flex: 1;
        display: flex;
        justify-content: center;
        align-items: center;
    }
    
    .historia-imagen-pequena img {
        width: 100%;
        aspect-ratio: 4/5;
        object-fit: cover;
    }
    
    /* Imagen grande a sangre con ratio 4/5 */
    .historia-imagen {
        width: 100vw;
        aspect-ratio: 4/5;
        margin: 0;
    }
}

@media (max-width: 480px) {
    .universo-historia {
        padding: 40px 0;
    }
    
    .text-historia {
        padding: 0 20px 30px 20px;
    }
    
    .historia-texto {
        font-size: 16px;
    }
}




/* Equipo */
.universo-equipo {
    display: flex;
    flex-direction: column;
    background-color: var(--color-background);
    padding: 80px 20px;
    gap: 60px;
}

/* Header: Título y texto */
.equipo-header {
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding-left: 10px;
    padding-right: 10px;
    /* max-width: 800px; */
}

.equipo-titulo {
    font-family: var(--font-serif);
    font-size: 56px;
    letter-spacing: -1px;
    font-weight: 100;
    line-height: 0.9;
    margin: 0;
    color: var(--color-dark);
}

.equipo-texto {
    font-family: var(--font-texts);
    font-size: 20px;
    line-height: 1.1;
    color: var(--color-dark);
    margin: 0;
    font-weight: 300;
    letter-spacing: -1px;
    width: 35%;
}

.equipo-grid {
    display: grid;
    gap: 15px;
}

/* 1-5 miembros: una fila */
.equipo-grid[data-count="1"] { grid-template-columns: repeat(1, 1fr); }
.equipo-grid[data-count="2"] { grid-template-columns: repeat(2, 1fr); }
.equipo-grid[data-count="3"] { grid-template-columns: repeat(3, 1fr); }
.equipo-grid[data-count="4"] { grid-template-columns: repeat(4, 1fr); }
.equipo-grid[data-count="5"] { grid-template-columns: repeat(5, 1fr); }

/* 6+ miembros: dos filas, máximo 5 columnas */
.equipo-grid[data-count="6"] { 
    grid-template-columns: repeat(5, 1fr);
}

/* Card de miembro */
.equipo-card {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.equipo-foto {
    width: 100%;
    aspect-ratio: 3 / 4;
    overflow: hidden;
}

.equipo-foto img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.equipo-nombre {
    font-family: var(--font-texts);
    font-size: 18px;
    font-weight: 400;
    margin: 0;
    color: var(--color-dark);
}

.equipo-cargo {
    font-family: var(--font-texts);
    font-size: 14px;
    font-weight: 300;
    margin: 0;
    color: var(--color-medium-grey);
}

/* ========================================
   RESPONSIVE TABLET
======================================== */

@media (max-width: 1024px) {
    .universo-equipo {
        padding: 70px 0;
        gap: 50px;
    }
    
    .equipo-header {
        padding: 0 30px;
    }
    
    .equipo-titulo {
        font-size: 48px;
        line-height: 0.95;
    }
    
    .equipo-texto {
        font-size: 19px;
        width: 60%; /* ⭐ Intermedio entre desktop (35%) y móvil (100%) */
        line-height: 1.2;
    }
    
    /* ⭐ Convertir grid a carousel horizontal en tablet */
    .equipo-grid {
        display: flex !important;
        flex-direction: row;
        gap: 15px;
        overflow-x: auto;
        scroll-behavior: smooth;
        padding: 0 30px 20px 30px;
        scrollbar-width: none;
        -ms-overflow-style: none;
    }
    
    .equipo-grid::-webkit-scrollbar {
        display: none;
    }
    
    /* ⭐ Cards con ancho fijo para tablet */
    .equipo-card {
        flex-shrink: 0;
        width: 45vw; /* ⭐ Más pequeñas que móvil (60vw) */
    }
    
    .equipo-foto {
        aspect-ratio: 3/4;
    }
    
    .equipo-nombre {
        font-size: 17px;
    }
    
    .equipo-cargo {
        font-size: 13px;
    }
}

/* Responsive */
@media (max-width: 768px) {
    .universo-equipo {
        padding: 60px 0; /* ⭐ Sin padding lateral */
        gap: 40px;
    }
    
    .equipo-header {
        padding: 0 20px;
    }
    
    .equipo-titulo {
        font-size: 40px;
        line-height: 1;
    }
    
    .equipo-texto {
        font-size: 18px;
        width: 100%; /* ⭐ Ancho completo */
        line-height: 1.3;
    }
    
    /* ⭐ Convertir grid a carousel horizontal */
    .equipo-grid {
        display: flex !important; /* ⭐ Anular todos los grid de data-count */
        flex-direction: row;
        gap: 15px;
        overflow-x: auto; /* ⭐ Scroll horizontal */
        scroll-behavior: smooth; /* ⭐ Scroll suave */
        padding: 0 20px 20px 20px;
        scrollbar-width: none; /* Firefox */
        -ms-overflow-style: none; /* IE/Edge */
    }
    
    .equipo-grid::-webkit-scrollbar {
        display: none; /* Chrome/Safari */
    }
    
    /* ⭐ Cards con ancho fijo */
    .equipo-card {
        flex-shrink: 0;
        width: 60vw; /* ⭐ Ancho basado en viewport */
    }
    
    .equipo-foto {
        aspect-ratio: 3/4; /* ⭐ Mantener proporción vertical */
    }
    
    .equipo-nombre {
        font-size: 16px;
    }
    
    .equipo-cargo {
        font-size: 13px;
    }
}

@media (max-width: 480px) {
    .universo-equipo {
        padding: 40px 0;
    }
    
    .equipo-titulo {
        font-size: 40px;
    }
    
    .equipo-texto {
        font-size: 16px;
    }
    
    .equipo-card {
        width: 65vw; /* ⭐ Más ancho en móviles pequeños */
    }
    
    .equipo-nombre {
        font-size: 15px;
    }
    
    .equipo-cargo {
        font-size: 12px;
    }
}







/* Publicaciones */
.universo-publicaciones {
    display: flex;
    flex-direction: column;
    background-color: var(--color-background);
    /* padding: 80px 40px; */
    padding: 0px;
    gap: 60px;
}

.publicaciones-titulo {
    padding: 80px 30px;
    padding-bottom: 10px;
    font-family: var(--font-serif);
    font-size: 56px;
    letter-spacing: -1px;
    font-weight: 100;
    line-height: 0.9;
    margin: 0;
    color: var(--color-dark);
}

/* Grid de publicaciones */
.publicaciones-grid {
    display: grid;
    gap: 0;
    border-top: 1px solid var(--color-light-grey);
    border-bottom: 1px solid var(--color-light-grey);
}

/* 1-3 publicaciones: una fila */
.publicaciones-grid[data-count="1"] { grid-template-columns: repeat(1, 1fr); }
.publicaciones-grid[data-count="2"] { grid-template-columns: repeat(2, 1fr); }
.publicaciones-grid[data-count="3"] { grid-template-columns: repeat(3, 1fr); }

/* 4+ publicaciones: dos filas, máximo 3 columnas */
.publicaciones-grid[data-count="4"],
.publicaciones-grid[data-count="5"],
.publicaciones-grid[data-count="6"] { 
    grid-template-columns: repeat(3, 1fr);
}

/* Card de publicación */
.publicacion-card {
    position: relative;
    aspect-ratio: 4 / 5;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 60px;
    text-decoration: none;
    transition: all 0.3s ease;
    overflow: hidden;
    
    /* Bordes inteligentes */
    border-right: 1px solid var(--color-light-grey);
    border-bottom: 1px solid var(--color-light-grey);
}

/* Quitar borde derecho en la última columna de cada fila */
.publicaciones-grid[data-count="1"] .publicacion-card:nth-child(1n),
.publicaciones-grid[data-count="2"] .publicacion-card:nth-child(2n),
.publicaciones-grid[data-count="3"] .publicacion-card:nth-child(3n),
.publicaciones-grid[data-count="4"] .publicacion-card:nth-child(3n),
.publicaciones-grid[data-count="5"] .publicacion-card:nth-child(3n),
.publicaciones-grid[data-count="6"] .publicacion-card:nth-child(3n) {
    border-right: none;
}

/* Quitar borde inferior en la última fila */
.publicaciones-grid[data-count="1"] .publicacion-card:nth-last-child(-n+1),
.publicaciones-grid[data-count="2"] .publicacion-card:nth-last-child(-n+2),
.publicaciones-grid[data-count="3"] .publicacion-card:nth-last-child(-n+3),
.publicaciones-grid[data-count="4"] .publicacion-card:nth-last-child(-n+1),
.publicaciones-grid[data-count="5"] .publicacion-card:nth-last-child(-n+2),
.publicaciones-grid[data-count="6"] .publicacion-card:nth-last-child(-n+3) {
    border-bottom: none;
}

/* Hover: Cambiar fondo */
.publicacion-card:hover {
    /* background-color: var(--color-corporative); */
    transform: translateY(-10px);
}

/* Nombre de publicación (oculto por defecto) */
.publicacion-nombre {
    position: absolute;
    top: 40px;
    /* left: 40px;
    right: 40px; */
    left: 50%;
    transform: translateX(-50%);

    font-family: var(--font-serif);
    font-size: 18px;
    font-weight: 400;
    color: var(--color-dark);
    opacity: 0;
    transition: opacity 0.3s ease;
    z-index: 2;
    display: none;
}

/* Mostrar nombre al hover */
.publicacion-card:hover .publicacion-nombre {
    opacity: 1;
}

/* Imagen de revista */
.publicacion-imagen {
    width: 80%;
    /* aspect-ratio: 9 / 12; */
    aspect-ratio: 1300 / 1920;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
}

.publicacion-imagen img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Responsive */
/* ========================================
   RESPONSIVE TABLET
======================================== */

@media (max-width: 1024px) {
    .universo-publicaciones {
        padding: 0;
        gap: 50px;
    }
    
    .publicaciones-titulo {
        font-size: 48px;
        padding: 70px 30px 0px 30px;
    }
    
    /* ⭐ Grid de 2 columnas en tablet */
    .publicaciones-grid,
    .publicaciones-grid[data-count="1"],
    .publicaciones-grid[data-count="2"],
    .publicaciones-grid[data-count="3"],
    .publicaciones-grid[data-count="4"],
    .publicaciones-grid[data-count="5"],
    .publicaciones-grid[data-count="6"] {
        grid-template-columns: repeat(2, 1fr) !important;
    }
    
    .publicacion-card {
        padding: 50px 40px;
        aspect-ratio: 4/5;
    }
    
    /* ⭐ Bordes para grid 2 columnas */
    /* Quitar borde derecho en columnas pares (2, 4, 6...) */
    .publicacion-card:nth-child(2n) {
        border-right: none !important;
    }
    
    /* Quitar borde inferior en las últimas 2 cards */
    .publicacion-card:nth-last-child(-n+2) {
        border-bottom: none !important;
    }
    
    /* Si son impares (ej: 5 publicaciones), la última también sin borde inferior */
    .publicacion-card:last-child {
        border-bottom: none !important;
    }
    
    .publicacion-nombre {
        font-size: 17px;
        top: 35px;
        left: 35px;
        right: 35px;
    }
    
    .publicacion-imagen {
        width: 75%;
        aspect-ratio: 9/12;
    }
}





@media (max-width: 768px) {
    .universo-publicaciones {
        padding: 0; /* ⭐ Sin padding lateral */
        gap: 40px;
    }
    
    .publicaciones-titulo {
        font-size: 40px;
        padding: 60px 20px 0px 20px;
    }
    
    /* ⭐ Grid de 1 columna */
    .publicaciones-grid,
    .publicaciones-grid[data-count="1"],
    .publicaciones-grid[data-count="2"],
    .publicaciones-grid[data-count="3"],
    .publicaciones-grid[data-count="4"],
    .publicaciones-grid[data-count="5"],
    .publicaciones-grid[data-count="6"] {
        grid-template-columns: 1fr !important;
    }
    
    .publicacion-card {
        padding: 40px 20px;
        aspect-ratio: auto; /* ⭐ Altura automática */
        min-height: 400px; /* ⭐ Altura mínima */
        border-right: none !important; /* ⭐ Sin bordes laterales */
        border-bottom: 1px solid var(--color-light-grey);
    }
    
    /* ⭐ Quitar borde inferior de la última card */
    .publicacion-card:last-child {
        border-bottom: none !important;
    }
    
    .publicacion-nombre {
        font-size: 16px;
        top: 30px;
        left: 30px;
        right: 30px;
    }
    
    .publicacion-imagen {
        width: 70%; /* ⭐ Más ancha en móvil */
        aspect-ratio: 9/12;
    }
}

@media (max-width: 480px) {
    .publicaciones-titulo {
        font-size: 40px;
        padding: 40px 20px 0px 20px;
    }
    
    .publicacion-card {
        padding: 30px 20px;
        min-height: 350px;
    }
    
    .publicacion-nombre {
        font-size: 15px;
        top: 25px;
        left: 25px;
        right: 25px;
    }
    
    .publicacion-imagen {
        width: 75%; /* ⭐ Aún más ancha */
    }
}