/* =========================================
   LAYOUT: Estructura, Grillas y Espaciado
   Casa Yangoe
   ========================================= */

/* Contenedor Principal */
.container {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 2rem;
}

/* Secciones Generales */
section {
    padding: var(--spacing-xl) 0;
    position: relative;
}

/* Grid System General */
.grid {
    display: grid;
    gap: var(--spacing-md);
}

.grid-2 {
    grid-template-columns: repeat(2, 1fr);
}

.grid-3 {
    grid-template-columns: repeat(3, 1fr);
}

.grid-4 {
    grid-template-columns: repeat(4, 1fr);
}

/* Grid Familia Yangoe (4 columnas) */
.familia-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem;
    margin-top: var(--spacing-lg);
}

/* Animaciones de Scroll */
.fade-in-section {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.8s ease-out, transform 0.8s ease-out;
    will-change: opacity, visibility;
}

.fade-in-section.is-visible {
    opacity: 1;
    transform: none;
}

/* Responsive Breakpoints */
@media (max-width: 1024px) {
    .familia-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 2rem;
    }
}

@media (max-width: 768px) {
    :root {
        --spacing-xl: 4rem;
        --spacing-lg: 2.5rem;
    }

    .grid-2,
    .grid-3,
    .grid-4 {
        grid-template-columns: 1fr;
    }

    .familia-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .familia-grid>*:last-child:nth-child(odd) {
        grid-column: span 2;
    }
}

@media (max-width: 480px) {
    .familia-grid {
        grid-template-columns: 1fr;
    }

    .familia-grid>*:last-child:nth-child(odd) {
        grid-column: span 1;
    }
}