/**
 * Estilos específicos para la plantilla de artículo
 * 
 * @package Astra Child TA
 * @since 1.0.0
 */

/* Estilos para la cabecera del artículo */
.article-header {
    position: relative;
    width: 100%;
    overflow: hidden;
    display: flex;
    justify-content: center;
}

.article-header-bg {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    width: 100%;
    max-width: 1280px;
    height: 360px;
    transition: transform 0.3s ease;
}
/*
.article-header:hover .article-header-bg {
    transform: scale(1.02);
}*/

/* Máscara con forma de ola */
.wave-mask {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform:rotate(180deg);
    width: 100%;
    max-width: 1280px;
    overflow: hidden;
    line-height: 0;
}

.article-header .wave-mask{
    transform: translate(-50%) rotate(180deg);
}

.wave-svg {
    position: relative;
    display: block;
    width: calc(100% + 1.3px);
    height: 60px;
}

/* Overlay para mejorar legibilidad */
.article-header-overlay {
    background: linear-gradient(
        180deg,
        rgba(0, 0, 0, 0.1) 0%,
        rgba(0, 0, 0, 0.3) 70%,
        rgba(0, 0, 0, 0.5) 100%
    );
}

/* Efecto de degradado en la parte inferior */
.article-header-gradient {
    background: linear-gradient(
        to top,
        #FFFFFF 0%,
        rgba(255, 255, 255, 0.8) 50%,
        transparent 100%
    );
}

/* Estilos para la sección del título */
.article-title-section {
    margin-top: 1rem;
    margin-bottom: 2rem;
}

.article-breadcrumb {
    /*display: flex;*/
    align-items: center;
    font-family: 'Nunito', sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.32;
    margin-bottom: 1.5rem;
    color: #000000;
}

.breadcrumb-link {
    color: #228800;
    text-decoration: none !important;
    font-weight: 700;
    transition: color 0.2s ease;
}

.breadcrumb-link:hover {
    color: #1a6b00;
}

.breadcrumb-link:visited {
    color: #228800;
}

.breadcrumb-separator {
    margin: 0 0.5rem;
    font-weight: 700;
    color: #000000;
}

.breadcrumb-current {
    color: #000000;
}

.article-title {
    font-family: 'Nunito', sans-serif;
    font-size: 40px;
    font-weight: 800;
    line-height: 1.2;
    color: #000000;
    margin: 0;
    letter-spacing: -0.8px;
}

.article-excerpt {
    font-family: 'Nunito', sans-serif;
    font-size: 18px;
    line-height: 1.6;
    color: #374151;
    margin-bottom: 2rem;
}

/* Estilos para el índice del plugin */
.toc {
    background-color: #ffffff;
    border: 1px solid #d9d9d9;
    border-radius: 8px;
    padding: 1.5rem;
    margin: 2rem 0;
    position: relative;
}

.toc-title {
    font-family: 'Nunito', sans-serif;
    font-size: 20px;
    font-weight: 600;
    color: #1e1e1e;
    margin: 0 0 1rem 0;
    display: flex;
    align-items: center;
    line-height: 1.32;
}

.toc-title::before {
    content: '';
    width: 20px;
    height: 20px;
    background-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTMgMTJIMjFNNCA2SDE2TTQgMThIMTYiIHN0cm9rZT0iI0Q5RDlEOSIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9zdmc+');
    background-size: contain;
    background-repeat: no-repeat;
    margin-right: 0.75rem;
}

.toc-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.toc-list li {
    margin-bottom: 0.75rem;
    font-family: 'Nunito', sans-serif;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.58;
}

.toc-list li:last-child {
    margin-bottom: 0;
}

.toc-list li a {
    color: #228800;
    text-decoration: none !important;
    transition: color 0.2s ease;
}

.toc-list li a:hover {
    color: #1a6b00;
    text-decoration: underline;
}

/* Estilos específicos para el plugin Easy Table of Contents */
#ez-toc-container {
    background-color: #ffffff !important;
    border: 1px solid #d9d9d9 !important;
    border-radius: 8px !important;
    padding: 1.5rem !important;
    margin: 2rem 0 !important;
    box-shadow: none !important;
    width:100% !important;
}

#ez-toc-container .ez-toc-title {
    font-family: 'Nunito', sans-serif !important;
    font-size: 20px !important;
    font-weight: 600 !important;
    color: #1e1e1e !important;
    margin: 0 0 1rem 0 !important;
    display: flex !important;
    align-items: center !important;
    line-height: 1.32 !important;
}

#ez-toc-container .ez-toc-title::before {
    content: '' !important;
    width: 20px !important;
    height: 20px !important;
    background-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTMgMTJIMjFNNCA2SDE2TTQgMThIMTYiIHN0cm9rZT0iI0Q5RDlEOSIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9zdmc+') !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    margin-right: 0.75rem !important;
}

#ez-toc-container .ez-toc-list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

#ez-toc-container .ez-toc-list li {
    margin-bottom: 0.75rem !important;
    font-family: 'Nunito', sans-serif !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.58 !important;
}

#ez-toc-container .ez-toc-list li:last-child {
    margin-bottom: 0 !important;
}

#ez-toc-container .ez-toc-list li a {
    color: #228800 !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
}

#ez-toc-container .ez-toc-list li a:hover {
    color: #1a6b00 !important;
    text-decoration: none !important;
}

/* Icono de despliegue del índice */
#ez-toc-container .ez-toc-cssicon-toggle-item-68bff0e70b9dc {
    position: absolute !important;
    top: 1.5rem !important;
    right: 1.5rem !important;
    width: 20px !important;
    height: 20px !important;
    background-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTMgMTJIMjFNNCA2SDE2TTQgMThIMTYiIHN0cm9rZT0iI0Q5RDlEOSIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9zdmc+') !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    cursor: pointer !important;
    border: 1px solid #d9d9d9 !important;
    border-radius: 4px !important;
    background-color: #ffffff !important;
    transition: all 0.2s ease !important;
}

