/* BLACKPANEL Catálogo Ecommerce — capa visual encapsulada. */
body.bp-catalog-page{color:var(--bp-cat-text);background:var(--bp-cat-soft);font-family:var(--bp-cat-font)}
body.bp-catalog-page #primary,body.bp-catalog-page .content-area,body.bp-catalog-page .site-main,body.bp-catalog-page .ast-woocommerce-container{max-width:var(--bp-cat-width)}
body.bp-catalog-page .site-content>.ast-container{max-width:var(--bp-cat-width);padding-inline:20px}
body.bp-catalog-page .woocommerce{color:var(--bp-cat-text);font-family:var(--bp-cat-font)}
.bp-catalog-container{width:min(calc(100% - 40px),var(--bp-cat-width));margin-inline:auto}

body.bp-catalog-hide-breadcrumbs .woocommerce-breadcrumb,body.bp-catalog-hide-breadcrumbs .ast-breadcrumbs-wrapper,body.bp-catalog-hide-breadcrumbs .ast-breadcrumbs,body.bp-catalog-hide-breadcrumbs .rank-math-breadcrumb,body.bp-catalog-hide-breadcrumbs .yoast-breadcrumb{display:none!important}
body.bp-catalog-hide-theme-title .ast-page-title-bar,body.bp-catalog-hide-theme-title.post-type-archive-product .entry-header,body.bp-catalog-hide-theme-title.tax-product_cat .entry-header,body.bp-catalog-hide-theme-title.tax-product_tag .entry-header,body.bp-catalog-hide-theme-title .woocommerce-products-header__title.page-title{display:none!important}
body.bp-catalog-hide-description .woocommerce-products-header__description,body.bp-catalog-hide-description .term-description,body.bp-catalog-hide-description .page-description{display:none!important}
body.bp-catalog-hide-count .woocommerce-result-count{display:none!important}
body.bp-catalog-hide-ordering .woocommerce-ordering{display:none!important}
body.bp-catalog-hide-meta.single-product .product_meta{display:none!important}
body.bp-catalog-hide-ratings .star-rating,body.bp-catalog-hide-ratings .woocommerce-product-rating{display:none!important}
body.bp-catalog-hide-sidebar #secondary,body.bp-catalog-hide-sidebar .widget-area,body.bp-catalog-hide-sidebar .woocommerce-sidebar{display:none!important}
body.bp-catalog-hide-sidebar #primary,body.bp-catalog-hide-sidebar .content-area{width:100%!important;max-width:var(--bp-cat-width)!important;float:none!important;margin-inline:auto!important}

