/* =========================================
VARIABLES
========================================= */
.uf-blog-scope,
#uf-post-tags {
--uf-blue: #0719a5;
--uf-yellow: #ffd522;
--uf-light: #f6f7ff;
--uf-border: rgba(7, 25, 165, 0.12);
}
/* =========================================
CONTENEDOR PRINCIPAL
========================================= */
.uf-blog-scope {
width: 100%;
}
/* Primera sección: título, tags, fecha e información */
.uf-blog-scope > .e-con-boxed:first-child {
min-height: 0 !important;
height: auto !important;
margin: 0 !important;
padding-top: clamp(16px, 2vw, 28px) !important;
padding-bottom: 8px !important;
}
.uf-blog-scope > .e-con-boxed:first-child > .e-con-inner {
min-height: 0 !important;
height: auto !important;
margin-top: 0 !important;
margin-bottom: 0 !important;
padding-top: 0 !important;
padding-bottom: 0 !important;
gap: 0 !important;
}
/* =========================================
1. TÍTULO
========================================= */
.uf-blog-scope
.elementor-widget-theme-post-title {
width: 100% !important;
max-width: 100% !important;
margin: 0 0 12px !important;
padding: 0 !important;
}
.uf-blog-scope
.elementor-widget-theme-post-title
.elementor-widget-container {
margin: 0 !important;
padding: 0 !important;
}
.uf-blog-scope
.elementor-widget-theme-post-title
.elementor-heading-title {
max-width: 1050px;
margin: 0 !important;
padding: 0 !important;
color: var(--uf-blue);
font-size: clamp(28px, 3vw, 42px) !important;
font-weight: 800 !important;
line-height: 1.12 !important;
letter-spacing: -0.02em;
}
/* =========================================
2. ETIQUETAS
========================================= */
#uf-post-tags {
display: none;
position: relative;
width: fit-content;
max-width: 100%;
margin: 0 0 12px;
padding: 9px 12px 9px 15px;
align-items: center;
flex-wrap: wrap;
gap: 8px;
background: linear-gradient(
135deg,
#ffffff 0%,
var(--uf-light) 100%
);
border: 1px solid var(--uf-border);
border-radius: 11px;
box-shadow:
0 4px 13px rgba(7, 25, 165, 0.06);
font-family: inherit;
}
#uf-post-tags.has-tags {
display: flex;
}
#uf-post-tags::before {
content: "";
position: absolute;
top: 8px;
bottom: 8px;
left: 0;
width: 3px;
background: var(--uf-yellow);
border-radius: 0 4px 4px 0;
}
#uf-post-tags .uf-post-tags__label {
display: inline-flex;
align-items: center;
gap: 6px;
color: var(--uf-blue);
font-size: 12px;
font-weight: 800;
line-height: 1;
}
#uf-post-tags .uf-post-tags__label::before {
content: "";
width: 6px;
height: 6px;
background: var(--uf-yellow);
border-radius: 50%;
box-shadow:
0 0 0 3px rgba(255, 213, 34, 0.16);
}
#uf-post-tags .uf-post-tags__list {
display: flex;
align-items: center;
flex-wrap: wrap;
gap: 6px;
}
#uf-post-tags .uf-post-tag {
display: inline-flex;
align-items: center;
justify-content: center;
min-height: 28px;
padding: 5px 10px;
color: var(--uf-blue);
background: #ffffff;
border: 1px solid rgba(7, 25, 165, 0.15);
border-radius: 8px;
font-size: 12px;
font-weight: 650;
line-height: 1.2;
text-decoration: none;
transition:
color 0.18s ease,
background-color 0.18s ease,
border-color 0.18s ease,
box-shadow 0.18s ease,
transform 0.18s ease;
}
#uf-post-tags .uf-post-tag::before {
content: "#";
margin-right: 4px;
color: var(--uf-blue);
font-weight: 800;
}
#uf-post-tags .uf-post-tag:hover,
#uf-post-tags .uf-post-tag:focus-visible {
color: #ffffff;
background: var(--uf-blue);
border-color: var(--uf-blue);
box-shadow:
0 5px 12px rgba(7, 25, 165, 0.15);
transform: translateY(-1px);
outline: none;
}
#uf-post-tags .uf-post-tag:hover::before,
#uf-post-tags .uf-post-tag:focus-visible::before {
color: var(--uf-yellow);
}
/* =========================================
3. FECHA
========================================= */
.uf-blog-scope
.elementor-widget-post-info:has(
[itemprop="datePublished"]
) {
width: fit-content !important;
max-width: 100% !important;
margin: 0 0 16px !important;
padding: 0 !important;
align-self: flex-start !important;
}
.uf-blog-scope
.elementor-widget-post-info:has(
[itemprop="datePublished"]
)
.elementor-widget-container,
.uf-blog-scope
.elementor-widget-post-info:has(
[itemprop="datePublished"]
)
.elementor-icon-list-items {
margin: 0 !important;
padding: 0 !important;
}
.uf-blog-scope
.elementor-widget-post-info:has(
[itemprop="datePublished"]
)
.elementor-icon-list-item {
min-height: 37px;
margin: 0 !important;
padding: 8px 13px !important;
background: #ffffff;
border: 1px solid var(--uf-border);
border-left: 3px solid var(--uf-yellow);
border-radius: 9px;
box-shadow:
0 4px 12px rgba(7, 25, 165, 0.07);
}
.uf-blog-scope
.elementor-widget-post-info:has(
[itemprop="datePublished"]
)
.elementor-icon-list-item a {
color: var(--uf-blue) !important;
text-decoration: none;
}
.uf-blog-scope
.elementor-widget-post-info:has(
[itemprop="datePublished"]
)
.elementor-icon-list-icon svg {
fill: var(--uf-blue) !important;
}
/* =========================================
4. INFORMACIÓN OPCIONAL
========================================= */
/* Columna que contiene información y autor */
.uf-blog-scope .uf-information-column {
min-height: 0 !important;
height: auto !important;
margin: 0 !important;
padding: 0 !important;
gap: 12px !important;
justify-content: flex-start !important;
align-items: flex-start !important;
}
/* Cuadro informativo válido */
.uf-blog-scope .uf-information-card {
display: block !important;
width: 100% !important;
max-width: 100% !important;
min-height: 0 !important;
height: auto !important;
margin: 0 !important;
padding: clamp(13px, 1.5vw, 18px) !important;
color: var(--uf-blue);
background: linear-gradient(
135deg,
#ffffff 0%,
#f7f8ff 100%
);
border: 1px solid rgba(7, 25, 165, 0.1);
border-radius: 12px;
box-shadow:
0 4px 14px rgba(7, 25, 165, 0.05);
}
.uf-blog-scope
.uf-information-card
.elementor-widget-container {
margin: 0 !important;
padding: 0 !important;
}
.uf-blog-scope
.uf-information-card p {
margin-top: 0 !important;
margin-bottom: 0 !important;
line-height: 1.48;
}
/* Widget de texto completamente vacío */
.uf-blog-scope .uf-information-empty {
display: none !important;
width: 0 !important;
height: 0 !important;
min-height: 0 !important;
margin: 0 !important;
padding: 0 !important;
}
/* Si solo existe un cuadro */
.uf-blog-scope
.uf-information-column.uf-information-count-1
.uf-information-card {
max-width: 100% !important;
}
/* Si existen dos cuadros */
.uf-blog-scope
.uf-information-column.uf-information-count-2 {
gap: 12px !important;
}
/* Si no existe ningún cuadro */
.uf-blog-scope
.uf-information-column.uf-information-count-0 {
gap: 0 !important;
}
/* =========================================
5. AUTOR
========================================= */
.uf-blog-scope
.elementor-widget-post-info:has(
[itemprop="author"]
) {
width: fit-content !important;
max-width: 100% !important;
margin: 2px 0 8px !important;
padding: 0 !important;
align-self: flex-start !important;
}
.uf-blog-scope
.elementor-widget-post-info:has(
[itemprop="author"]
)
.elementor-widget-container,
.uf-blog-scope
.elementor-widget-post-info:has(
[itemprop="author"]
)
.elementor-icon-list-items {
margin: 0 !important;
padding: 0 !important;
}
.uf-blog-scope
.elementor-widget-post-info:has(
[itemprop="author"]
)
.elementor-icon-list-item {
min-height: 38px;
margin: 0 !important;
padding: 8px 13px !important;
background: #ffffff;
border: 1px solid var(--uf-border);
border-radius: 9px;
box-shadow:
0 4px 12px rgba(7, 25, 165, 0.06);
}
.uf-blog-scope
.elementor-widget-post-info:has(
[itemprop="author"]
)
.elementor-icon-list-item a {
color: var(--uf-blue) !important;
text-decoration: none;
}
.uf-blog-scope
.elementor-widget-post-info:has(
[itemprop="author"]
)
.elementor-icon-list-icon svg {
fill: var(--uf-blue) !important;
}
/* =========================================
REDUCIR ESPACIO DESPUÉS DEL AUTOR
========================================= */
/*
* Contenedor horizontal donde están los
* cuadros informativos y el autor.
*/
.uf-blog-scope .uf-information-row {
box-sizing: border-box !important;
width: 100% !important;
max-width: 100% !important;
min-width: 0 !important;
min-height: 0 !important;
height: auto !important;
margin-top: 0 !important;
margin-bottom: 10px !important;
padding-top: 0 !important;
padding-bottom: 0 !important;
align-items: flex-start !important;
flex-direction: row !important;
flex-wrap: nowrap !important;
overflow: visible !important;
}
/* Evita que una columna obligue a la fila a salir de la pantalla. */
.uf-blog-scope .uf-information-row > .e-con {
box-sizing: border-box !important;
min-width: 0 !important;
max-width: 100% !important;
}
/*
* Contenedor que aparece inmediatamente
* después de la información y el autor.
*/
.uf-blog-scope .uf-after-information {
min-height: 0 !important;
height: auto !important;
margin-top: 0 !important;
margin-bottom: 0 !important;
padding-top: 0 !important;
padding-bottom: 0 !important;
justify-content: flex-start !important;
}
/* =========================================
SECCIONES SIGUIENTES Y CARRUSEL
========================================= */
/* =========================================
MEDIOS NUEVOS DENTRO DEL ARTÍCULO
========================================= */
/*
* Esta clase se asigna automáticamente por JavaScript al
* contenedor principal del artículo. No incluye la imagen
* destacada, el autor, los banners ni las notas relacionadas.
*/
.uf-blog-scope .uf-post-content {
--uf-media-radius: 16px;
--uf-media-border: rgba(7, 25, 165, 0.13);
--uf-media-shadow: 0 8px 24px rgba(7, 25, 165, 0.12);
}
/*
* Se decora el medio real, nunca el contenedor completo.
* Así se respetan el ancho, alto, alineación y cantidad de
* columnas que cada persona configure en Elementor.
*/
.uf-blog-scope .uf-post-content
> .elementor-widget-image img,
.uf-blog-scope .uf-post-content
> .elementor-widget-video .elementor-wrapper,
.uf-blog-scope .uf-post-content
> .elementor-widget-image-carousel .elementor-image-carousel-wrapper,
.uf-blog-scope .uf-post-content
> .elementor-widget-media-carousel .elementor-main-swiper,
.uf-blog-scope .uf-post-content
> .elementor-widget-loop-carousel .swiper,
.uf-blog-scope .uf-post-content
> .elementor-widget-gallery .e-gallery-container {
box-sizing: border-box !important;
max-width: 100% !important;
border: 1px solid var(--uf-media-border) !important;
border-radius: var(--uf-media-radius) !important;
box-shadow: var(--uf-media-shadow) !important;
overflow: hidden !important;
isolation: isolate;
}
/*
* Los elementos internos siguen el redondeado, pero no reciben
* ancho ni alto forzado.
*/
.uf-blog-scope .uf-post-content
> .elementor-widget-video iframe,
.uf-blog-scope .uf-post-content
> .elementor-widget-video video,
.uf-blog-scope .uf-post-content
> .elementor-widget-image-carousel img,
.uf-blog-scope .uf-post-content
> .elementor-widget-media-carousel img,
.uf-blog-scope .uf-post-content
> .elementor-widget-loop-carousel img,
.uf-blog-scope .uf-post-content
> .elementor-widget-gallery img {
max-width: 100% !important;
border-radius: inherit !important;
}
/*
* Medios insertados desde el editor de texto o Gutenberg:
* imágenes, videos, galerías y enlaces incrustados.
*/
.uf-blog-scope .uf-post-content
.elementor-widget-text-editor figure.wp-block-image,
.uf-blog-scope .uf-post-content
.elementor-widget-text-editor figure.wp-block-video,
.uf-blog-scope .uf-post-content
.elementor-widget-text-editor figure.wp-block-embed,
.uf-blog-scope .uf-post-content
.elementor-widget-text-editor .wp-block-gallery,
.uf-blog-scope .uf-post-content
.elementor-widget-text-editor > .elementor-widget-container > img,
.uf-blog-scope .uf-post-content
.elementor-widget-text-editor > .elementor-widget-container > video,
.uf-blog-scope .uf-post-content
.elementor-widget-text-editor > .elementor-widget-container > iframe {
box-sizing: border-box !important;
max-width: 100% !important;
border: 1px solid var(--uf-media-border) !important;
border-radius: var(--uf-media-radius) !important;
box-shadow: var(--uf-media-shadow) !important;
overflow: hidden !important;
}
.uf-blog-scope .uf-post-content
.elementor-widget-text-editor figure.wp-block-image img,
.uf-blog-scope .uf-post-content
.elementor-widget-text-editor figure.wp-block-video video,
.uf-blog-scope .uf-post-content
.elementor-widget-text-editor figure.wp-block-embed iframe {
display: block !important;
max-width: 100% !important;
border: 0 !important;
border-radius: inherit !important;
}
@media (max-width: 767px) {
.uf-blog-scope .uf-post-content {
--uf-media-radius: 12px;
--uf-media-shadow: 0 6px 18px rgba(7, 25, 165, 0.11);
}
}
/*
* Elimina la separación grande entre la
* primera sección y el contenido siguiente.
*/
.uf-blog-scope > .e-con-boxed + .e-con-boxed {
min-height: 0 !important;
height: auto !important;
margin-top: 0 !important;
padding-top: clamp(12px, 1.8vw, 22px) !important;
}
/* Interior de la siguiente sección */
.uf-blog-scope
> .e-con-boxed
+ .e-con-boxed
> .e-con-inner {
min-height: 0 !important;
height: auto !important;
margin-top: 0 !important;
padding-top: 0 !important;
}
/* Contenedor que incorpora texto y carrusel */
.uf-blog-scope
.e-con:has(.elementor-widget-loop-carousel),
.uf-blog-scope
.e-con:has(.elementor-widget-loop-grid),
.uf-blog-scope
.e-con:has([id*="carousel"]),
.uf-blog-scope
.e-con:has([class*="carousel"]) {
min-height: 0 !important;
height: auto !important;
margin-top: 0 !important;
padding-top: 0 !important;
justify-content: flex-start !important;
align-items: flex-start !important;
}
/* Widget del carrusel */
.uf-blog-scope
.elementor-widget-loop-carousel,
.uf-blog-scope
.elementor-widget-loop-grid {
margin-top: 0 !important;
margin-bottom: 0 !important;
}
/* Reduce el margen del texto anterior al carrusel */
.uf-blog-scope
.elementor-widget-text-editor
+ .elementor-widget-loop-carousel,
.uf-blog-scope
.elementor-widget-text-editor
+ .elementor-widget-loop-grid {
margin-top: 12px !important;
}
/* Párrafos sin márgenes vacíos */
.uf-blog-scope
.elementor-widget-text-editor
.elementor-widget-container > p:first-child {
margin-top: 0 !important;
}
.uf-blog-scope
.elementor-widget-text-editor
.elementor-widget-container > p:last-child {
margin-bottom: 0 !important;
}
/* Evita centrados verticales que generan espacios */
.uf-blog-scope
.e-con:has(> .elementor-widget-text-editor) {
min-height: 0 !important;
height: auto !important;
justify-content: flex-start !important;
}
/* =========================================
OCULTAR ELEMENTOS ANTIGUOS
========================================= */
article.post-single-page > .wd-single-post-header {
display: none !important;
height: 0 !important;
min-height: 0 !important;
margin: 0 !important;
padding: 0 !important;
overflow: hidden !important;
}
article.post-single-page .wd-single-footer .wd-tags-list,
article.post-single-page .entry-footer .tags-links,
article.post-single-page .post-tags,
.single-post .wd-single-footer .wd-tags-list,
.single-post .entry-footer .tags-links {
display: none !important;
visibility: hidden !important;
width: 0 !important;
height: 0 !important;
min-height: 0 !important;
margin: 0 !important;
padding: 0 !important;
overflow: hidden !important;
}
/*
* En el editor, todos los cuadros informativos permanecen
* visibles aunque Elementor les genere identificadores nuevos.
* En la página publicada, los cuadros vacíos se siguen ocultando.
*/
body.elementor-editor-active
.uf-blog-scope .uf-information-column
> .elementor-widget-text-editor,
body.elementor-editor-preview
.uf-blog-scope .uf-information-column
> .elementor-widget-text-editor,
body.elementor-editor-active
.uf-blog-scope .uf-information-empty,
body.elementor-editor-preview
.uf-blog-scope .uf-information-empty {
display: block !important;
visibility: visible !important;
opacity: 1 !important;
width: 100% !important;
max-width: 100% !important;
height: auto !important;
min-height: 45px !important;
margin: 0 !important;
padding: 14px !important;
overflow: visible !important;
}
/* =========================================
TABLETA
========================================= */
@media (max-width: 1024px) {
.uf-blog-scope > .e-con-boxed:first-child {
padding-top: 18px !important;
padding-bottom: 7px !important;
}
.uf-blog-scope
.elementor-widget-theme-post-title {
margin-bottom: 10px !important;
}
#uf-post-tags {
margin-bottom: 11px;
}
.uf-blog-scope
.elementor-widget-post-info:has(
[itemprop="datePublished"]
) {
margin-bottom: 15px !important;
}
.uf-blog-scope .uf-information-row {
margin-bottom: 8px !important;
}
.uf-blog-scope
> .e-con-boxed
+ .e-con-boxed {
padding-top: 14px !important;
}
}
/* =========================================
CELULAR
========================================= */
@media (max-width: 767px) {
.uf-blog-scope > .e-con-boxed:first-child {
padding-top: 13px !important;
padding-bottom: 5px !important;
}
.uf-blog-scope
.elementor-widget-theme-post-title {
margin-bottom: 8px !important;
}
.uf-blog-scope
.elementor-widget-theme-post-title
.elementor-heading-title {
font-size: clamp(23px, 7vw, 30px) !important;
line-height: 1.15 !important;
}
#uf-post-tags {
width: 100%;
margin-bottom: 9px;
padding: 9px 10px 9px 14px;
}
#uf-post-tags .uf-post-tags__label {
width: 100%;
}
#uf-post-tags .uf-post-tags__list {
width: 100%;
}
#uf-post-tags .uf-post-tag {
min-height: 27px;
padding: 5px 8px;
font-size: 11px;
}
.uf-blog-scope
.elementor-widget-post-info:has(
[itemprop="datePublished"]
) {
margin-bottom: 12px !important;
}
.uf-blog-scope .uf-information-column {
gap: 9px !important;
}
.uf-blog-scope .uf-information-card {
padding: 12px !important;
border-radius: 10px;
}
.uf-blog-scope
.elementor-widget-post-info:has(
[itemprop="author"]
) {
margin-top: 1px !important;
margin-bottom: 5px !important;
}
.uf-blog-scope .uf-information-row {
margin-bottom: 6px !important;
}
.uf-blog-scope
> .e-con-boxed
+ .e-con-boxed {
padding-top: 10px !important;
}
}
/* =========================================
ALINEAR IMAGEN DESTACADA Y SU TEXTO
========================================= */
.uf-featured-stack {
display: flex !important;
flex-direction: column !important;
align-items: center !important;
justify-content: flex-start !important;
width: 100% !important;
max-width: 100% !important;
min-width: 0 !important;
min-height: 0 !important;
height: auto !important;
margin: 0 !important;
padding: 0 !important;
gap: 10px !important;
}
.uf-featured-stack > .elementor-widget-theme-post-featured-image,
.uf-featured-stack > .elementor-widget-theme-post-featured-image .elementor-widget-container,
.uf-featured-stack > .uf-featured-caption {
width: 100% !important;
max-width: 560px !important;
min-width: 0 !important;
margin-left: auto !important;
margin-right: auto !important;
}
.uf-featured-stack > .elementor-widget-theme-post-featured-image {
display: block !important;
margin-top: 0 !important;
margin-bottom: 0 !important;
padding: 0 !important;
align-self: center !important;
}
.uf-featured-stack > .elementor-widget-theme-post-featured-image .elementor-widget-container {
display: block !important;
padding: 0 !important;
}
.uf-featured-stack > .elementor-widget-theme-post-featured-image img {
display: block !important;
width: 100% !important;
max-width: 100% !important;
height: auto !important;
margin: 0 !important;
object-fit: cover;
object-position: center;
border-radius: 14px;
}
.uf-featured-stack > .uf-featured-caption {
display: block !important;
position: static !important;
float: none !important;
clear: both !important;
min-height: 0 !important;
height: auto !important;
margin-top: 0 !important;
margin-bottom: 0 !important;
padding: 0 2px !important;
align-self: center !important;
transform: none !important;
text-align: left !important;
}
.uf-featured-stack > .uf-featured-caption .elementor-widget-container {
width: 100% !important;
margin: 0 !important;
padding: 0 !important;
text-align: left !important;
}
.uf-featured-stack > .uf-featured-caption p {
width: 100% !important;
max-width: 100% !important;
margin: 0 !important;
padding: 0 !important;
color: #252938;
font-size: clamp(14px, 1.2vw, 16px) !important;
font-weight: 500;
line-height: 1.5 !important;
text-align: left !important;
white-space: normal !important;
word-break: normal !important;
overflow-wrap: anywhere;
}
.uf-featured-stack > .uf-featured-caption p:empty {
display: none !important;
}
/* =========================================
MISMO ANCHO: CARRUSEL Y RELACIONADAS
========================================= */
.uf-related-section {
box-sizing: border-box !important;
width: min(100%, 370px) !important;
max-width: 370px !important;
min-width: 0 !important;
margin-left: auto !important;
margin-right: auto !important;
}
.uf-related-section > .uf-related-heading,
.uf-related-section > .uf-related-loop,
.uf-related-section > .uf-related-loop > .elementor-widget-container,
.uf-related-section .elementor-loop-container,
.uf-related-section .e-loop-item,
.uf-related-section .e-loop-item .elementor-element-a46a173,
.uf-related-section .e-loop-item .elementor-element-25eefe3 {
box-sizing: border-box !important;
width: 100% !important;
max-width: 100% !important;
min-width: 0 !important;
}
.uf-related-section .elementor-loop-container {
grid-template-columns: minmax(0, 1fr) !important;
}
@media (max-width: 1024px) {
.uf-related-section {
width: min(100%, 350px) !important;
max-width: 350px !important;
}
.uf-featured-stack > .elementor-widget-theme-post-featured-image,
.uf-featured-stack > .elementor-widget-theme-post-featured-image .elementor-widget-container,
.uf-featured-stack > .uf-featured-caption {
max-width: 520px !important;
}
}
/*
* En pantallas pequeñas la imagen permanece siempre al lado.
* Ambas columnas reducen su ancho sin cambiar de posición.
*/
@media (max-width: 1024px) {
.uf-blog-scope .uf-information-row {
display: flex !important;
flex-direction: row !important;
flex-wrap: nowrap !important;
align-items: flex-start !important;
gap: clamp(10px, 2vw, 20px) !important;
}
.uf-blog-scope .uf-information-column {
width: auto !important;
max-width: none !important;
min-width: 0 !important;
flex: 1 1 52% !important;
align-self: flex-start !important;
}
.uf-blog-scope .uf-featured-stack {
width: auto !important;
max-width: none !important;
min-width: 0 !important;
flex: 1 1 48% !important;
align-self: flex-start !important;
}
.uf-featured-stack
> .elementor-widget-theme-post-featured-image,
.uf-featured-stack
> .elementor-widget-theme-post-featured-image
.elementor-widget-container,
.uf-featured-stack > .uf-featured-caption {
width: 100% !important;
max-width: 100% !important;
margin-left: auto !important;
margin-right: auto !important;
}
.uf-featured-stack
> .elementor-widget-theme-post-featured-image img {
width: 100% !important;
max-width: 100% !important;
height: auto !important;
}
.uf-featured-stack > .uf-featured-caption p {
font-size: clamp(11px, 1.7vw, 14px) !important;
line-height: 1.35 !important;
white-space: normal !important;
overflow-wrap: anywhere !important;
}
}
@media (max-width: 767px) {
.uf-related-section {
width: calc(100% - 24px) !important;
max-width: 340px !important;
margin: 22px auto 0 !important;
padding: 18px 12px 22px !important;
}
.uf-featured-stack {
gap: 8px !important;
}
.uf-featured-stack > .elementor-widget-theme-post-featured-image,
.uf-featured-stack > .elementor-widget-theme-post-featured-image .elementor-widget-container,
.uf-featured-stack > .uf-featured-caption {
width: 100% !important;
max-width: 100% !important;
}
.uf-featured-stack > .uf-featured-caption {
padding: 0 1px !important;
}
.uf-featured-stack > .uf-featured-caption p {
font-size: 14px !important;
line-height: 1.45 !important;
}
}
/* =========================================
CAJA DE AUTOR CON FOTO — NUEVO WIDGET
========================================= */
.uf-blog-scope .uf-author-card {
width: fit-content !important;
max-width: 100% !important;
margin: 2px 0 8px !important;
padding: 0 !important;
align-self: flex-start !important;
}
.uf-blog-scope .uf-author-card > .elementor-widget-container {
display: inline-flex !important;
align-items: center !important;
width: auto !important;
max-width: 100% !important;
margin: 0 !important;
padding: 10px 17px !important;
background: #fff !important;
border: 1px solid #e0e4f2 !important;
border-radius: 8px !important;
box-shadow: 0 3px 12px rgba(7, 25, 165, .08) !important;
transition: background-color .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.uf-blog-scope .uf-author-card .elementor-author-box {
display: flex !important;
flex-direction: row !important;
align-items: center !important;
justify-content: flex-start !important;
gap: 10px !important;
width: auto !important;
max-width: 100% !important;
margin: 0 !important;
padding: 0 !important;
}
.uf-blog-scope .uf-author-card .elementor-author-box__avatar {
display: block !important;
flex: 0 0 34px !important;
width: 34px !important;
height: 34px !important;
min-width: 34px !important;
margin: 0 !important;
padding: 0 !important;
}
.uf-blog-scope .uf-author-card .elementor-author-box__avatar img {
display: block !important;
width: 34px !important;
height: 34px !important;
max-width: none !important;
margin: 0 !important;
padding: 0 !important;
object-fit: cover !important;
object-position: center !important;
background: #f6f7ff;
border: 1px solid #e0e4f2 !important;
border-radius: 50% !important;
box-shadow: none !important;
transition: border-color .2s ease, box-shadow .2s ease;
}
.uf-blog-scope .uf-author-card .elementor-author-box__text {
display: flex !important;
flex-direction: column !important;
justify-content: center !important;
width: auto !important;
min-width: 0 !important;
margin: 0 !important;
padding: 0 !important;
}
.uf-blog-scope .uf-author-card .elementor-author-box__name {
display: flex !important;
flex-direction: column !important;
gap: 2px !important;
margin: 0 !important;
padding: 0 !important;
color: #07145f !important;
font-family: inherit !important;
font-size: 14px !important;
font-weight: 700 !important;
line-height: 1.15 !important;
text-decoration: none !important;
white-space: nowrap;
}
.uf-blog-scope .uf-author-card .elementor-author-box__name::before {
content: "Escrito por";
display: block;
color: #747b98;
font-size: 9px;
font-weight: 600;
line-height: 1;
letter-spacing: .5px;
text-transform: uppercase;
}
.uf-blog-scope .uf-author-card .elementor-author-box__name,
.uf-blog-scope .uf-author-card .elementor-author-box__name a {
color: #07145f !important;
text-decoration: none !important;
}
.uf-blog-scope .uf-author-card .elementor-author-box__bio,
.uf-blog-scope .uf-author-card .elementor-author-box__button {
display: none !important;
}
.uf-blog-scope .uf-author-card > .elementor-widget-container:hover {
background-color: #fafbff !important;
border-color: #cdd3ea !important;
box-shadow: 0 5px 15px rgba(7, 25, 165, .11) !important;
}
.uf-blog-scope .uf-author-card > .elementor-widget-container:hover .elementor-author-box__avatar img {
border-color: #cdd3ea !important;
box-shadow: 0 0 0 3px rgba(7, 25, 165, .05) !important;
}
@media (max-width: 767px) {
.uf-blog-scope .uf-author-card {
width: 100% !important;
margin-top: 1px !important;
margin-bottom: 5px !important;
}
.uf-blog-scope .uf-author-card > .elementor-widget-container,
.uf-blog-scope .uf-author-card .elementor-author-box {
width: 100% !important;
}
.uf-blog-scope .uf-author-card > .elementor-widget-container {
padding: 10px 14px !important;
}
.uf-blog-scope .uf-author-card .elementor-author-box__name {
font-size: 14px !important;
white-space: normal !important;
overflow-wrap: anywhere;
}
}
/* Corrección móvil: información arriba, imagen y descripción debajo. */
@media (max-width: 767px) {
.uf-blog-scope .uf-information-row {
flex-direction: column !important;
align-items: stretch !important;
}
.uf-blog-scope .uf-information-row > .uf-information-column,
.uf-blog-scope .uf-information-row > .uf-featured-stack {
width: 100% !important;
max-width: 100% !important;
min-width: 0 !important;
flex: 0 0 auto !important;
}
.uf-blog-scope .uf-information-row > .uf-information-column {
order: 0 !important;
}
.uf-blog-scope .uf-information-row > .uf-featured-stack {
order: 1 !important;
}
}
(function () {
"use strict";
const tagsContainer =
document.getElementById("uf-post-tags");
if (
!tagsContainer ||
tagsContainer.dataset.initialized === "true"
) {
return;
}
tagsContainer.dataset.initialized = "true";
const tagsList = tagsContainer.querySelector(
".uf-post-tags__list"
);
function getTemplateScope() {
return (
tagsContainer.closest(".elementor") ||
document.querySelector(
"article.post-single-page"
) ||
document
);
}
/*
* Coloca las etiquetas debajo del título.
*/
function organizeHeading(scope) {
const titleWidget = scope.querySelector(
".elementor-widget-theme-post-title"
);
if (!titleWidget) {
return;
}
titleWidget.insertAdjacentElement(
"afterend",
tagsContainer
);
}
/*
* Detecta los cuadros opcionales.
* Funciona con dos, uno o ninguno.
*/
function organizeOptionalInformation(scope) {
const isElementorEditor =
document.body.classList.contains(
"elementor-editor-active"
) ||
document.body.classList.contains(
"elementor-editor-preview"
) ||
(
window.elementorFrontend &&
typeof window.elementorFrontend.isEditMode ===
"function" &&
window.elementorFrontend.isEditMode()
);
const authorWidget = scope.querySelector(
".elementor-widget-author-box"
);
if (!authorWidget) {
return;
}
authorWidget.classList.add(
"uf-author-card"
);
const informationColumn =
authorWidget.closest(".e-con");
if (!informationColumn) {
return;
}
informationColumn.classList.add(
"uf-information-column"
);
const textWidgets = Array.from(
informationColumn.children
).filter(function (element) {
return element.classList.contains(
"elementor-widget-text-editor"
);
});
let validCount = 0;
textWidgets.forEach(function (widget) {
/*
* Nunca se oculta un widget de información dentro
* del editor. Elementor cambia sus IDs al insertar
* la plantilla y puede cargar el texto con retraso.
*/
const protectedInEditor =
isElementorEditor;
if (protectedInEditor) {
widget.classList.remove(
"uf-information-empty"
);
widget.classList.add(
"uf-information-card"
);
validCount += 1;
return;
}
/*
* Elimina espacios invisibles, saltos,
* y etiquetas vacías.
*/
const content =
widget.textContent
.replace(/\u00a0/g, " ")
.trim();
if (!content) {
widget.classList.add(
"uf-information-empty"
);
return;
}
widget.classList.remove(
"uf-information-empty"
);
widget.classList.add(
"uf-information-card"
);
validCount += 1;
});
informationColumn.classList.remove(
"uf-information-count-0",
"uf-information-count-1",
"uf-information-count-2"
);
informationColumn.classList.add(
"uf-information-count-" +
Math.min(validCount, 2)
);
const informationRow =
informationColumn.parentElement;
if (informationRow) {
informationRow.classList.add(
"uf-information-row"
);
const followingContainer =
informationRow.nextElementSibling;
if (
followingContainer &&
followingContainer.classList.contains(
"e-con"
)
) {
followingContainer.classList.add(
"uf-after-information"
);
}
}
}
function getCurrentPostId() {
const bodyMatch =
document.body.className.match(
/\bpostid-(\d+)\b/
);
if (bodyMatch) {
return bodyMatch[1];
}
const article = document.querySelector(
"article[id^='post-']"
);
if (article) {
const articleMatch =
article.id.match(/^post-(\d+)$/);
if (articleMatch) {
return articleMatch[1];
}
}
const restLink = document.querySelector(
'link[rel="alternate"]' +
'[type="application/json"]'
);
if (restLink) {
const restMatch = restLink.href.match(
/\/wp-json\/wp\/v2\/posts\/(\d+)/
);
if (restMatch) {
return restMatch[1];
}
}
return null;
}
function renderTags(tags) {
if (!Array.isArray(tags) || !tags.length) {
return false;
}
tagsList.innerHTML = "";
const usedTags = new Set();
tags.forEach(function (tag) {
if (!tag || !tag.name) {
return;
}
const name = String(tag.name)
.replace(/^#/, "")
.trim();
const normalizedName =
name.toLowerCase();
if (
!name ||
usedTags.has(normalizedName)
) {
return;
}
usedTags.add(normalizedName);
const link =
document.createElement("a");
link.className = "uf-post-tag";
link.textContent = name;
link.href = tag.link || "#";
link.rel = "tag";
tagsList.appendChild(link);
});
if (!tagsList.children.length) {
return false;
}
tagsContainer.classList.add("has-tags");
return true;
}
function getOriginalTags() {
/*
* WoodMart coloca .wd-single-footer después del cierre
* del
. Por eso la búsqueda debe hacerse en todo
* el documento y no solamente dentro del artículo.
*/
const sourceLinks =
document.querySelectorAll(
"body.single-post .wd-single-footer " +
".wd-tags-list a," +
"body.single-post .entry-footer " +
".tags-links a"
);
if (!sourceLinks.length) {
return false;
}
const tags = [];
sourceLinks.forEach(function (link) {
const name =
link.textContent.trim();
if (!name) {
return;
}
tags.push({
name: name,
link: link.href
});
});
return renderTags(tags);
}
async function getWordPressTags() {
const postId = getCurrentPostId();
if (!postId) {
return false;
}
try {
const postResponse = await fetch(
window.location.origin +
"/wp-json/wp/v2/posts/" +
postId +
"?_fields=id,tags",
{
credentials: "same-origin"
}
);
if (!postResponse.ok) {
return false;
}
const post =
await postResponse.json();
if (
!Array.isArray(post.tags) ||
!post.tags.length
) {
return false;
}
const tagsResponse = await fetch(
window.location.origin +
"/wp-json/wp/v2/tags" +
"?include=" +
post.tags.join(",") +
"&per_page=100" +
"&_fields=id,name,link",
{
credentials: "same-origin"
}
);
if (!tagsResponse.ok) {
return false;
}
const tags =
await tagsResponse.json();
tags.sort(function (first, second) {
return (
post.tags.indexOf(first.id) -
post.tags.indexOf(second.id)
);
});
return renderTags(tags);
} catch (error) {
console.warn(
"Etiquetas Fidélitas:",
error
);
return false;
}
}
/* Alinea el texto descriptivo justo debajo de la imagen destacada. */
function organizeFeaturedCaption(scope) {
const images = Array.from(
scope.querySelectorAll(
".elementor-widget-theme-post-featured-image"
)
);
const imageWidget = images.find(function (widget) {
return !widget.closest(".e-loop-item") &&
!widget.closest(".uf-related-section");
});
if (!imageWidget) {
return false;
}
const imageColumn = imageWidget.closest(".e-con");
if (!imageColumn) {
return false;
}
let captionWidget = imageWidget.nextElementSibling;
if (
!captionWidget ||
!captionWidget.classList.contains("elementor-widget-text-editor")
) {
captionWidget = Array.from(
imageColumn.querySelectorAll(
":scope > .elementor-widget-text-editor"
)
).find(function (widget) {
return widget.textContent
.replace(/\u00a0/g, " ")
.replace(/\u200b/g, "")
.trim().length > 0;
}) || null;
}
if (!captionWidget) {
return false;
}
imageColumn.classList.add("uf-featured-stack");
captionWidget.classList.add("uf-featured-caption");
imageWidget.insertAdjacentElement(
"afterend",
captionWidget
);
return true;
}
/*
* Identifica el contenedor donde se escribe el cuerpo del
* artículo. Permite que cualquier medio nuevo reciba el
* formato automático sin afectar la imagen destacada.
*/
function organizePostContent(scope) {
const topLevelSections = Array.from(
scope.children
).filter(function (element) {
return element.classList &&
element.classList.contains("e-con-boxed");
});
if (topLevelSections.length .e-con-inner"
);
if (!inner) {
return false;
}
const contentContainer = Array.from(
inner.children
).find(function (element) {
return element.classList &&
element.classList.contains("e-con") &&
!element.querySelector(
".elementor-widget-theme-post-featured-image"
);
});
if (!contentContainer) {
return false;
}
contentContainer.classList.add(
"uf-post-content"
);
return true;
}
async function initializeBlogLayout() {
const scope = getTemplateScope();
if (scope.classList) {
scope.classList.add("uf-blog-scope");
}
organizeHeading(scope);
organizeOptionalInformation(scope);
organizeFeaturedCaption(scope);
organizePostContent(scope);
if (getOriginalTags()) {
return;
}
await getWordPressTags();
}
if (document.readyState === "loading") {
document.addEventListener(
"DOMContentLoaded",
initializeBlogLayout,
{ once: true }
);
} else {
initializeBlogLayout();
}
})();