#ez-toc-container .ez-toc-cssicon-toggle-item-68bff0e70b9dc:hover {
    background-color: #f5f5f5 !important;
    border-color: #228800 !important;
}

/* Posicionar el label del icono arriba */
#ez-toc-container label.cssicon {
    top: -50px !important;
}

/* Asegurar que el contenedor tenga posición relativa */
#ez-toc-container {
    position: relative !important;
}

/* Estilos para el sidebar */
.article-sidebar {
    width: 100%;
}

@media (min-width: 1024px) {
    .article-sidebar {
        width: 19.4rem;
    }
}

/* Estilos específicos para el widget Entradas Relacionadas por Taxonomía */
.article-sidebar .widget {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.article-sidebar .widget .widget-title {
    font-family: 'Nunito', sans-serif !important;
    font-size: 1.125rem !important;
    font-weight: 700 !important;
    color: #111827 !important;
    margin-bottom: 1rem !important;
}

/* Resetear estilos de galería por defecto - Mayor especificidad para sobrescribir Astra */
.article-sidebar .widget .related-gallery {
    display: flex !important;
    flex-direction: column !important;
    gap: 1rem !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* El figure con clase gallery-item - Mayor especificidad */
.article-sidebar .widget .related-gallery figure.gallery-item {
    max-width: 100% !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    position: relative !important;
    background: white !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important;
    transition: transform 0.2s ease, box-shadow 0.2s ease !important;
    display: flex !important;
    flex-direction: column !important;
    float: none !important;
}

.article-sidebar .widget .related-gallery figure.gallery-item:hover {
    transform: translateY(-2px) !important;
    /*box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;*/
    box-shadow:none !important;
}

.article-sidebar .widget .related-gallery figure.gallery-item a {
    display: block !important;
    text-decoration: none !important;
    color: inherit !important;
    width: 100% !important;
    height: 100% !important;
}

/* Contenedor de la imagen (.gallery-icon) - Mayor especificidad */
.article-sidebar .widget .related-gallery figure.gallery-item .gallery-icon {
    position: relative !important;
    width: 100% !important;
    height: 200px !important;
    margin: 0 !important;
    padding: 0 !important;
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    border-radius: 12px 12px 0 0 !important;
    border: 1px solid #d9d9d9 !important;
    border-bottom: none !important;
    overflow: hidden !important;
    float: none !important;
}

/* Imagen dentro del .gallery-icon - Mayor especificidad */
.article-sidebar .widget .related-gallery figure.gallery-item .gallery-icon img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    border-radius: 12px 12px 0 0 !important;
    display: block !important;
    border: none !important;
}

/* Contenedor del contenido de texto (.wp-caption-text.gallery-caption) - Mayor especificidad */
.article-sidebar .widget .related-gallery figure.gallery-item .wp-caption-text.gallery-caption {
    position: relative !important;
    background: white !important;
    padding: 1.5rem !important;
    border-radius: 0 0 12px 12px !important;
    border: 1px solid #d9d9d9 !important;
    border-top: none !important;
    height: 100px !important;
    display: flex !important;
    align-items: center !important;
    margin: 0 !important;
    float: none !important;
}

/* Título del artículo dentro del caption - Mayor especificidad */
.article-sidebar .widget .related-gallery figure.gallery-item .wp-caption-text.gallery-caption a {
    font-family: 'Nunito', sans-serif !important;
    font-size: 1.125rem !important;
    font-weight: 700 !important;
    color: #1e1e1e !important;
    line-height: 1.3 !important;
    letter-spacing: -0.24px !important;
    margin: 0 !important;
    padding: 0 !important;
    text-decoration: none !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 3 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}

.article-sidebar .widget .related-gallery figure.gallery-item .wp-caption-text.gallery-caption a:hover {
    color: #228800 !important;
}


/* Máscara posts-mask para galerías - Mayor especificidad */
.article-sidebar .widget .related-gallery figure.gallery-item .posts-mask {
    position: absolute !important;
    bottom: -34px !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 2 !important;
    height: 100px !important;
    width: 100% !important;
}

/* Responsive para móviles - Mayor especificidad */
@media (max-width: 768px) {
    .article-sidebar .widget .related-gallery figure.gallery-item .gallery-icon {
        height: 180px !important;
    }
    
    .article-sidebar .widget .related-gallery figure.gallery-item .wp-caption-text.gallery-caption {
        padding: 1rem !important;
        height: 80px !important;
    }
    
    .article-sidebar .widget .related-gallery figure.gallery-item .wp-caption-text.gallery-caption a {
        font-size: 1rem !important;
    }
}

/* Asegurar que todos los widgets del sidebar se muestren */
.article-sidebar .widget {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    position: relative !important;
}

/* Sobrescribir estilos específicos de galería de Astra */
.article-sidebar .widget_related_posts_by_taxonomy .gallery figure.gallery-item {
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
}

.article-sidebar .widget_related_posts_by_taxonomy .gallery figure.gallery-item .gallery-icon {
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
}

.article-sidebar .widget_related_posts_by_taxonomy .gallery figure.gallery-item .gallery-icon img {
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.article-sidebar .widget_related_posts_by_taxonomy .gallery figure.gallery-item .wp-caption-text.gallery-caption {
    float: none !important;
    margin: 0 !important;
    padding: 1.5rem !important;
    width: 100% !important;
    max-width: 100% !important;
    text-align: left !important;
}

/* Widget de categorías del artículo */
.article-categories-widget {
    background-color: white;
    border-radius: 0.5rem;
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1);
    padding: 1.5rem;
    margin-bottom: 1.5rem;
}

/* Widget de categorías responsive (debajo del título) */
.article-categories-widget-responsive {
    background-color: white;
    border-radius: 0.5rem;
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1);
    padding: 1.5rem;
    margin-bottom: 1.5rem;
    display: none; /* Oculto por defecto */
}

/* Ocultar widget responsive en desktop */
@media (min-width: 1024px) {
    .article-categories-widget-responsive {
        display: none;
    }
}

