/* ==========================================================================
   Mi Portfolio Slider - Estilos Personalizados (v6 - Layout Separado, Flechas OK)
   ========================================================================== */

/* --- Importar Fuentes (Ejemplo usando Google Fonts) --- */
@import url('https://fonts.googleapis.com/css2?family=Butler:wght@400;700&family=Georama:wght@400;500;700&display=swap');
/* Asegúrate que las fuentes están disponibles o usa @font-face */

/* --- Contenedor General del Slider --- */
.mps-portfolio-slider-wrapper {
    position: relative; /* Contexto para flechas posicionadas absolutamente */
    margin: 20px 0;
    /* Padding para que las flechas no se peguen a los bordes de página */
    /* padding: 0 50px; */ /* Ajusta 50px si es necesario */
}

.mps-swiper-container {
    width: 100%;
    overflow: hidden; /* Oculta slides duplicados del loop */
    padding-bottom: 50px; /* Espacio para los bullets */
    position: relative; /* Para los bullets */
}

/* --- Estilos de cada Slide --- */
.mps-slide {
    box-sizing: border-box;
    display: block; /* Necesario para posicionar hijos absolutamente */
    position: relative; /* Contexto para hijos absolutos */
    min-height: 400px; /* Aumenta un poco la altura mínima, ajusta */
    height: auto;
    text-decoration: none;
    color: inherit;
    overflow: hidden; /* Importante para clip interno */
    background-color: #252525; /* Fondo oscuro si no hay imagen */
    border: 1px solid #ffffff;
    border-radius: 0;
}
.mps-slide.mps-slide--has-video { cursor: pointer; }

/* --- Contenedor HIJO 1: Área de la Imagen --- */
.mps-slide-image-area {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; /* Ocupa toda la altura del slide */
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    z-index: 1; /* Detrás del contenido */
    transition: transform 0.4s ease;
}
.mps-slide.mps-slide--has-video:hover .mps-slide-image-area { transform: scale(1.05); }
.mps-slide.mps-slide--no-image .mps-slide-image-area { background-color: #333; }

/* --- Contenedor HIJO 2: Área de Contenido --- */
.mps-slide-content-area {
    position: absolute; /* Posición absoluta respecto al slide padre */
    /* bottom: 0; */    /* Lo controlaremos con padding-bottom */
    left: 0;
    right: 0;         /* Ocupa todo el ancho */
    top: 0;           /* Ocupa toda la altura para que el gradiente pueda funcionar desde arriba */
    height: 100%;     /* Ocupa toda la altura */
    z-index: 2;
    box-sizing: border-box;

    /* Gradiente NEGRO: Transparente arriba -> Opaco abajo */
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.95) 100%);

    /* Usar padding para posicionar el contenido interno, NO para compensar margen */
    padding-left: 30px;
    padding-right: 30px;
    padding-top: 50px; /* Espacio arriba para zona transparente del gradiente */
    padding-bottom: 30px; /* Este es el espacio DESDE EL BORDE INFERIOR hasta donde empieza el texto */

    /* display: flex para alinear el .mps-slide-content-inner */
    display: flex;
    justify-content: flex-end; /* Alinea inner a la derecha */
    align-items: flex-end; /* Alinea inner abajo (dentro del padding-bottom) */

    /* Quitar el margen negativo */
    /* margin-bottom: -30px; */ /* ELIMINADO */
}

/* El .mps-slide-content-inner no necesita muchos cambios */
.mps-slide-content-inner {
    text-align: left;
    color: #ffffff;
    max-width: 100%;
    box-sizing: border-box;
    font-family: 'Georama', sans-serif;
    width: 100%;
    /* Añadir un pequeño margen inferior si quieres separar el último elemento del borde exacto del padding */
     margin-bottom: 5px; /* Ajusta este valor */
}

/* --- Elementos dentro del Contenido --- */
.mps-slide-year {
    display: block; font-size: 0.85em; font-weight: 500; color: rgba(255, 255, 255, 0.85);
    margin-bottom: 8px; text-transform: uppercase; letter-spacing: 0.5px;
}
.mps-slide-title {
    font-family: 'Butler', serif; font-size: 1.8em; font-weight: 700; margin-top: 0;
    margin-bottom: 12px; color: #ffffff; line-height: 1.2;
}
.mps-slide-description {
    font-size: 1em; font-weight: 400; line-height: 1.6; color: rgba(255, 255, 255, 0.9);
    margin-bottom: 20px;
}
.mps-slide-description p { margin-bottom: 0.5em; }
.mps-slide-description p:last-child { margin-bottom: 0; }

/* --- Botón "Ver Proyecto" --- */
.mps-slide-button {
    display: inline-block; padding: 10px 20px; background-color: transparent; color: #ffffff;
    border: 1px solid rgba(255, 255, 255, 0.8); text-decoration: none; border-radius: 0;
    text-align: center; font-family: 'Georama', sans-serif; font-weight: 500; font-size: 0.9em;
    text-transform: uppercase; letter-spacing: 1px;
    transition: background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, color 0.2s ease-in-out;
    margin-top: 10px; cursor: pointer; z-index: 3; position: relative;
}
.mps-slide-button:hover, .mps-slide-button:focus {
    background-color: rgba(255, 255, 255, 1); border-color: rgba(255, 255, 255, 1); color: #000000;
}
.mps-slide-button.mps-slide-button--nolink { cursor: pointer; }


/* --- Estilos de Navegación Swiper --- */

