/* =================================================================
   BP Shop Core – Elementor Widget CSS
   ================================================================= */

.bpsc-elementor-products-widget {
    width: 100% !important;
    margin-bottom: 40px !important;
    font-family: 'Poppins', sans-serif !important;
}

/* ── HEADER LAYOUT (TITLE + TABS) ────────────────────────────── */
.bpsc-elementor-tabs-header {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 16px !important;
    margin-bottom: 28px !important;
}

.bpsc-elementor-tabs-title {
    font-size: 24px;
    font-weight: 700;
    color: #222222;
    margin: 0 !important;
    line-height: 1.2 !important;
    font-family: 'Poppins', sans-serif !important;
}

.bpsc-elementor-tabs-list {
    display: flex !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
}

.bpsc-elementor-tab-item {
    font-size: 13px;
    font-weight: 500;
    color: #222222;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    user-select: none !important;
    font-family: 'Poppins', sans-serif !important;
    padding: 8px 16px !important;
    border: 1px solid #d4d4d4 !important;
    border-radius: 20px !important;
    background: #ffffff !important;
}

.bpsc-elementor-tab-item:hover {
    border-color: #C5A021 !important;
    color: #C5A021 !important;
}

.bpsc-elementor-tab-item.active {
    background: #C5A021 !important;
    border-color: #C5A021 !important;
    color: #ffffff !important;
}

/* ── PRODUCT GRID LAYOUT ─────────────────────────────────────── */
.bpsc-elementor-products-widget .bpsc-products-grid {
    display: grid !important;
    grid-template-columns: repeat(var(--el-cols-desktop, 5), 1fr) !important;
    gap: 20px !important;
    position: relative !important;
    width: 100% !important;
}

@media (max-width: 900px) {
    .bpsc-elementor-products-widget .bpsc-products-grid {
        grid-template-columns: repeat(var(--el-cols-tablet, 3), 1fr) !important;
    }
}

@media (max-width: 600px) {
    .bpsc-elementor-products-widget .bpsc-products-grid {
        grid-template-columns: repeat(var(--el-cols-mobile, 2), 1fr) !important;
        gap: 12px !important;
    }
}

/* ── PRODUCT CARD STYLING (MATCH SHOP PAGE CARD) ──────────────── */
.bpsc-elementor-products-widget .bpsc-product-card {
    background: #ffffff !important;
    border-radius: 4px !important;
    border: 1px solid #d4d4d4 !important;
    overflow: hidden !important;
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
    text-align: left !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
    font-family: 'Poppins', sans-serif !important;
}

.bpsc-elementor-products-widget .bpsc-product-card.bpsc-hidden {
    display: none !important;
}

.bpsc-elementor-products-widget .bpsc-product-card:hover {
    border-color: #b8a0cc !important;
    box-shadow: 0 2px 12px rgba(123, 82, 158, 0.08) !important;
}

.bpsc-elementor-products-widget .bpsc-product-card * {
    box-sizing: border-box !important;
}

.bpsc-elementor-products-widget .bpsc-product-card a {
    border: none !important;
    box-shadow: none !important;
    text-decoration: none !important;
}

/* Image Wrap */
.bpsc-elementor-products-widget .bpsc-product-img-wrap {
    position: relative !important;
    overflow: hidden !important;
    background: #ffffff !important;
    aspect-ratio: 1 / 1 !important;
    width: 100% !important;
    flex-shrink: 0 !important;
    margin: 0 !important;
    padding: 12px !important;
}

.bpsc-elementor-products-widget .bpsc-product-img-wrap img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    display: block !important;
    margin: 0 auto !important;
    padding: 0 !important;
    max-width: 100% !important;
    max-height: 100% !important;
    border-radius: 0 !important;
}

/* Discount Badge */
.bpsc-elementor-products-widget .bpsc-sale-pct {
    position: absolute !important;
    top: 8px !important;
    left: 8px !important;
    z-index: 4 !important;
    background: #C5A021 !important;
    color: #ffffff !important;
    border-radius: 0 !important;
    padding: 2px 6px !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    right: auto !important;
}

/* Product Info */
.bpsc-elementor-products-widget .bpsc-product-info {
    padding: 12px 14px 14px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
}

