.woocommerce div.product div.images img,
.woocommerce ul.products li.product a img,
.archive .product .img-wrap,
.related .product .img-wrap,
.up-sells .product .img-wrap,
.cross-sells .product .img-wrap,
.sp-product-image.sp-same-image-height .img-wrap {
	border: 1px solid var(--nv-c-2);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
    color: var(--nv-secondary-accent);
}

@media screen and (max-width: 800px) {
    .wp-block-themeisle-blocks-tabs-item .wp-block-themeisle-blocks-tabs-item__header:not(.active)::after {
        content: "▼";
        margin-left: 5px;
        font-size: 14px; 
        display: inline-block;
    }
    .wp-block-themeisle-blocks-tabs-item { 
        background-color: var(--nv-c-1);
    }
    .wp-block-themeisle-blocks-tabs-item .wp-block-themeisle-blocks-tabs-item__header:not(.active) { 
        margin-bottom: 5px;
    }
}

.wp-block-themeisle-blocks-tabs__header_item strong {
    word-break: keep-all;
    hyphens: auto;
}

@media not all and (orientation: portrait) and (min-width: 600px) and (max-width: 1024px) {
    .wp-block-themeisle-blocks-tabs__header_item strong {
        white-space: nowrap;
    }
}


.wp-block-themeisle-blocks-tabs,
.wp-block-themeisle-blocks-tabs.is-style-border:not(.has-pos-left)>.wp-block-themeisle-blocks-tabs__header .wp-block-themeisle-blocks-tabs__header_item.active, 
.wp-block-themeisle-blocks-tabs.is-style-border.has-pos-left>.wp-block-themeisle-blocks-tabs__header .wp-block-themeisle-blocks-tabs__header_item.active { 
    --active-title-border-color: var(--nv-primary-accent); 
    border-color: var(--nv-primary-accent); 
}

.tablepress>:where(thead,tfoot)>*>th,
.tablepress.tablepress-id-5 .row-11 td,
.tablepress.tablepress-id-6 .row-5 td,
.tablepress.tablepress-id-7 .row-7 td,
.tablepress.tablepress-id-7 .row-18 td,
.tablepress.tablepress-id-10 .row-6 td { background-color: var(--nv-c-1); }

.tablepress>.row-hover>tr:hover>*,
.tablepress>:where(tbody.row-striping)>:nth-child(2n)>* { background-color: var(--nv-light-bg); }

.blog-sidebar .menu-cursos a:hover { text-decoration: underline; }

.wp-block-themeisle-blocks-posts-grid .o-posts-grid-post-meta { visibility: hidden; height: 1px; } /* ocultamos metas en los cursos */

 
.neve-main a { color: var(--nv-secondary-accent); }

.wp-block-themeisle-blocks-tabs,
.wp-block-themeisle-blocks-tabs.is-style-border:not(.has-pos-left)>.wp-block-themeisle-blocks-tabs__header .wp-block-themeisle-blocks-tabs__header_item.active, 
.wp-block-themeisle-blocks-tabs.is-style-border.has-pos-left>.wp-block-themeisle-blocks-tabs__header .wp-block-themeisle-blocks-tabs__header_item.active { 
    --active-title-border-color: var(--nv-primary-accent); 
    border-color: var(--nv-primary-accent); 
}

.item--inner.builder-item--my_account,
.item--inner.builder-item--header_cart_icon {
    --texttransform: uppercase;
    --lineheight: 1.6em;
    --fontweight: 500;
    --letterspacing: 0px;
    --fontsize: 0.9em;
}
.cart-icon-wrapper .cart-icon-label,
.my-account-wrapper .my-account-label {
    text-transform: var(--texttransform, var(--bodytexttransform));
    line-height: var(--lineheight, var(--bodylineheight));
    font-weight: var(--fontweight, var(--bodyfontweight));
    letter-spacing: var(--letterspacing, var(--bodyletterspacing));
}
.cart-icon-wrapper .cart-icon-label {
    font-size: inherit;
}

.woocommerce .woocommerce-info,
.woocommerce .woocommerce-message,
.woocommerce-page .woocommerce-info,
.woocommerce-page .woocommerce-message,
.neve-main .wc-block-components-notice-banner.is-error {
    color: var(--nv-secondary-accent);
}