/* Ocultar widget del sidebar en responsive */
@media (max-width: 768px) {
    .article-sidebar .article-categories-widget {
        display: none;
    }
}

.article-categories-widget .widget-title,
.article-categories-widget-responsive .widget-title {
    font-family: 'Nunito', sans-serif;
    font-size: 28px;
    font-weight: 800;
    color: #000000;
    margin: 0 0 1.5rem 0;
    line-height: 1.2;
    letter-spacing: -0.56px;
}

.categories-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.category-button {
    display: inline-block;
    padding: 0.5rem 0.75rem;
    background-color: transparent;
    border: 1px solid #228800;
    border-radius: 4px;
    color: #1e1e1e;
    text-decoration: none !important;
    font-family: 'Nunito', sans-serif;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.32;
    text-align: center;
    transition: all 0.2s ease;
    min-height: 2.5rem;
    white-space: nowrap;
    width: auto;
}

.category-button:hover {
    background-color: #228800;
    color: white;
    text-decoration: none !important;
}

.category-button:visited {
    color: #1e1e1e;
}

/* Responsive para el grid de categorías */
@media (max-width: 480px) {
    .categories-grid {
        flex-direction: column;
    }
    
    /* Solo aplicar width 100% al widget del sidebar, no al responsive */
    .article-categories-widget .category-button {
        width: 100%;
        text-align: center;
    }
    
    .article-categories-widget .widget-title,
    .article-categories-widget-responsive .widget-title {
        font-size: 24px;
    }
}

/* Estilos específicos para el widget responsive */
@media (max-width: 768px) {
    .article-categories-widget-responsive {
        display: block; /* Mostrar en móviles */
        box-shadow: none;
        background-color: transparent;
        padding: 0;
        margin-top: 1rem;
        margin-bottom: 2rem;
    }
    
    .article-categories-widget-responsive .widget-title {
        display: none; /* Ocultar el título en responsive */
    }
    
    /* Configurar el grid para responsive */
    .article-categories-widget-responsive .categories-grid {
        display: flex;
        flex-wrap: wrap;
        gap: 0.75rem;
        justify-content: flex-start;
        align-items: flex-start;
    }
    
    /* Ajustar botones para que quepan más por línea */
    .article-categories-widget-responsive .category-button {
        width: auto !important;
        min-width: auto !important;
        flex: 0 0 auto !important;
        max-width: none !important;
        display: inline-block !important;
        box-sizing: content-box !important;
        font-size: 12px !important;
        min-height: auto !important;
        height: auto !important;
        padding: 0.25rem 0.5rem !important;
        line-height: 1.2 !important;
        margin: 0 !important;
    }
    
    /* Forzar el comportamiento correcto del grid en responsive */
    .article-categories-widget-responsive .categories-grid {
        display: flex !important;
        flex-wrap: wrap !important;
        flex-direction: row !important;
        justify-content: flex-start !important;
        align-items: flex-start !important;
    }
}

/* Estilos para el contenido del artículo */
.article-content {
    line-height: 1.7;
}

/* Estilos para el contenido general de WordPress - Páginas y Entradas */
.entry-content p,
.article-content p,
.page-content p,
.page .entry-content p,
.single .entry-content p,
.ast-article-single p {
    font-size: 1rem;
    line-height: 1.75;
    color: #374151;
    margin-bottom: 1rem;
}

.entry-content li,
.article-content li,
.page-content li,
.page .entry-content li,
.single .entry-content li,
.ast-article-single li {
    font-size: 1rem;
    color: #374151;
}

.article-content h2,
.entry-content h2,
.page-content h2,
.page .entry-content h2,
.single .entry-content h2,
.ast-article-single h2 {
    font-size: 1.5rem;
    font-weight: 700;
    color: #111827;
    font-family: 'Nunito', sans-serif;
    margin-top: 2rem;
    margin-bottom: 1rem;
}

.article-content h3,
.entry-content h3,
.page-content h3,
.page .entry-content h3,
.single .entry-content h3,
.ast-article-single h3 {
    font-size: 1.25rem;
    font-weight: 600;
    color: #111827;
    font-family: 'Nunito', sans-serif;
    margin-top: 1.5rem;
    margin-bottom: 0.75rem;
}

.article-content h4,
.entry-content h4,
.page-content h4,
.page .entry-content h4,
.single .entry-content h4,
.ast-article-single h4 {
    font-size: 1.125rem;
    font-weight: 600;
    color: #111827;
    font-family: 'Nunito', sans-serif;
    margin-top: 1.25rem;
    margin-bottom: 0.75rem;
}

.article-content ul,
.article-content ol,
.entry-content ul,
.entry-content ol,
.page-content ul,
.page-content ol,
.page .entry-content ul,
.page .entry-content ol,
.single .entry-content ul,
.single .entry-content ol,
.ast-article-single ul,
.ast-article-single ol {
    margin-bottom: 1rem;
    padding-left: 1.5rem;
    font-size: 1rem;
}

.article-content blockquote,
.entry-content blockquote,
.page-content blockquote,
.page .entry-content blockquote,
.single .entry-content blockquote,
.ast-article-single blockquote {
    border-left: 4px solid #228800 !important;
    background-color: #ffffff;
    padding: 1rem;
    margin: 1.5rem 0;
    font-style: italic;
    color: #374151;
}

.article-content blockquote p,
.entry-content blockquote p,
.page-content blockquote p,
.page .entry-content blockquote p,
.single .entry-content blockquote p,
.ast-article-single blockquote p {
    font-size: 1.3rem;
    text-align: left;
    font-weight: 100 !important;
}

.article-content p.has-background,
.entry-content p.has-background,
.page-content p.has-background,
.page .entry-content p.has-background,
.single .entry-content p.has-background,
.ast-article-single p.has-background {
    background:#FFFFFF !important;
    border:1px solid #228800;
}

.article-content img,
.entry-content img,
.page-content img,
.page .entry-content img,
.single .entry-content img,
.ast-article-single img {
    border-radius: 0.5rem;
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1);
    box-shadow:none;
    margin: 1.5rem 0;
}