.bpsc-elementor-products-widget .bpsc-product-title {
    font-size: 13px !important;
    font-weight: 400 !important;
    margin: 0 !important;
    line-height: 1.45 !important;
}

.bpsc-elementor-products-widget .bpsc-product-title a {
    color: #222222 !important;
    transition: color 0.2s ease !important;
}

.bpsc-elementor-products-widget .bpsc-product-title a:hover {
    color: #C5A021 !important;
}

.bpsc-elementor-products-widget .bpsc-stars {
    color: #f5b301 !important;
    font-size: 12px !important;
    letter-spacing: 1px !important;
}

.bpsc-elementor-products-widget .bpsc-product-price {
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #8B6B13 !important;
    margin-top: 0 !important;
}

.bpsc-elementor-products-widget .bpsc-product-price del {
    color: #aaaaaa !important;
    font-weight: 400 !important;
    font-size: 13px !important;
    margin-right: 6px !important;
    text-decoration: line-through !important;
}

.bpsc-elementor-products-widget .bpsc-product-price ins {
    text-decoration: none !important;
    background: transparent !important;
    color: #8B6B13 !important;
}

/* Add To Cart Overlay */
.bpsc-elementor-products-widget .bpsc-atc-overlay {
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    padding: 12px 10px !important;
    background: linear-gradient(to top, rgba(255,255,255,0.97) 55%, rgba(255,255,255,0) 100%) !important;
    transform: translateY(100%) !important;
    transition: transform 0.25s ease !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    z-index: 5 !important;
}

.bpsc-elementor-products-widget .bpsc-product-card:hover .bpsc-atc-overlay {
    transform: translateY(0) !important;
}

.bpsc-elementor-products-widget .bpsc-atc-overlay .button,
.bpsc-elementor-products-widget .bpsc-atc-overlay a.button,
.bpsc-elementor-products-widget .bpsc-atc-overlay .bpsc-atc-btn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    width: 100% !important;
    background: #111111 !important;
    background-color: #111111 !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 4px !important;
    padding: 9px 16px !important;
    font-size: 12.5px !important;
    font-weight: 600 !important;
    letter-spacing: 0.4px !important;
    line-height: 1.4 !important;
    text-align: center !important;
    text-decoration: none !important;
    cursor: pointer !important;
    white-space: nowrap !important;
    transition: background 0.2s ease !important;
    box-shadow: none !important;
    outline: none !important;
}

.bpsc-elementor-products-widget .bpsc-atc-overlay .button:hover,
.bpsc-elementor-products-widget .bpsc-atc-overlay a.button:hover,
.bpsc-elementor-products-widget .bpsc-atc-overlay .bpsc-atc-btn:hover {
    background: #333333 !important;
    background-color: #333333 !important;
    border-color: #333333 !important;
    color: #ffffff !important;
}

/* Cart SVG icon inside button — gold */
.bpsc-elementor-products-widget .bpsc-atc-overlay .bpsc-btn-cart-icon {
    display: inline-block !important;
    flex-shrink: 0 !important;
    width: 15px !important;
    height: 15px !important;
    fill: #D7AE01 !important;
    pointer-events: none !important;
    vertical-align: middle !important;
    position: relative !important;
    top: -1px !important;
}

/* ── PRODUCT CAROUSEL ─────────────────────────────────────────── */
.bpsc-elementor-products-carousel {
    width: 100% !important;
    margin-bottom: 40px !important;
    font-family: 'Poppins', sans-serif !important;
}

.bpsc-elementor-products-carousel .bpsc-elementor-tabs-header {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 16px !important;
    margin-bottom: 28px !important;
}

.bpsc-elementor-products-carousel .bpsc-elementor-tabs-title {
    font-size: 24px;
    font-weight: 700;
    color: #222222;
    margin: 0 !important;
    line-height: 1.2 !important;
    font-family: 'Poppins', sans-serif !important;
}

.bpsc-elementor-products-carousel .bpsc-elementor-tabs-list {
    display: flex !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
}

