/* =====================================================
Product Slider Widget CSS
File: your-child-theme/elementor-widgets/product-slider.css
===================================================== */

/* Wrapper */
.psw-wrap {
    position: relative !important;
    padding: 0 48px !important;
}

/* Card */
.psw-card {
    position: relative !important;
    background: #fff !important;
    border: 1px solid #ebebeb !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    transition: box-shadow .25s ease, transform .25s ease !important;
}

.psw-card:hover {
    box-shadow: 0 6px 28px rgba(0,0,0,.10) !important;
    transform: translateY(-3px) !important;
}

/* Image */
.psw-img-link { 
    display: block !important; 
    text-decoration: none !important; 
}

.psw-img-wrap {
    width: 100% !important;
    height: 200px !important;
    background: #f8f8f8 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
}

.psw-img-wrap img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    transition: transform .35s ease !important;
}

.psw-card:hover .psw-img-wrap img { 
    transform: scale(1.06) !important; 
}

/* Wishlist */
.psw-wish {
    position: absolute !important;
    top: 10px; right: 10px !important;
    z-index: 9 !important;
    width: 32px !important; 
    height: 32px !important;
    border-radius: 50% !important;
    border: none !important;
    background: rgba(255,255,255,.88) !important;
    box-shadow: 0 1px 6px rgba(0,0,0,.12) !important;
    display: flex !important; 
    align-items: center !important; 
    justify-content: center !important;
    cursor: pointer !important;
    transition: transform .2s !important;
}

.psw-wish:hover { 
    transform: scale(1.12) !important; 
}

.psw-wish svg { 
    fill: none !important; 
    stroke: #aaa !important; 
    stroke-width: 1.8 !important; 
    transition: fill .2s, stroke .2s !important; 
}

.psw-wish:hover svg,
.psw-wish.active svg { 
    fill: #e4001b !important; 
    stroke: #e4001b !important; 
}

/* Sale badge */
.psw-badge {
    position: absolute !important;
    top: 10px !important; 
    left: 10px !important;
    z-index: 9 !important;
    background: #e4001b !important;
    color: #fff !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    letter-spacing: .6px !important;
    padding: 3px 8px !important;
    border-radius: 3px !important;
    text-transform: uppercase !important;
}

/* Info */
.psw-info { 
    padding: 13px 13px 11px !important; 
}

/* Title */
.psw-info > a { 
    text-decoration: none !important; 
}

.psw-title {
    margin: 0 0 5px !important;
    font-size: 13.5px !important;
    font-weight: 500 !important;
    color: #1a1a1a !important;
    line-height: 1.4 !important;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden !important;
    transition: color .2s !important;
}

.psw-info > a:hover .psw-title { 
    color: #e4001b !important; 
}

/* Stars */
.psw-stars { 
    display: flex !important;
    align-items: center !important; 
    gap: 1px !important; 
    margin-bottom: 7px !important; 
}

.psw-stars span { 
    font-size: 13px !important; 
    color: #ddd !important; 
}

.psw-stars span.on { 
    color: #f5a623 !important; 
}

.psw-stars small { 
    font-size: 11px !important; 
    color: #aaa !important; 
    margin-left: 3px !important; 
}

/* Footer: price + cart */
.psw-footer {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin-top: 9px !important;
}

/* Price */
.psw-price { 
    font-size: 15px !important; 
    font-weight: 700 !important; 
    color: #e4001b !important; 
    line-height: 1 !important; 
}

.psw-price .woocommerce-Price-amount { 
    color: inherit !important; 
    font-size: inherit !important; 
    font-weight: inherit !important; 
}

.psw-price del { 
    color: #bbb !important; 
    font-weight: 400 !important; 
    font-size: 12px !important; 
    margin-right: 3px !important; 
}

.psw-price ins { 
    text-decoration: none !important; 
}

/* Cart button */
.psw-cart-btn {
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    background: #f0f0f0 !important;
    color: #1a1a1a !important;
    border: none !important;
    border-radius: 6px !important;
    padding: 7px 10px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    cursor: pointer !important;
    text-decoration: none !important;
    line-height: 1 !important;
    transition: background .2s, color .2s, transform .15s !important;
}

.psw-cart-btn:hover {
    background: #e4001b !important;
    color: #fff !important;
    transform: scale(1.05) !important;
}

.psw-cart-btn svg { 
    fill: currentColor !important; 
    flex-shrink: 0 !important; 
}

/* Arrows */
.psw-prev, 
.psw-next {
    position: absolute !important;
    top: 50%; transform: translateY(-50%) !important;
    z-index: 20 !important;
    width: 38px !important;  
    height: 38px !important;
    border-radius: 50% !important;
    border: 1px solid #e0e0e0 !important;
    background: #fff !important;
    display: flex !important; 
    align-items: center !important; 
    justify-content: center !important;
    cursor: pointer !important;
    box-shadow: 0 2px 10px rgba(0,0,0,.09) !important;
    transition: background .2s, border-color .2s, box-shadow .2s !important;
}

.psw-prev { 
    left: 0 !important; 
}

.psw-next { 
    right: 0 !important; 
}

.psw-prev:hover, 
.psw-next:hover {
    background: #e4001b !important;
    border-color: #e4001b !important;
    box-shadow: 0 4px 14px rgba(228,0,27,.22) !important;
}

.psw-prev svg, 
.psw-next svg { 
    fill: #1a1a1a !important; 
    transition: fill .2s !important; 
}

.psw-prev:hover svg, 
.psw-next:hover svg { 
    fill: #fff !important; 
}

.psw-prev.swiper-button-disabled,
.psw-next.swiper-button-disabled { 
    opacity: .35 !important; 
    cursor: not-allowed !important; 
}

/* Dots */
.psw-dots { 
    margin-top: 14px !important; 
}

.psw-dots .swiper-pagination-bullet { 
    background: #ccc !important; 
    opacity: 1 !important; 
}

.psw-dots .swiper-pagination-bullet-active {
    background: #e4001b !important;
    width: 18px !important;
    border-radius: 4px !important;
}

/* Responsive */
@media (max-width: 768px) {
    .psw-wrap { 
        padding: 0 40px; 
    }
    .psw-prev, 
    .psw-next { 
        width: 30px; 
        height: 30px; 
    }
    .psw-img-wrap { 
        height: 160px; 
    }
}