/* Estilos para el sidebar */
.article-sidebar .widget {
    background-color: white;
    border-radius: 0.5rem;
    /*box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1);*/
    padding: 1.5rem;
    padding: 0;
    box-shadow:none;
    margin-bottom: 1.5rem;
}

.article-sidebar .widget-title {
    font-size: 1.125rem;
    font-weight: 700;
    color: #111827;
    font-family: 'Nunito', sans-serif;
    margin-bottom: 1rem;
}

.article-sidebar .widget ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.article-sidebar .widget li {
    color: #374151;
    margin-bottom: 0.5rem;
    transition: color 0.2s ease;
}

.article-sidebar .widget li:hover {
    color: #1a6b00;
}

.article-sidebar .widget a {
    text-decoration: none !important;
    transition: text-decoration 0.2s ease;
}

.article-sidebar .widget a:hover {
    text-decoration: underline;
}

/* Estilos para la sección de tags */
.article-tags-section {
}

.tags-container {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.tag-icon {
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.tag-icon svg {
    width: 24px;
    height: 24px;
    transform: scaleX(-1);
}

.tags-list {
    flex: 1;
    font-family: 'Nunito', sans-serif;
    font-size: 20px;
    font-weight: 600;
    line-height: 1.32;
    color: #000000;
}

.tag-link {
    color: #228800;
    text-decoration: none !important;
    transition: color 0.2s ease;
}

.tag-link:hover {
    color: #1a6b00;
    text-decoration: underline;
}

.tag-link:visited {
    color: #228800;
}

.tag-separator {
    color: #000000;
}

.ez-toc-title-container{
    margin-bottom: 12px;
}

#ez-toc-container .ez-toc-title{
    display: inline-block !important;
}

/* Responsive para tags */
@media (max-width: 768px) {
    .tags-container {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.75rem;
    }
    
    .tags-list {
        font-size: 18px;
    }
}

@media (max-width: 480px) {
    .tags-list {
        font-size: 16px;
    }
}

/* Estilos para la navegación entre artículos */
.article-navigation {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.article-nav-link {
    display: flex;
    align-items: center;
    color: #228800;
    transition: color 0.2s ease;
}

.article-nav-link:hover {
    color: #008a44;
}

.article-nav-link svg {
    width: 1.25rem;
    height: 1.25rem;
}

/* Estilos para el meta del artículo */
.article-meta {
    display: flex;
    align-items: center;
    font-size: 0.875rem;
    color: #6b7280;
    margin-bottom: 1rem;
}

.article-meta span {
    font-weight: 500;
}

.article-meta .separator {
    margin: 0 0.5rem;
}

/* Responsive design */
@media (max-width: 768px) {
    .article-header-bg {
        aspect-ratio: 16/9;
        height:200px !important;
    }
    
    .article-title {
        font-size: 28px;
        line-height: 1.3;
    }
    
    .article-breadcrumb {
        font-size: 14px;
        flex-wrap: wrap;
        margin-bottom: 1rem;
    }
    
    .article-content h1 {
        font-size: 1.5rem;
    }
    
    .article-content h2 {
        font-size: 1.4rem;
    }
    
    .article-content h3 {
        font-size: 1.25rem;
    }
    
    .article-content p {
        font-size: 1.125rem;
    }
    
    .article-content li {
        font-size: 1.125rem;
    }
}

@media (max-width: 480px) {
    .article-title {
        font-size: 24px;
    }
    
    .article-breadcrumb {
        font-size: 13px;
    }
    
    .article-content p {
        font-size: 1.125rem;
    }
    
    .article-content li {
        font-size: 1.125rem;
    }
    
    .entry-content p {
        font-size: 1.125rem;
    }
    
    .entry-content li {
        font-size: 1.125rem;
    }
}

/* Efectos de hover para elementos interactivos */
.article-sidebar .widget:hover {
    /*box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);*/
    box-shadow:none;
    transition: box-shadow 0.2s ease;
}

/* Estilos para el contenedor principal */
.article-container {
    background-color: #FFFFFF;
    min-height: 100vh;
}

.article-main-content {
    background-color: white;
    /*border-radius: 0.5rem;
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1);
    padding: 2rem;*/
}

/* Estilos para el grid responsive */
.article-layout {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

@media (min-width: 1024px) {
    .article-layout {
        flex-direction: row;
    }
}


.article-main {
    flex: 1;
}

/* Estilos específicos para páginas con header de artículo */
.page-main {
    width: 100%;
    max-width: none;
}

.page-main-content {
    background-color: white;
    width: 100%;
}

/* Anular estilos del tema Astra para páginas con header */
.ast-plain-container.ast-no-sidebar #primary {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* Asegurar que el contenedor de la página tenga el ancho correcto */
.article-container {
    width: 100%;
    max-width: 1280px;
    margin: 0 auto;
}

/* Container dentro de article-container para páginas */
.article-container .container {
    width: 100%;
    max-width: none;
    margin: 0 auto;
    padding-left: 1rem;
    padding-right: 1rem;
    margin-top:20px;
}

#primary {
    margin-top: 0;
}

@media (min-width: 1024px) {
    .article-main {
        max-width: 64rem;
    }
}

.article-sidebar {
    width: 100%;
}

@media (min-width: 1024px) {
    .article-sidebar {
        width: 20rem;
    }
}

/* Estilos para el botón de lectura */
.reading-time {
    font-size: 0.875rem;
    color: #6b7280;
    font-family: 'Nunito', sans-serif;
}

/* Utilidades de Tailwind CSS que necesitamos */
.container {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding-left: 1rem;
    padding-right: 1rem;
}

@media (min-width: 640px) {
    .container {
        max-width: 640px;
    }
}

@media (min-width: 768px) {
    .container {
        max-width: 768px;
    }
}

@media (min-width: 1024px) {
    .container {
        max-width: 1024px;
    }
}

@media (min-width: 1280px) {
    .container {
        max-width: 1280px;
    }
}

.mx-auto {
    margin-left: auto;
    margin-right: auto;
}

.py-0 {
    padding-left:0;
    padding-right:0;
}

.px-4 {
    padding-left: 1rem;
    padding-right: 1rem;
}

.py-8 {
    padding-top: 2rem;
    padding-bottom: 2rem;
}

.mb-6 {
    margin-bottom: 1.5rem;
}

.mb-4 {
    margin-bottom: 1rem;
}

.mt-8 {
    margin-top: 2rem;
}

.pt-6 {
    padding-top: 1.5rem;
}

.border-t {
    border-top-width: 1px;
}

.border-gray-200 {
    border-color: #e5e7eb;
}

.text-3xl {
    font-size: 1.875rem;
    line-height: 2.25rem;
}

.text-4xl {
    font-size: 2.25rem;
    line-height: 2.5rem;
}

.text-5xl {
    font-size: 3rem;
    line-height: 1;
}

.font-bold {
    font-weight: 700;
}

.font-semibold {
    font-weight: 600;
}

.font-medium {
    font-weight: 500;
}

.text-gray-900 {
    color: #111827;
}

.text-gray-700 {
    color: #374151;
}

.text-gray-600 {
    color: #4b5563;
}

.text-primary {
    color: #228800;
}

.text-white {
    color: white;
}

.text-white\/90 {
    color: rgba(255, 255, 255, 0.9);
}

.bg-primary {
    background-color: #228800;
}

.bg-white {
    background-color: white;
}

.rounded-lg {
    border-radius: 0.5rem;
}

.rounded-full {
    border-radius: 9999px;
}

.shadow-sm {
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
}

.leading-tight {
    line-height: 1.25;
}

.leading-relaxed {
    line-height: 1.625;
}

.flex {
    display: flex;
}

.items-center {
    align-items: center;
}

.items-end {
    align-items: flex-end;
}

.justify-between {
    justify-content: space-between;
}

.flex-wrap {
    flex-wrap: wrap;
}

.gap-2 {
    gap: 0.5rem;
}

.gap-8 {
    gap: 2rem;
}

.relative {
    position: relative;
}

.absolute {
    position: absolute;
}

.inset-0 {
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}

.z-10 {
    z-index: 10;
}

.h-full {
    height: 100%;
}

.pb-8 {
    padding-bottom: 2rem;
}

.px-4 {
    padding-left: 1rem;
    padding-right: 1rem;
}

.py-2 {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}

.text-sm {
    font-size: 0.875rem;
    line-height: 1.25rem;
}

.text-lg {
    font-size: 1.125rem;
    line-height: 1.75rem;
}

.mx-2 {
    margin-left: 0.5rem;
    margin-right: 0.5rem;
}

.mr-2 {
    margin-right: 0.5rem;
}

.ml-2 {
    margin-left: 0.5rem;
}

.mb-2 {
    margin-bottom: 0.5rem;
}

.h-20 {
    height: 5rem;
}

.bottom-0 {
    bottom: 0;
}

.left-0 {
    left: 0;
}

.right-0 {
    right: 0;
}

.w-5 {
    width: 1.25rem;
}

.h-5 {
    height: 1.25rem;
}

.inline-block {
    display: inline-block;
}

.font-nunito {
    font-family: 'Nunito', sans-serif;
}

/* Estilos para el widget de productos destacados */
.article-sidebar .widget_doofinder_single_ta {
    background-color: white;
    border-radius: 12px;
   /* border: 1px solid #d9d9d9;
    padding: 1.5rem;*/
    margin-bottom: 1.5rem;
    box-shadow: none;
}

.article-sidebar .widget_doofinder_single_ta .widget-title {
    font-family: 'Nunito', sans-serif;
    font-size: 1.125rem;
    font-weight: 700;
    color: #111827;
    margin-bottom: 1rem;
}

/* Contenedor de cada producto */
.article-sidebar .widget_doofinder_single_ta > div {
    background-color: white;
    border-radius: 12px;
    border: 1px solid #d9d9d9;
    padding: 1rem;
    margin-bottom: 1rem;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    transition: transform 0.2s ease;
}

.article-sidebar .widget_doofinder_single_ta > div:hover {
    transform: translateY(-2px);
}

.article-sidebar .widget_doofinder_single_ta > div:last-child {
    margin-bottom: 0;
}

/* Imagen del producto */
.article-sidebar .widget_doofinder_single_ta > div img {
    width: 100% !important;
    max-width: 200px;
    height: 120px;
    object-fit: contain;
    margin-bottom: 0.75rem;
    border-radius: 8px;
}

/* Título del producto */
.article-sidebar .widget_doofinder_single_ta .producto-titulo {
    font-family: 'Nunito', sans-serif !important;
    font-size: 1rem !important;
    font-weight: 400 !important;
    color: #1e1e1e !important;
    line-height: 1.2 !important;
    letter-spacing: -0.32px !important;
    margin: 0 0 0.75rem 0 !important;
    padding: 0 !important;
    text-decoration: none !important;
    display: block !important;
    width: 100% !important;
    height: auto !important;
    text-align: center !important;
}

.article-sidebar .widget_doofinder_single_ta .producto-titulo:hover {
    color: #228800 !important;
}

/* Precio del producto */
.article-sidebar .widget_doofinder_single_ta strong {
    font-family: 'Nunito', sans-serif !important;
    font-size: 1.125rem !important;
    font-weight: 800 !important;
    color: #1e1e1e !important;
    letter-spacing: -0.36px !important;
    margin: 0 0 0.75rem 0 !important;
    display: block !important;
    text-align: center !important;
}

.article-sidebar .widget_doofinder_single_ta strong span {
    color: #cc3872 !important;
    font-size: 1.125rem !important;
    font-weight: 800 !important;
}

/* Botón de compra */
.article-sidebar .widget_doofinder_single_ta .producto-boton {
    background-color: transparent !important;
    border: 1px solid #228800;
    border-radius: 4px;
    color: #1e1e1e;
    font-family: 'Nunito', sans-serif !important;
    font-size: 1rem !important;
    font-weight: 800 !important;
    letter-spacing: -0.32px;
    padding: 0.75rem 1rem !important;
    text-decoration: none !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    transition: all 0.2s ease;
    width: 100%;
    max-width: 200px;
}

.article-sidebar .widget_doofinder_single_ta .producto-boton:hover {
    background-color: #1a6b00 !important;
    color: white !important;
    transform: translateY(-1px) !important;
}

/* Icono del carrito de compras */
.article-sidebar .widget_doofinder_single_ta .producto-boton::before {
    content: '';
    width: 16px;
    height: 16px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M2.66667 2.66667H3.33333L4.66667 9.33333H12L13.3333 4H4.66667M4.66667 9.33333L3.33333 2.66667M4.66667 9.33333H12M12 9.33333C12.7364 9.33333 13.3333 9.93029 13.3333 10.6667C13.3333 11.403 12.7364 12 12 12C11.2636 12 10.6667 11.403 10.6667 10.6667C10.6667 9.93029 11.2636 9.33333 12 9.33333ZM4.66667 9.33333C5.40305 9.33333 6 9.93029 6 10.6667C6 11.403 5.40305 12 4.66667 12C3.93029 12 3.33333 11.403 3.33333 10.6667C3.33333 9.93029 3.93029 9.33333 4.66667 9.33333Z' stroke='%231e1e1e' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

.article-sidebar .widget_doofinder_single_ta .producto-boton:hover::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M2.66667 2.66667H3.33333L4.66667 9.33333H12L13.3333 4H4.66667M4.66667 9.33333L3.33333 2.66667M4.66667 9.33333H12M12 9.33333C12.7364 9.33333 13.3333 9.93029 13.3333 10.6667C13.3333 11.403 12.7364 12 12 12C11.2636 12 10.6667 11.403 10.6667 10.6667C10.6667 9.93029 11.2636 9.33333 12 9.33333ZM4.66667 9.33333C5.40305 9.33333 6 9.93029 6 10.6667C6 11.403 5.40305 12 4.66667 12C3.93029 12 3.33333 11.403 3.33333 10.6667C3.33333 9.93029 3.93029 9.33333 4.66667 9.33333Z' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

/* Responsive para móviles */
@media (max-width: 768px) {
    .article-sidebar .widget_doofinder_single_ta {
        padding: 1rem;
    }
    
    .article-sidebar .widget_doofinder_single_ta > div {
        padding: 0.75rem;
    }
    
    .article-sidebar .widget_doofinder_single_ta > div img {
        height: 100px;
    }
    
    .article-sidebar .widget_doofinder_single_ta .producto-titulo {
        font-size: 0.875rem !important;
    }
    
    .article-sidebar .widget_doofinder_single_ta strong {
        font-size: 1rem !important;
    }
    
    .article-sidebar .widget_doofinder_single_ta .producto-boton {
        font-size: 0.875rem;
        padding: 0.5rem 0.75rem;
    }
    
    #primary {
        padding-top: 0 !important;
    }
    #ez-toc-container{width:100% !important;}
    .article-content ul, .article-content ol{padding-left:0;}
}

/* Estilos para productos en el cuerpo del artículo */
.external-products {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 1rem !important;
    justify-content: center !important;
    margin: 2rem 0 !important;
    padding: 0 !important;
}

.external-products .product-container {
    background-color: white !important;
    border-radius: 12px !important;
    border: 1px solid #d9d9d9 !important;
    padding: 1rem !important;
    margin: 0 !important;
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    transition: transform 0.2s ease !important;
    flex: 1 1 0 !important;
    min-width: 160px !important;
    max-width: 200px !important;
    cursor: pointer !important;
}

.external-products .product-container:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1) !important;
}

