/* 1. Hide woocommerce-breadcrumb and woocommerce-products-header__title on /tienda/ */
.ks-woocommerce-archive-container .woocommerce-breadcrumb,
.woocommerce-breadcrumb,
.woocommerce-products-header__title,
.woocommerce-products-header .page-title {
    display: none !important;
}

.screen-reader-text {
    border: 0 !important;
    clip: rect(1px, 1px, 1px, 1px) !important;
    -webkit-clip-path: inset(50%) !important;
    clip-path: inset(50%) !important;
    height: 1px !important;
    margin: -1px !important;
    overflow: hidden !important;
    padding: 0 !important;
    position: absolute !important;
    width: 1px !important;
    word-wrap: normal !important;
}

/* Failsafe reset for Themify WPF outer container if present in cache */
div.wpf-search-container {
    display: contents !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    background: none !important;
}

/* 2. Shop Page Clean Decoupled Layout */
.ks-shop-page-description {
    display: contents !important;
}

/* 3. Dedicated Catalog Group (Full-Width Section with Centered Content) */
.ks-shop-main-catalog-group,
.ks-woocommerce-archive-container .ks-shop-main-catalog-group,
.wp-site-blocks .ks-shop-main-catalog-group {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: clamp(50px, 6vw, 80px) 0 !important;
    background-color: var(--ks-block-bg-default, var(--ks-bg-color, #FFFFFF)) !important;
    box-sizing: border-box !important;
    position: relative !important;
}

.ks-shop-main-catalog-group > *,
.ks-shop-catalog-inner-container {
    max-width: 1200px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
    box-sizing: border-box !important;
}

.ks-shop-main-catalog-group .ks-catalog-title {
    font-family: var(--ks-heading-font, 'Poppins', sans-serif) !important;
    font-size: clamp(1.5rem, 3vw, 2rem) !important;
    font-weight: 700 !important;
    color: var(--ks-heading-color, var(--ks-primary-color, #2A1B4A)) !important;
    margin: 0 auto 20px auto !important;
    max-width: 1200px !important;
    line-height: 1.3 !important;
}

.ks-shop-main-catalog-group .ks-section-store-filters {
    width: 100% !important;
    max-width: 1200px !important;
    box-sizing: border-box !important;
    margin: 0 auto 18px auto !important;
    padding: 0 20px !important;
}

.ks-shop-main-catalog-group .ks-section-store-results {
    width: 100% !important;
    max-width: 1200px !important;
    box-sizing: border-box !important;
    margin: 0 auto 24px auto !important;
    padding: 0 20px !important;
}

.ks-shop-main-catalog-group .woocommerce-products-wrapper {
    width: 100% !important;
    max-width: 1200px !important;
    box-sizing: border-box !important;
    margin: 0 auto 40px auto !important;
    padding: 0 20px !important;
}

.ks-shop-main-catalog-group .woocommerce-pagination {
    width: 100% !important;
    max-width: 1200px !important;
    box-sizing: border-box !important;
    margin: 40px auto 0 auto !important;
    padding: 0 20px !important;
}

.woocommerce-pagination .page-numbers,
.kuad-ajax-pagination .page-numbers {
    background-color: transparent !important;
    color: var(--ks-text-color, #333333) !important;
    border: 1px solid rgba(var(--ks-primary-rgb, 45, 26, 104), 0.1) !important;
}

.woocommerce-pagination a.page-numbers:hover,
.kuad-ajax-pagination a.page-numbers:hover {
    background-color: rgba(var(--ks-primary-rgb, 45, 26, 104), 0.12) !important;
    color: var(--ks-primary-color, #2D1A68) !important;
    border-color: var(--ks-primary-color, #2D1A68) !important;
}

.woocommerce-pagination .page-numbers.current,
.kuad-ajax-pagination .page-numbers.current {
    background-color: var(--ks-primary-color, #2D1A68) !important;
    color: var(--ks-button-text-color, #FFFFFF) !important;
    border-color: var(--ks-primary-color, #2D1A68) !important;
}

/* Force full 100% width on Filter Bar Elements & Dynamic Preset Styling */
.ks-store-filter-container,
.kuad-store-filter-horizontal,
.kuad-store-filter-horizontal-bar,
.kuad-store-filter-results-container {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

.kuad-store-filter-horizontal-bar {
    background: var(--ks-block-card-bg, #ffffff) !important;
    color: var(--ks-text-color, #333333) !important;
    border: 1px solid rgba(var(--ks-primary-rgb, 45, 26, 104), 0.1) !important;
    border-radius: var(--ks-card-radius, 16px) !important;
    box-shadow: var(--ks-card-shadow, 0 4px 14px rgba(0, 0, 0, 0.04)) !important;
}

.kuad-store-filter-horizontal-results,
.kuad-store-filter-horizontal-results strong,
.kuad-sort-label {
    color: var(--ks-text-color, #333333) !important;
}

.kuad-store-filter-sort-select,
.kuad-sort-select-wrapper select {
    background-color: var(--ks-block-bg-alt, var(--ks-bg-color, #f9f9f9)) !important;
    color: var(--ks-text-color, #333333) !important;
    border: 1px solid rgba(var(--ks-primary-rgb, 45, 26, 104), 0.15) !important;
    border-radius: var(--ks-button-radius, 50px) !important;
    padding: 8px 32px 8px 16px !important;
}

.kuad-sort-select-wrapper::after {
    border-right: 2px solid var(--ks-heading-color, var(--ks-primary-color, #2D1A68)) !important;
    border-bottom: 2px solid var(--ks-heading-color, var(--ks-primary-color, #2D1A68)) !important;
}

.kuad-store-filter-horizontal-trigger-btn,
button.kuad-store-filter-horizontal-trigger-btn {
    background: var(--ks-button-bg-color, var(--ks-primary-color, #2D1A68)) !important;
    color: var(--ks-button-text-color, #ffffff) !important;
    border-radius: var(--ks-button-radius, 12px) !important;
    box-shadow: 0 4px 12px rgba(var(--ks-primary-rgb, 45, 26, 104), 0.25) !important;
}

.kuad-store-filter-horizontal-trigger-btn:hover,
button.kuad-store-filter-horizontal-trigger-btn:hover {
    background: var(--ks-primary-dark, #1e1147) !important;
    color: var(--ks-button-text-color, #ffffff) !important;
    transform: translateY(-2px) !important;
}

/* Product list item container styling & Fluid Responsive Grid */
.woocommerce ul.products,
.woocommerce-products-wrapper ul.products,
.wc-block-grid__products {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
    margin-top: 0 !important;
    margin-bottom: 30px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after {
    content: none !important;
    display: none !important;
}

@media (max-width: 359px) {
    .woocommerce ul.products,
    .woocommerce-products-wrapper ul.products,
    .wc-block-grid__products {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
    }
}

@media (min-width: 600px) {
    .woocommerce ul.products,
    .woocommerce-products-wrapper ul.products,
    .wc-block-grid__products {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 16px !important;
    }
}

@media (min-width: 768px) {
    .woocommerce ul.products,
    .woocommerce-products-wrapper ul.products,
    .wc-block-grid__products {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 20px !important;
    }
}

@media (min-width: 1025px) {
    .woocommerce ul.products,
    .woocommerce-products-wrapper ul.products,
    .wc-block-grid__products {
        grid-template-columns: repeat(var(--ks-shop-columns, 4), minmax(0, 1fr)) !important;
        gap: 24px !important;
    }
}

.woocommerce ul.products li.product,
.wc-block-grid__products .wc-block-grid__product,
.kuad-store-products-catalog-wrapper ul.products li.product {
    background: var(--ks-block-card-bg, #FFFFFF) !important;
    border-radius: var(--ks-card-radius, 16px) !important;
    padding: clamp(10px, 2vw, 16px) !important;
    margin: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    border: 1px solid rgba(var(--ks-primary-rgb, 45, 26, 104), 0.08) !important;
    box-shadow: var(--ks-card-shadow, 4px 4px 14px rgba(0, 0, 0, 0.06)) !important;
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
    text-align: center !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    overflow: hidden !important;
    position: relative !important;
    cursor: pointer !important;
}

.woocommerce ul.products li.product:hover,
.wc-block-grid__products .wc-block-grid__product:hover,
.kuad-store-products-catalog-wrapper ul.products li.product:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.06) !important;
}

/* Image Wrapper Constraints */
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link,
.woocommerce ul.products li.product span.et_shop_image,
.kuad-store-products-catalog-wrapper ul.products li.product a {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
    border-radius: 14px !important;
    margin: 0 0 12px 0 !important;
    padding: 0 !important;
}

.woocommerce ul.products li.product img,
.wc-block-grid__products .wc-block-grid__product img,
.kuad-store-products-catalog-wrapper ul.products li.product img {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    aspect-ratio: 1 / 1 !important;
    height: auto !important;
    max-height: 220px !important;
    object-fit: cover !important;
    border-radius: 12px !important;
    margin: 0 auto !important;
    background: var(--ks-block-bg-alt, #F5F6FA) !important;
    padding: 6px !important;
    box-shadow: var(--ks-neumorphic-shadow-inset) !important;
    box-sizing: border-box !important;
}

/* Title & Price */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.wc-block-grid__products .wc-block-grid__product .wc-block-grid__product-title {
    font-size: var(--ks-font-size-h3, clamp(0.95rem, 1.8vw, 1.08rem)) !important;
    font-weight: 700 !important;
    color: var(--ks-heading-color, var(--ks-text-color, #2D1A68)) !important;
    margin: 10px 0 6px 0 !important;
    font-family: var(--ks-heading-font, 'Poppins', sans-serif) !important;
    line-height: 1.35 !important;
    min-height: 2.7em !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}

/* --- Product Price Design System --- */
.woocommerce ul.products li.product .price,
.wc-block-grid__products .wc-block-grid__product .wc-block-grid__product-price,
.kuad-store-products-catalog-wrapper ul.products li.product .price {
    font-size: 1.25rem !important;
    font-weight: 700 !important;
    color: var(--ks-heading-color, var(--ks-primary-color, #2D1A68)) !important;
    margin-bottom: 15px !important;
    font-family: var(--ks-heading-font, 'Poppins', sans-serif) !important;
    text-align: center !important;
}

/* Ensure main price amounts (regular, ins, bdi) use preset color */
.woocommerce ul.products li.product .price > .amount,
.woocommerce ul.products li.product .price > bdi,
.woocommerce ul.products li.product .price ins,
.woocommerce ul.products li.product .price ins .amount,
.wc-block-grid__products .wc-block-grid__product .wc-block-grid__product-price .amount {
    color: var(--ks-heading-color, var(--ks-primary-color, #2D1A68)) !important;
    font-weight: 700 !important;
}

/* Sale Products: Original Strikethrough Price (<del>) */
.woocommerce ul.products li.product .price del,
.woocommerce ul.products li.product .price del .amount,
.woocommerce ul.products li.product .price del bdi,
.wc-block-grid__products .wc-block-grid__product .wc-block-grid__product-price del {
    color: var(--ks-text-muted, #A0A0A0) !important;
    font-size: 0.95rem !important;
    font-weight: 500 !important;
    text-decoration: line-through !important;
    margin-right: 6px !important;
}

/* Variable Products ("Desde:") */
.woocommerce ul.products li.product .price .from {
    font-size: 0.95rem !important;
    font-weight: 500 !important;
    color: var(--ks-heading-color, var(--ks-primary-color, #2D1A68)) !important;
    display: block !important;
    margin-bottom: 2px !important;
}

/* Strict Isolation for Tax Legend: Always below on new line, small, muted gray */
.woocommerce ul.products li.product .price .ks-m-wc-extender-public-product-arg-tax-value,
.ks-m-wc-extender-public-product-arg-tax-value {
    display: block !important;
    width: 100% !important;
    clear: both !important;
    font-size: 0.68rem !important;
    font-weight: 400 !important;
    color: var(--ks-text-muted, #888888) !important;
    line-height: 1.3 !important;
    margin-top: 4px !important;
    text-align: center !important;
}

.woocommerce ul.products li.product .price .ks-m-wc-extender-public-product-arg-tax-value *,
.ks-m-wc-extender-public-product-arg-tax-value * {
    font-size: 0.68rem !important;
    font-weight: 500 !important;
    color: var(--ks-text-muted, #888888) !important;
    display: inline !important;
    text-decoration: none !important;
}

/* On Sale Badge */
.woocommerce ul.products li.product .onsale,
.wc-block-grid__product-onsale {
    background: var(--ks-secondary-color, #C05A86) !important;
    color: #ffffff !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    padding: 4px 12px !important;
    border-radius: 50px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    position: absolute !important;
    top: 15px !important;
    left: 15px !important;
    right: auto !important;
    margin: 0 !important;
    min-height: auto !important;
    line-height: 1.4 !important;
    z-index: 2 !important;
    box-shadow: 0 4px 10px rgba(var(--ks-secondary-rgb, 192, 90, 134), 0.3) !important;
}

/* Buttons in Loop - Buy Button Touch UI */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product a.button,
.woocommerce ul.products li.product .add_to_cart_button,
.kuad-store-products-catalog-wrapper ul.products li.product a.button,
a.ks-store-products-quick-buy-btn,
.wc-block-grid__product-add-to-cart a,
.wc-block-grid__products .wc-block-grid__product .wp-block-button__link {
    width: 100% !important;
    min-height: 44px !important;
    border-radius: var(--ks-button-radius, 12px) !important;
    font-weight: 700 !important;
    font-size: var(--ks-font-size-button, 14px) !important;
    letter-spacing: 0.5px !important;
    text-transform: uppercase !important;
    padding: 10px 16px !important;
    margin-top: auto !important;
    transition: all 0.2s ease !important;
    background-color: var(--ks-button-submit-bg-color, var(--ks-accent-color, #1BA59D)) !important;
    color: var(--ks-button-submit-text-color, #ffffff) !important;
    border: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: 0 4px 12px rgba(var(--ks-accent-rgb, 27, 165, 157), 0.25) !important;
    box-sizing: border-box !important;
}

.woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.product a.button:hover,
.woocommerce ul.products li.product .add_to_cart_button:hover,
.kuad-store-products-catalog-wrapper ul.products li.product a.button:hover,
a.ks-store-products-quick-buy-btn:hover,
.wc-block-grid__product-add-to-cart a:hover,
.wc-block-grid__products .wc-block-grid__product .wp-block-button__link:hover {
    background-color: var(--ks-accent-dark, var(--ks-secondary-color, #C05A86)) !important;
    color: var(--ks-button-submit-text-color, #ffffff) !important;
    transform: translateY(-2px) !important;
}

/* 8. Catalog Out-of-Stock Badges & Visual Indicator */
.woocommerce ul.products li.product.outofstock,
.woocommerce ul.products li.product.out-of-stock,
.wc-block-grid__products .wc-block-grid__product.is-out-of-stock,
.wc-block-grid__products .wc-block-grid__product.outofstock {
    position: relative !important;
}

.woocommerce ul.products li.product.outofstock img,
.woocommerce ul.products li.product.out-of-stock img,
.woocommerce ul.products li.product.outofstock .woocommerce-loop-product__thumbnail,
.wc-block-grid__products .wc-block-grid__product.is-out-of-stock img,
.wc-block-grid__products .wc-block-grid__product.outofstock img,
.kuad-store-products-catalog-wrapper ul.products li.product.outofstock img {
    opacity: 0.82 !important;
    filter: grayscale(100%) !important;
}

/* Floating Out-of-Stock Badge */
.ks-catalog-out-of-stock-badge,
.woocommerce ul.products li.product.outofstock .ks-catalog-out-of-stock-badge,
.woocommerce ul.products li.product.outofstock::before,
.wc-block-grid__products .wc-block-grid__product.is-out-of-stock::before,
.wc-block-grid__products .wc-block-grid__product.outofstock::before {
    content: "AGOTADO";
    position: absolute !important;
    top: 15px !important;
    right: 15px !important;
    left: auto !important;
    background: #C0392B !important;
    color: #FFFFFF !important;
    font-family: var(--ks-heading-font, 'Poppins', sans-serif) !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    letter-spacing: 0.6px !important;
    padding: 5px 12px !important;
    border-radius: 50px !important;
    box-shadow: 0 4px 12px rgba(192, 57, 43, 0.35) !important;
    z-index: 5 !important;
    pointer-events: none !important;
    text-transform: uppercase !important;
}

/* Consultar Button in Catalog Loop */
.woocommerce ul.products li.product.outofstock a.button,
.woocommerce ul.products li.product.outofstock a.ks-btn-consultar-whatsapp,
.woocommerce ul.products li.product.outofstock .add_to_cart_button,
.wc-block-grid__products .wc-block-grid__product.is-out-of-stock .wp-block-button__link,
.wc-block-grid__products .wc-block-grid__product.outofstock .wp-block-button__link,
.ks-m-wc-extender-public-shop-product-cart-consultar {
    background-color: #25D366 !important;
    color: #FFFFFF !important;
    cursor: pointer !important;
    opacity: 1 !important;
    box-shadow: 0 4px 12px rgba(37, 211, 102, 0.25) !important;
    text-decoration: none !important;
}

.woocommerce ul.products li.product.outofstock a.button:hover,
.woocommerce ul.products li.product.outofstock a.ks-btn-consultar-whatsapp:hover,
.woocommerce ul.products li.product.outofstock .add_to_cart_button:hover,
.wc-block-grid__products .wc-block-grid__product.is-out-of-stock .wp-block-button__link:hover,
.ks-m-wc-extender-public-shop-product-cart-consultar:hover {
    background-color: #1EBE5D !important;
    color: #FFFFFF !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 16px rgba(37, 211, 102, 0.35) !important;
}