/* ========================================
   CUSTOM STYLES - ASTRA CHILD TIENDANIMAL
   Ampliar ancho del cuerpo para coincidir con el header
   ======================================== */

/* ========================================
   GLOBAL BACKGROUND - WHITE
   ======================================== */

/* Asegurar fondo blanco en toda la web */
html,
body,
#page,
.site,
.ast-container,
.ast-separate-container,
.ast-article-single,
.entry-content,
.site-main,
.content-area,
.woocommerce-page .ast-container,
.woocommerce .ast-container {
    background-color: #FFFFFF !important;
}

/* Asegurar que el contenido principal tenga fondo blanco */
.site-content {
    background-color: #FFFFFF !important;
}

/* Asegurar que las páginas tengan fondo blanco */
.page,
.single,
.archive,
.category,
.tag,
.search,
.blog {
    background-color: #FFFFFF !important;
}

/* Variables CSS */
:root {
    --container-max-width: 1440px;
    --container-padding: 24px;
}

/* ========================================
   BODY WIDTH ADJUSTMENT
   ======================================== */

/* Aplicar el mismo ancho del header al contenido principal */
.site-main,
.content-area,
.ast-container,
.ast-separate-container,
.ast-article-single,
.entry-content,
.ast-woocommerce-container,
.woocommerce-page .ast-container,
.woocommerce .ast-container {
    max-width: var(--container-max-width) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: var(--container-padding) !important;
    padding-right: var(--container-padding) !important;
}

/* Ajustar el ancho del contenedor principal de Astra */
.ast-container {
    max-width: var(--container-max-width) !important;
}

/* Ajustar el ancho del contenido de las páginas */
.ast-separate-container .ast-article-single {
    max-width: var(--container-max-width) !important;
}

/* Ajustar el ancho del contenido de WooCommerce */
.woocommerce-page .ast-container,
.woocommerce .ast-container {
    max-width: var(--container-max-width) !important;
}

/* Ajustar el ancho del contenido de los posts */
.single-post .entry-content,
.page .entry-content {
    max-width: var(--container-max-width) !important;
}

/* ========================================
   RESPONSIVE ADJUSTMENTS
   ======================================== */

/* Tablet */
@media (max-width: 1200px) {
    :root {
        --container-padding: 20px;
    }
}

/* Mobile */
@media (max-width: 768px) {
    :root {
        --container-padding: 16px;
    }
}

/* Mobile Small */
@media (max-width: 480px) {
    :root {
        --container-padding: 12px;
    }
}

/* ========================================
   SPECIFIC ELEMENT ADJUSTMENTS
   ======================================== */

/* Ajustar el ancho de los bloques de Gutenberg */
.wp-block-group,
.wp-block-cover,
.wp-block-media-text,
.wp-block-columns {
    max-width: var(--container-max-width) !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Ajustar el ancho de los shortcodes */
.wp-block-shortcode {
    max-width: var(--container-max-width) !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Ajustar el ancho del footer para que coincida */
.site-footer .footer-container {
    max-width: var(--container-max-width) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: var(--container-padding) !important;
    padding-right: var(--container-padding) !important;
}

/* ========================================
   OVERRIDE ASTRA DEFAULTS
   ======================================== */

/* Anular los anchos por defecto de Astra */
.ast-container,
.ast-separate-container,
.ast-article-single,
.entry-content {
    width: 100% !important;
    /*max-width: var(--container-max-width) !important;*/
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Fix: Restaurar borde inferior del último post en categorías */
.ast-article-post:last-child {
    border-bottom: 1px solid #E5E5E5 !important;
}

/* ========================================
   PAGINATION OVERRIDES - FORZAR ESTILOS VERDES
   ======================================== */

/* Override específico para paginación de categorías */
.category-pagination .page-numbers a,
.category-pagination .page-numbers span,
.category-pagination .nav-links a,
.category-pagination .nav-links span {
    color: #228800 !important;
    background: #F8FDF8 !important;
    border: 1px solid #E5F5E5 !important;
    border-radius: 22px !important;
    width: 44px !important;
    height: 44px !important;
    padding: 0 !important;
}

.category-pagination .page-numbers a:hover,
.category-pagination .nav-links a:hover {
    color: #FFFFFF !important;
    background: #228800 !important;
    border-color: #228800 !important;
}

.category-pagination .page-numbers .current,
.category-pagination .nav-links .current {
    color: #FFFFFF !important;
    background: #228800 !important;
    border: 1px solid #228800 !important;
}

/* Botones anterior/siguiente sin caja */
.category-pagination .page-numbers .prev,
.category-pagination .page-numbers .next,
.category-pagination .nav-links .prev,
.category-pagination .nav-links .next {
    background: transparent !important;
    border: none !important;
    color: #228800 !important;
    text-decoration: none !important;
    font-weight: 900 !important;
}

.category-pagination .page-numbers .prev,
.category-pagination .nav-links .prev {
    margin-right: 2rem !important;
}

.category-pagination .page-numbers .next,
.category-pagination .nav-links .next {
    margin-left: 2rem !important;
}

.category-pagination .page-numbers .prev:hover,
.category-pagination .page-numbers .next:hover,
.category-pagination .nav-links .prev:hover,
.category-pagination .nav-links .next:hover {
    background: transparent !important;
    color: #1a6b00 !important;
    text-decoration: none !important;
}

/* Override para cualquier paginación en categorías */
.category .page-numbers a,
.category .page-numbers span,
.category .nav-links a,
.category .nav-links span {
    color: #228800 !important;
    background: #F8FDF8 !important;
    border: 1px solid #E5F5E5 !important;
    border-radius: 22px !important;
    width: 44px !important;
    height: 44px !important;
    padding: 0 !important;
}

.category .page-numbers a:hover,
.category .nav-links a:hover {
    color: #FFFFFF !important;
    background: #228800 !important;
    border-color: #228800 !important;
}

.category .page-numbers .current,
.category .nav-links .current {
    color: #FFFFFF !important;
    background: #228800 !important;
    border: 1px solid #228800 !important;
}

/* Botones anterior/siguiente sin caja */
.category .page-numbers .prev,
.category .page-numbers .next,
.category .nav-links .prev,
.category .nav-links .next {
    background: transparent !important;
    border: none !important;
    color: #228800 !important;
    text-decoration: none !important;
    font-weight: 900 !important;
}

.category .page-numbers .prev,
.category .nav-links .prev {
    margin-right: 2rem !important;
}

.category .page-numbers .next,
.category .nav-links .next {
    margin-left: 2rem !important;
}

.category .page-numbers .prev:hover,
.category .page-numbers .next:hover,
.category .nav-links .prev:hover,
.category .nav-links .next:hover {
    background: transparent !important;
    color: #1a6b00 !important;
    text-decoration: none !important;
}

/* Excepciones para páginas de categoría - no aplicar los overrides */
.category .ast-container,
.category .ast-separate-container,
.archive .ast-container,
.archive .ast-separate-container {
    padding: 0 !important;
    margin: 0 !important;
}

/* Asegurar que el contenido no se extienda más allá del ancho del header */
body {
    overflow-x: hidden;
}

/* ========================================
   ADDITIONAL LAYOUT FIXES
   ======================================== */

/* Ajustar el ancho de las imágenes para que no excedan el contenedor */
.entry-content img,
.wp-block-image img,
.ast-single-post .entry-content img {
    max-width: 100% !important;
    height: auto !important;
}

/* Ajustar el ancho de los videos embebidos */
.entry-content iframe,
.wp-block-embed iframe,
.ast-single-post .entry-content iframe {
    max-width: 100% !important;
    height: auto;
}

/* ========================================
   HOME H1 ENTRY-TITLE STYLES
   ======================================== */

h1.entry-title {
    text-align: center !important;
    font-size: 36px !important;
    font-weight: 800 !important;
    font-family: 'Nunito', sans-serif !important;
    margin: 0 0 1rem 0 !important;
    line-height: 1.2 !important;
    letter-spacing: -0.72px !important;
    margin-bottom:40px !important;
}

/* Responsive styles for entry-title */
@media (max-width: 1200px) {
    h1.entry-title {
        font-size: 32px !important;
        margin-top: 40px !important;
    }
}

@media (max-width: 768px) {
    h1.entry-title {
        font-size: 28px !important;
         margin-bottom:0 !important;
    }
}

@media (max-width: 480px) {
    h1.entry-title {
        font-size: 15px !important;
        margin-top: 6px !important;
    }
}

/* ========================================
   SIDEBAR STYLES - GLOBAL
   Aplicar a todos los sidebars del sitio
   ======================================== */

/* Estilos generales para todos los sidebars */
.article-sidebar,
.search-sidebar,
.widget-area,
#secondary {
    width: 100%;
}

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

/* Estilos específicos para widgets - Mayor especificidad para sobrescribir Astra */
.article-sidebar .widget,
.search-sidebar .widget,
.widget-area .widget,
#secondary .widget {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    background-color: white;
    border-radius: 0.5rem;
    padding: 0;
    box-shadow: none;
    margin-bottom: 1.5rem;
}

.article-sidebar .widget-title,
.search-sidebar .widget-title,
.widget-area .widget-title,
#secondary .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,
.search-sidebar .widget .related-gallery,
.widget-area .widget .related-gallery,
#secondary .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,
.search-sidebar .widget .related-gallery figure.gallery-item,
.widget-area .widget .related-gallery figure.gallery-item,
#secondary .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,
.search-sidebar .widget .related-gallery figure.gallery-item:hover,
.widget-area .widget .related-gallery figure.gallery-item:hover,
#secondary .widget .related-gallery figure.gallery-item:hover {
    transform: translateY(-2px) !important;
    box-shadow: none !important;
}

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