/* Imagen del producto en el cuerpo */
.external-products .product-container img {
    width: 100% !important;
    max-width: 200px !important;
    height: 120px !important;
    object-fit: contain !important;
    margin-bottom: 0.75rem !important;
    border-radius: 8px !important;
    margin-top:0 !important;
}

/* Título del producto en el cuerpo */
.external-products .product-container .producto-titulo {
    font-family: 'Nunito', sans-serif !important;
    font-size: 1rem !important;
    font-weight: 400 !important;
    color: #1e1e1e !important;
    line-height: 1.2 !important;
    letter-spacing: -0.32px !important;
    margin: 0 0 0.75rem 0 !important;
    padding: 0 !important;
    text-decoration: none !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 3 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    width: 100% !important;
    height: 3.6rem !important; /* 3 líneas * 1.2 line-height * 1rem font-size */
    text-align: center !important;
}

#primary .external-products .product-container a.producto-titulo, .article-content .external-products .product-container a.producto-titulo {
    color: #1e1e1e !important;
}

.external-products .product-container .producto-titulo:hover {
    color: #228800 !important;
}

/* Botón del producto en el cuerpo */
.external-products .product-container .producto-boton {
    background-color: transparent !important;
    border: 1px solid #228800 !important;
    border-radius: 4px !important;
    color: #1e1e1e !important;
    font-family: 'Nunito', sans-serif !important;
    font-size: 1rem !important;
    font-weight: 800 !important;
    letter-spacing: -0.32px !important;
    padding: 0.75rem 1rem !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.5rem !important;
    transition: all 0.2s ease !important;
    width: 100% !important;
    cursor: pointer !important;
    margin-top: auto !important;
}