/* --- Bullets / Paginación --- */
/* (Se posicionan relativos a .mps-swiper-container) */
.mps-swiper-container .swiper-pagination {
    bottom: 0px; left: 0; width: 100%; z-index: 10; pointer-events: auto;
}
.mps-swiper-container .swiper-pagination-bullet {
    background-color: rgba(255, 255, 255, 0.4); opacity: 1; margin: 0 5px !important;
    transition: background-color 0.2s ease; width: 10px; height: 10px; border-radius: 50%;
    pointer-events: auto;
}
.mps-swiper-container .swiper-pagination-bullet-active { background-color: #ffffff; }

/* --- Flechas / Navegación --- */
/* (AHORA SE POSICIONAN RELATIVAS A .mps-portfolio-slider-wrapper porque están fuera de .mps-swiper-container en el HTML) */
.mps-portfolio-slider-wrapper > .swiper-button-next, /* Usar selector directo hijo > */
.mps-portfolio-slider-wrapper > .swiper-button-prev { /* Usar selector directo hijo > */
    /* Apariencia */
    color: #ffffff; background-color: rgba(0, 0, 0, 0.4); border-radius: 0;
    width: 40px; height: 50px; box-shadow: none;
    transition: background-color 0.2s ease, opacity 0.3s ease;

    /* Posicionamiento (Absoluto respecto a .mps-portfolio-slider-wrapper) */
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    margin-top: 0;
    z-index: 20; /* Alto para estar sobre todo */
    cursor: pointer;
    display: flex; align-items: center; justify-content: center;
}
.mps-portfolio-slider-wrapper > .swiper-button-next:hover,
.mps-portfolio-slider-wrapper > .swiper-button-prev:hover {
    background-color: rgba(0, 0, 0, 0.7);
}

/* Iconos de flecha */
.mps-portfolio-slider-wrapper > .swiper-button-next::after,
.mps-portfolio-slider-wrapper > .swiper-button-prev::after {
    font-size: 16px; font-weight: normal;
}

/* Posición específica izquierda/derecha (Ajusta -20px según necesites) */
.mps-portfolio-slider-wrapper > .swiper-button-prev {
    left: -40px;
    /* Si tienes padding en el wrapper, usa left: 10px; o similar */
}
.mps-portfolio-slider-wrapper > .swiper-button-next {
    right: -40px;
    /* Si tienes padding en el wrapper, usa right: 10px; o similar */
}

/* Media Query para móviles */
@media (max-width: 767px) {
    .mps-portfolio-slider-wrapper > .swiper-button-prev, /* Aplicar a PREV */
    .mps-portfolio-slider-wrapper > .swiper-button-next { /* Aplicar a NEXT */
         /* Estilos comunes para ambas en móvil */
         /* display: none; */ /* Descomenta si quieres ocultarlas */
         width: 16px; height: 22px;
         /* Quitar left/right generales de aquí si los pusiste */
         transform: translateY(-50%); /* Mantener centrado vertical */
    }

    /* Posición específica para PREV en móvil */
    .mps-portfolio-slider-wrapper > .swiper-button-prev {
        left: 5px; /* Flecha izquierda cerca del borde izquierdo */
        right: auto; /* Asegura que no tenga 'right' definido */
    }

    /* Posición específica para NEXT en móvil */
    .mps-portfolio-slider-wrapper > .swiper-button-next {
        right: 5px; /* Flecha derecha cerca del borde derecho */
        left: auto; /* Asegura que no tenga 'left' definido */
    }

     /* Iconos más pequeños en móvil */
     .mps-portfolio-slider-wrapper > .swiper-button-next::after,
     .mps-portfolio-slider-wrapper > .swiper-button-prev::after {
        font-size: 14px;
     }
}

/* --- ESTILOS PERSONALIZADOS PARA LITY LIGHTBOX --- */

/* Botón de cierre mejorado */
.lity-close {
    /* Tamaño y forma */
    width: 35px;
    height: 35px;
    border-radius: 50%; /* Círculo */

    /* Fondo */
    background-color: rgba(0, 0, 0, 0.5); /* Fondo negro semitransparente */
    opacity: 0.8;
    transition: opacity 0.2s ease, background-color 0.2s ease;

    /* Posición (Lity la controla bien por defecto) */
    /* top: 5px; */
    /* right: 5px; */

    /* Importante: Quitar estilos de texto/borde por defecto */
    border: none;
    font-size: 0; /* Ocultar texto original si lo hubiera */
    text-indent: -9999px; /* Ocultar texto original */
    overflow: hidden; /* Asegurar ocultación */
    line-height: 0; /* Resetear line-height */
    color: transparent; /* Ocultar color de texto original */

    /* Para posicionar el icono ::before */
    position: relative;
    cursor: pointer;
    display: block !important; /* Asegura que sea visible */
    opacity: 1 !important;    /* Asegura que sea opaco */
    z-index: 99999 !important; /* Asegura que esté muy arriba */
    pointer-events: auto !important; /* Asegura que sea clickeable */
}



/* Icono 'X' usando pseudo-elemento ::before */
.lity-close::before {
    content: '\00D7'; /* Código unicode para el símbolo '×' (multiplication sign) */
    font-family: Arial, sans-serif; /* Fuente común que seguro tiene el símbolo */
    font-size: 30px; /* Tamaño del icono 'x' */
      color: #ffffff !important; /* COLOR BLANCO */
    font-weight: bold;
    text-align: center;

    /* Centrado absoluto dentro del botón */
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    line-height: 1; /* Asegurar que no afecte la altura */
}


/* Hover/focus del botón de cierre */
.lity-close:hover,
.lity-close:focus {
    opacity: 1;
    background-color: rgba(0, 0, 0, 0.7); /* Fondo un poco más oscuro */
}

/* Otros estilos de Lity sin cambios */
.lity-iframe .lity-container { padding: 0; }
.lity-iframe-container { width: 100%; height: 100%; }