.article-sidebar .widget .related-gallery figure.gallery-item .gallery-icon,
.search-sidebar .widget .related-gallery figure.gallery-item .gallery-icon,
.widget-area .widget .related-gallery figure.gallery-item .gallery-icon,
#secondary .widget .related-gallery figure.gallery-item .gallery-icon {
    width: 100% !important;
    height: 180px !important;
    overflow: hidden !important;
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.article-sidebar .widget .related-gallery figure.gallery-item .gallery-icon img,
.search-sidebar .widget .related-gallery figure.gallery-item .gallery-icon img,
.widget-area .widget .related-gallery figure.gallery-item .gallery-icon img,
#secondary .widget .related-gallery figure.gallery-item .gallery-icon img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    transition: transform 0.3s ease !important;
}

.article-sidebar .widget .related-gallery figure.gallery-item .wp-caption-text.gallery-caption,
.search-sidebar .widget .related-gallery figure.gallery-item .wp-caption-text.gallery-caption,
.widget-area .widget .related-gallery figure.gallery-item .wp-caption-text.gallery-caption,
#secondary .widget .related-gallery figure.gallery-item .wp-caption-text.gallery-caption {
    padding: 1rem !important;
    background: white !important;
    margin: 0 !important;
    font-family: 'Nunito', sans-serif !important;
    font-size: 0.875rem !important;
    font-weight: 600 !important;
    color: #111827 !important;
    line-height: 1.4 !important;
    text-align: left !important;
    border-top: 1px solid #f3f4f6 !important;
}

.article-sidebar .widget .related-gallery figure.gallery-item .wp-caption-text.gallery-caption a,
.search-sidebar .widget .related-gallery figure.gallery-item .wp-caption-text.gallery-caption a,
.widget-area .widget .related-gallery figure.gallery-item .wp-caption-text.gallery-caption a,
#secondary .widget .related-gallery figure.gallery-item .wp-caption-text.gallery-caption a {
    color: #111827 !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
}

.article-sidebar .widget .related-gallery figure.gallery-item .wp-caption-text.gallery-caption a:hover,
.search-sidebar .widget .related-gallery figure.gallery-item .wp-caption-text.gallery-caption a:hover,
.widget-area .widget .related-gallery figure.gallery-item .wp-caption-text.gallery-caption a:hover,
#secondary .widget .related-gallery figure.gallery-item .wp-caption-text.gallery-caption a:hover {
    color: #1a6b00 !important;
    text-decoration: none !important;
}

/* Widget de categorías del artículo - Estilos globales */
.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;
}

.article-categories-widget .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 !important;
    text-decoration: none !important;
}

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

/* Estilos para listas de widgets */
.article-sidebar .widget ul,
.search-sidebar .widget ul,
.widget-area .widget ul,
#secondary .widget ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.article-sidebar .widget li,
.search-sidebar .widget li,
.widget-area .widget li,
#secondary .widget li {
    margin: 0 0 0.5rem 0;
}

.article-sidebar .widget li:hover,
.search-sidebar .widget li:hover,
.widget-area .widget li:hover,
#secondary .widget li:hover {
    background-color: transparent;
}

.article-sidebar .widget a,
.search-sidebar .widget a,
.widget-area .widget a,
#secondary .widget a {
    color: #228800;
    text-decoration: none;
    transition: color 0.2s ease;
}

.article-sidebar .widget a:hover,
.search-sidebar .widget a:hover,
.widget-area .widget a:hover,
#secondary .widget a:hover {
    color: #000000;
    text-decoration: underline;
    cursor:pointer;
}

#ast-scroll-top{
    background-color:#228800;
}

/* ========================================
   SIDEBAR GALLERY STYLES - GLOBAL
   Estilos específicos para galerías relacionadas
   ======================================== */