.external-products .product-container .producto-boton:hover {
    background-color: #228800 !important;
    color: white !important;
    transform: translateY(-1px) !important;
}

/* Icono del carrito de compras en el cuerpo */
.external-products .product-container .producto-boton::before {
    content: '' !important;
    width: 16px !important;
    height: 16px !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M2.66667 2.66667H3.33333L4.66667 9.33333H12L13.3333 4H4.66667M4.66667 9.33333L3.33333 2.66667M4.66667 9.33333H12M12 9.33333C12.7364 9.33333 13.3333 9.93029 13.3333 10.6667C13.3333 11.403 12.7364 12 12 12C11.2636 12 10.6667 11.403 10.6667 10.6667C10.6667 9.93029 11.2636 9.33333 12 9.33333ZM4.66667 9.33333C5.40305 9.33333 6 9.93029 6 10.6667C6 11.403 5.40305 12 4.66667 12C3.93029 12 3.33333 11.403 3.33333 10.6667C3.33333 9.93029 3.93029 9.33333 4.66667 9.33333Z' stroke='%231e1e1e' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: contain !important;
}

.external-products .product-container .producto-boton:hover::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M2.66667 2.66667H3.33333L4.66667 9.33333H12L13.3333 4H4.66667M4.66667 9.33333L3.33333 2.66667M4.66667 9.33333H12M12 9.33333C12.7364 9.33333 13.3333 9.93029 13.3333 10.6667C13.3333 11.403 12.7364 12 12 12C11.2636 12 10.6667 11.403 10.6667 10.6667C10.6667 9.93029 11.2636 9.33333 12 9.33333ZM4.66667 9.33333C5.40305 9.33333 6 9.93029 6 10.6667C6 11.403 5.40305 12 4.66667 12C3.93029 12 3.33333 11.403 3.33333 10.6667C3.33333 9.93029 3.93029 9.33333 4.66667 9.33333Z' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
}