.bp-catalog-hero{position:relative;margin-bottom:42px;padding:clamp(44px,6vw,74px) 0;color:#fff;background:radial-gradient(circle at 86% 10%,rgba(237,109,24,.19),transparent 28%),linear-gradient(135deg,#050505,#111 72%,#080808);border-radius:0 0 28px 28px;overflow:hidden}
.bp-catalog-hero:before{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:46px 46px;content:'';mask-image:linear-gradient(to bottom,#000,transparent)}
.bp-catalog-hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.85fr);gap:clamp(34px,5vw,70px);align-items:center}
.bp-catalog-hero-copy>p{margin:0 0 11px;color:var(--bp-cat-orange);font-size:11px;font-weight:950;letter-spacing:.13em;text-transform:uppercase}
.bp-catalog-hero h1{max-width:760px;margin:0;color:#fff;font-size:clamp(38px,5vw,66px);font-weight:950;letter-spacing:-.05em;line-height:1}
.bp-catalog-hero-text{max-width:760px;margin-top:20px;color:#cfd2d7;font-family:Arial,sans-serif;font-size:15px;line-height:1.65}
.bp-catalog-hero-tools{position:relative;display:grid;gap:18px}
.bp-catalog-hero-icon{position:absolute;right:18px;top:-70px;display:grid;width:88px;height:88px;place-items:center;color:var(--bp-cat-orange);background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.11);border-radius:22px}
.bp-catalog-hero-icon svg,.bp-catalog-search-icon svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

.bp-catalog-search{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;width:100%;padding:8px;background:#fff;border:1px solid rgba(255,255,255,.2);border-radius:15px;box-shadow:0 24px 70px rgba(0,0,0,.28)}
.bp-catalog-search-icon{display:grid;width:48px;height:48px;place-items:center;color:var(--bp-cat-orange);background:#fff4ec;border-radius:11px}
.bp-catalog-search input[type=search]{min-width:0;min-height:48px;margin:0;padding:10px 4px;color:#111;background:transparent;border:0;box-shadow:none;font-family:Arial,sans-serif;font-size:16px;outline:0}
.bp-catalog-search input::placeholder{color:#888}
.bp-catalog-search button{min-height:48px;padding:12px 24px;color:#fff;background:var(--bp-cat-orange);border:0;border-radius:10px;font:900 11px var(--bp-cat-font);text-transform:uppercase;cursor:pointer}
.bp-catalog-single-search{margin-top:28px;margin-bottom:34px}
.bp-catalog-single-search .bp-catalog-search{max-width:820px;margin-inline:auto;border-color:var(--bp-cat-border);box-shadow:0 18px 48px rgba(17,24,39,.11)}

body.bp-catalog-page .woocommerce-result-count{color:var(--bp-cat-muted);font-family:Arial,sans-serif;font-size:12px}
body.bp-catalog-page .woocommerce-ordering select{min-height:44px;padding:8px 38px 8px 14px;color:var(--bp-cat-text);background:#fff;border:1px solid var(--bp-cat-border);border-radius:10px}

body.bp-catalog-page.woocommerce ul.products,body.bp-catalog-page .woocommerce ul.products{display:grid!important;grid-template-columns:repeat(var(--bp-cat-cols-desktop),minmax(0,1fr))!important;gap:var(--bp-cat-gap)!important;width:100%;margin:25px 0 0!important;padding:0!important}
body.bp-catalog-page.woocommerce ul.products:before,body.bp-catalog-page.woocommerce ul.products:after,body.bp-catalog-page .woocommerce ul.products:before,body.bp-catalog-page .woocommerce ul.products:after{display:none!important;content:none!important}
body.bp-catalog-page.woocommerce ul.products li.product,body.bp-catalog-page .woocommerce ul.products li.product{position:relative;display:flex;flex-direction:column;width:auto!important;min-width:0;margin:0!important;padding:0 0 18px!important;overflow:hidden;color:var(--bp-cat-text);background:#fff;border:1px solid var(--bp-cat-border);border-radius:var(--bp-cat-card-radius);box-shadow:0 14px 38px rgba(17,24,39,calc(var(--bp-cat-shadow)*.005));transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
body.bp-catalog-page ul.products li.product:hover{border-color:rgba(237,109,24,.42);box-shadow:0 24px 52px rgba(17,24,39,calc(var(--bp-cat-shadow)*.008));transform:translateY(-5px)}
body.bp-catalog-page ul.products li.product img{display:block;width:100%!important;height:auto;aspect-ratio:var(--bp-cat-image-ratio);margin:0!important;padding:var(--bp-cat-image-padding);object-fit:contain;background:linear-gradient(145deg,#f8f9fa,#eef0f3);transition:transform .25s ease}
body.bp-catalog-page ul.products li.product:hover img{transform:scale(1.035)}
body.bp-catalog-page ul.products li.product .astra-shop-summary-wrap{display:flex;flex:1;flex-direction:column;padding:18px 18px 0}
body.bp-catalog-page .bp-catalog-product-category,body.bp-catalog-page .bp-catalog-product-presentation,body.bp-catalog-page .bp-catalog-product-stock{display:block;margin-inline:18px}
body.bp-catalog-page .bp-catalog-product-category{margin-top:17px;color:var(--bp-cat-orange);font-size:10px;font-weight:900;text-transform:uppercase}
body.bp-catalog-page .bp-catalog-product-presentation{margin-top:4px;color:var(--bp-cat-muted);font-family:Arial,sans-serif;font-size:11px}
body.bp-catalog-page .bp-catalog-product-stock{margin-top:0;margin-bottom:12px;font-family:Arial,sans-serif;font-size:11px}
body.bp-catalog-page .bp-catalog-product-stock p{margin:0}
body.bp-catalog-page ul.products li.product .woocommerce-loop-product__title{margin:8px 18px!important;color:var(--bp-cat-text)!important;font-family:var(--bp-cat-font);font-size:17px!important;font-weight:900!important;line-height:1.25}
body.bp-catalog-page ul.products li.product .price{display:inline-flex!important;margin:8px 18px 12px!important;padding:7px 11px;color:var(--bp-cat-text)!important;background:#fff5ee;border:1px solid #ffd7bd;border-radius:999px;font-family:var(--bp-cat-font);font-size:15px!important;font-weight:900!important;line-height:1}
body.bp-catalog-page ul.products li.product .price ins{text-decoration:none}
body.bp-catalog-page ul.products li.product .button,body.bp-catalog-page ul.products li.product .added_to_cart{min-height:42px;margin:0 18px!important;padding:11px 14px!important;color:#fff!important;background:var(--bp-cat-black)!important;border:1px solid var(--bp-cat-black)!important;border-radius:8px!important;font:900 10px var(--bp-cat-font)!important;text-align:center;text-transform:uppercase}
body.bp-catalog-page ul.products li.product .added_to_cart{display:inline-flex;margin-top:8px!important;background:var(--bp-cat-orange)!important;border-color:var(--bp-cat-orange)!important}
body.bp-catalog-page .onsale{min-width:auto;min-height:auto;margin:12px!important;padding:8px 11px!important;color:#fff!important;background:var(--bp-cat-orange)!important;border:0;border-radius:999px!important;font:900 10px var(--bp-cat-font)!important;line-height:1!important}

/* Categorías WooCommerce: usa siempre el título nativo para máxima compatibilidad. */
body.bp-catalog-page ul.products li.product-category{
    min-height:100%;
    padding:0!important;
    overflow:hidden;
}
body.bp-catalog-page ul.products li.product-category>a{
    display:flex!important;
    width:100%!important;
    height:100%!important;
    min-height:100%!important;
    flex-direction:column!important;
    color:var(--bp-cat-text)!important;
    background:#fff!important;
    text-decoration:none!important;
}
body.bp-catalog-page ul.products li.product-category img{
    display:block!important;
    width:100%!important;
    height:auto!important;
    aspect-ratio:1.48!important;
    margin:0!important;
    padding:0!important;
    object-fit:cover!important;
    background:#eef0f3!important;
    border:0!important;
    border-radius:0!important;
    transform:none;
}
body.bp-catalog-page ul.products li.product-category:hover img{
    transform:scale(1.025);
}

/*
 * Astra y otros temas pueden posicionar, ocultar o superponer este H2.
 * Se restablecen únicamente sus propiedades visuales dentro de las tarjetas
 * de categoría del catálogo BLACKPANEL.
 */
body.bp-catalog-page ul.products li.product-category .woocommerce-loop-category__title{
    position:relative!important;
    inset:auto!important;
    display:flex!important;
    visibility:visible!important;
    width:100%!important;
    min-width:0!important;
    min-height:172px!important;
    flex:1 1 auto!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    justify-content:flex-start!important;
    margin:0!important;
    padding:31px 22px 21px!important;
    overflow:visible!important;
    clip:auto!important;
    opacity:1!important;
    color:var(--bp-cat-text)!important;
    background:#fff!important;
    border:0!important;
    border-top:1px solid var(--bp-cat-border)!important;
    border-radius:0!important;
    box-shadow:none!important;
    transform:none!important;
    font-family:var(--bp-cat-font)!important;
    font-size:clamp(17px,1.35vw,21px)!important;
    font-weight:950!important;
    letter-spacing:-.025em!important;
    line-height:1.16!important;
    text-align:left!important;
    text-indent:0!important;
    text-transform:uppercase!important;
    white-space:normal!important;
    z-index:2!important;
}
body.bp-catalog-page ul.products li.product-category .woocommerce-loop-category__title:before{
    position:absolute;
    top:0;
    left:22px;
    display:block!important;
    width:auto!important;
    height:auto!important;
    padding-top:15px;
    color:var(--bp-cat-orange);
    background:transparent;
    border:0;
    content:'Categoría';
    font:950 9px/1 var(--bp-cat-font);
    letter-spacing:.11em;
    text-transform:uppercase;
}
body.bp-catalog-page ul.products li.product-category .woocommerce-loop-category__title:after{
    display:block!important;
    width:auto!important;
    height:auto!important;
    margin-top:auto;
    padding-top:19px;
    color:var(--bp-cat-text);
    background:transparent;
    border:0;
    content:'Ver categoría →';
    font:950 10px/1 var(--bp-cat-font);
    letter-spacing:0;
    text-transform:uppercase;
    transition:color .18s ease,transform .18s ease;
}
body.bp-catalog-page ul.products li.product-category .woocommerce-loop-category__title mark.count,
body.bp-catalog-page ul.products li.product-category .woocommerce-loop-category__title .bp-catalog-native-category-count{
    position:static!important;
    display:block!important;
    visibility:visible!important;
    width:auto!important;
    height:auto!important;
    margin:11px 0 0!important;
    padding:0!important;
    opacity:1!important;
    color:var(--bp-cat-muted)!important;
    background:transparent!important;
    border:0!important;
    border-radius:0!important;
    font:700 10px/1.25 Arial,sans-serif!important;
    letter-spacing:0!important;
    text-transform:uppercase!important;
    transform:none!important;
}
body.bp-catalog-page ul.products li.product-category:hover .woocommerce-loop-category__title:after{
    color:var(--bp-cat-orange);
    transform:translateX(3px);
}
body.bp-catalog-page ul.products li.product-category:focus-within{
    border-color:var(--bp-cat-orange);
    box-shadow:0 0 0 3px rgba(237,109,24,.14),0 24px 52px rgba(17,24,39,calc(var(--bp-cat-shadow)*.008));
}
body.bp-catalog-page ul.products li.product-category>a:focus{
    outline:0;
}

/* Neutraliza el bloque experimental V1.0.1 si una caché llegara a conservarlo. */
body.bp-catalog-page .bp-catalog-category-info{
    display:none!important;
}

/* Ficha individual. No cambia los hooks ni formularios nativos. */
body.bp-catalog-page.single-product div.product{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(380px,.95fr);gap:clamp(28px,5vw,64px);align-items:start;margin-top:25px}
body.bp-catalog-page.single-product div.product .woocommerce-product-gallery{width:100%!important;float:none!important;margin:0!important;padding:clamp(18px,3vw,30px);overflow:hidden;background:linear-gradient(145deg,#f8f9fa,#eef0f3);border:1px solid var(--bp-cat-border);border-radius:var(--bp-cat-single-radius);box-shadow:0 24px 64px rgba(17,24,39,calc(var(--bp-cat-shadow)*.005))}
body.bp-catalog-page.single-product div.product .woocommerce-product-gallery__image,body.bp-catalog-page.single-product div.product .flex-control-thumbs li{overflow:hidden;border-radius:calc(var(--bp-cat-single-radius)*.55)}
body.bp-catalog-page.single-product div.product .woocommerce-product-gallery img{width:100%;height:auto;object-fit:contain}
body.bp-catalog-page.single-product div.product .summary{width:100%!important;float:none!important;margin:0!important;padding:clamp(24px,4vw,40px);background:#fff;border:1px solid var(--bp-cat-border);border-radius:var(--bp-cat-single-radius);box-shadow:0 24px 64px rgba(17,24,39,calc(var(--bp-cat-shadow)*.005))}
body.bp-catalog-page.single-product .product_title{margin:0;color:var(--bp-cat-text);font-family:var(--bp-cat-font);font-size:clamp(34px,4vw,54px);font-weight:950;letter-spacing:-.045em;line-height:1.02}
body.bp-catalog-page.single-product div.product .summary .price{display:inline-flex;align-items:center;gap:8px;margin:22px 0;padding:10px 15px;color:var(--bp-cat-text);background:#fff5ee;border:1px solid #ffd7bd;border-radius:999px;font-family:var(--bp-cat-font);font-size:clamp(21px,2vw,28px);font-weight:900}
body.bp-catalog-page.single-product div.product .summary .price ins{text-decoration:none}
body.bp-catalog-page.single-product div.product .woocommerce-product-details__short-description{color:var(--bp-cat-muted);font-family:Arial,sans-serif;line-height:1.7}
body.bp-catalog-page.single-product div.product form.cart{margin-top:25px}body.bp-catalog-page.single-product div.product.product-type-simple form.cart,body.bp-catalog-page.single-product div.product.product-type-external form.cart{display:flex;flex-wrap:wrap;gap:10px;align-items:center}body.bp-catalog-page.single-product div.product form.variations_form .variations_button{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
body.bp-catalog-page.single-product div.product form.cart .quantity input.qty,body.bp-catalog-page.single-product div.product form.cart select{min-height:48px;color:var(--bp-cat-text);background:#fff;border:1px solid var(--bp-cat-border);border-radius:10px}
body.bp-catalog-page.single-product div.product form.cart .button,body.bp-catalog-page.single-product div.product .single_add_to_cart_button{min-height:48px;padding:13px 22px;color:#fff!important;background:var(--bp-cat-orange)!important;border:1px solid var(--bp-cat-orange)!important;border-radius:10px;font:900 11px var(--bp-cat-font)!important;text-transform:uppercase}
body.bp-catalog-page.single-product div.product .variations{margin-bottom:18px}
body.bp-catalog-page.single-product div.product .variations th,body.bp-catalog-page.single-product div.product .variations td{padding:7px 0}
body.bp-catalog-page.single-product div.product .product_meta{margin-top:24px;padding-top:18px;color:var(--bp-cat-muted);border-top:1px solid var(--bp-cat-border);font-family:Arial,sans-serif;font-size:12px}
body.bp-catalog-page.single-product div.product .product_meta a{color:var(--bp-cat-orange)}
body.bp-catalog-page.single-product .woocommerce-tabs,body.bp-catalog-page.single-product .related.products,body.bp-catalog-page.single-product .upsells.products{grid-column:1/-1;width:100%;margin-top:38px;padding:clamp(22px,4vw,38px);background:#fff;border:1px solid var(--bp-cat-border);border-radius:var(--bp-cat-single-radius);box-shadow:0 20px 55px rgba(17,24,39,calc(var(--bp-cat-shadow)*.004))}
body.bp-catalog-page.single-product .woocommerce-tabs ul.tabs{display:flex;flex-wrap:wrap;gap:8px;padding:0!important;border:0}
body.bp-catalog-page.single-product .woocommerce-tabs ul.tabs:before{display:none}
body.bp-catalog-page.single-product .woocommerce-tabs ul.tabs li{margin:0!important;padding:0!important;background:#fff1e7!important;border:1px solid var(--bp-cat-border)!important;border-radius:999px!important}
body.bp-catalog-page.single-product .woocommerce-tabs ul.tabs li:before,body.bp-catalog-page.single-product .woocommerce-tabs ul.tabs li:after{display:none!important}
body.bp-catalog-page.single-product .woocommerce-tabs ul.tabs li a{padding:10px 16px!important;color:var(--bp-cat-text)!important;font-weight:800!important}
body.bp-catalog-page.single-product .woocommerce-tabs ul.tabs li.active{background:var(--bp-cat-orange)!important;border-color:var(--bp-cat-orange)!important}
body.bp-catalog-page.single-product .woocommerce-tabs ul.tabs li.active a{color:#fff!important}
body.bp-catalog-page.single-product .related.products>h2,body.bp-catalog-page.single-product .upsells.products>h2{margin-top:0;color:var(--bp-cat-text);font:950 clamp(28px,3vw,42px)/1.1 var(--bp-cat-font);letter-spacing:-.035em}

body.bp-catalog-page nav.woocommerce-pagination ul{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;border:0}
body.bp-catalog-page nav.woocommerce-pagination ul li{border:0}
body.bp-catalog-page nav.woocommerce-pagination ul li a,body.bp-catalog-page nav.woocommerce-pagination ul li span{display:grid;min-width:42px;height:42px;place-items:center;color:var(--bp-cat-text);background:#fff;border:1px solid var(--bp-cat-border);border-radius:10px}
body.bp-catalog-page nav.woocommerce-pagination ul li span.current{color:#fff;background:var(--bp-cat-orange);border-color:var(--bp-cat-orange)}

@media(max-width:1050px){.bp-catalog-hero-grid{grid-template-columns:1fr}.bp-catalog-hero-tools{max-width:800px}.bp-catalog-hero-icon{display:none}body.bp-catalog-page.woocommerce ul.products,body.bp-catalog-page .woocommerce ul.products{grid-template-columns:repeat(var(--bp-cat-cols-tablet),minmax(0,1fr))!important}body.bp-catalog-page.single-product div.product{grid-template-columns:1fr}}
@media(max-width:680px){.bp-catalog-container{width:min(calc(100% - 24px),var(--bp-cat-width))}.bp-catalog-hero{padding:42px 0}.bp-catalog-hero h1{font-size:38px}.bp-catalog-search{grid-template-columns:auto minmax(0,1fr)}.bp-catalog-search button{grid-column:1/-1;width:100%}body.bp-catalog-page.woocommerce ul.products,body.bp-catalog-page .woocommerce ul.products{grid-template-columns:repeat(var(--bp-cat-cols-mobile),minmax(0,1fr))!important}body.bp-catalog-page.single-product div.product .summary,body.bp-catalog-page.single-product div.product .woocommerce-product-gallery{padding:20px}}
@media(prefers-reduced-motion:reduce){body.bp-catalog-page *,body.bp-catalog-page *:before,body.bp-catalog-page *:after{transition:none!important;scroll-behavior:auto!important}}