/* Contenedor de la imagen (.gallery-icon) - Mayor especificidad */
.article-sidebar .widget .related-gallery figure.gallery-item .gallery-icon,
.search-sidebar .widget .related-gallery figure.gallery-item .gallery-icon,
.widget-area .widget .related-gallery figure.gallery-item .gallery-icon,
#secondary .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,
.search-sidebar .widget .related-gallery figure.gallery-item .gallery-icon img,
.widget-area .widget .related-gallery figure.gallery-item .gallery-icon img,
#secondary .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,
.search-sidebar .widget .related-gallery figure.gallery-item .wp-caption-text.gallery-caption,
.widget-area .widget .related-gallery figure.gallery-item .wp-caption-text.gallery-caption,
#secondary .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,
.search-sidebar .widget .related-gallery figure.gallery-item .wp-caption-text.gallery-caption a,
.widget-area .widget .related-gallery figure.gallery-item .wp-caption-text.gallery-caption a,
#secondary .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,
.search-sidebar .widget .related-gallery figure.gallery-item .wp-caption-text.gallery-caption a:hover,
.widget-area .widget .related-gallery figure.gallery-item .wp-caption-text.gallery-caption a:hover,
#secondary .widget .related-gallery figure.gallery-item .wp-caption-text.gallery-caption a:hover {
    color: #1a6b00 !important;
}


/* Máscara posts-mask para galerías - Mayor especificidad */
.article-sidebar .widget .related-gallery figure.gallery-item .posts-mask,
.search-sidebar .widget .related-gallery figure.gallery-item .posts-mask,
.widget-area .widget .related-gallery figure.gallery-item .posts-mask,
#secondary .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,
    .search-sidebar .widget .related-gallery figure.gallery-item .gallery-icon,
    .widget-area .widget .related-gallery figure.gallery-item .gallery-icon,
    #secondary .widget .related-gallery figure.gallery-item .gallery-icon {
        height: 180px !important;
    }
    
    .article-sidebar .widget .related-gallery figure.gallery-item .wp-caption-text.gallery-caption,
    .search-sidebar .widget .related-gallery figure.gallery-item .wp-caption-text.gallery-caption,
    .widget-area .widget .related-gallery figure.gallery-item .wp-caption-text.gallery-caption,
    #secondary .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,
    .search-sidebar .widget .related-gallery figure.gallery-item .wp-caption-text.gallery-caption a,
    .widget-area .widget .related-gallery figure.gallery-item .wp-caption-text.gallery-caption a,
    #secondary .widget .related-gallery figure.gallery-item .wp-caption-text.gallery-caption a {
        font-size: 1rem !important;
    }
}

/* Sobrescribir estilos específicos de galería de Astra */
.article-sidebar .widget_related_posts_by_taxonomy .gallery figure.gallery-item,
.search-sidebar .widget_related_posts_by_taxonomy .gallery figure.gallery-item,
.widget-area .widget_related_posts_by_taxonomy .gallery figure.gallery-item,
#secondary .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,
.search-sidebar .widget_related_posts_by_taxonomy .gallery figure.gallery-item .gallery-icon,
.widget-area .widget_related_posts_by_taxonomy .gallery figure.gallery-item .gallery-icon,
#secondary .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,
.search-sidebar .widget_related_posts_by_taxonomy .gallery figure.gallery-item .gallery-icon img,
.widget-area .widget_related_posts_by_taxonomy .gallery figure.gallery-item .gallery-icon img,
#secondary .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,
.search-sidebar .widget_related_posts_by_taxonomy .gallery figure.gallery-item .wp-caption-text.gallery-caption,
.widget-area .widget_related_posts_by_taxonomy .gallery figure.gallery-item .wp-caption-text.gallery-caption,
#secondary .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;
}

/* ========================================
   SIDEBAR WIDGET HOVER EFFECTS - GLOBAL
   ======================================== */

.article-sidebar .widget:hover,
.search-sidebar .widget:hover,
.widget-area .widget:hover,
#secondary .widget:hover {
    transform: none;
    box-shadow: none;
}

/* ========================================
   SIDEBAR DOOFINDER WIDGET - GLOBAL
   ======================================== */

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

.article-sidebar .widget_doofinder_single_ta .widget-title,
.search-sidebar .widget_doofinder_single_ta .widget-title,
.widget-area .widget_doofinder_single_ta .widget-title,
#secondary .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,
.search-sidebar .widget_doofinder_single_ta > div,
.widget-area .widget_doofinder_single_ta > div,
#secondary .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,
.search-sidebar .widget_doofinder_single_ta > div:hover,
.widget-area .widget_doofinder_single_ta > div:hover,
#secondary .widget_doofinder_single_ta > div:hover {
    transform: translateY(-2px);
}

.article-sidebar .widget_doofinder_single_ta > div:last-child,
.search-sidebar .widget_doofinder_single_ta > div:last-child,
.widget-area .widget_doofinder_single_ta > div:last-child,
#secondary .widget_doofinder_single_ta > div:last-child {
    margin-bottom: 0;
}

/* Imagen del producto */
.article-sidebar .widget_doofinder_single_ta > div img,
.search-sidebar .widget_doofinder_single_ta > div img,
.widget-area .widget_doofinder_single_ta > div img,
#secondary .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,
.search-sidebar .widget_doofinder_single_ta .producto-titulo,
.widget-area .widget_doofinder_single_ta .producto-titulo,
#secondary .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,
.search-sidebar .widget_doofinder_single_ta .producto-titulo:hover,
.widget-area .widget_doofinder_single_ta .producto-titulo:hover,
#secondary .widget_doofinder_single_ta .producto-titulo:hover {
    color: #228800 !important;
}

/* Precio del producto */
.article-sidebar .widget_doofinder_single_ta strong,
.search-sidebar .widget_doofinder_single_ta strong,
.widget-area .widget_doofinder_single_ta strong,
#secondary .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,
.search-sidebar .widget_doofinder_single_ta strong span,
.widget-area .widget_doofinder_single_ta strong span,
#secondary .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,
.search-sidebar .widget_doofinder_single_ta .producto-boton,
.widget-area .widget_doofinder_single_ta .producto-boton,
#secondary .widget_doofinder_single_ta .producto-boton {
    background-color: transparent;
    border: 1px solid #228800;
    border-radius: 4px;
    color: #1e1e1e;
    font-family: 'Nunito', sans-serif;
    font-size: 1rem;
    font-weight: 800;
    letter-spacing: -0.32px;
    padding: 0.75rem 1rem;
    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,