.bpsc-elementor-products-carousel .bpsc-elementor-tab-item {
    font-size: 13px;
    font-weight: 500;
    color: #222222;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    user-select: none !important;
    font-family: 'Poppins', sans-serif !important;
    padding: 8px 16px !important;
    border: 1px solid #d4d4d4 !important;
    border-radius: 20px !important;
    background: #ffffff !important;
}

.bpsc-elementor-products-carousel .bpsc-elementor-tab-item:hover {
    border-color: #C5A021 !important;
    color: #C5A021 !important;
}

.bpsc-elementor-products-carousel .bpsc-elementor-tab-item.active {
    background: #C5A021 !important;
    border-color: #C5A021 !important;
    color: #ffffff !important;
}

/* Carousel Wrapper */
/* Carousel Wrapper */
.bpsc-carousel-wrapper {
    position: relative !important;
    overflow: visible !important;
    padding: 0 !important;
}

.bpsc-carousel-track {
    overflow: hidden !important;
    position: relative !important;
    width: 100% !important;
}

.bpsc-elementor-products-carousel .bpsc-products-grid {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 20px !important;
    transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
    width: 100% !important;
}

.bpsc-elementor-products-carousel .bpsc-product-card {
    flex-shrink: 0 !important;
    width: calc((100% - (var(--carousel-cols, 4) - 1) * 20px) / var(--carousel-cols, 4)) !important;
}

@media (max-width: 900px) {
    .bpsc-elementor-products-carousel .bpsc-product-card {
        width: calc((100% - 2 * 20px) / 3) !important;
    }
}

@media (max-width: 600px) {
    .bpsc-elementor-products-carousel .bpsc-products-grid {
        gap: 12px !important;
    }
    .bpsc-elementor-products-carousel .bpsc-product-card {
        width: calc((100% - 1 * 12px) / 2) !important;
    }
}

/* Navigation Arrows */
.bpsc-carousel-nav {
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 44px !important;
    height: 44px !important;
    border-radius: 50% !important;
    background: #ffffff !important;
    border: 1px solid #d4d4d4 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    z-index: 10 !important;
    transition: all 0.2s ease !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08) !important;
}

.bpsc-carousel-nav:hover {
    background: #C5A021 !important;
    border-color: #C5A021 !important;
    color: #ffffff !important;
    box-shadow: 0 4px 12px rgba(197, 160, 33, 0.3) !important;
}

.bpsc-carousel-nav:disabled {
    opacity: 0.3 !important;
    cursor: not-allowed !important;
}

.bpsc-carousel-nav:disabled:hover {
    background: #ffffff !important;
    border-color: #d4d4d4 !important;
    color: #222222 !important;
}

.bpsc-carousel-prev {
    left: -22px !important;
}

.bpsc-carousel-next {
    right: -22px !important;
}

@media (max-width: 900px) {
    .bpsc-carousel-prev {
        left: 5px !important;
    }
    .bpsc-carousel-next {
        right: 5px !important;
    }
}

@media (max-width: 600px) {
    .bpsc-carousel-nav {
        width: 36px !important;
        height: 36px !important;
    }
    .bpsc-carousel-nav svg {
        width: 16px !important;
        height: 16px !important;
    }
}

.bpsc-carousel-nav svg {
    width: 20px !important;
    height: 20px !important;
    stroke: #222222 !important;
}

.bpsc-carousel-nav:hover svg {
    stroke: #ffffff !important;
}

/* Product Card in Carousel - Same as Grid */
.bpsc-elementor-products-carousel .bpsc-product-card {
    background: #ffffff !important;
    border-radius: 4px !important;
    border: 1px solid #d4d4d4 !important;
    overflow: hidden !important;
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
    text-align: left !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
    font-family: 'Poppins', sans-serif !important;
}

.bpsc-elementor-products-carousel .bpsc-product-card.bpsc-hidden {
    display: none !important;
}

.bpsc-elementor-products-carousel .bpsc-product-card:hover {
    border-color: #b8a0cc !important;
    box-shadow: 0 2px 12px rgba(123, 82, 158, 0.08) !important;
}

.bpsc-elementor-products-carousel .bpsc-product-card * {
    box-sizing: border-box !important;
}

.bpsc-elementor-products-carousel .bpsc-product-card a {
    border: none !important;
    box-shadow: none !important;
    text-decoration: none !important;
}