.woocommerce .woocommerce-info .woocommerce a.button:hover,
.woocommerce .woocommerce-message .woocommerce a.button:hover,
.woocommerce-page .woocommerce-info .woocommerce a.button:hover,
.woocommerce-page .woocommerce-message .woocommerce a.button:hover {
    color: var(--nv-dark-bg);
    border-color: var(--nv-dark-bg);
}


.wpcf7 input[type="file"] {
    border-style: solid;
    border-color: var(--formfieldbordercolor);
    border-width: var(--formfieldborderwidth);
    border-radius: var(--formfieldborderradius, 3px);
    background-color: var(--formfieldbgcolor);
    color: var(--formfieldbgcolor);
    padding: var(--formfieldpadding);
    font-family: var(--bodyfontfamily);
}

.wpcf7 input[type="file"] {
    display: block;
    width: 100%;
}

/* Menu lateral woocommerce productos */





/* =================================================================
   ESTILOS OPTIMIZADOS PARA CATEGORÍAS DE WORDPRESS/WOOCOMMERCE
   ================================================================= */

/* Variables CSS para mejor mantenimiento */
:root {
    --category-primary: var(--nv-primary-accent);
    --category-primary-light: var(--custom-2);
    --category-primary-dark: var(--custom-3);
    --category-current-border: var(--custom-3);
    --category-secondary: #f8f9fa;
    --category-border: #dee2e6;
    --category-text: #495057;
    --category-text-light: #6c757d;
    --category-text-muted: #868e96;
    --category-current: #e3f2fd;
    --category-transition: all 0.2s ease;
}

/* Contenedores principales unificados */
.wp-block-woocommerce-product-categories,
.wp-block-categories-list.wp-block-categories {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    max-width: 100%;
    margin: 0;
    background: #ffffff;
    border: 1px solid var(--category-border);
    overflow: hidden;
    position: relative;
    list-style: none;
    padding: 0;
}

/* Encabezados unificados */
/*
.wp-block-woocommerce-product-categories::before {
    content: 'Categorías';
    padding: 5px 0 5px 10px;
    font-size: var(--h2fontsize);
    font-weight: var(--h2fontweight);
    line-height: var(--h2lineheight);
    letter-spacing: var(--h2letterspacing);
    text-transform: var(--h2texttransform);
    font-family: var(--headingsfontfamily), var(--nv-fallback-ff);
}
*/

.wp-block-categories-list.wp-block-categories::before {
    content: 'Categorías';
    padding: 12px 16px;
    font-weight: 600;
    font-size: var(--h2fontsize);
    letter-spacing: 0.5px;
}

.wp-block-woocommerce-product-categories::before,
.wp-block-categories-list.wp-block-categories::before {
    display: block;
    background: var(--category-primary);
    color: #ffffff;
    margin: 0;
    border-bottom: 1px solid var(--category-border);
}

/* Listas principales */
.wc-block-product-categories-list {
    list-style: none;
    margin: 0;
    padding: 0;
    background: #ffffff;
}

/* Elementos principales unificados */
.wc-block-product-categories-list--depth-0 > .wc-block-product-categories-list-item,
.wp-block-categories-list.wp-block-categories > .cat-item {
    position: relative;
    border-bottom: 1px solid #f1f3f4;
    transition: var(--category-transition);
    background: #ffffff;
    list-style: none;
    margin: 0;
    padding: 0;
}

.wc-block-product-categories-list--depth-0 > .wc-block-product-categories-list-item:last-child,
.wp-block-categories-list.wp-block-categories > .cat-item:last-child {
    border-bottom: none;
}

.wc-block-product-categories-list--depth-0 > .wc-block-product-categories-list-item:hover,
.wp-block-categories-list.wp-block-categories > .cat-item:hover {
    background: var(--category-hover);
}

/* Subcategorías unificadas */
.wc-block-product-categories-list--depth-1,
.cat-item .children {
    background: #f8f9fa;
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transition: all 0.3s ease;
    border-top: 1px solid #e9ecef;
    list-style: none;
    margin: 0;
    padding: 0;
}

.wc-block-product-categories-list--depth-1 > .wc-block-product-categories-list-item,
.cat-item .children > .cat-item {
    border-bottom: 1px solid #e9ecef;
    background: #f8f9fa;
    margin: 0;
    padding: 0;
    list-style: none;
}