.search-sidebar .widget_doofinder_single_ta .producto-boton:hover,
.widget-area .widget_doofinder_single_ta .producto-boton:hover,
#secondary .widget_doofinder_single_ta .producto-boton:hover {
    background-color: #1a6b00;
    color: white;
    transform: translateY(-1px);
}

/* Icono del carrito de compras */
.article-sidebar .widget_doofinder_single_ta .producto-boton::before,
.search-sidebar .widget_doofinder_single_ta .producto-boton::before,
.widget-area .widget_doofinder_single_ta .producto-boton::before,
#secondary .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,
.search-sidebar .widget_doofinder_single_ta .producto-boton:hover::before,
.widget-area .widget_doofinder_single_ta .producto-boton:hover::before,
#secondary .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 - Doofinder */
@media (max-width: 768px) {
    .article-sidebar .widget_doofinder_single_ta,
    .search-sidebar .widget_doofinder_single_ta,
    .widget-area .widget_doofinder_single_ta,
    #secondary .widget_doofinder_single_ta {
        padding: 1rem;
    }
    
    .article-sidebar .widget_doofinder_single_ta > div,
    .search-sidebar .widget_doofinder_single_ta > div,
    .widget-area .widget_doofinder_single_ta > div,
    #secondary .widget_doofinder_single_ta > div {
        padding: 0.75rem;
    }
    
    .article-sidebar .widget_doofinder_single_ta > div img,
    .search-sidebar .widget_doofinder_single_ta > div img,
    .widget-area .widget_doofinder_single_ta > div img,
    #secondary .widget_doofinder_single_ta > div img {
        height: 100px;
    }
    
    .article-sidebar .widget_doofinder_single_ta .producto-titulo,
    .search-sidebar .widget_doofinder_single_ta .producto-titulo,
    .widget-area .widget_doofinder_single_ta .producto-titulo,
    #secondary .widget_doofinder_single_ta .producto-titulo {
        font-size: 0.875rem !important;
    }
    
    .article-sidebar .widget_doofinder_single_ta strong,
    .search-sidebar .widget_doofinder_single_ta strong,
    .widget-area .widget_doofinder_single_ta strong,
    #secondary .widget_doofinder_single_ta strong {
        font-size: 1rem !important;
    }
    
    .article-sidebar .widget_doofinder_single_ta .producto-boton,
    .search-sidebar .widget_doofinder_single_ta .producto-boton,
    .widget-area .widget_doofinder_single_ta .producto-boton,
    #secondary .widget_doofinder_single_ta .producto-boton {
        font-size: 0.875rem;
        padding: 0.5rem 0.75rem;
    }
}

/* ========================================
   DOOFINDER SHORTCODE - GLOBAL STYLES
   Estilos globales para el shortcode ta_doofinder
   ======================================== */

/* Contenedor principal del shortcode ta_doofinder */
.ta_doofinder,
.ta_doofinder * {
    box-sizing: border-box;
}

/* Estilos universales para cualquier elemento que contenga productos de Doofinder */
.ta_doofinder,
[class*="doofinder"],
[class*="producto"],
[class*="product"] {
    font-family: 'Nunito', sans-serif !important;
}

/* Estilos para cualquier div que contenga productos */
.ta_doofinder div,
[class*="doofinder"] 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;
}

.ta_doofinder div:hover,
[class*="doofinder"] div:hover {
    transform: translateY(-2px);
}

/* Estilos para imágenes de productos */
.ta_doofinder img,
[class*="doofinder"] img,
[class*="producto"] img,
[class*="product"] img {
    width: 100% !important;
    max-width: 200px !important;
    height: 120px !important;
    object-fit: contain !important;
    margin-bottom: 0.75rem !important;
    border-radius: 8px !important;
}

/* Estilos para títulos de productos */
.ta_doofinder a,
[class*="doofinder"] a,
[class*="producto"] a,
[class*="product"] a {
    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;
}

.ta_doofinder a:hover,
[class*="doofinder"] a:hover,
[class*="producto"] a:hover,
[class*="product"] a:hover {
    color: #228800 !important;
}

/* Primero resetear estilos en tablas de productos */
.product-table strong,
[class*="product-table"] strong,
.product-table * strong,
[class*="product-table"] * strong {
    font-family: inherit !important;
    font-size: inherit !important;
    font-weight: inherit !important;
    color: inherit !important;
    letter-spacing: inherit !important;
    margin: inherit !important;
    display: inline !important;
    text-align: inherit !important;
}

/* Estilos para precios - Se aplican después del reset */
.ta_doofinder strong,
[class*="doofinder"] strong,
[class*="producto"] strong,
[class*="product"] 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;
}

.ta_doofinder strong span,
[class*="doofinder"] strong span,
[class*="producto"] strong span,
[class*="product"] strong span {
    color: #cc3872 !important;
    font-size: 1.125rem !important;
    font-weight: 800 !important;
}

/* Forzar reset en tablas sobre los estilos anteriores */
.product-table strong,
[class*="product-table"] strong,
.product-table * strong,
[class*="product-table"] * strong {
    font-family: inherit !important;
    font-size: inherit !important;
    font-weight: inherit !important;
    color: inherit !important;
    letter-spacing: inherit !important;
    margin: inherit !important;
    display: inline !important;
    text-align: inherit !important;
}

.product-table strong span,
[class*="product-table"] strong span {
    color: inherit !important;
    font-size: inherit !important;
    font-weight: inherit !important;
}

/* Reset para links dentro de strong en tablas */
.product-table strong a,
[class*="product-table"] strong a,
.product-table * strong a,
[class*="product-table"] * strong a {
    font-family: inherit !important;
    font-size: inherit !important;
    font-weight: 700 !important;
    color: inherit !important;
    letter-spacing: inherit !important;
    margin: inherit !important;
    display: inline !important;
    text-align: inherit !important;
    text-decoration: inherit !important;
}

.product-table strong a:hover,
[class*="product-table"] strong a:hover {
    color: inherit !important;
    text-decoration: underline !important;
}

/* Estilos para botones */
.ta_doofinder input[type="submit"],
.ta_doofinder button,
[class*="doofinder"] input[type="submit"],
[class*="doofinder"] button,
[class*="producto"] input[type="submit"],
[class*="producto"] button,
[class*="product"] input[type="submit"],
[class*="product"] button {
    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;
    max-width: 200px !important;
    cursor: pointer !important;
}

.ta_doofinder input[type="submit"]:hover,
.ta_doofinder button:hover,
[class*="doofinder"] input[type="submit"]:hover,
[class*="doofinder"] button:hover,
[class*="producto"] input[type="submit"]:hover,
[class*="producto"] button:hover,
[class*="product"] input[type="submit"]:hover,
[class*="product"] button:hover {
    background-color: #1a6b00 !important;
    color: white !important;
    transform: translateY(-1px) !important;
}

