/* 1. Tienda (Shop) Layout & Product Cards */
.ks-woocommerce-archive-container {
    background-color: var(--ks-neumorphic-bg-soft, #F5F6FA) !important;
}

/* Custom Hero Section Header for Shop & Categories */
.ks-section-hero-internal {
    background-color: var(--ks-primary-color, #2D1A68) !important;
    border-radius: 20px !important;
    padding: 35px 30px !important;
    margin-bottom: 25px !important;
    min-height: 130px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    box-shadow: 0 8px 24px rgba(45, 26, 104, 0.18) !important;
    box-sizing: border-box !important;
}

.ks-section-hero-internal h1,
.ks-section-hero-internal .ks-heading-primary,
.ks-section-hero-internal .ks-hero-title-light,
.ks-section-hero-internal .wp-block-heading {
    color: #FFFFFF !important;
    font-family: var(--ks-heading-font, 'Poppins', sans-serif) !important;
    font-size: 2.2rem !important;
    font-weight: 700 !important;
    margin: 0 0 10px 0 !important;
    line-height: 1.25 !important;
    text-align: center !important;
}

.ks-section-hero-internal p,
.ks-section-hero-internal .ks-text-secondary,
.ks-section-hero-internal .ks-hero-desc-light,
.ks-section-hero-internal .ks-text-intro-center {
    color: rgba(255, 255, 255, 0.92) !important;
    font-family: var(--ks-body-font, 'Poppins', sans-serif) !important;
    font-size: 1.05rem !important;
    font-weight: 400 !important;
    margin: 0 !important;
    text-align: center !important;
}

/* Product list item container styling & Grid improvements */
.woocommerce ul.products,
.woocommerce-page ul.products,
.woocommerce-products-wrapper ul.products,
.wc-block-grid__products,
.wc-block-product-grid .wc-block-grid__products {
    display: grid !important;
    grid-template-columns: 1fr !important;
    /* Default 1 column for small mobile viewports */
    grid-gap: 24px !important;
    gap: 24px !important;
    margin: 0 0 30px 0 !important;
    padding: 0 !important;
    list-style: none !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* Clear legacy WooCommerce floats */
.woocommerce ul.products::before,
.woocommerce ul.products::after {
    content: none !important;
    display: none !important;
}

@media (min-width: 600px) {

    .woocommerce ul.products,
    .woocommerce-page ul.products,
    .woocommerce-products-wrapper ul.products,
    .wc-block-grid__products,
    .wc-block-product-grid .wc-block-grid__products {
        grid-template-columns: repeat(var(--ks-shop-columns, 4), 1fr) !important;
        /* Default 4 columns on tablet/desktop */
    }
}

.woocommerce ul.products li.product,
.wc-block-grid__products .wc-block-grid__product,
.wc-block-product-grid .wc-block-grid__product,
.kuad-store-products-catalog-wrapper ul.products li.product {
    background: var(--ks-neumorphic-bg, #FFFFFF) !important;
    border-radius: 20px !important;
    padding: 14px !important;
    margin: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    border: var(--ks-neumorphic-border) !important;
    box-shadow: 6px 6px 16px rgba(163, 177, 198, 0.35), -6px -6px 16px rgba(255, 255, 255, 0.8) !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;
}

.woocommerce ul.products li.product:hover,
.wc-block-grid__products .wc-block-grid__product:hover,
.wc-block-product-grid .wc-block-grid__product:hover,
.kuad-store-products-catalog-wrapper ul.products li.product:hover {
    transform: translateY(-5px) !important;
    box-shadow: 8px 8px 22px rgba(163, 177, 198, 0.45), -8px -8px 20px rgba(255, 255, 255, 0.9) !important;
}

/* WooCommerce & Divi Image Wrapper Constraints */
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link,
.woocommerce ul.products li.product .ks-m-wc-extender-public-shop-product-column,
.woocommerce ul.products li.product span.et_shop_image,
.kuad-store-products-catalog-wrapper ul.products li.product a,
.kuad-store-products-catalog-wrapper ul.products li.product span.et_shop_image,
.kuad-store-products-catalog-wrapper ul.products li.product .ks-m-wc-extender-public-shop-product-column {
    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;
}

/* Product Card Image Container & Image Constraints */
.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,
.kuad-store-products-catalog-wrapper ul.products li.product .et_shop_image img {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: 260px !important;
    object-fit: cover !important;
    border-radius: 12px !important;
    margin: 0 auto !important;
    background: var(--ks-neumorphic-bg-soft, #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: 1.1rem !important;
    font-weight: 700 !important;
    color: var(--ks-primary-color, #2D1A68) !important;
    margin: 10px 0 !important;
    font-family: var(--ks-heading-font, 'Poppins', sans-serif) !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: #2D1A68 !important;
    margin-bottom: 15px !important;
    font-family: 'Poppins', sans-serif !important;
    text-align: center !important;
}

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

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

.woocommerce ul.products li.product .price del .amount,
.woocommerce ul.products li.product .price del bdi {
    color: #A0A0A0 !important;
    font-size: 0.95rem !important;
    font-weight: 500 !important;
    text-decoration: line-through !important;
}

/* Sale Products: Current Discounted Price (<ins>) */
.woocommerce ul.products li.product .price ins,
.wc-block-grid__products .wc-block-grid__product .wc-block-grid__product-price ins {
    color: #2D1A68 !important;
    font-size: 1.25rem !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    background: transparent !important;
}

/* Variable Products ("Desde:") */
.woocommerce ul.products li.product .price .from {
    font-size: 0.95rem !important;
    font-weight: 500 !important;
    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: #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: #888888 !important;
    display: inline !important;
    text-decoration: none !important;
}

/* Marketplace Search Banner (Tienda Header) */
.ks-section-marketplace-banner {
    margin-bottom: 25px !important;
}

.ks-marketplace-header-card {
    background: #2D1A68 !important;
    border-radius: 24px !important;
    padding: 30px 40px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 30px !important;
    box-shadow: 0 10px 30px rgba(45, 26, 104, 0.15) !important;
}

@media (max-width: 768px) {
    .ks-marketplace-header-card {
        flex-direction: column !important;
        align-items: stretch !important;
        padding: 24px 20px !important;
        gap: 20px !important;
    }
}

.ks-marketplace-info {
    flex: 1 !important;
}

.ks-marketplace-title {
    font-size: 26px !important;
    font-weight: 700 !important;
    color: #FFFFFF !important;
    margin: 0 0 4px 0 !important;
    font-family: var(--ks-heading-font, 'Poppins', sans-serif) !important;
}

.ks-marketplace-subtitle {
    font-size: 15px !important;
    color: rgba(255, 255, 255, 0.85) !important;
    margin: 0 !important;
}

.ks-marketplace-search-wrap {
    flex: 1.2 !important;
    max-width: 580px !important;
    width: 100% !important;
}

.ks-catalog-title {
    font-size: 24px !important;
    font-weight: 700 !important;
    color: #333333 !important;
    margin: 30px 0 15px 0 !important;
    font-family: var(--ks-heading-font, 'Poppins', sans-serif) !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(192, 90, 134, 0.3) !important;
}

/* Buttons in Loop - Buy Button Touch UI */
.woocommerce ul.products li.product .button,
.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: 48px !important;
    border-radius: 12px !important;
    font-weight: 700 !important;
    font-size: 15px !important;
    letter-spacing: 0.5px !important;
    text-transform: uppercase !important;
    padding: 12px 18px !important;
    transition: all 0.2s ease !important;
    background-color: var(--ks-primary-color, #2D1A68) !important;
    color: #ffffff !important;
    border: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: 0 4px 12px rgba(45, 26, 104, 0.25) !important;
}

.woocommerce ul.products li.product .button: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: #403A60 !important;
    color: #ffffff !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 16px rgba(64, 58, 96, 0.35) !important;
}

/* 2. Form Inputs with Inset Shadow on Focus */
input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
input[type="url"]:focus,
input[type="number"]:focus,
input[type="search"]:focus,
textarea:focus,
select:focus {
    outline: none !important;
    border-color: var(--ks-secondary-color, #C05A86) !important;
    background-color: var(--ks-neumorphic-bg, #FFFFFF) !important;
    box-shadow: var(--ks-neumorphic-shadow-inset) !important;
}


.ks-news-card-item,
.ks-news-post-thumbnail-box {
    box-shadow: var(--ks-neumorphic-shadow-dark) !important;
    overflow: hidden !important;
    padding: 15px !important;
    transition: all 0.3s ease !important;
}

.ks-news-card-item:hover,
.ks-news-post-thumbnail-box:hover {
    transform: translateY(-3px) !important;
    box-shadow: 8px 8px 20px rgba(163, 177, 198, 0.45), -8px -8px 20px rgba(255, 255, 255, 0.9) !important;
}

/* 6. Contact Form Neumorphic Wrapping */
.ks-contact-form-wrapper {
    background: var(--ks-neumorphic-bg, #FFFFFF) !important;
    border-radius: 24px !important;
    box-shadow: var(--ks-neumorphic-shadow-dark) !important;
    border: var(--ks-neumorphic-border) !important;
    padding: 40px !important;
}

/* 7. My Account (Mi Cuenta) Page Customization */
.woocommerce-account .woocommerce-MyAccount-navigation {
    width: 100% !important;
    float: none !important;
    margin-bottom: 30px !important;
    background: var(--ks-neumorphic-bg, #FFFFFF) !important;
    border-radius: 16px !important;
    padding: 15px !important;
    box-shadow: var(--ks-neumorphic-shadow-dark) !important;
    border: var(--ks-neumorphic-border) !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation li {
    flex: 1 1 calc(50% - 10px) !important;
    margin: 0 !important;
}

@media (min-width: 768px) {
    .woocommerce-account .woocommerce-MyAccount-navigation {
        width: 25% !important;
        float: left !important;
        margin-bottom: 0 !important;
        margin-right: 5% !important;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation ul {
        flex-direction: column !important;
    }

    .woocommerce-account .woocommerce-MyAccount-content {
        width: 70% !important;
        float: right !important;
    }
}

/* 9. End of Shop Modules CSS */