.wc-block-product-categories-list--depth-1 > .wc-block-product-categories-list-item:last-child,
.cat-item .children > .cat-item:last-child {
    border-bottom: none;
}

.wc-block-product-categories-list--depth-1 > .wc-block-product-categories-list-item:hover,
.cat-item .children > .cat-item:hover {
    background: #e9ecef;
}

/* Enlaces principales unificados */
.wc-block-product-categories-list-item > a,
.cat-item > a {
    display: block;
    padding: 12px 16px;
    text-decoration: none !important;
    color: var(--category-text);
    font-weight: 400;
    font-size: 14px;
    line-height: 1.4;
    transition: var(--category-transition);
    position: relative;
    border: none !important;
    text-decoration-line: none !important;
    border-bottom: none !important;
    box-shadow: none !important;
}

.wc-block-product-categories-list-item > a:hover,
.cat-item > a:hover {
    color: var(--category-primary);
    text-decoration: none !important;
    background: var(--category-hover);
    border: none !important;
    outline: none !important;
}

.wc-block-product-categories-list-item > a:focus,
.cat-item > a:focus {
    outline: 2px solid var(--category-primary);
    outline-offset: -2px;
    background: var(--category-hover);
}

/* Nombres de categorías */
.wc-block-product-categories-list-item__name {
    font-weight: 400;
    margin: 0;
    display: block;
}