/* Widget de productos destacados - Estilos globales */
.widget_doofinder_single_ta {
    background-color: white;
    border-radius: 12px;
    margin-bottom: 1.5rem;
    box-shadow: none;
    padding: 0;
}

.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 */
.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;
}

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

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

/* Imagen del producto */
.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 */
.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;
}

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

/* Precio del producto */
.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;
}

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

/* Botón de compra */
.widget_doofinder_single_ta .producto-boton {
    background-color: transparent;
    border: 1px solid #228800;
    border-radius: 4px;
    color: #1e1e1e;
    font-family: 'Nunito', sans-serif;
    font-size: 1rem;
    font-weight: 800;
    letter-spacing: -0.32px;
    padding: 0.75rem 1rem;
    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;
}

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

/* Icono del carrito de compras */
.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;
}

.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 - Doofinder Global */
@media (max-width: 768px) {
    .widget_doofinder_single_ta {
        padding: 1rem;
    }
    
    .widget_doofinder_single_ta > div {
        padding: 0.75rem;
    }
    
    .widget_doofinder_single_ta > div img {
        height: 100px;
    }
    
    .widget_doofinder_single_ta .producto-titulo {
        font-size: 0.875rem !important;
    }
    
    .widget_doofinder_single_ta strong {
        font-size: 1rem !important;
    }
    
    .widget_doofinder_single_ta .producto-boton {
        font-size: 0.875rem;
        padding: 0.5rem 0.75rem;
    }
}

/* ========================================
   DOOFINDER SHORTCODE LAYOUT ADJUSTMENTS
   Ajustes específicos para el shortcode en diferentes contextos
   ======================================== */

/* Ajustar el ancho del shortcode para que coincida con el contenedor */
.ta_doofinder {
    max-width: var(--container-max-width) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: var(--container-padding) !important;
    padding-right: var(--container-padding) !important;
}

/* Asegurar que el shortcode se vea bien en diferentes contextos */
.entry-content .ta_doofinder,
.wp-block-shortcode .ta_doofinder {
    width: 100%;
    margin: 2rem 0;
}

/* Estilos específicos para el shortcode en la home */
.home .ta_doofinder,
.front-page .ta_doofinder {
    background-color: white;
    border-radius: 12px;
    padding: 2rem;
    margin: 2rem 0;
}

/* Asegurar que los productos se vean bien en grid en la home */
.home .ta_doofinder .widget_doofinder_single_ta,
.front-page .ta_doofinder .widget_doofinder_single_ta {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 1.5rem;
    margin-bottom: 0;
}

.home .ta_doofinder .widget_doofinder_single_ta > div,
.front-page .ta_doofinder .widget_doofinder_single_ta > div {
    margin-bottom: 0;
}

/* Responsive para el grid en la home */
@media (max-width: 768px) {
    .home .ta_doofinder .widget_doofinder_single_ta,
    .front-page .ta_doofinder .widget_doofinder_single_ta {
        grid-template-columns: 1fr;
        gap: 1rem;
    }
}

/* ========================================
   DOOFINDER SHORTCODE - ESTILOS FORZADOS
   Estilos con máxima especificidad para garantizar aplicación
   ======================================== */

/* Forzar estilos en cualquier contenedor que tenga productos */
body .ta_doofinder,
body [id*="doofinder"],
body [class*="doofinder"] {
    font-family: 'Nunito', sans-serif !important;
    background-color: white !important;
    border-radius: 12px !important;
    padding: 2rem !important;
    margin: 2rem 0 !important;
    max-width: var(--container-max-width) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: var(--container-padding) !important;
    padding-right: var(--container-padding) !important;
}

/* Forzar estilos en cualquier div dentro del shortcode */
body .ta_doofinder div,
body [id*="doofinder"] div,
body [class*="doofinder"] div {
    background-color: white !important;
    border: 1px solid #d9d9d9 !important;
    border-radius: 12px !important;
    padding: 1rem !important;
    margin-bottom: 1rem !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    transition: transform 0.2s ease !important;
}

body .ta_doofinder div:hover,
body [id*="doofinder"] div:hover,
body [class*="doofinder"] div:hover {
    transform: translateY(-2px) !important;
}

/* Forzar estilos en cualquier imagen */
body .ta_doofinder img,
body [id*="doofinder"] img,
body [class*="doofinder"] img {
    max-width: 200px !important;
    height: 120px !important;
    object-fit: contain !important;
    margin-bottom: 0.75rem !important;
    border-radius: 8px !important;
}

/* Forzar estilos en cualquier enlace */
body .ta_doofinder a,
body [id*="doofinder"] a,
body [class*="doofinder"] a {
    font-family: 'Nunito', sans-serif !important;
    font-size: 1rem !important;
    font-weight: 400 !important;
    color: #1e1e1e !important;
    text-decoration: none !important;
    display: block !important;
    text-align: center !important;
    margin-bottom: 0.75rem !important;
}

body .ta_doofinder a:hover,
body [id*="doofinder"] a:hover,
body [class*="doofinder"] a:hover {
    color: #228800 !important;
}

/* Forzar estilos en cualquier texto fuerte (precios) */
body .ta_doofinder strong,
body [id*="doofinder"] strong,
body [class*="doofinder"] strong {
    font-family: 'Nunito', sans-serif !important;
    font-size: 1.125rem !important;
    font-weight: 800 !important;
    color: #1e1e1e !important;
    display: block !important;
    text-align: center !important;
    margin-bottom: 0.75rem !important;
}

/* Forzar reset en tablas - Mayor especificidad */
body .product-table strong,
body [class*="product-table"] strong,
body .product-table * strong,
body [class*="product-table"] * strong {
    font-family: inherit !important;
    font-size: inherit !important;
    font-weight: inherit !important;
    color: inherit !important;
    letter-spacing: inherit !important;
    margin: inherit !important;
    display: inline !important;
    text-align: inherit !important;
}

/* Reset para links dentro de strong en tablas - Mayor especificidad */
body .product-table strong a,
body [class*="product-table"] strong a,
body .product-table * strong a,
body [class*="product-table"] * strong a {
    font-family: inherit !important;
    font-size: inherit !important;
    font-weight: 700 !important;
    color: inherit !important;
    letter-spacing: inherit !important;
    margin: inherit !important;
    display: inline !important;
    text-align: inherit !important;
    text-decoration: inherit !important;
}

body .product-table strong a:hover,
body [class*="product-table"] strong a:hover {
    color: inherit !important;
    text-decoration: underline !important;
}

/* Forzar estilos en cualquier botón o input */
body .ta_doofinder input,
body .ta_doofinder button,
body [id*="doofinder"] input,
body [id*="doofinder"] button,
body [class*="doofinder"] input,
body [class*="doofinder"] button {
    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;
    padding: 0.75rem 1rem !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    max-width: 200px !important;
    width: 100% !important;
}

