.elementor-kit-5{--e-global-color-primary:#282828;--e-global-color-secondary:#FFFBF3;--e-global-color-text:#282828;--e-global-color-accent:#424242;--e-global-color-26250a7:#282828;--e-global-color-d985b46:#FFFBF3;--e-global-color-ebaa95b:#121212AD;--e-global-color-58dcb7d:#FFFBF3AD;--e-global-typography-primary-font-family:"Georgia";--e-global-typography-primary-font-weight:400;--e-global-typography-primary-line-height:1em;--e-global-typography-primary-letter-spacing:-0.2px;--e-global-typography-secondary-font-family:"Georgia";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Georgia";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Georgia";--e-global-typography-accent-font-weight:bold;--e-global-typography-b8f58a2-font-family:"Georgia";--e-global-typography-b8f58a2-font-size:1em;--e-global-typography-b8f58a2-line-height:1.5em;--e-global-typography-ee5b505-font-family:"Georgia";--e-global-typography-ee5b505-font-size:0.65rem;--e-global-typography-ee5b505-font-weight:400;--e-global-typography-ee5b505-text-transform:uppercase;--e-global-typography-ee5b505-font-style:normal;--e-global-typography-ee5b505-text-decoration:underline;background-color:var( --e-global-color-d985b46 );color:#121212;font-family:"Georgia", Sans-serif;font-size:1em;font-weight:400;line-height:1.125em;letter-spacing:-0.2px;}.elementor-kit-5 a{color:var( --e-global-color-26250a7 );font-family:"Georgia", Sans-serif;}.elementor-kit-5 a:hover{color:#121212F7;}.elementor-kit-5 h1{color:var( --e-global-color-26250a7 );font-family:"Almarai", Sans-serif;}.elementor-kit-5 h2{color:var( --e-global-color-26250a7 );font-family:"Almarai", Sans-serif;}.elementor-kit-5 h3{color:var( --e-global-color-26250a7 );font-family:"Georgia", Sans-serif;}.elementor-kit-5 h4{color:var( --e-global-color-26250a7 );font-family:"Georgia", Sans-serif;}.elementor-kit-5 h5{color:var( --e-global-color-26250a7 );font-family:"Georgia", Sans-serif;}.elementor-kit-5 h6{color:var( --e-global-color-26250a7 );font-family:"Georgia", Sans-serif;}.elementor-kit-5 button,.elementor-kit-5 input[type="button"],.elementor-kit-5 input[type="submit"],.elementor-kit-5 .elementor-button{font-family:"Georgia", Sans-serif;}.elementor-kit-5 img{border-style:none;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1512px;}.e-con{--container-max-width:1512px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){--kit-widget-spacing:0em;}.elementor-element{--widgets-spacing:0em 0em;--widgets-spacing-row:0em;--widgets-spacing-column:0em;}{}h1.entry-title{display:var(--page-title-display);}.elementor-lightbox{background-color:var( --e-global-color-d985b46 );--lightbox-ui-color:var( --e-global-color-primary );--lightbox-ui-color-hover:var( --e-global-color-accent );--lightbox-text-color:var( --e-global-color-primary );--lightbox-header-icons-size:1em;--lightbox-navigation-icons-size:1em;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}.elementor-kit-5{--e-page-transition-entrance-animation:e-page-transition-fade-out-down;--e-page-transition-exit-animation:e-page-transition-fade-in-up;}}/* Start custom CSS *//* GRAL */

/* HEADER MNU HOME */

/* BG Header TRANSPARENT */
    .header-b-a-w {
        background-color: transparent !important;
    }
    .header-w-a-b {
        background-color: transparent !important;
    }

/* TITLE H1 */
.elementor-icon-list-text,
.h1-title-header h1 a,
.elementor-3186 .elementor-element.elementor-element-fada9ef {
  transition: color 1s ease, border-color 1s ease;
}

/* Tablet Vertical y Desktop */
@media (min-width: 768px) {
  .header-t-a-w .elementor-icon-list-text, 
  .h1-title-header h1 a {
    color: #282828;
  }
}

@media (max-width: 767px) {
    /* 1. Header y Colores */
    .h1-title-header h1 a { color: #282828 !important; }
    .page-id-98 .h1-title-header a, .page-id-3315 .h1-title-header a, .page-id-421 .h1-title-header a {
        color: #FFFBF3 !important;
    }
    
    /* BG Header COLOR */
    .header-b-a-w {
        background-color: #FFFBF3 !important;
    }
    .header-w-a-b {
        background-color: #282828 !important;
    }
    
    /* 2. Estructura del Menú (Mega Menú Widget) */
    .elementor-widget-n-menu .e-n-menu-heading {
        height: 90vh !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: flex-start !important;
        align-items: flex-end !important;
        overflow-y: auto !important;
        padding: 2rem 0 !important;
        background-color: #FFFBF3 !important;
    }

    .page-id-98 .elementor-widget-n-menu .e-n-menu-heading, 
    .page-id-3315 .elementor-widget-n-menu .e-n-menu-heading, 
    .page-id-421 .elementor-widget-n-menu .e-n-menu-heading {
        background-color: #282828 !important;
    }
    
    /* solo para home (oculta ENTER) */
    .mnu-mobile-grid-home {
        display: none !important;
    }

    /* 3. Ítems del menú */
    .e-n-menu-item {
        flex: 0 0 auto !important;
        margin-bottom: 0.5rem !important;
        width: 100%;
        text-align: right;
    }

    #mnu-mobile-editorial, #mnu-mobile-projects {
        margin-bottom: 1.5rem !important;
    }

    /* 4. Alineación de dropdowns */
    #mnu-mobile-projects, #mnu-mobile-portraits {
        padding-right: 0.75rem !important;
        display: flex !important;
        justify-content: flex-end !important;
        align-items: center !important;
    }

    #mnu-mobile-projects .e-n-menu-dropdown-icon,
    #mnu-mobile-portraits .e-n-menu-dropdown-icon {
        margin-left: 0.5rem !important;
        padding: 0 !important;
        min-width: unset !important;
    }

    /* 5. GESTIÓN DE VISIBILIDAD (ELIMINAMOS EL BLOQUEO TOTAL) */
    .elementor-widget-n-menu .e-n-menu-content:not(.e-active) {
        display: none !important;
    }
    
    .elementor-widget-n-menu .e-n-menu-content.e-active {
        display: flex !important;
        visibility: visible !important;
        height: auto !important;
    }
}