.bpsc-elementor-products-carousel .bpsc-product-img-wrap {
    position: relative !important;
    overflow: hidden !important;
    background: #ffffff !important;
    aspect-ratio: 1 / 1 !important;
    width: 100% !important;
    flex-shrink: 0 !important;
    margin: 0 !important;
    padding: 12px !important;
}

.bpsc-elementor-products-carousel .bpsc-product-img-wrap img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    display: block !important;
    margin: 0 auto !important;
    padding: 0 !important;
    max-width: 100% !important;
    max-height: 100% !important;
    border-radius: 0 !important;
}

.bpsc-elementor-products-carousel .bpsc-sale-pct {
    position: absolute !important;
    top: 8px !important;
    left: 8px !important;
    z-index: 4 !important;
    background: #C5A021 !important;
    color: #ffffff !important;
    border-radius: 0 !important;
    padding: 2px 6px !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
}

.bpsc-elementor-products-carousel .bpsc-product-info {
    padding: 12px 14px 14px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
}

.bpsc-elementor-products-carousel .bpsc-product-title {
    font-size: 13px !important;
    font-weight: 400 !important;
    margin: 0 !important;
    line-height: 1.45 !important;
}

.bpsc-elementor-products-carousel .bpsc-product-title a {
    color: #222222 !important;
    transition: color 0.2s ease !important;
}

.bpsc-elementor-products-carousel .bpsc-product-title a:hover {
    color: #C5A021 !important;
}

.bpsc-elementor-products-carousel .bpsc-stars {
    color: #f5b301 !important;
    font-size: 12px !important;
    letter-spacing: 1px !important;
}

.bpsc-elementor-products-carousel .bpsc-product-price {
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #8B6B13 !important;
    margin-top: 0 !important;
}

.bpsc-elementor-products-carousel .bpsc-product-price del {
    color: #aaaaaa !important;
    font-weight: 400 !important;
    font-size: 13px !important;
    margin-right: 6px !important;
    text-decoration: line-through !important;
}

.bpsc-elementor-products-carousel .bpsc-product-price ins {
    text-decoration: none !important;
    background: transparent !important;
    color: #8B6B13 !important;
}

.bpsc-elementor-products-carousel .bpsc-atc-overlay {
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    padding: 12px 10px !important;
    background: linear-gradient(to top, rgba(255,255,255,0.97) 55%, rgba(255,255,255,0) 100%) !important;
    transform: translateY(100%) !important;
    transition: transform 0.25s ease !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    z-index: 5 !important;
}

.bpsc-elementor-products-carousel .bpsc-product-card:hover .bpsc-atc-overlay {
    transform: translateY(0) !important;
}

.bpsc-elementor-products-carousel .bpsc-atc-overlay .button,
.bpsc-elementor-products-carousel .bpsc-atc-overlay a.button,
.bpsc-elementor-products-carousel .bpsc-atc-overlay .bpsc-atc-btn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    width: 100% !important;
    background: #111111 !important;
    background-color: #111111 !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 4px !important;
    padding: 9px 16px !important;
    font-size: 12.5px !important;
    font-weight: 600 !important;
    letter-spacing: 0.4px !important;
    line-height: 1.4 !important;
    text-align: center !important;
    text-decoration: none !important;
    cursor: pointer !important;
    white-space: nowrap !important;
    transition: background 0.2s ease !important;
    box-shadow: none !important;
    outline: none !important;
}

.bpsc-elementor-products-carousel .bpsc-atc-overlay .button:hover,
.bpsc-elementor-products-carousel .bpsc-atc-overlay a.button:hover,
.bpsc-elementor-products-carousel .bpsc-atc-overlay .bpsc-atc-btn:hover {
    background: #333333 !important;
    background-color: #333333 !important;
    border-color: #333333 !important;
    color: #ffffff !important;
}

/* Cart SVG icon inside carousel button — gold */
.bpsc-elementor-products-carousel .bpsc-atc-overlay .bpsc-btn-cart-icon {
    display: inline-block !important;
    flex-shrink: 0 !important;
    width: 15px !important;
    height: 15px !important;
    fill: #D7AE01 !important;
    pointer-events: none !important;
    vertical-align: middle !important;
    position: relative !important;
    top: -1px !important;
}