body .ta_doofinder input:hover,
body .ta_doofinder button:hover,
body [id*="doofinder"] input:hover,
body [id*="doofinder"] button:hover,
body [class*="doofinder"] input:hover,
body [class*="doofinder"] button:hover {
    background-color: #1a6b00 !important;
    color: white !important;
    transform: translateY(-1px) !important;
}

/* Layout específico para la home */
body.home .ta_doofinder,
body.front-page .ta_doofinder {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)) !important;
    gap: 1.5rem !important;
}

@media (max-width: 768px) {
    body.home .ta_doofinder,
    body.front-page .ta_doofinder {
        grid-template-columns: 1fr !important;
        gap: 1rem !important;
    }
}

.product-table{
    border:1px solid #228800 !important;
    border-radius:8px !important;
}

.product-table .product-header{
    background:#DEF4DB !important;
    border-radius: 8px 8px 0 0 !important;
}

.product-table .product-title{
    border-radius: 8px 8px 0 0 !important;
    background: #DEF4DB !important;
    color:#111827 !important;
}

.article-container .product-table .container{
    margin-top:0 !important;
    padding:0;
}

.article-container .product-table p.has-text-align-center.has-background{
    border:0 !important;
    background: #DEF4DB !important;
    font-weight: 700 !important;
    border-radius: 0 !important;
}

.article-sidebar .widget.article-categories-widget a:hover{
    color:#FFFFFF;
}

.wp-block-table.is-style-stripes{
    border:0;
}

.wp-block-table.is-style-stripes table{
    border-collapse:initial;
    border:1px solid #228800;
}

.wp-block-table.is-style-stripes td{
    padding: 1.5rem;
    background: #FFFFFF;
    font-size: 1.1rem;
}

/* ========================================
   EXTERNAL PRODUCTS - GLOBAL STYLES
   Estilos copiados desde article-styles.css para aplicación global
   ======================================== */

/* 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: block !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;
    }
}

/* 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;
}

/* ========================================
   EXTERNAL PRODUCTS - HOME SPECIFIC STYLES
   Estilos específicos para .external-products en la home
   ======================================== */

/* Estilos para .external-products en la home - Ancho completo y productos centrados */
body.home .external-products,
body.front-page .external-products,
.home .external-products,
.front-page .external-products {
    width: 100% !important;
    max-width: 100% !important;
    margin: 2rem 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: flex-start !important;
    gap: 1.5rem !important;
}

/* Asegurar que el contenedor ocupe todo el ancho disponible */
body.home .external-products,
body.front-page .external-products,
.home .external-products,
.front-page .external-products {
    box-sizing: border-box !important;
    padding-left: var(--container-padding) !important;
    padding-right: var(--container-padding) !important;
}

/* Productos centrados en la home */
body.home .external-products .product-container,
body.front-page .external-products .product-container,
.home .external-products .product-container,
.front-page .external-products .product-container {
    flex: 0 0 auto !important;
    margin: 0 !important;
    align-self: center !important;
}

/* Responsive para la home */
@media (max-width: 1200px) {
    body.home .external-products,
    body.front-page .external-products,
    .home .external-products,
    .front-page .external-products {
        gap: 1.25rem !important;
    }
    
    body.home .external-products .product-container,
    body.front-page .external-products .product-container,
    .home .external-products .product-container,
    .front-page .external-products .product-container {
        min-width: 140px !important;
        max-width: 180px !important;
    }
}

@media (max-width: 768px) {
    body.home .external-products,
    body.front-page .external-products,
    .home .external-products,
    .front-page .external-products {
        flex-direction: column !important;
        align-items: center !important;
        gap: 1rem !important;
        margin-top: 0 !important;
    }
    
    body.home .external-products .product-container,
    body.front-page .external-products .product-container,
    .home .external-products .product-container,
    .front-page .external-products .product-container {
        width: 100% !important;
        max-width: 300px !important;
        min-width: auto !important;
        margin: 0 auto !important;
    }
}

/* ========================================
   HOME HEADERS - NO MARGINS
   Clases para encabezados de la home sin márgenes
   ======================================== */