.elementor-3186 .elementor-element.elementor-element-fada9ef .elementor-inline-items .elementor-icon-list-item:nth-child(2):after {
    border-inline-start-width: 0px !important;
}

/* GRID HOME IMG */
.grid-home-img img {
    aspect-ratio: 4/3;
    object-fit: cover;
    filter: brightness(1) grayscale(100%);
    opacity: 0.5;
    transition: filter 0.3s ease, opacity 0.3s ease;
}
.grid-home-img:hover img {
    filter: brightness(1) grayscale(0%);
    opacity: 1;
}

/* PADDING 2REM */
.pad-2 {
    padding-left: 2rem !important;
}
.pad-1 {
    padding-left: 1rem !important;
}
.pad-0-75 {
    padding-left: 0.75rem !important;
}
.pad-0-5 {
    padding-left: 0.5rem !important;
}
.pad-0-25 {
    padding-left: 0.25rem !important;
}

/* EDITORIAL FULL BLEED */
@media (min-width: 1024px) {
    .full-bleed {
      grid-column: 1 / -1 !important;
      margin-left: calc(-1 * 1.563rem) !important;
      margin-right: calc(-1 * 1.563rem) !important;
    }
    .full-bleed img {
      width: 100vw !important;
      max-width: 100vw !important;
      height: auto;
      display: block;
    }
    .full-bleed .widget-image-caption {
        margin-inline-start: 10rem;
    }
}

/* EDITORIAL Y VT CAPTION */
.img-caption-popup .widget-image-caption {
    font-size: 0.65rem !important;
    margin-top: 1.25rem !important;
    text-transform: uppercase !important;
    text-decoration: underline !important;
    line-height: 1.5rem important!
}

/* Para pantallas grandes (Desktop y ultra-wide) */
@media (min-width: 1440px) {
    .full-bleed .widget-image-caption {
        margin-inline-start: calc(10rem + 2vw);
    }
}
/* Opcional: Si quieres un límite máximo para que no se aleje infinitamente */
@media (min-width: 1920px) {
    .full-bleed .widget-image-caption {
        margin-inline-start: clamp(12rem, 15vw, 20rem);
    }
}
/* Botón integrado en el texto */
.project-content .my-read-more-btn {
    display: inline !important;
    vertical-align: baseline;
    background: none !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 8px 0 8px !important;
    color: var(--e-global-color-primary);
    font-family: "Georgia", Sans-serif;
    font-size: 0.75rem;
    cursor: pointer;
    line-height: inherit;
    font-style: italic;
}
/* Contenedor de párrafos ocultos */
.project-content .read-more-target {
    display: block;
    clear: both;
    width: 100%;
}
.read-more-target .my-read-more-btn{
    display: inline !important;
}

/* --- 1. REGLAS GLOBALES (ESCRITORIO Y MÓVIL) --- */

/* Ajuste general de imágenes en el carrusel */
.carru-popup img {
    height: 480px !important; /* Altura fija para escritorio */
    width: auto !important;
    object-fit: cover;
    margin: 0 auto;
    display: block;
}

/* Botón de Cerrar Universal */
/* Usamos 'fixed' para que no se mueva al hacer scroll y esté siempre accesible */
body .elementor-popup-modal .dialog-close-button {
    z-index: 999999 !important;
    position: fixed !important; 
    top: 20px !important;
    right: 20px !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 34px !important;
    height: 34px !important;
    background: none !important;
    cursor: pointer;
    opacity: 1 !important;
    visibility: visible !important;
    transform: translate3d(0, 0, 0) !important;
}

body .elementor-popup-modal .dialog-close-button svg {
    width: 14px !important;
    height: 14px !important;
    display: block !important;
}

/* --- 2. REGLAS ESPECÍFICAS PARA MÓVIL (TABLET Y ABAJO) --- */

@media (max-width: 767px) {
    /* Forzamos el centrado vertical absoluto */
    .elementor-popup-modal .dialog-message {
        display: flex !important;
        align-items: center !important; 
        justify-content: center !important;
        height: 100vh !important;
        padding: 0 !important;
    }

    /* Modificamos el contenedor del contenido */
    .elementor-popup-modal .elementor {
        width: 100% !important;
        /* Forzamos a que el contenedor intente ocupar el espacio disponible */
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important; 
        min-height: 200px; /* Un mínimo para que no colapse */
    }
    
    /* Ajuste fino para el widget del carrusel */
    .elementor-popup-modal .elementor-widget-image-carousel {
        margin: 0 !important;
        display: flex !important;
        align-items: center !important;
    }

    .carru-popup img {
        height: auto !important;
        max-height: 65vh !important; /* Bajamos un poco el máximo para dejar aire */
        width: auto !important;
        max-width: 95% !important;
        margin: 0 auto !important;
        object-fit: contain !important; /* "contain" asegura que no se corte nada */
    }
}

/* OPEN VIDEO TXT */
.open-video-btn {
    cursor: pointer;
}/* End custom CSS */