/* Responsive para productos en el cuerpo */
@media (max-width: 1200px) {
    .external-products .product-container {
        flex: 1 1 0 !important;
        min-width: 140px !important;
        max-width: 180px !important;
    }
}

@media (max-width: 768px) {
    .external-products {
        flex-direction: column !important;
        align-items: center !important;
    }
    
    .external-products .product-container {
        flex: none !important;
        width: 100% !important;
        max-width: 300px !important;
        min-width: auto !important;
    }
    
    .external-products .product-container img {
        height: 100px !important;
    }
    
    .external-products .product-container .producto-titulo {
        font-size: 0.875rem !important;
        height: 3.15rem !important; /* 3 líneas * 1.2 line-height * 0.875rem font-size */
    }
    
    .external-products .product-container .producto-boton {
        font-size: 0.875rem !important;
        padding: 0.5rem 0.75rem !important;
    }
}

/* Estilos para artículos destacados del grid - MOVIDOS A posts-grid.css */

/* Estilos para párrafos con fondo de color en el contenido */
.has-text-align-center.has-background {
    background-color: transparent !important;
    border: 2px solid #228800 !important;
    border-radius: 8px !important;
    padding: 1.5rem !important;
    margin: 1.5rem 0 !important;
}

/* Estilos para enlaces en el contenido del artículo y páginas */
.entry-content a,
.article-content a,
#primary a,
.post-content a,
.page-content a,
.page .entry-content a,
.single .entry-content a,
.ast-article-single a {
    color: #228800 !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
    font-weight: 700;
}

.entry-content a:hover,
.article-content a:hover,
#primary a:hover,
.post-content a:hover,
.page-content a:hover,
.page .entry-content a:hover,
.single .entry-content a:hover,
.ast-article-single a:hover {
    color: #1a6b00 !important;
    text-decoration: none !important;
}

.entry-content a:visited,
.article-content a:visited,
#primary a:visited,
.post-content a:visited,
.page-content a:visited,
.page .entry-content a:visited,
.single .entry-content a:visited,
.ast-article-single a:visited {
    color: #228800 !important;
}

/* Excepción para títulos de productos - mantener color negro */
.external-products .product-container .producto-titulo,
.article-sidebar .widget_doofinder_single_ta .producto-titulo {
    color: #1e1e1e !important;
}

.external-products .product-container .producto-titulo:hover,
.article-sidebar .widget_doofinder_single_ta .producto-titulo:hover {
    color: #228800 !important;
}

/* Estilos para botones de WordPress */
.wp-block-buttons .wp-block-button__link {
    background-color:#FFFFFF !important;
    color: #1e1e1e !important;
    text-decoration: none !important;
    border: 1px solid #228800 !important;
    border-radius: 4px !important;
    padding: 0.75rem 1.5rem !important;
    font-weight: 600 !important;
    transition: all 0.2s ease !important;
    font-size: 1.2rem;
    font-weight: 700 !important;
}

.entry-content .wp-block-buttons .wp-block-button__link:hover,
.article-content .wp-block-buttons .wp-block-button__link:hover,
#primary .wp-block-buttons .wp-block-button__link:hover,
.post-content .wp-block-buttons .wp-block-button__link:hover {
    background-color: #228800 !important;
    color: white !important;
    text-decoration: none !important;
}

/* Estilos para la firma del autor */
.author-block {
    background-color: white;
    border: 1px solid #d9d9d9;
    border-radius: 12px;
    padding: 2rem;
    margin: 2rem 0;
    position: relative;
}

.author-block .author-row{
    border:0 !important;
    background: none !important;
    padding:0 !important;
}

.author-row {
    display: flex;
    gap: 1.5rem;
    align-items: flex-start;
}

