/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */
body {
   /* padding:0 30px;*/
   font-family: Poppins, sans-serif;
   background-color: #fff;
   font-size: 16px;

   }
   body > div {
	   overflow:hidden;
   }
a {
    background-color: transparent;
    color: #0084BE;
    text-decoration: underline;
}
.e-tabs-items h4 button {
	color: #0084BE;
}
.e-tabs-items h4 button:hover {
	color: #00C0F3;
}
a:hover {
	color: #00C0F3;
	text-decoration: underline;
	transition: 0.5s;
}
.grid-item a:hover, .recurso-destacado-item a:hover {
	text-decoration: none;
}
h1, h2, h3, h4, h5, h6 {
	font-weight: normal;
	color: #666;
	text-shadow: 0 0 1px rgba(0,0,0,0.01);
font-family: Poppins, sans-serif;
	font-weight: 600;
}
.texto-blanco, .texto-blanco h1, .texto-blanco h2, .texto-blanco h3, .texto-blanco h4, .texto-blanco p, .texto-blanco li, .texto-blanco a {color: #fff;}
.titulo-principal h1 {font-weight: 900; font-size: 2em!important;}
@media (min-width: 768px) {
	.titulo-principal h1 {font-weight: 900; font-size: 3em;}
}
p , .textwidget{
   font-family: Poppins, sans-serif;
font-size: 16px;
line-height: 26px;

}
.texto-destacado p {font-size: 17px;}
/* ESTILOS DE FILTRO - VERIFICA QUE ESTÉN CARGADOS */

/* Menú de filtros */
.filtro-menu {
    display: flex;
    /* 1. Cambiamos wrap por nowrap para que no salten de línea */
    flex-wrap: nowrap; 
    gap: 9px;
    /* 2. Alineamos al inicio para que el scroll empiece correctamente */
    justify-content: flex-start; 
    margin: 20px 0;
    padding: 15px 10px; /* Un poco más de padding vertical para evitar cortes visuales */
    background: #fff;
    border-radius: 10px;
    
    /* 3. Habilitamos el scroll horizontal */
    overflow-x: auto;
    
    /* 4. Suavizamos el movimiento en iOS */
    -webkit-overflow-scrolling: touch;
    
    /* 5. (Opcional) Ocultamos la barra de scroll para que se vea más limpio */
    scrollbar-width: none; /* Firefox */
}

/* Ocultar barra de scroll en Chrome, Safari y Edge */
.filtro-menu::-webkit-scrollbar {
    display: none;
}

.filtro-btn {
    /* 6. Importante: evita que los botones se achiquen para caber */
    flex: 0 0 auto;
    white-space: nowrap; /* Evita que el texto interno salte de línea */
}
.filtro-btn {
    padding: 10px 15px;
    background: white;
    border: 2px solid #ddd;
    border-radius: 25px;
    cursor: pointer;
    font-weight: 600;
    font-size: 14px;
    transition: all 0.3s ease;
    color: #333;
    min-width: 100px;
}

.filtro-btn:hover {
    background: #0073aa !important;
    border-color: #0073aa;
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
	color: #fff;
}

.filtro-btn.active {
    background: #0073aa !important;
    color: white !important;
    border-color: #005a87 !important;
    box-shadow: 0 4px 12px rgba(0,115,170,0.3);
}

/* Transiciones para las secciones */
.seccion-filtrable {
    transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
    opacity: 1;
    transform: translateY(0);
    overflow: hidden;
}

.seccion-filtrable.oculta {
    opacity: 0;
    max-height: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    transform: translateY(-20px);
    pointer-events: none;
    overflow: hidden;
    border: none !important;
}

/* IMPORTANTE: Forzar que Elementor respete nuestras clases */
.elementor-section.seccion-filtrable {
    transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.elementor-section.seccion-filtrable.oculta {
    display: none !important;
}
.e-search-label {display: none!important;}
.acordeon-seo .elementor-toggle .elementor-tab-title .elementor-toggle-icon.elementor-toggle-icon-left {
    float: none;
    text-align: left;
}
.elementor-portfolio-item__title {
    color: #fff;
    font-size: 17px!important;
    line-height: 1;
    margin: 0;
    padding: 0;
}
.single-recurso_av h2, .titulo-recursos h2, h2 {font-size: 28px;font-weight: 600;
    line-height: 1.2em;letter-spacing: 0px;color: #154079;}   
    
.type-documento_pdf h1 {font-size: 1.7em!important;}
.recurso-relacionado-etiqueta a {color: #c36!important;}
.recurso-destacado-titulo {font-size: 18px!important;text-transform: none !important;}
.elementor-widget-video-playlist .e-tabs-items-wrapper .e-tab-title {
    background-clip: padding-box;
    background-color: var(--e-a-bg-default);
    border-color: #d5d8dc;
    border-width: 0 0 1px;
    box-sizing: content-box;
    cursor: pointer;
    display: flex;
    font-size: 14px;
    height: auto!important;
    line-height: 55px;
    outline: none;
    padding: 0 16px;
	margin-bottom: 10px;
}
.e-tab-title-text button {
	font-size: 15px!important;
	white-space: normal;
}
.elementor-widget-video-playlist .e-tabs-main-area {
    display: flex;
    flex-direction: row-reverse;
    height: 434px;
    gap: 5px;
}

/* Evita el scroll horizontal que deforma el header en móviles */
html, body {
    overflow-x: hidden !important;
    position: relative;
}

.elementor-section-stretched {
    width: 100% !important;
    left: 0 !important;
}
/* Contenedor principal de resultados para que no sea tan ancho */
.search-results .site-main, 
.search-results .elementor-widget-container {
    max-width: 850px;
    margin: 0 auto;
    padding: 20px;
}

/* Estilo para cada artículo de resultado */
.search-results article {
    display: flex;
    gap: 30px;
    margin-bottom: 40px;
    padding-bottom: 40px;
    border-bottom: 1px solid #e0e0e0; /* Línea horizontal sutil */
    align-items: flex-start;
}

/* Imagen principal (Thumbnail) */
.search-results .post-thumbnail {
    flex: 0 0 250px; /* Ancho fijo para la imagen */
}

.search-results .post-thumbnail img {
    width: 100%;
    height: 180px;
    object-fit: cover; /* Para que todas las imágenes midan lo mismo */
    border-radius: 4px;
}

/* Contenido del texto */
.search-results .entry-content-wrapper {
    flex: 1;
}

/* Título estilo CICOM */
.search-results .entry-title {
    font-family: "Montserrat", sans-serif; /* O la fuente que uses */
    font-size: 1.5rem;
    color: #003366; /* Azul oscuro del logo */
    margin-top: 0;
    margin-bottom: 10px;
}

.search-results .entry-title a {
    text-decoration: none;
    color: inherit;
}

/* Extracto con elipsis */
.search-results .entry-summary p {
    font-size: 1rem;
    color: #555;
    line-height: 1.6;
}

/* Responsive: en móviles se pone uno sobre otro */
@media (max-width: 768px) {
    .search-results article {
        flex-direction: column;
    }
    .search-results .post-thumbnail {
        flex: 0 0 100%;
        width: 100%;
    }
}
.titulo-buscar h2, .titulo-buscar h1 {
	font-family: "Poppins", Sans-serif;
    font-size: 32px;
    font-weight: 600;
    text-transform: none;
    font-style: normal;
    text-decoration: none;
    line-height: 1.2em;
    letter-spacing: 0px;
    color: #4BCCFF;
}
.menu-principal nav.hfe-dropdown .hfe-nav-menu {margin-top: 20px!important;}
