/* Importar la fuente ITC Benguiat Condensed */
@font-face {
    font-family: 'ITC Benguiat Condensed';
    src: url('fonts/ITCBenguiatCondensed.woff2') format('woff2'),
         url('fonts/ITCBenguiatCondensed.woff') format('woff'),
         url('fonts/ITCBenguiatCondensed.otf') format('opentype');
    font-weight: normal;
    font-style: normal;
}

/* Fuente Inter para el resto del contenido */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;700&display=swap');

body {
    margin: 0;
    font-family: 'Inter', sans-serif; /* Fuente por defecto para el resto del contenido */
    overflow-x: hidden; /* Evita el scroll horizontal */
}

.parallax-container {
    position: relative;
    width: 100%;
    height: 100vh; /* Ocupa la altura completa de la ventana */
    overflow: hidden;
}

.parallax-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    background-attachment: fixed; /* Este es clave para el efecto de paralaje */
    z-index: -1; /* Envía la imagen al fondo */
    /* Se eliminó el fallback de imagen con texto para evitar el flash inicial */
}

.parallax-content {
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: flex-end; /* Alinea el contenido abajo */
    justify-content: flex-start; /* Alinea el contenido a la izquierda */
    padding-left: 5%; /* Ajusta el margen izquierdo según sea necesario */
    padding-bottom: 5%; /* Ajusta el margen inferior según sea necesario */
    z-index: 1; /* Asegura que el contenido esté sobre la imagen */
}

.mastica-text {
    font-family: 'ITC Benguiat Condensed', serif; /* Aplicando la fuente personalizada */
    font-size: 8em; /* Tamaño de fuente más grande (antes 6em) */
    color: white; /* Color del texto */
    text-align: left;
    line-height: 0.9; /* Ajusta el espacio entre líneas (antes 0.8) */
    margin: 0; /* Elimina márgenes por defecto */
    white-space: nowrap; /* Evita que las palabras se separen */
    transition: opacity 0.3s ease-out, transform 0.3s ease-out; /* Transición suave para JS */
}

/* Estilos para la sección de Introducción (antes main-content-section) */
.introduccion-section {
    /* Degradado de la imagen original */
    background: linear-gradient(to bottom right, #4CAF50, #8BC34A, #FFC107, #FF9800); /* Colores ajustados */
    min-height: 100vh; /* Asegura que ocupe al menos la altura de la ventana */
    display: flex;
    align-items: center; /* Centra verticalmente el contenido */
    padding: 4rem 5%; /* Espaciado interno */
}

.content-grid {
    display: grid;
    grid-template-columns: 1fr; /* Una columna por defecto */
    gap: 2rem; /* Espacio entre columnas/filas */
    max-width: 1200px; /* Ancho máximo del contenido */
    margin: 0 auto; /* Centra el contenido */
}

@media (min-width: 768px) { /* A partir de tabletas, dos columnas */
    .content-grid {
        grid-template-columns: 1fr 1fr;
    }
}

.left-column h2 {
    font-size: 3.5em; /* Tamaño de fuente grande para el título */
    font-weight: bold;
    color: white;
    line-height: 1.1;
    text-align: left;
}

.right-column p {
    font-size: 1.2em; /* Tamaño de fuente para los párrafos */
    color: white;
    line-height: 1.6;
    margin-bottom: 1.5rem; /* Espacio entre párrafos */
    text-align: left;
}

/* Estilos para la sección "Portafolio 1" */
.portafolio-section {
    display: flex;
    flex-direction: column; /* Por defecto, apilado en móvil */
    width: 100%;
    min-height: 100vh; /* Para que ocupe al menos la altura de la ventana */
    position: relative; /* Necesario para posicionar los contenidos dinámicos */
    overflow: hidden; /* Para que los elementos que se deslizan salgan de la vista */
}

@media (min-width: 768px) {
    .portafolio-section {
        flex-direction: row; /* En pantallas grandes, una al lado de la otra */
    }
}

.portafolio-item {
    position: relative;
    flex: 1; /* Cada ítem ocupa espacio igual */
    min-height: 300px; /* Altura mínima */
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    text-align: center;
    overflow: hidden;
    cursor: pointer; /* Indica que es interactuable */
    transition: opacity 0.5s ease, z-index 0.0s 0.5s; /* Transición de opacidad y z-index instantáneo */
}

.portafolio-item a.project-title {
    font-family: 'ITC Benguiat Condensed', serif;
    font-size: 3em; /* Tamaño inicial del título del proyecto */
    font-weight: bold;
    color: white;
    text-decoration: none;
    position: relative;
    z-index: 2; /* Asegura que el texto esté sobre el overlay */
    padding: 0.5rem 1rem;
    border-radius: 0.5rem;
}

/* Overlay oscuro sutil para mejorar la legibilidad del texto */
.portafolio-item::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.3); /* Overlay oscuro semi-transparente */
    z-index: 1;
}

/* Clases para el efecto de hover */
.portafolio-item.faded-out {
    opacity: 0;
    pointer-events: none; /* Deshabilita la interacción cuando está oculto */
}

.portafolio-item.active-hovered {
    z-index: 3; /* Asegura que el proyecto hovered esté por encima */
}

/* Estilos para los slots de imágenes dinámicas */
.dynamic-image-slot {
    position: absolute;
    top: 0;
    height: 100%;
    width: 33.33%; /* Cada slot cubre el ancho de un proyecto original */
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.5s ease, transform 0.5s ease;
    z-index: 2; /* Por encima de los proyectos originales no hovered */
}

.dynamic-image-slot img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Clases para la animación de las imágenes dinámicas */
.dynamic-image-slot.slide-in {
    opacity: 1;
    transform: translateX(0) !important; /* !important para sobrescribir estilos inline */
    pointer-events: auto;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .mastica-text {
        font-size: 3em;
        padding-left: 3%;
        padding-bottom: 3%;
    }
    .left-column h2 {
        font-size: 2.5em;
    }
    .right-column p {
        font-size: 1em;
    }
    .introduccion-section {
        padding: 2rem 5%;
    }
    .portafolio-item {
        min-height: 250px;
    }
    .portafolio-item a.project-title {
        font-size: 2em;
    }
    /* Desactivar el efecto de hover complejo en móvil */
    .portafolio-section {
        flex-direction: column; /* Asegura que se apilen */
    }
    .dynamic-image-slot {
        display: none; /* Oculta los slots dinámicos en móvil */
    }
    .portafolio-item.faded-out, .portafolio-item.active-hovered {
        opacity: 1 !important; /* Asegura que los proyectos originales siempre sean visibles */
        pointer-events: auto !important;
        z-index: auto !important;
    }
}
@media (max-width: 480px) {
    .mastica-text {
        font-size: 2em;
        padding-left: 2%;
        padding-bottom: 2%;
    }
    .left-column h2 {
        font-size: 2em;
    }
    .portafolio-item {
        min-height: 200px;
    }
    .portafolio-item a.project-title {
        font-size: 1.5em;
    }
}
