.elementor-kit-7{--e-global-color-primary:#383838;--e-global-color-secondary:#383838;--e-global-color-text:#383838;--e-global-color-accent:#007932;--e-global-color-be32f87:#FFFFFF;--e-global-color-e2b07d7:#6C3E99;--e-global-color-dd734aa:#1D4DA0;--e-global-color-b3bd4de:#AA2D2D;--e-global-color-d5fb646:#EE3B22;--e-global-color-a9aab5e:#F8A22E;--e-global-color-bcf92af:#DDDDDD;--e-global-color-d602ab2:#F9F9F9;--e-global-typography-primary-font-family:"Source Sans Pro";--e-global-typography-primary-font-size:1em;--e-global-typography-primary-text-transform:uppercase;--e-global-typography-primary-line-height:1.15em;--e-global-typography-secondary-font-family:"Source Sans Pro";--e-global-typography-text-font-family:"Source Sans Pro";--e-global-typography-text-font-weight:normal;--e-global-typography-text-line-height:1.4em;--e-global-typography-text-letter-spacing:0px;--e-global-typography-accent-font-family:"Source Sans Pro";--e-global-typography-accent-font-weight:600;--e-global-typography-accent-text-decoration:none;--e-global-typography-accent-line-height:1em;color:#383838;font-family:"Source Sans Pro", Sans-serif;font-size:18px;font-weight:normal;line-height:1.4em;letter-spacing:0px;}.elementor-kit-7 e-page-transition{background-color:#FFBC7D;}.elementor-kit-7 a{color:#383838;font-weight:400;text-decoration:underline;}.elementor-kit-7 a:hover{color:#158437;text-decoration:underline;}.elementor-kit-7 h1{font-family:"Source Sans Pro", Sans-serif;font-size:70px;font-weight:700;text-transform:uppercase;line-height:1em;letter-spacing:0em;}.elementor-kit-7 h2{color:#383838;font-family:"Source Sans Pro", Sans-serif;font-size:38px;font-weight:700;text-transform:none;font-style:normal;text-decoration:none;line-height:1.15em;}.elementor-kit-7 h6{font-family:"Source Sans Pro", Sans-serif;}.elementor-kit-7 button,.elementor-kit-7 input[type="button"],.elementor-kit-7 input[type="submit"],.elementor-kit-7 .elementor-button{text-decoration:none;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1180px;}.e-con{--container-max-width:1180px;}.elementor-widget:not(:last-child){margin-block-end:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-kit-7 h2{font-size:36px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(min-width:1700px){.elementor-kit-7{font-size:18px;}.elementor-kit-7 h2{font-size:38px;line-height:1.5em;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1340px;}.e-con{--container-max-width:1340px;}}@media(max-width:767px){.elementor-kit-7{font-size:18px;line-height:1.4em;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* Estilos generales */
html {
    font-size: 17px;
    line-height: 26px;
}
.elementor-widget.elementor-widget-text-editor h2 {
    line-height: 1.15em;
    margin-top: 1.25em;
    margin-bottom: 0.8em;
}
.noline a {
    text-decoration: none;
}
.masked-text h2 {
    position: relative;
    display: inline-block; /* Para funcionar bien con líneas específicas */
    color: black; /* Color del texto */
    z-index: 1;
    overflow: hidden; /* Asegura que el efecto no sobresalga */
}
.break h1, .break h2, .break h3, .break h4, .break h5, .break h6 {
    word-break: break-word;
}
.blendmode img {
    mix-blend-mode: multiply;
}
.CT .elementor-widget-text-editor h2 {
    text-transform: uppercase;
    font-size: 1.35em;
    font-weight: 600;
    margin: 1.7em 0 1em 0;
    border-left: 30px solid #158437;
    padding-left: 14px;
}
.CT .elementor-widget-text-editor.referencias h5 {
    font-size: 1em;
    font-weight: bold;
    margin-bottom: 15px;
}
.CT .elementor-widget-text-editor.referencias h5::before {
    content: '---';
    display: block;
    font-weight: 400;
}
.CT .elementor-widget-text-editor.referencias h5 + p *, .CT .elementor-widget-text-editor.referencias h5 + ul, .CT .elementor-widget-text-editor.referencias h5 + ol {
    font-size: .85em;
    line-height: 1.25em;
    color: inherit !important;
}
.CT .elementor-widget-text-editor.referencias a {
    color: inherit;
}
/* Fondo h2 Hero (+ seleccion de colores) */
.h2head h2 {
    display: inline;
}
.h2head.verde h2 {
    background: var(--e-global-color-accent);
}
.h2head.azul h2 {
    background: var(--e-global-color-dd734aa);
}
.h2head.lila h2 {
    background: var(--e-global-color-e2b07d7);
}
.h2head.grana h2 {
    background: var(--e-global-color-b3bd4de);
}
.h2head.rojo h2 {
    background: var(--e-global-color-d5fb646);
}
.h2head.amarillo h2 {
    background: var(--e-global-color-a9aab5e);
}
.catlink a {
    text-decoration: none;
}
/* Animación over image */
.overimg1 img {
    transition: transform 0.3s ease-in-out;
}
.overimg1 img:hover {
    transform: scale(1.05);
    box-shadow: 0 0 15px rgba(0, 0, 0, .15);
    cursor: pointer;
}
/* --------- Fondo blanco animado---------- */
.masked-text h2::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 0%; /* Comienza sin ancho */
    height: 100%;
    background-color: white; /* Fondo blanco */
    z-index: -1; /* Detrás del texto */
    animation: reveal-bg 2s ease-in-out forwards; /* Animación automática */
}
.nota-pie {
    font-size: .85em;
    font-style: italic;
}
.nota-pie a {
    color: inherit;
}
.nota-pie::before {
    content: '--';
    padding-top: 70px;
    display: block;
    color: inherit;
}
.biblio a, .biblio p {
    text-decoration: none;
    line-height: 1.3em;
    font-size: .92em;
}
.biblio img {
    border: 1px solid #ddd;
    padding: 2px;
    box-shadow: 0 0 10px rgba(0, 0, 0, .15);
}
@media (max-width: 768px) {
    .biblio figure {
        float: left;
        padding-right: 20px;
        padding-bottom: 10px;
    }
}
.elementor-icon-list-item a {
    text-decoration: none;
}
/* ---------- Animación de la máscara ---------- */
@keyframes reveal-bg {
    from {
        width: 0%; /* Fondo inicialmente invisible */
    }
    to {
        width: 100%; /* Fondo cubre todo el texto */
    }
}
.txtsmall * {
    font-size: 16px !important;
    letter-spacing: 0 !important;
    line-height: 1.23em !important;
}
.width300 * {
    font-weight: 300 !important;
}
.elementor-widget-text-editor ul, .elementor-widget-text-editor ol {
    padding-left: 0;
}
.elementor-widget-text-editor li {
    margin-left: 20px;
}
.elementor-widget-text-editor:not(.lishort) li {
    margin-bottom: .8em;
}
.elementor-widget-text-editor li:last-child {
    margin-bottom: 1.15em;
}
.elementor-widget-icon-list.libg li {
    background: #f7f7f7;
    padding: 10px;
    margin: 0 0 1px 0;
    border-width: 0 0 1px 0;
    border-color: #ddd;
    border-style: solid;
    transition: all .2s ease-in;
}
.elementor-widget-icon-list.libg li:last-child {
    border-width: 0;
}
.elementor-widget-icon-list.libg li:hover {
    box-shadow: 0 0 25px rgba(0, 0, 0, .15);
    background: #f9f9f9;
    cursor: pointer;
}
.btn-light:focus {
    box-shadow: 0 0 0 !important;
    outline: 0 !important;
    border-color: #ddd !important;
}
.elementor-widget-container blockquote:not(.elementor-blockquote) {
    font-size: 1.2em;
    line-height: 1.3em;
    font-weight: 400;
    padding-left: 5%;
    margin: 2em;
    border-left: 1px solid #444;
}
@media (min-width: 720px) {
    .elementor-widget-container blockquote:not(.elementor-blockquote) {
        max-width: 80%;
    }
}
.caja-team .elementor-flip-box__front .elementor-flip-box__layer__inner {
    background: #f5f5f5;
    padding: 20px;
}
.rotar45 i {
    transform: rotate(45deg);
}
.rotar360 img {
    transition: transform 0.2s ease; /* Añadimos una transición suave */
}
.rotar360:hover img {
    animation: infinite-rotate 2s linear infinite;
}
@keyframes infinite-rotate {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}
.migas a span, .migas a {
    font-weight: 600;
    text-decoration: none;
}
.migas li:last-child span {
    font-style: italic;
}
.cta-contain .elementor-bg {
    background-size: contain;
    background-repeat: no-repeat;
}
.cta-contain.cont-right .elementor-bg {
    background-position: center right;
}
.elementor-cta--layout-image-above .elementor-cta, .elementor-cta--layout-image-above .elementor-cta:hover {
    text-decoration: none;
}
/* ---------- MAIN MENÚ OPCIÓN 2 (SIDE) ---------- */
.formheader input, .formheader select {
    box-shadow: none;
    margin: 0;
    padding: 0 20px;
    height: auto;
}
.formheader .elementor-field-group .elementor-field-textual::placeholder {
    opacity: 1;
}
.formheader .elementor-field-type-text::after {
    content: '';
    position: absolute;
    width: 1px;
    background: #ccc;
    height: 28px;
    float: right;
    top: 7px;
    right: 10px;
}
.formheader .elementor-form-fields-wrapper {
    background: #f3f3f3;
    border-radius: 50px;
    padding: 10px 10px 10px 30px;
}
.formheader .elementor-field-type-submit {
    padding-right: 2px !important;
}
.formheader .e-form__buttons {
    align-content: center;
}
.formheader .elementor-field-group .elementor-field-textual:focus {
    box-shadow: 0 0 0;
    outline: none;
}
.elementor-nav-menu--dropdown .elementor-item.elementor-item-active, .elementor-nav-menu--dropdown .elementor-item.highlighted, .elementor-nav-menu--dropdown .elementor-item:focus, .elementor-nav-menu--dropdown .elementor-item:hover, .elementor-sub-item.elementor-item-active, .elementor-sub-item.highlighted, .elementor-sub-item:focus, .elementor-sub-item:hover {
    background: inherit;
}
.elementor-nav-menu--dropdown .sub-menu li a {
    text-transform: none !important;
    letter-spacing: 0 !important;
}
.elementor-nav-menu--dropdown .sub-menu li {
    background-color: rgba(0, 0, 0, .3);
}
/* --------------THUMBNAILS BUSCADOR-----------------------------*/
/* Contenedor grid */
.portfolio-grid-resul {
    display: grid;
    gap: 20px;
    grid-template-columns: repeat(3, 1fr);
}
@media (max-width: 1024px) {
    .portfolio-grid-resul {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (max-width: 720px) {
    .portfolio-grid-resul {
        grid-template-columns: 1fr;
        gap: 10px;
    }
}
/* Aseguramos que el contenedor tenga un tamaño fijo */
.thumresult {
    width: 100%; /* Ancho fijo */
    height: auto; /* El alto será ajustado automáticamente */
    margin: 16px auto 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    overflow: hidden;
}
.thumresult-content {
    position: relative;
    width: 100%;
    height: 230px; /* Fijamos el alto exacto */
    overflow: hidden;
    background-color: #f3f3f3; /* Fondo por si falta imagen */
}
.thumresult-content img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* Escala la imagen correctamente */
}
/* Categoría fija en la esquina superior izquierda */
.actividadAtlas {
    position: absolute;
    top: 0px;
    left: 0px;
    background-color: rgba(29, 77, 160, 1);
    color: #fff;
    font-size: 0.8rem;
    padding: 4px 8px;
    z-index: 2;
}
/* Overlay para efecto hover */
.thumresult-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgb(15, 126, 49, .8);
    background: linear-gradient(0deg, rgba(15, 126, 49, .8) 0%, rgba(31, 79, 162, .8) 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.3s ease;
}
.thumresult-content:hover .thumresult-overlay {
    opacity: 1;
}
.thumresult-overlay i {
    color: #fff;
    font-size: 1.5rem;
}
/* Título debajo de la imagen */
.thumresult-title {
    font-size: .9rem;
    color: #4E4E4E;
    text-align: left;
    display: block;
    line-height: 1.2em;
    width: 100%;
    padding: 14px;
    letter-spacing: -.02em;
}
.thumresult-location {
    display: block;
    width: 100%;
    text-align: left;
    padding: 4px 10px;
    font-weight: 400;
    font-size: 13px;
    background: rgba(0, 128, 0, .8);
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 3;
    color: #fff;
}
.thumresult-location i {
    margin-right: 4px;
    font-size: 12px;
    float: left;
    padding-top: 2px;
}
.portfolio-grid-resul a {
    cursor: pointer;
    box-shadow: 0 0 10px rgba(0, 0, 0, .15);
    text-decoration: none;
}
.portfolio-grid-resul a:hover .thumresult-title {
    color: rgba(0, 128, 0, 1);
}
/* ---------- SIDEBAR CONOTRAD ---------- */
.acorCT .elementor-grid-item:hover .elementor-post__title a {
    font-weight: 600 !important;
}
.acorCT .e-n-accordion-item-title-icon span {
    align-items: center;
}
.acorCT .e-n-accordion-item-title-icon i::before {
    border: 1px solid #555;
    font-size: 10px;
    margin-left: 10px;
}
/* ---------------FORM HEADER ------------------------*/
#formheader {
    display: flex;
    width: 100%;
    gap: 10px; /* Espacio entre los elementos */
    background: #f3f3f3;
    border-radius: 50px;
    padding: 10px 15px;
}
#formheader .form-group {
    flex-grow: 1;
    margin: 0 10px;
    border-right: 1px solid #ddd;
    padding: 0 10px;
}
#formheader .form-control {
    border: none;
    background: rgba(0, 0, 0, 0);
    font-weight: 300;
    letter-spacing: -.02em;
    color: #333;
    opacity: 1;
}
#formheader .form-control:focus {
    box-shadow: none;
    outline: none;
    border-bottom: 1px solid #ddd;
}
#formheader .form-control .filter-option {
    background: rgba(0, 0, 0, 0);
}
#formheader .buscarheader button {
    font-size: 15px;
    font-weight: 400;
    border-style: none;
    border-radius: 30px 30px 30px 30px;
    padding: 0px 40px 0px 40px;
    min-height: 40px;
    color: #fff;
    background-color: #158437;
    border-color: #158437;
}
#formheader select.btn-light {
    background-color: transparent;
    border: none;
    text-align: left;
    font-weight: 300;
    padding: .5rem 1rem;
    color: #333;
}
.form-control::placeholder {
    color: #333;
    opacity: 1;
}
/* FOOTER */
.clearfix + .margin-top-55 {
    margin: 0 !important;
}
/* --------------- efectos ----------------*/
.titpagh1 {
    clip-path: inset(0 0 100% 0);
    animation: mask-appear 1.5s ease-out forwards;
}
.retardo05 {
    animation-delay: 0.5s;
}
.separador-vertical {
    clip-path: inset(0 0 100% 0);
    animation: mask-appear 1s ease-out forwards;
    animation-delay: 0.5s;
}
.separador-horizontal {
    clip-path: inset(0 100% 0 0);
    animation: mask-appear-hor 1s ease-out forwards;
    animation-delay: 0.5s;
}
.maskhor {
    clip-path: inset(0 100% 0 0);
    animation: mask-appear-hor 2s ease-out forwards;
    animation-delay: 0.5s;
}
/* Definición de la animación */
@keyframes mask-appear {
    0% {
        clip-path: inset(0 0 100% 0); /* Oculto (tamaño 0 verticalmente) */
    }
    100% {
        clip-path: inset(0 0 0 0); /* Totalmente visible */
    }
}
@keyframes mask-appear-hor {
    0% {
        clip-path: inset(0 100% 0 0);
    }
    100% {
        clip-path: inset(0 0 0 0);
    }
}
/* -------------- MIGAS-CT (sobre el titulo del Concimiento tradicional específico) ------------*/
.migas .elementor-icon-list-icon {
    text-align: center !important;
    padding-top: 1px;
}
.taxtorecur .elementor-icon-box-title a::before {
    content: 'Recursos ';
}
.taxtorecur .elementor-icon-box-title a {
    transition: color 0.3s ease;
}
.taxtorecur .elementor-icon-box-title a:hover {
    color: var(--e-global-color-a9aab5e);
    ;
}
/* Filtro de categorias */
.filtro button[data-filter="conocimientos-tradicionales"] {
    display: none;
}
.cajainline .elementor-icon-box-description {
    display: inline;
}
/* ------------------Página buscador de conocimientos (portfolio) -----------------------------*/
a.thumb-CT {
    text-decoration: none;
}
.elementor-kit-7 .thumb-CT:hover {
    text-decoration: none;
}
.elementor-kit-7 .thumb-CT:hover h4 {
    color: var(--e-global-color-accent) !important;
}
/* --------------------- CT FORMULARIO ---------------------  */
.formpart .elementor-field-subgroup {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: repeat(8, auto);
    margin-bottom: 1rem;
}
.formpart .elementor-field-type-checkbox > label {
    border-bottom: 1px solid #ddd;
    display: inline-block;
    width: 100%;
    margin-top: 10px;
    margin-bottom: 15px;
    padding-bottom: 10px !important;
}
.formpart .elementor-field-type-checkbox .elementor-field-option {
    display: flex;
    align-items: center;
}
.formpart .elementor-field-type-checkbox .elementor-field-option label {
    margin: 0px 6px;
}
.personalinv .elementor-image-box-content span {
    display: block;
    font-size: 18px;
    line-height: 1.5em;
    border-bottom: 1px solid #ccc;
    padding-bottom: 5px;
    margin-bottom: 8px;
}
.gridinv .personalinv::after {
    content: '';
    position: absolute;
    bottom: 10px;
    z-index: -1;
    height: 4px;
    background-color: rgba(0, 0, 0, 0);
    width: 60%;
    margin: 0 20%;
    box-shadow: 0 5px 20px rgba(0, 0, 0, .5);
}
/* ---------------------------- 
CARRUSEL CONOTRAD HOME ----------------------------*/
.cont-carruhomect .swiper.elementor-loop-container.elementor-grid.swiper-initialized {
    padding: 30px 0;
}
.cont-carruhomect .swiper-slide.e-loop-item {
    box-shadow: 0 0px 20px rgba(0, 0, 0, 0.1);
    border-radius: 12px;
    transition: transform 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
    will-change: transform;
}
.cont-carruhomect .swiper-slide.e-loop-item:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.25);
}
.cont-carruhomect .elementor-cta__content a {
    text-decoration: none !important;
    color: #fff;
}
.cont-carruhomect .elementor-cta {}
.cont-carruhomect .elementor-cta__description {
    margin: 20px 0 0 0;
}
.cont-carruhomect .elementor-cta__description a + a {
    background-color: transparent;
    padding: 6px 12px 6px 12px;
    background-image: linear-gradient(90deg, var( --e-global-color-accent) 0%, var( --e-global-color-dd734aa) 100%);
    border-style: none;
    border-radius: 20px 20px 20px 20px;
    font-weight: 600;
}
/* ---------- EXPERIENCIAS ---------- */
.experienciascont h3 {
    font-size: 20px;
    line-height125em;
    font-weight: 800;
    padding-bottom: 8px;
    margin-bottom: 1.25em;
    border-bottom: 1px solid #777;
}
.conotradexp {
    font-size: 14px;
}
ul.conotrad-list, ul.conotrad-list li {
    list-style: none;
    display: inline-block;
    padding: 0;
    margin: 0;
    font-size: 14px;
}
.conolist ul.conotrad-list, .conolist ul.conotrad-list li, .conolist ul.conotrad-list li a {
    font-size: 13px;
}
.conolist ul.conotrad-list li a {
    font-weight: 600;
}
.conotradexp ul a {
    text-decoration: none;
    background-color: #007932;
    color: #fff;
    border-radius: 20px;
    line-height: 1.35em;
    padding: 5px 20px;
    transition: all ease-in .3s;
}
.conotradexp ul a:hover {
    background-color: var( --e-global-color-dd734aa);
    color: #fff;
    text-decoration: none;
}
.expag .elementor-cta__bg {
    background-size: contain !important;
    background-repeat: no-repeat;
    background-position: top center;
    margin: 20px 0 0 20px;
}
.enlace-ods-grid h3 {
    display: none;
}
.odscononotrad .enlace-ods-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    grid-template-rows: 1fr;
    grid-column-gap: 5px;
    grid-row-gap: 5px;
}
.enlace-ods-grid {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    grid-template-rows: 1fr;
    grid-column-gap: 5px;
    grid-row-gap: 5px;
}
/* Tableta: mantiene las 8 columnas */
@media (max-width: 1024px) {
    .enlace-ods-grid, .odscononotrad .enlace-ods-grid {
        grid-template-columns: repeat(10, 1fr);
        grid-template-rows: 1fr;
    }
}
/* Móviles: 4 columnas, 2 filas */
@media (max-width: 768px) {
    .enlace-ods-grid, .odscononotrad .enlace-ods-grid {
        grid-template-columns: repeat(5, 1fr);
        grid-template-rows: repeat(1, 1fr);
    }
}
.experienciascont .elementor-cta__content {
    min-height: auto !important;
}
.tith2custom h2 a {
    font-size: inherit;
    font-weight: inherit;
    text-decoration: none;
}
/* -------- Shortcode y otros códigos vinculados a la plantilla EXPERIENCIAS ------*/
.ubicacion-taxonomia a, .estrategia-taxonomia a {
    background: #fff;
    padding: 4px 20px;
    position: relative;
    border: 1px solid #ddd;
    display: inline-block;
    box-shadow: 0 0 10px rgba(0, 0, 0, .1);
    margin-bottom: 10px;
    text-decoration: none;
    border-radius: 20px;
    color: #4E4E4E;
    transition: all .3s;
    font-size: 16px;
}
.ubicacion-taxonomia a:hover, .estrategia-taxonomia a:hover {
    background: #1D4DA0;
    color: #fff;
    text-decoration: none;
    border: 1px solid #1D4DA0;
}
.agente-item h2 {
    font-size: 17px;
}
.agente-item img {
    max-width: 150px;
    margin: 20px 0;
}
.publica .bibliografia ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
.publica .bibliografia a {
    display: flex;
    flex-direction: row;
    align-items: center;
}
.publica .bibliografia span {
    width: 80%;
}
.publica .bibliografia img {
    margin: 10px 15px 20px 0px;
    vertical-align: middle;
    width: 11% !important;
    border: 1px solid #ddd;
    padding: 2px;
    box-shadow: 0 0 10px rgba(0, 0, 0, .15);
}
.contexp figure {
    margin-top: 60px;
}
.taxexp .conotrad-list a {
    color: #fff !important;
    text-decoration: none;
    font-size: 12px;
    font-weight: bold;
}
/*.tarjetaexp {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.tarjetaexp:hover {
    transform: translateY(-4px);
    box-shadow: rgba(0, 0, 0, 0.15) 0px 8px 20px;
}
.tarjetaexp .elementor-widget-theme-post-featured-image .elementor-widget-container::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, #fff, #f7f7f7);
    z-index: 0;
}
.tarjetaexp .elementor-widget-theme-post-featured-image .elementor-widget-container img {
    mix-blend-mode: multiply;
}*/
/* ----- Miniaturas Experiencias ----  */
.expthumb .elementor-posts .elementor-post__card {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.expthumb .elementor-posts .elementor-post__card:hover {
    transform: translateY(-4px);
    box-shadow: rgba(0, 0, 0, 0.15) 0px 8px 20px;
}
.expthumb.elementor-posts__hover-gradient .elementor-post__card .elementor-post__thumbnail__link {
    transition: transform 0.4s ease, filter 0.4s ease;
    outline: 2px solid #fff;
    outline-offset: -2px;
}
.expthumb.elementor-posts__hover-gradient .elementor-post__card .elementor-post__thumbnail__link:hover {
    transform: scale(1.05);
    filter: brightness(1.1) saturate(1.2);
}
.expthumb.elementor-posts__hover-gradient .elementor-post__card .elementor-post__thumbnail__link::after {
    background-image: linear-gradient(0deg, rgba(0, 0, 0, .04), transparent 100%);
}
.expthumb .elementor-posts .elementor-post__card .elementor-post__excerpt p:last-child::after {
    content: '[...]';
    margin-left: 5px;
}
.expthumb .elementor-posts .elementor-post__badge {
    color: #fff !important;
    text-decoration: none;
    font-size: 12px;
    font-weight: bold;
    text-transform: none;
    background-color: transparent;
    padding: 6px 12px 6px 12px;
    background-image: linear-gradient(90deg, var( --e-global-color-accent) 0%, var( --e-global-color-dd734aa) 100%);
    border-style: none;
    border-radius: 20px 20px 20px 20px;
}
/*-------- Página de ARCHIVOS ---------*/
.tarjetas-grid {
    column-count: 1;
    column-gap: 20px;
}
@media (min-width: 600px) {
    .tarjetas-grid {
        column-count: 2;
    }
}
@media (min-width: 900px) {
    .tarjetas-grid {
        column-count: 3;
    }
}
/* ------- Thumbs Experiencias Page ----- */
.tarjetaexp:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
}
.tarjetaexp .elementor-widget-theme-post-featured-image {
    background-image: linear-gradient(0deg, rgba(0, 0, 0, .04), transparent 100%);
}
.tarjetaexp .elementor-widget-theme-post-featured-image img {
    mix-blend-mode: multiply;
}
.tarjetaexp .elementor-widget-theme-post-featured-image .elementor-widget-container {
    min-height: 150px;
    display: flex;
    align-items: center;
}
.tarjeta-item {
    break-inside: avoid;
    margin-bottom: 20px;
}
.tarjetas-grid .tarjeta-item {
    background-color: #fff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    display: flex;
    flex-direction: column;
    position: relative;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.tarjeta-item:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
}
.tarjeta-contenido .tarjeta-conotrad-wrapper {
    padding: 0;
    line-height: 1.15em;
    gap: 1px;
    font-size: .7rem;
}
.tarjeta-contenido .tarjeta-conotrad-wrapper a {
    font-size: inherit;
    color: #666;
}
.tarjeta-imagen {
    width: 100%;
    height: auto;
    max-height: 350px;
    display: block;
    object-fit: cover;
    transition: transform 0.4s ease, filter 0.4s ease;
    outline: 2px solid #fff; /* O usa el color de fondo del contenedor */
    outline-offset: -2px;
    border-radius: 12px 12px 0 0 !important;
    mix-blend-mode: multiply;
}
.tarjeta-item > a {
    background: linear-gradient(to bottom, #fff, #f7f7f7);
    min-height: 150px;
    display: flex;
    width: 100% !important;
    align-items: center;
}
.tarjeta-item:hover .tarjeta-imagen {
    transform: scale(1.05);
    filter: brightness(1.1) saturate(1.2);
}
.tarjeta-contenido {
    padding: 25px;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}
.tarjeta-titulo {
    font-size: 18px;
    margin: 0 0 10px;
    line-height: 1.3;
}
.tarjetas-grid .tarjeta-titulo a {
    text-decoration: none;
    color: #222;
    transition: color 0.3s ease;
    font-weight: 600;
}
.tarjeta-titulo a:hover {
    color: #057E37;
}
.tarjeta-texto {
    font-size: 15px;
    color: #555;
    line-height: 1.35;
}
.tarjetas-paginacion {
    text-align: center;
    margin: 50px 0;
}
.tarjetas-paginacion a, .tarjetas-paginacion span {
    padding: 0 7px;
}
/*.tarjeta-tipo {
    font-size: 13px;
    border-top: 1px solid #ddd;
    padding-top: .35em;
    display: flex;
    flex-direction: inline;
    align-items: center;
}
.tarjeta-tipo::before {
    content: '\e047';
    font-family: "untitled-font-1" !important;
    font-style: normal !important;
    font-weight: normal !important;
    font-variant: normal !important;
    text-transform: none !important;
    speak: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    margin-right: 6px;
}*/
#search-explore-wrapper .tarjeta-tipo {
    position: absolute;
    top: 10px;
    right: 10px;
    color: #fff;
    font-size: 12px;
    font-weight: bold;
    --background-overlay: '';
    box-shadow: 0 0 10px rgba(0, 0, 0, .2);
    background-color: transparent;
    padding: 6px 12px 6px 12px;
    background-image: linear-gradient(90deg, var( --e-global-color-accent) 0%, var( --e-global-color-dd734aa) 100%);
    border-style: none;
    border-radius: 20px 20px 20px 20px;
    z-index: 2;
    line-height: 1em;
    min-width: 60px;
    text-align: center;
    display: inline-block;
}
#search-explore-wrapper .tarjeta-tipo::before {
    content: none
}
/* ------------- DESPLEGABLE TAXONONÍAS (Sidebar)-------------------*/
.arbol-ubicaciones ul {
    list-style: none;
    padding-left: 0;
    margin: 0;
}
.arbol-ubicaciones .toggle-node-empty {
    display: none;
}
.arbol-ubicaciones li {
    margin: 3px 0;
    position: relative;
    font-family: sans-serif;
    font-size: 14px;
    line-height: 1.3;
    padding-left: 15px;
}
.arbol-ubicaciones li > a {
    color: #555;
    text-decoration: none;
}
.arbol-ubicaciones li > a:hover {
    text-decoration: underline;
}
.arbol-ubicaciones .term-count {
    color: #777;
    font-size: 0.9em;
    margin-left: 4px;
}
.arbol-ubicaciones .toggle-node, .arbol-ubicaciones .toggle-node-empty {
    display: inline-block;
    cursor: pointer;
    user-select: none;
    text-align: center;
    vertical-align: middle;
}
.arbol-ubicaciones li.open > ul {
    display: block;
}
.arbol-ubicaciones li > ul {
    display: none;
}
.arbol-ubicaciones li.open > .toggle-node img {
    transform: rotate(90deg);
    transition: transform 0.2s ease-in-out;
}
.arbol-ubicaciones .toggle-node::before {
    content: "\e05f";
    font-family: "untitled-font-1" !important;
    font-style: normal !important;
    font-weight: normal !important;
    font-variant: normal !important;
    text-transform: none !important;
    speak: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    border: 1px solid #555;
    margin: 0 2px 0 -10px;
    position: relative;
    font-size: 10px;
}
.arbol-ubicaciones li.open > .toggle-node::before {
    font-family: "untitled-font-1" !important;
    font-style: normal !important;
    font-weight: normal !important;
    font-variant: normal !important;
    text-transform: none !important;
    speak: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    content: "\e060";
    border: 1px solid #555;
    margin-right: 6px;
    position: relative;
}
.arbol-ubicaciones .toggle-node img {
    display: none !important;
}
/* =============== CARRUSEL DE ACTIVIDADES =============== */
/* --- CONTENEDOR GENERAL --- */
.carousel-container {
    width: 100%;
    max-width: 1200px;
    position: relative;
    overflow: hidden;
    padding-top: 70px;
    padding-bottom: 40px;
}
/* --- PISTA DEL CARRUSEL --- */
.carousel-track {
    display: flex;
    gap: 15px;
    transition: transform 0.3s ease-in-out;
}
/* --- DIAPOSITIVAS --- */
.carousel-slide {
    flex: 0 0 calc((100% - 2 * 15px) / 3);
    background-color: #fff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.15);
    display: flex;
    flex-direction: column;
    text-align: left;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    border: 1px solid #eee;
}
.carousel-slide:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
}
/* --- IMAGENES --- */
.contenido-carru img {
    display: block;
    width: 100%;
    height: 180px;
    object-fit: cover;
    border-radius: 12px 12px 0 0 !important;
    outline: 2px solid #fff;
    outline-offset: -2px;
    mix-blend-mode: multiply;
    transition: transform 0.4s ease, filter 0.4s ease;
}
.carousel-slide:hover img {
    transform: scale(1.05);
    filter: brightness(1.1) saturate(1.2);
}
/* --- CONTENIDO DE CADA DIAPOSITIVA --- */
.contenido-carru {
    padding: 0;
    position: relative;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
@media (max-width: 767px) {
    .carousel-track {
        flex-wrap: nowrap; /* evita que se rompa el layout */
        gap: 10px;
    }
    .carousel-slide {
        flex: 0 0 100%; /* una tarjeta por fila */
        max-width: 100%;
    }
}
/* Añade padding solo a los textos */
.contenido-carru h2, .contenido-carru p, .contenido-carru h3 {
    padding: 0 20px;
}
/* Estilos de título h2 dentro de enlace */
.contenido-carru a {
    text-decoration: none;
    display: block;
}
.contenido-carru a:hover {
    text-decoration: none;
}
.contenido-carru h2 {
    margin: 1em 0 0.5em;
    color: #222;
    font-weight: 600;
    font-size: 18px;
    line-height: 1.25;
    transition: color 0.3s ease;
}
.contenido-carru a:hover h2 {
    color: #057E37;
    text-decoration: none;
}
/* Descripción */
.carousel-container p {
    margin: 0.5em 0;
    font-size: 15px;
    line-height: 1.3;
}
/* h3: categoría */
.carousel-container h3 {
    font-size: 14px;
    margin: 15px 20px 0;
    padding: 7px 0 15px 0 !important;
    border-top: 1px solid var(--e-global-color-bcf92af);
    border-bottom-width: 0;
    font-weight: normal;
    position: relative;
}
.carousel-container h3::before {
    content: "\e047";
    font-family: "untitled-font-1" !important;
    font-style: normal !important;
    font-weight: normal !important;
    text-transform: none !important;
    speak: none;
    line-height: 1;
    font-size: 13px;
    margin-right: 4px;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
/* --- FLECHAS DE NAVEGACIÓN --- */
.carousel-btn {
    position: absolute;
    top: 0;
    width: 40px;
    height: 40px;
    border: none;
    cursor: pointer;
    font-size: 0; /* oculta el contenido original */
    visibility: visible; /* importante para permitir hover */
    background: none;
    margin: 15px 0 0 0;
    padding: 0;
    z-index: 2;
    font-size: 0;
    line-height: 1;
}
/* FLECHA ANTERIOR */
.btn-prev {
    left: 0;
}
.btn-prev::before {
    content: "\e066";
    font-family: "untitled-font-1";
    font-size: 30px;
    background: #158437;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 3px;
    transition: background 0.3s ease;
}
/* FLECHA SIGUIENTE */
.btn-next {
    left: 45px; /* separa adecuadamente de la anterior */
}
.btn-next::after {
    content: "\e067";
    font-family: "untitled-font-1";
    font-size: 30px;
    background: #158437;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 3px;
    transition: background 0.3s ease;
}
/* EFECTO HOVER */
.carousel-btn:hover {
    background: transparent;
}
.btn-prev:hover::before, .btn-next:hover::after {
    background: #2252A5;
}
/* --- INDICADORES DE NAVEGACIÓN --- */
.carousel-indicators {
    text-align: center;
    margin: 10px 0 20px;
    position: absolute;
    bottom: 0;
}
.indicator {
    display: inline-block;
    width: 6px;
    height: 6px;
    margin: 0 5px;
    background-color: #ccc;
    border-radius: 50%;
    cursor: pointer;
    transition: background-color 0.3s;
}
.indicator.active {
    background-color: #0073aa;
}
/* ============================
       PÁGINA BUSCA Y EXPLORA
    =============================
/* CONTENEDOR PRINCIPAL FLEXIBLE Y CENTRADO */
#content-panel {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 0 auto;
    width: 100%;
    padding: 30px 20px 100px 20px;
    box-sizing: border-box;
}
@media (min-width: 1700px) {
    #content-panel {
        max-width: 1340px;
    }
}
@media (min-width: 1366px) and (max-width: 1699px) {
    #content-panel {
        max-width: 1183px;
    }
}
@media (min-width: 1024px) and (max-width: 1365px) {
    #content-panel {
        max-width: 1024px;
    }
}
/* PANELES IZQUIERDO Y DERECHO (RESPONSIVE) */
/* Por defecto (móvil): uno debajo del otro */
#left-panel, #right-panel {
    width: 100%;
    background: #fff;
}
/* TABLETAS verticales (mínimo 280px para left) */
@media (min-width: 768px) {
    #left-panel {
        flex: 0 0 280px;
        max-width: 100%;
    }
    #right-panel {
        flex: 1;
    }
}
/* ESCRITORIO NORMAL */
@media (min-width: 1024px) and (max-width: 1365px) {
    #left-panel {
        flex: 0 0 30%;
        max-width: 30%;
    }
    #right-panel {
        flex: 0 0 69%;
        max-width: 70%;
    }
}
/* ESCRITORIO GRANDE */
@media (min-width: 1366px) {
    #left-panel {
        flex: 0 0 28%;
        max-width: 28%;
    }
    #right-panel {
        flex: 0 0 71%;
        max-width: 72%;
    }
}
/* ----- Resultados  --------*/
.tarjetas-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}
@media (max-width: 1024px) {
    .tarjetas-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (max-width: 767px) {
    .tarjetas-grid {
        grid-template-columns: 1fr;
    }
}
/* ---------------filtro orden  --------*/
.orden-minis.search-controls {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 0 10px 0;
    margin: 0 0 40px 0;
    border-bottom: 1px solid #ddd;
    font-size: 15px;
}
.orden-minis i {
    color: #555;
}
.filtrosaplicados i {
    margin-right: 4px;
}
.orden-minis .sorting-minis {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    line-height: 1em;
    font-size: 14px;
}
.orden-minis .sorting-minis span {
    white-space: nowrap;
}
.sorting-minis select.btn-light {
    border: 1px solid #ddd;
    color: #333;
    font-weight: 300;
    font-size: 14px;
    padding: 3px 20px;
    margin: 0;
}
.orden-minis label {
    font-size: 14px;
    color: #333;
    margin-bottom: 0;
}
.orden-minis .filtrosaplicados {
    font-size: 14px;
    color: #666;
}
.orden-minis .filtrosaplicados span {
    cursor: default;
}
.orden-minis .filtrosaplicados span:hover {
    text-decoration: underline;
}
/* ----- Imagen tarjetas  --------*/
.elementor-widget-text-editor.videos-icon ul {
    list-style: none;
    padding: 0;
    margin: 0;
}
.elementor-widget-text-editor.videos-icon ul li {
    margin-bottom: .1em;
    padding: 0;
}
.elementor-widget-text-editor.videos-icon ul li::before {
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    line-height: 1;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-size: 12px;
    margin-right: 6px;
    content: "\f054";
}
@media (max-width: 767px) {
    .elementor-widget-text-editor.videos-icon ul li {
        margin: 0 0 .5em;
    }
    .elementor-widget-text-editor.videos-icon ul li a {
        display: block;
    }
}
/* General página búsqueda */
/* Paneles página búsqueda */
#search-explore-wrapper #map-container {
    height: 70vh;
}
#search-explore-wrapper .pagination-controls button {
    border: 1px solid #158437;
    cursor: pointer;
    font-size: 20px;
    background: #158437;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 3px;
    transition: background 0.3s ease;
    width: 40px;
    height: 40px;
    padding: 0 0 4px 0;
}
.leaflet-control a, .leaflet-control a:hover {
    text-decoration: none;
}
#left-panel #formsidebar h5 {
    font-weight: 600;
    font-family: inherit !important;
}
#left-panel #formsidebar .subgrup {
    border: none;
}
#left-panel #formsidebar .subgrup > .form-check {
    border: none !important;
}
#left-panel #formsidebar .form-check.level1 input.form-check-input[type="checkbox"] {
    margin-left: 0;
}
#left-panel #formsidebar .form-check.level2 {
    margin-left: 0;
}
#left-panel #formsidebar .subgrup.mb-3 {
    margin-bottom: .5rem !important;
}
#formsidebar .form-check.radio {
    box-shadow: inset 0px 1px 0px 0px #ffffff;
    background: linear-gradient(to bottom, #f9f9f9 5%, #e9e9e9 100%);
    background-color: rgba(0, 0, 0, 0);
    background-color: rgba(0, 0, 0, 0);
    background-color: #f9f9f9;
    border-radius: 6px;
    border: 1px solid #dcdcdc;
    cursor: pointer;
    font-size: inherit;
    padding: 0 0 0 24px;
    text-decoration: none;
    text-shadow: 0px 1px 0px #ffffff;
    transition: all .3s;
    display: flex;
    flex-direction: row;
    align-items: center;
}
#formsidebar .form-check.radio:hover, #left-panel .btn.btn-light.dropdown-toggle:hover {
    background: linear-gradient(to bottom, #e9e9e9 5%, #f9f9f9 100%);
    background-color: #e9e9e9;
}
#formsidebar .form-check.radio label {
    width: 100%;
    padding-top: 12px;
    padding-bottom: 12px;
}
#formsidebar .form-check.radio input.form-check-input[type="radio"] {
    margin: 0 0 0 -1.15em
}
#left-panel .btn.btn-light.dropdown-toggle {
    box-shadow: inset 0px 1px 0px 0px #ffffff;
    background: linear-gradient(to bottom, #f9f9f9 5%, #e9e9e9 100%);
    background-color: rgba(0, 0, 0, 0);
    background-color: #f9f9f9;
    border-radius: 6px;
    border: 1px solid #dcdcdc;
    cursor: pointer;
    font-size: 15px;
    padding: 6px 24px 10px 24px;
    text-decoration: none;
    text-shadow: 0px 1px 0px #ffffff;
    width: 100%;
    text-align: left;
    color: #4e4e4e;
    transition: all .3s;
}
#contenedor-ods-dinamico .form-check-label {
    text-transform: lowercase;
    font-size: 13px;
    color: #4e4e4e;
}
#contenedor-ods-dinamico .col-12.col-md-6.col-lg-4 {
    width: 100%;
    min-width: 100%;
}
#contenedor-ods-dinamico .form-check {
    display: flex;
    min-height: auto;
    align-items: end;
    padding-bottom: 3px;
}
#searchQuery {
    box-shadow: inset 0 0 5px rgba(0, 0, 0, .1);
    border: 1px solid #ddd;
    min-height: 50px;
    border-radius: 10px;
}
/* Pops mapa */
.leaflet-popup-content-wrapper{
    padding: 20px 20px 5px 20px;
}
.leaflet-popup-content{
    margin: 0;
    padding: 0;
    width: 200px !important;
}
.leaflet-popup-content .tarjeta-item{
    border: none;
    box-shadow: none;
}
.leaflet-popup-content .tarjeta-item:hover{
    transform: none;
}
.leaflet-popup-content .tarjeta-item > a{
    background: transparent;
    min-height: 130px;
}
.leaflet-popup-content .tarjeta-contenido {
  padding: 6px 0;
}
#search-explore-wrapper .leaflet-popup-content .tarjeta-tipo, .leaflet-popup-content .tarjeta-tipo{
position: absolute;
  top: 20px;
  right: 20px;
  color: #fff;
  font-size: 11px;
  font-weight: 400;
  --background-overlay: '';
  box-shadow: 0 0 10px rgba(0, 0, 0, .2);
  background-color: transparent;
  padding: 6px 12px 6px 12px;
  background-image: linear-gradient(90deg, var( --e-global-color-accent) 0%, var( --e-global-color-dd734aa) 100%);
  border-style: none;
  border-radius: 0;
  z-index: 2;
  line-height: 1em;
  min-width: 60px;
  text-align: center;
  display: inline-block;
  text-transform: none;
  letter-spacing: .01em;
}
.leaflet-popup-content .popup-imagen{
  max-height: initial;
  border: none;
  width: 200px;
  height: 140px;
  object-fit: cover;
  object-position: center;
  display: block;
  border-radius: 4px;
}
.leaflet-popup-content .tarjeta-titulo {
  margin: 0 0 4px;
  font-size: 13px;
  line-height: 1.3;
}
.leaflet-popup-content .tarjeta-titulo a {
  text-decoration: none;
  color: #4e4e4e;
  font-weight: 400;
}/* End custom CSS */