/* Texto para lectores de pantalla */
.screen-reader-text {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

/* Ocultar contadores de productos */
.wc-block-product-categories-list-item-count {
    display: none !important;
}

/* =================================================================
   ESTILOS PARA PÁGINA ACTUAL (CURRENT PAGE)
   ================================================================= */

/* Categoría actual */
.cat-item.current-cat > a,
.cat-item.current-cat-parent > a {
    background: var(--category-current) !important;
    color: var(--category-primary) !important;
    font-weight: 600;
    border-left: 3px solid var(--category-current-border) !important;
    padding-left: 13px;
}

.cat-item.current-cat > a:hover,
.cat-item.current-cat-parent > a:hover {
    background: var(--category-current) !important;
    color: var(--category-primary-dark) !important;
}

/* Mostrar subcategorías automáticamente si es categoría padre actual */
.cat-item.current-cat-parent .children {
    max-height: 1000px !important;
    opacity: 1 !important;
    transform: translateY(0) !important;
    padding: 8px 0 !important;
}

/* Subcategoría actual */
.cat-item .children .cat-item.current-cat > a {
    background: var(--category-secondary) !important;
    color: var(--category-primary-dark) !important;
    font-weight: 500;
    border-left: 2px solid var(--category-current-border) !important;
    padding-left: 30px;
}

/* =================================================================
   FUNCIONALIDAD DE ABRIR/CERRAR UNIFICADA
   ================================================================= */

/* Indicadores visuales para categorías con subcategorías */
.wc-block-product-categories-list-item:has(.wc-block-product-categories-list--depth-1) > a::after,
.cat-item:has(.children) > a::after {
    content: "+" !important;
    position: absolute !important;
    right: 16px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    font-size: 16px !important;
    color: var(--category-text-muted) !important;
    font-weight: bold !important;
    transition: var(--category-transition) !important;
    display: block !important;
}

/* Estados expandidos */
.wc-block-product-categories-list-item:focus-within .wc-block-product-categories-list--depth-1,
.wc-block-product-categories-list-item:hover .wc-block-product-categories-list--depth-1,
.cat-item:focus-within .children,
.cat-item:hover .children {
    max-height: 1000px;
    opacity: 1;
    transform: translateY(0);
    padding: 8px 0;
}

.wc-block-product-categories-list-item:focus-within > a::after,
.wc-block-product-categories-list-item:hover > a::after,
.cat-item:focus-within > a::after,
.cat-item:hover > a::after {
    content: "−" !important;
    color: var(--category-primary) !important;
}

/* Para categorías padre actuales, siempre mostrar expandido */
.cat-item.current-cat-parent > a::after {
    content: "−" !important;
    color: var(--category-primary) !important;
}

/* Enlaces de subcategorías unificados */
.wc-block-product-categories-list--depth-1 .wc-block-product-categories-list-item > a,
.cat-item .children .cat-item > a {
    padding: 10px 16px 10px 32px;
    font-size: 13px;
    font-weight: 400;
    color: var(--category-text-light);
    transition: var(--category-transition);
    position: relative;
    text-decoration: none !important;
    border: none !important;
    border-bottom: none !important;
    box-shadow: none !important;
}

.wc-block-product-categories-list--depth-1 .wc-block-product-categories-list-item > a:hover,
.cat-item .children .cat-item > a:hover {
    color: var(--category-primary);
    background: #e9ecef;
    text-decoration: none !important;
    border: none !important;
    outline: none !important;
}

/* =================================================================
   LIMPIEZA DE ELEMENTOS NO DESEADOS
   ================================================================= */

/* Eliminar pseudoelementos no deseados */
.wc-block-product-categories-list-item > a *::before,
.wc-block-product-categories-list-item > a *::after,
.wc-block-product-categories-list-item *::before,
.wc-block-product-categories-list-item *::after,
.cat-item > a *::before,
.cat-item > a *::after,
.cat-item *::before,
.cat-item *::after {
    content: none !important;
    display: none !important;
}

/* Excepto los indicadores que definimos específicamente */
.wc-block-product-categories-list-item:has(.wc-block-product-categories-list--depth-1) > a::after,
.cat-item:has(.children) > a::after {
    content: "+" !important;
    display: block !important;
}

/* Reset completo de subcategorías */
.wc-block-product-categories-list--depth-1 *::before,
.wc-block-product-categories-list--depth-1 *::after,
.cat-item .children *::before,
.cat-item .children *::after {
    content: none !important;
    display: none !important;
}

/* =================================================================
   RESPONSIVE DESIGN
   ================================================================= */

@media (max-width: 768px) {
    .wp-block-woocommerce-product-categories,
    .wp-block-categories-list.wp-block-categories {
        margin: 0;
        border-radius: 0;
        border-left: none;
        border-right: none;
    }
    
    .wc-block-product-categories-list-item > a,
    .cat-item > a {
        padding: 14px 16px;
        font-size: 14px;
    }
    
    .wc-block-product-categories-list--depth-1 .wc-block-product-categories-list-item > a,
    .cat-item .children .cat-item > a {
        padding: 12px 16px 12px 32px;
    }
}

@media (max-width: 480px) {
    .wc-block-product-categories-list-item > a,
    .cat-item > a {
        padding: 12px 16px;
        font-size: 13px;
    }
    
    .wc-block-product-categories-list--depth-1 .wc-block-product-categories-list-item > a,
    .cat-item .children .cat-item > a {
        padding: 10px 16px 10px 28px;
    }
}

/* =================================================================
   ACCESIBILIDAD Y ANIMACIONES
   ================================================================= */

/* Animaciones sutiles */
.wc-block-product-categories-list-item,
.cat-item {
    animation: fadeIn 0.3s ease-out;
}

@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

/* Accesibilidad mejorada */
@media (prefers-reduced-motion: reduce) {
    * {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

/* Focus mejorado para navegación por teclado */
.wc-block-product-categories-list-item > a:focus-visible,
.cat-item > a:focus-visible {
    outline: 2px solid var(--category-primary);
    outline-offset: -2px;
    background: var(--category-hover);
    box-shadow: 0 0 0 3px rgba(61, 90, 153, 0.1);
}

aside#secondary .widget {
    margin-bottom: 0px;
}
aside#secondary .widget.widget_brand_thumbnails {
    margin-top: 10px;
}
aside#secondary .wp-block-heading {
    padding: 5px 0 5px 10px;
    margin-bottom: 0px;
    background: var(--category-primary);
}
aside#secondary .widget.widget_brand_description .widget-title {
    font-size: var(--h3fontsize);
    font-weight: var(--h3fontweight);
    line-height: var(--h3lineheight);
    letter-spacing: var(--h3letterspacing);
    text-transform: var(--h3texttransform);
    font-family: var(--headingsfontfamily), var(--nv-fallback-ff);
    color: var(--headingcolor, inherit);
    padding: 5px 0 5px 10px;
    margin-bottom: 10px;
    background: var(--category-primary);
}
aside#secondary .wp-block-heading.brands {
    margin-top: 40px;
}



/* LOGO HEADER */

.site-logo .title-with-logo {
    flex-direction: column;
}