/* ── WOOCOMMERCE AJAX ADD-TO-CART COMPATIBILITY ── */
@keyframes bpsc-el-btn-spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.bpsc-elementor-products-widget .bpsc-atc-overlay .button.loading,
.bpsc-elementor-products-widget .bpsc-atc-overlay a.button.loading,
.bpsc-elementor-products-widget .bpsc-atc-overlay .bpsc-atc-btn.loading,
.bpsc-elementor-products-carousel .bpsc-atc-overlay .button.loading,
.bpsc-elementor-products-carousel .bpsc-atc-overlay a.button.loading,
.bpsc-elementor-products-carousel .bpsc-atc-overlay .bpsc-atc-btn.loading {
    position: relative !important;
    color: transparent !important;
}

.bpsc-elementor-products-widget .bpsc-atc-overlay .button.loading .bpsc-btn-cart-icon,
.bpsc-elementor-products-widget .bpsc-atc-overlay a.button.loading .bpsc-btn-cart-icon,
.bpsc-elementor-products-carousel .bpsc-atc-overlay .button.loading .bpsc-btn-cart-icon,
.bpsc-elementor-products-carousel .bpsc-atc-overlay a.button.loading .bpsc-btn-cart-icon {
    opacity: 0 !important;
}

.bpsc-elementor-products-widget .bpsc-atc-overlay .button.loading::after,
.bpsc-elementor-products-widget .bpsc-atc-overlay a.button.loading::after,
.bpsc-elementor-products-widget .bpsc-atc-overlay .bpsc-atc-btn.loading::after,
.bpsc-elementor-products-carousel .bpsc-atc-overlay .button.loading::after,
.bpsc-elementor-products-carousel .bpsc-atc-overlay a.button.loading::after,
.bpsc-elementor-products-carousel .bpsc-atc-overlay .bpsc-atc-btn.loading::after {
    content: "" !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    margin-top: -8px !important;
    margin-left: -8px !important;
    width: 16px !important;
    height: 16px !important;
    border: 2px solid rgba(255,255,255,0.25) !important;
    border-top: 2px solid #ffffff !important;
    border-radius: 50% !important;
    animation: bpsc-el-btn-spin 0.6s linear infinite !important;
}

.bpsc-elementor-products-widget .bpsc-atc-overlay .add_to_cart_button.added,
.bpsc-elementor-products-carousel .bpsc-atc-overlay .add_to_cart_button.added {
    display: none !important;
}

.bpsc-elementor-products-widget .bpsc-atc-overlay .added_to_cart,
.bpsc-elementor-products-carousel .bpsc-atc-overlay .added_to_cart {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    width: 100% !important;
    background: #000000 !important;
    color: #ffffff !important;
    border: 1.5px solid #D7AE01 !important;
    border-radius: 4px !important;
    padding: 9px 16px !important;
    font-size: 12.5px !important;
    font-weight: 600 !important;
    letter-spacing: 0.4px !important;
    line-height: 1.4 !important;
    font-family: 'Poppins', sans-serif !important;
    text-decoration: none !important;
    text-transform: none !important;
    white-space: nowrap !important;
    cursor: pointer !important;
    transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease !important;
}

.bpsc-elementor-products-widget .bpsc-atc-overlay .added_to_cart:hover,
.bpsc-elementor-products-carousel .bpsc-atc-overlay .added_to_cart:hover {
    background: #D7AE01 !important;
    color: #000000 !important;
    border-color: #D7AE01 !important;
}

.bpsc-elementor-products-widget .bpsc-atc-overlay .added_to_cart::after,
.bpsc-elementor-products-carousel .bpsc-atc-overlay .added_to_cart::after {
    content: " →" !important;
    font-size: 14px !important;
    display: inline-block !important;
    transition: transform 0.2s ease !important;
}

.bpsc-elementor-products-widget .bpsc-atc-overlay .added_to_cart:hover::after,
.bpsc-elementor-products-carousel .bpsc-atc-overlay .added_to_cart:hover::after {
    transform: translateX(3px) !important;
}