/* Clase general para encabezados de home sin márgenes */
.home-header-fullwidth,
.home-header-no-margin {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

/* Estilos específicos para h1, h2, h3 en la home */
body.home .home-header-fullwidth h1,
body.home .home-header-fullwidth h2,
body.home .home-header-fullwidth h3,
body.home .home-header-fullwidth h4,
body.home .home-header-fullwidth h5,
body.home .home-header-fullwidth h6,
body.front-page .home-header-fullwidth h1,
body.front-page .home-header-fullwidth h2,
body.front-page .home-header-fullwidth h3,
body.front-page .home-header-fullwidth h4,
body.front-page .home-header-fullwidth h5,
body.front-page .home-header-fullwidth h6,
.home .home-header-fullwidth h1,
.home .home-header-fullwidth h2,
.home .home-header-fullwidth h3,
.home .home-header-fullwidth h4,
.home .home-header-fullwidth h5,
.home .home-header-fullwidth h6,
.front-page .home-header-fullwidth h1,
.front-page .home-header-fullwidth h2,
.front-page .home-header-fullwidth h3,
.front-page .home-header-fullwidth h4,
.front-page .home-header-fullwidth h5,
.front-page .home-header-fullwidth h6 {
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* Estilos para encabezados específicos de la home */
body.home h1.entry-title,
body.front-page h1.entry-title,
.home h1.entry-title,
.front-page h1.entry-title,
body.home .page-title,
body.front-page .page-title,
.home .page-title,
.front-page .page-title,
body.home .wp-block-heading,
body.front-page .wp-block-heading,
.home .wp-block-heading,
.front-page .wp-block-heading {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: var(--container-padding) !important;
    padding-right: var(--container-padding) !important;
    box-sizing: border-box !important;
}

/* Clase específica para títulos de secciones en home */
.home-section-title {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    text-align: center !important;
}

.home-section-title h1,
.home-section-title h2,
.home-section-title h3,
.home-section-title h4,
.home-section-title h5,
.home-section-title h6 {
    margin: 0 0 2rem 0 !important;
    padding: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* Responsive para encabezados de home */
@media (max-width: 768px) {
    body.home h1.entry-title,
    body.front-page h1.entry-title,
    .home h1.entry-title,
    .front-page h1.entry-title,
    body.home .page-title,
    body.front-page .page-title,
    .home .page-title,
    .front-page .page-title {
        /*padding-left: var(--container-padding) !important;
        padding-right: var(--container-padding) !important;*/
        padding: 0 !important;
    }
}

/* ========================================
   ESTILOS PARA PÁGINAS DE TAGS
   ======================================== */

/* Estilos adicionales para páginas de tags */
.tag-container {
    background-color: #FFFFFF !important;
}

/* Override del padding en post-content para páginas de tags - Mayor especificidad */
body.tag .category-container .post-content,
body.tag .category-container .ast-article-post .post-content,
body.tag .category-container .post-card .post-content,
body.tag .category-container .ast-article-post .entry-content,
body.tag .category-container .post-card .entry-content,
body.tag .category-container .ast-article-post .ast-article-inner,
body.tag .category-container .post-card .ast-article-inner {
    padding: 0;
}

/* Override específico para el contenido de posts en páginas de tags */
body.tag .category-container .ast-article-post,
body.tag .category-container .post-card {
    padding: 0 !important;
}

body.tag .category-container .ast-article-post .entry-header,
body.tag .category-container .post-card .entry-header {
    padding: 0 !important;
}

body.tag .category-container .ast-article-post .entry-content,
body.tag .category-container .post-card .entry-content {
    padding: 0 !important;
}

/* Override adicional para todas las clases de padding de Astra en páginas de tags */
body.tag .category-container .ast-article-post,
body.tag .category-container .post-card,
body.tag .category-container .ast-article-post .ast-article-inner,
body.tag .category-container .post-card .ast-article-inner,
body.tag .category-container .ast-article-post .entry-header,
body.tag .category-container .post-card .entry-header,
body.tag .category-container .ast-article-post .entry-content,
body.tag .category-container .post-card .entry-content,
body.tag .category-container .ast-article-post .entry-summary,
body.tag .category-container .post-card .entry-summary,
body.tag .category-container .ast-article-post .entry-footer,
body.tag .category-container .post-card .entry-footer {
    padding-left: 0;
    padding-right: 0;
    padding-top: 0;
    padding-bottom: 0;
}

/* Override específico para el contenedor principal de posts en tags */
body.tag .category-container .posts-grid .ast-article-post,
body.tag .category-container .posts-grid .post-card {
    margin: 0 !important;
    padding: 0 !important;
}

/* Override para el contenido interno de los posts */
body.tag .category-container .posts-grid .ast-article-post > *,
body.tag .category-container .posts-grid .post-card > * {
    padding: 0;
}

/* Override exhaustivo con !important para eliminar TODO el padding */
body.tag .category-container .ast-article-post *,
body.tag .category-container .post-card *,
body.tag .category-container .posts-grid .ast-article-post *,
body.tag .category-container .posts-grid .post-card * {
    padding-left: 0;
    padding-right: 0;
    padding-top: 0;
    padding-bottom: 0;
}

/* Ocultar la sección de categorías en páginas de tags */
body.tag .category-container .post-article-categories-section {
    display: none !important;
}

/* Añadir padding específico solo al post-content en páginas de tags */
body.tag .category-container .post-content {
    padding: 1rem !important;
}

/* Ocultar la fecha en páginas de tags */
body.tag .category-container .post-meta {
    display: none !important;
}

/* ========================================
   ESTILOS PARA PÁGINAS DE AUTOR (POST TYPE AUTORES)
   ======================================== */

/* Estilos para el template del plugin ds-autores */
.single-autores .author-profile {
    max-width: 1200px;
    margin: 0 auto;
    padding: 2rem 1rem;
}

.single-autores .author-profile .row {
    display: flex;
    flex-wrap: wrap;
    margin-left: -15px;
    margin-right: -15px;
}

.single-autores .author-profile [class*="col-"] {
    padding-left: 15px;
    padding-right: 15px;
    box-sizing: border-box;
}

.single-autores .author-profile .col-md-4 {
    width: 100%;
}

.single-autores .author-profile .col-md-8 {
    width: 100%;
}

@media (min-width: 768px) {
    .single-autores .author-profile .col-md-4 {
        width: 33.3333%;
    }
    .single-autores .author-profile .col-md-8 {
        width: 66.6667%;
    }
    .single-autores .author-profile .order-md-1 {
        order: 1;
    }
    .single-autores .author-profile .order-md-2 {
        order: 2;
    }
}

.single-autores .author-profile .img-fluid {
    max-width: 100%;
    height: auto;
    display: block;
}

.single-autores .author-profile .rounded {
    border-radius: 0.25rem;
}

.single-autores .author-profile h1 {
    font-size: 2.5rem;
    font-weight: 700;
    color: #1e1e1e;
    margin: 0 0 0.5rem 0;
    line-height: 1.2;
}

.single-autores .author-profile .social-menu {
    list-style: none;
    padding: 0;
    display: flex;
    gap: 10px;
    margin: 1rem 0;
}

.single-autores .author-profile .social-menu li {
    margin: 0;
}

.single-autores .author-profile .social-menu li a {
    display: inline-block;
    padding: 5px 10px;
    border-radius: 3px;
    text-decoration: none;
    color: #333;
    font-weight: bold;
    transition: all 0.3s ease;
}

.single-autores .author-profile .social-menu li a:hover {
    color: #228800;
}

.single-autores .author-profile .icon-social {
    width: 35px;
    height: 35px;
    fill: currentColor;
    vertical-align: middle;
}

.single-autores .author-info {
    margin-top: 2rem;
}

.single-autores .author-info h2 {
    margin: 0;
    font-size: 2rem;
    line-height: 1.2;
    font-weight: 600;
    color: #1e1e1e;
    margin-bottom: 1rem;
    margin-top: 2rem;
}

.single-autores .author-info h2:first-child {
    margin-top: 0;
}

.single-autores .author-info p {
    font-size: 1.125rem;
    line-height: 1.6;
    color: #1e1e1e;
    margin-bottom: 1.5rem;
}

.single-autores .author-video {
    position: relative;
    width: 100%;
    padding-bottom: 56.25%; /* 16:9 aspect ratio */
    height: 0;
    overflow: hidden;
    background: #000;
    margin-top: 1.5rem;
    border-radius: 8px;
}

.single-autores .author-video iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: none;
}

/* Override de estilos de Astra para páginas de autor */
.single-autores #primary {
    max-width: 100%;
    margin-top: 0;
}

.single-autores .site-main {
    max-width: 100%;
}

.single-autores .entry-header {
    display: none; /* Ocultar el header por defecto de Astra */
}

/* Asegurar que el contenedor de Astra use grid correctamente */
.single-autores .ast-container {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 2rem;
    max-width: 1200px;
}

@media (max-width: 921px) {
    .single-autores .ast-container {
        grid-template-columns: 1fr;
    }
}

/* Asegurar que author-info no use flex para el layout principal */
.single-autores .author-info {
    display: block !important;
    margin-top: 2rem;
}

/* ========================================
   ESTILOS PARA PÁGINAS DE AUTOR ESTÁNDAR
   ======================================== */

/* Información del autor */
.author-info-section {
    background: #f8f9fa;
    border-radius: 8px;
    padding: 2rem;
    margin-bottom: 2rem;
}

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

.author-avatar {
    flex-shrink: 0;
}

.author-avatar img,
.author-avatar-img {
    width: 120px;
    height: 120px;
    border-radius: 50%;
    object-fit: cover;
    border: 3px solid #228800;
}

.author-description {
    flex: 1;
}

.author-description p {
    font-size: 1.125rem;
    line-height: 1.6;
    color: #1e1e1e;
    margin: 0;
}

/* Widget de información del autor en sidebar */
.author-widget-info {
    text-align: center;
}

.author-widget-avatar {
    margin-bottom: 1rem;
}

.author-widget-avatar img {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid #228800;
}

.author-widget-details h4 {
    font-size: 1.25rem;
    font-weight: 600;
    color: #1e1e1e;
    margin: 0 0 0.5rem 0;
}

.author-widget-details p {
    font-size: 0.875rem;
    line-height: 1.5;
    color: #666666;
    margin: 0 0 0.5rem 0;
}

.author-posts-count {
    font-size: 0.875rem;
    color: #228800 !important;
    font-weight: 600;
}

/* Responsive para páginas de autor */
@media (max-width: 768px) {
    .author-info {
        flex-direction: column;
        text-align: center;
    }
    
    .author-avatar {
        align-self: center;
    }
    
    .author-info-section {
        padding: 1.5rem;
    }
}

.tag-main-wrapper {
    max-width: 1280px !important;
    margin: 0 auto !important;
    padding: 0 1rem !important;
}

.tag-title-section {
    text-align: center !important;
    padding: 2rem 0 !important;
    border-bottom: 1px solid #E5E5E5 !important;
    margin-bottom: 2rem !important;
}

.tag-title {
    font-size: 2.5rem !important;
    font-weight: 700 !important;
    color: #1e1e1e !important;
    margin: 0 !important;
}

.tag-layout {
    display: grid !important;
    grid-template-columns: 1fr 300px !important;
    gap: 2rem !important;
    margin-bottom: 2rem !important;
}

.tag-sidebar {
    background: #f8f9fa !important;
    padding: 1.5rem !important;
    border-radius: 8px !important;
    height: fit-content !important;
}

.tag-sidebar .widget-title {
    font-size: 1.25rem !important;
    font-weight: 600 !important;
    color: #1e1e1e !important;
    margin-bottom: 1rem !important;
    padding-bottom: 0.5rem !important;
    border-bottom: 2px solid #228800 !important;
}

.tag-sidebar .category-button {
    display: inline-block !important;
    padding: 0.5rem 1rem !important;
    background: #228800 !important;
    color: #FFFFFF !important;
    text-decoration: none !important;
    border-radius: 6px !important;
    font-size: 0.875rem !important;
    font-weight: 500 !important;
    transition: all 0.3s ease !important;
    text-align: center !important;
}

.tag-sidebar .category-button:hover {
    background: #1a6b00 !important;
    color: #FFFFFF !important;
    transform: translateY(-1px) !important;
}

/* Paginación para tags - UNIFICADA con categorías */
.tag-pagination .page-numbers a,
.tag-pagination .page-numbers span,
.tag-pagination .nav-links a,
.tag-pagination .nav-links span {
    color: #228800 !important;
    background: #F8FDF8 !important;
    border: 1px solid #E5F5E5 !important;
    border-radius: 22px !important;
    width: 44px !important;
    height: 44px !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-decoration: none !important;
    font-family: 'Nunito', sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    transition: all 0.3s ease !important;
}

.tag-pagination .page-numbers a:hover,
.tag-pagination .nav-links a:hover {
    color: #FFFFFF !important;
    background: #228800 !important;
    border-color: #228800 !important;
}

.tag-pagination .page-numbers .current,
.tag-pagination .nav-links .current {
    color: #FFFFFF !important;
    background: #228800 !important;
    border: 1px solid #228800 !important;
}

.tag-pagination .page-numbers .prev,
.tag-pagination .page-numbers .next,
.tag-pagination .nav-links .prev,
.tag-pagination .nav-links .next {
    background: transparent !important;
    border: none !important;
    color: #228800 !important;
    text-decoration: none !important;
    font-weight: 900 !important;
    width: auto !important;
    height: auto !important;
}

.tag-pagination .page-numbers .prev,
.tag-pagination .nav-links .prev {
    margin-right: 2rem !important;
}

.tag-pagination .page-numbers .next,
.tag-pagination .nav-links .next {
    margin-left: 2rem !important;
}

.tag-pagination .page-numbers .prev:hover,
.tag-pagination .page-numbers .next:hover,
.tag-pagination .nav-links .prev:hover,
.tag-pagination .nav-links .next:hover {
    background: transparent !important;
    color: #1a6b00 !important;
    text-decoration: none !important;
}

.pum-theme-37766 .pum-content + .pum-close, .pum-theme-content-only .pum-content + .pum-close{
    font-size: 48px !important;
    margin-top: 5px;
}

/* Responsive para páginas de tags */
@media (max-width: 1024px) {
    .tag-layout {
        grid-template-columns: 1fr !important;
        gap: 1.5rem !important;
    }
    
    .tag-sidebar {
        order: -1 !important;
    }
}

@media (max-width: 768px) {
    .tag-title {
        font-size: 2rem !important;
    }
    
    .tag-main-wrapper {
        padding: 0 0.5rem !important;
    }
    
    .tag-pagination .page-numbers a,
    .tag-pagination .page-numbers span {
        width: 40px !important;
        height: 40px !important;
        font-size: 0.8rem !important;
        border-radius: 20px !important;
    }
    
    .tag-pagination .page-numbers .prev,
    .tag-pagination .page-numbers .next {
        margin-right: 1.5rem !important;
        font-size: 12px !important;
    }
    
    .tag-pagination .page-numbers .next {
        margin-right: 0 !important;
        margin-left: 1.5rem !important;
    }
}

@media (max-width: 480px) {
    .tag-title {
        font-size: 1.75rem !important;
    }
    
    .tag-pagination .page-numbers a,
    .tag-pagination .page-numbers span {
        width: 36px !important;
        height: 36px !important;
        font-size: 0.75rem !important;
        border-radius: 18px !important;
    }
    
    .tag-pagination .page-numbers .prev,
    .tag-pagination .page-numbers .next {
        margin-right: 1rem !important;
        font-size: 11px !important;
    }
    
    .tag-pagination .page-numbers .next {
        margin-right: 0 !important;
        margin-left: 1rem !important;
    }
}