/* Upjet V28.1 – scoped only to home special offers section */
.v5-special-attract-section {
    position: relative;
    overflow: hidden;
    margin: 42px 0 52px;
    padding: 34px 0 42px;
    background:
        radial-gradient(circle at 12% 20%, rgba(255, 126, 27, .16), transparent 25%),
        radial-gradient(circle at 87% 22%, rgba(51, 153, 255, .13), transparent 26%),
        linear-gradient(135deg, #fff7ee 0%, #f7faff 50%, #fff4e8 100%);
    border-top: 1px solid rgba(255, 126, 27, .12);
    border-bottom: 1px solid rgba(51, 153, 255, .10);
}

.v5-special-attract-section::before,
.v5-special-attract-section::after {
    content: "";
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
    filter: blur(18px);
    opacity: .45;
}

.v5-special-attract-section::before {
    width: 240px;
    height: 240px;
    right: -90px;
    top: -55px;
    background: rgba(255, 126, 27, .18);
}

.v5-special-attract-section::after {
    width: 280px;
    height: 280px;
    left: -110px;
    bottom: -120px;
    background: rgba(58, 132, 255, .14);
}

.v5-special-attract-section > .container {
    position: relative;
    z-index: 2;
}

.v5-special-attract-section .store-product-card {
    transform-origin: 50% 92%;
    transition: transform .45s cubic-bezier(.22,.61,.36,1),
                box-shadow .45s ease,
                border-color .35s ease !important;
}

.v5-special-attract-section .store-product-card:hover {
    transform: translateY(-13px) scale(1.025) rotate(-1.4deg) !important;
    box-shadow: 0 24px 42px rgba(28, 39, 63, .18),
                0 0 0 1px rgba(255, 126, 27, .12) !important;
    animation: upjetSpecialSoftShake .55s ease both;
    z-index: 5;
}

.v5-special-attract-section .store-product-card:nth-child(even):hover {
    transform: translateY(-13px) scale(1.025) rotate(1.4deg) !important;
}

.v5-special-attract-section .product-image-stack {
    position: relative !important;
    overflow: hidden !important;
    isolation: isolate;
}

.v5-special-attract-section .product-image-stack > img:first-child,
.v5-special-attract-section .product-image-stack .product-hover-image {
    transition: opacity .42s ease, transform .52s cubic-bezier(.22,.61,.36,1) !important;
}

.v5-special-attract-section .product-image-stack .product-hover-image {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    opacity: 0;
    transform: scale(.93) rotate(3deg);
    z-index: 2;
}

.v5-special-attract-section .store-product-card:hover .product-image-stack > img:first-child {
    opacity: 0;
    transform: scale(.94) rotate(-3deg) !important;
}

.v5-special-attract-section .store-product-card:hover .product-image-stack .product-hover-image {
    opacity: 1;
    transform: scale(1.045) rotate(0deg) !important;
}

@keyframes upjetSpecialSoftShake {
    0%   { transform: translateY(-7px) scale(1.01) rotate(0deg); }
    35%  { transform: translateY(-13px) scale(1.025) rotate(-1.8deg); }
    65%  { transform: translateY(-13px) scale(1.025) rotate(.8deg); }
    100% { transform: translateY(-13px) scale(1.025) rotate(-1.4deg); }
}

@media (max-width: 768px) {
    .v5-special-attract-section {
        padding: 26px 0 32px;
    }

    .v5-special-attract-section .store-product-card:hover,
    .v5-special-attract-section .store-product-card:nth-child(even):hover {
        transform: translateY(-8px) scale(1.015) !important;
        animation: none;
    }
}

@media (hover: none), (pointer: coarse) {
    .v5-special-attract-section .product-hover-image {
        display: none !important;
    }

    .v5-special-attract-section .store-product-card:hover,
    .v5-special-attract-section .store-product-card:nth-child(even):hover {
        transform: none !important;
        animation: none !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .v5-special-attract-section .store-product-card,
    .v5-special-attract-section .product-image-stack img {
        transition: none !important;
        animation: none !important;
    }
}
