.home-sponsored-ad {
    position: relative;
    isolation: isolate;
    transition: transform 240ms ease, border-color 240ms ease, box-shadow 240ms ease;
}

.home-sponsored-ad::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background: linear-gradient(110deg, transparent 30%, rgba(255, 255, 255, 0.16) 48%, transparent 66%);
    transform: translateX(-130%);
    opacity: 0;
}

.home-sponsored-ad:focus-visible {
    outline: 2px solid #facc15;
    outline-offset: 3px;
    border-color: #facc15;
    box-shadow: 0 0 0 3px rgba(250, 204, 21, 0.12);
}

@media (hover: hover) and (pointer: fine) {
    .home-sponsored-ad:hover {
        transform: translateY(-3px);
        border-color: #facc15;
        box-shadow: 0 9px 20px rgba(0, 0, 0, 0.22), 0 0 14px rgba(250, 204, 21, 0.15);
    }

    .home-sponsored-ad:hover::after {
        animation: sponsored-ad-shine 850ms ease-out both;
    }
}

@keyframes sponsored-ad-shine {
    0% { transform: translateX(-130%); opacity: 0; }
    20% { opacity: 1; }
    80% { opacity: 1; }
    100% { transform: translateX(130%); opacity: 0; }
}

@media (prefers-reduced-motion: reduce) {
    .home-sponsored-ad { transition: none; }
    .home-sponsored-ad:hover { transform: none; }
    .home-sponsored-ad:hover::after { animation: none; }
}
