/* REQUISITO 1: Siempre Full Width, Altura de 1 Pantalla (100vh) */
.inv-full-width {
    position: relative;
    width: 100vw;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
    min-height: 100vh;
    min-height: 100dvh;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: center;
    background-color: transparent;
    padding: 0 !important;
}

body {
    overflow-x: hidden;
}

.inv-contenido-interno {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.inv-capas-animadas {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 10;
    pointer-events: none;
    perspective: 1000px;
}

.inv-capa {
    position: absolute;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    width: 100%;
    height: 100%;
    will-change: transform, opacity;
    transform-origin: center top;
}

/* CORTINAS */
.inv-full-width[data-efecto="cortinas"] .inv-capa-1 { width: 50%; left: 0; }
.inv-full-width[data-efecto="cortinas"] .inv-capa-2 { width: 50%; right: 0; left: auto; }

/* SOBRE */
.inv-full-width[data-efecto="sobre"] .inv-capa-1 { height: 50%; top: 0; transform-origin: top center; z-index: 12; }
.inv-full-width[data-efecto="sobre"] .inv-capa-2 { height: 100%; top: 0; z-index: 11; }

/* NUBES */
.inv-full-width[data-efecto="nubes"] .inv-capa-1 { width: 100%; height: 100%; z-index: 12; background-size: contain; background-position: left center; }
.inv-full-width[data-efecto="nubes"] .inv-capa-2 { width: 100%; height: 100%; z-index: 11; background-size: contain; background-position: right center; }