.author-col-left {
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

.author-col-left img {
    width: 160px;
    height: 160px;
    border-radius: 50%;
    object-fit: cover;
    border:0;
    margin-top:0 !important;
}

.author-col-right {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.author-block .author-col-right{
    background:none !important;
}

.author-title {
    font-family: 'Nunito', sans-serif;
    font-size: 2rem;
    font-weight: 600;
    color: #1e1e1e;
    margin: 0;
    line-height: 1.2;
}

.author-col-right p {
    font-family: 'Nunito', sans-serif;
    font-size: 1rem;
    font-weight: 400;
    color: #1e1e1e;
    margin: 0;
    line-height: 1.4;
}

.author-col-right p strong {
    font-family: 'Nunito', sans-serif;
    font-size: 1rem;
    font-weight: 700;
    color: #1e1e1e;
}

.author-profile-btn {
    background-color: transparent;
    border: 1px solid #228800;
    border-radius: 4px;
    color: #1e1e1e;
    font-family: 'Nunito', sans-serif;
    font-size: 1rem;
    font-weight: 800;
    padding: 0.75rem 1.5rem;
    text-decoration: none;
    transition: all 0.2s ease;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 120px;
}
a.author-profile-btn{
    background:#FFFFFF !important;
}

.article-content .author-block .author-row .author-col-left a.author-profile-btn:hover, .post-content .author-block .author-row .author-col-left a.author-profile-btn:hover{
    background-color: #228800 ;
    color: #000000 !important;
    text-decoration: none;
}

/* Responsive para la firma del autor */
@media (max-width: 768px) {
    .author-row {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }
    
    .author-col-left {
        order: 1;
    }
    
    .author-col-right {
        order: 2;
        text-align: center;
    }
    
    .author-title {
        font-size: 1.5rem;
    }
    
    .author-col-right p {
        font-size: 1rem;
    }
    
    .author-col-left img {
        width: 100px;
        height: 100px;
    }
    
    .btn-desktop {
        display: none;
    }
    
    .btn-mobile {
        display: inline-flex;
    }
}

@media (min-width: 769px) {
    .btn-desktop {
        display: inline-flex;
    }
    
    .btn-mobile {
        display: none;
    }
}

/* ========================================
   ARTICLE HEADER MASK STYLES
   ======================================== */

.article-header {
    position: relative;
    overflow: hidden;
}

.article-header .posts-mask {
    position: absolute !important;
    bottom: -42px;
    left: 0;
    width: 100%;
    height: 140px !important;
    pointer-events: none;
    z-index: 2;
    background-size: 100% 100% !important;
    background-repeat: no-repeat !important;
    background-position: center center !important;
    box-sizing: border-box;
}

/* Asegurar que la máscara se limite al contenedor de la imagen */
.article-header {
    position: relative;
    overflow: hidden;
    width: 100%;
    display: flex;
    justify-content: center;
}

.article-header-bg {
    position: relative;
    width: 100%;
    max-width: 1280px;
    margin: 0 auto;
}

/* La máscara debe estar dentro del contenedor de la imagen */
.article-header-bg .posts-mask {
    position: absolute !important;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100% !important;
    height: 190px !important;
    pointer-events: none;
    z-index: 2;
    background-size: cover !important;
    background-repeat: no-repeat !important;
    background-position: center center !important;
    box-sizing: border-box;
    min-width: 100% !important;
    max-width: 100% !important;
    transform: scaleX(1) !important;
}

.saboxplugin-wrap{
    margin-bottom:40px !important;
}

/* REGLA DE MÁXIMA PRIORIDAD PARA BOTONES RESPONSIVE */
@media (max-width: 768px) {
    .article-categories-widget-responsive .categories-grid .category-button {
        width: auto !important;
        min-width: auto !important;
        max-width: none !important;
        flex: 0 0 auto !important;
        display: inline-block !important;
        box-sizing: content-box !important;
        font-size: 12px !important;
        min-height: auto !important;
        height: auto !important;
        padding: 0.25rem 0.5rem !important;
        line-height: 1.2 !important;
        margin: 0 !important;
    }
    .article-title-section {
        margin-bottom: 1rem;
    }
    .article-container .container {
        margin-top:20px;
    }
    
    /* Mobile styles for article excerpt */
    .article-excerpt {
        font-size: 20px !important; /* Increased from 18px to 20px for mobile */
        line-height: 1.6;
        color: #374151;
        margin-bottom: 2rem;
    }
    
    /* Mobile styles for article content */
    .article-content p,
    .entry-content p,
    .single-post p {
        font-size: 18px !important; /* Increased from default 16px to 18px for mobile */
        line-height: 1.6;
        margin-bottom: 1.5rem;
    }
    
    /* Mobile styles for article headings */
    .article-content h1,
    .entry-content h1 {
        font-size: 28px !important; /* Larger h1 for mobile */
        line-height: 1.3;
        margin-bottom: 1.5rem;
    }
    
    .article-content h2,
    .entry-content h2 {
        font-size: 24px !important; /* Larger h2 for mobile */
        line-height: 1.3;
        margin-bottom: 1.25rem;
    }
    
    .article-content h3,
    .entry-content h3 {
        font-size: 20px !important; /* Larger h3 for mobile */
        line-height: 1.3;
        margin-bottom: 1rem;
    }
    
    .article-content h4,
    .entry-content h4 {
        font-size: 18px !important; /* Larger h4 for mobile */
        line-height: 1.3;
        margin-bottom: 0.875rem;
    }
    
    .article-content h5,
    .article-content h6,
    .entry-content h5,
    .entry-content h6 {
        font-size: 16px !important; /* Standard size for h5 and h6 */
        line-height: 1.3;
        margin-bottom: 0.75rem;
    }
}

/* ========================================
   LIST STYLES FOR ARTICLES
   ======================================== */

/* Styles for unordered lists in articles */
.article-content ul li,
.single-post ul li,
.entry-content ul li {
    margin-bottom: 10px;
}

/* Styles for ordered lists in articles */
.article-content ol li,
.single-post ol li,
.entry-content ol li {
    margin-bottom: 10px;
}

/* Mobile styles for smaller screens */
@media (max-width: 480px) {
    .article-excerpt {
        font-size: 18px !important; /* Slightly smaller for very small screens */
        line-height: 1.6;
    }
    
    /* Smaller screen styles for article content */
    .article-content p,
    .entry-content p,
    .single-post p {
        font-size: 17px !important; /* Slightly smaller for very small screens */
        line-height: 1.6;
    }
    
    /* Smaller screen styles for headings */
    .article-content h1,
    .entry-content h1 {
        font-size: 26px !important; /* Slightly smaller h1 for very small screens */
    }
    
    .article-content h2,
    .entry-content h2 {
        font-size: 22px !important; /* Slightly smaller h2 for very small screens */
    }
    
    .article-content h3,
    .entry-content h3 {
        font-size: 19px !important; /* Slightly smaller h3 for very small screens */
    }
    
    .article-content h4,
    .entry-content h4 {
        font-size: 17px !important; /* Slightly smaller h4 for very small screens */
    }
}