/* Offer Card Widget Styles */
.so-card{position:relative;border-radius:20px;overflow:hidden;box-shadow:0 10px 30px rgba(0,0,0,0.15);background:#fff;cursor:pointer}
.so-bg{position:relative;height:250px;overflow:hidden}
.so-bg-img{width:100%;height:250px;object-fit:cover;display:block}
.so-overlays{position:absolute;top:0;left:0;right:0;padding:16px;display:flex;justify-content:space-between;align-items:flex-start}
.so-pill{background:#fff;color:#000;padding:6px 14px;border-radius:18px;font-weight:600;font-size:12px !important;box-shadow:0 2px 8px rgba(0,0,0,.1)}
.so-heart{width:40px;height:40px;border-radius:50%;background:#fff;border:none;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(0,0,0,.1);cursor:pointer;transition:all 0.15s ease}
.so-heart i{color:#666;font-size:1rem;transition:all 0.15s ease;pointer-events:none}
.so-content{background:#fff;padding:12px 18px 18px 18px}
.so-badges-top{display:flex;justify-content:space-between;gap:12px;margin-bottom:10px}
.so-badge{background:#fff;color:#000;border:1px solid #D0D5DD;padding:6px 12px;border-radius:25px;font-weight:500;font-size:.75rem;display:inline-flex;align-items:center;transition:all 0.3s ease;position:relative}
.so-badge.so-cat{background:#D0D5DD;color:#000;border:1px solid #D0D5DD}
.so-badge.so-loc{background:#fff;color:#000;border:1px solid #D0D5DD;box-shadow:0 1px 3px rgba(0,0,0,0.1)}
.so-badge:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,0.15)}
.so-badge[title]:hover::after{content:attr(title);position:absolute;bottom:100%;left:50%;transform:translateX(-50%);background:#333;color:#fff;padding:8px 12px;border-radius:6px;font-size:.7rem;white-space:nowrap;z-index:1000;margin-bottom:5px;box-shadow:0 2px 8px rgba(0,0,0,0.2)}
.so-badge[title]:hover::before{content:'';position:absolute;bottom:100%;left:50%;transform:translateX(-50%);border:5px solid transparent;border-top-color:#333;margin-bottom:-5px;z-index:1000}
.so-title{font-size:1.4rem;font-weight:600;margin:0 0 6px;color:#000}
.so-subtitle{font-size:.95rem;color:#6B7280;margin:0 0 10px;font-weight:600}
.so-desc{font-size:.95rem;color:#333;margin:0 0 12px}
.so-divider{border:none;border-top:1px solid #E5E7EB;margin:12px 0;opacity:0.6}
.so-badges-bottom{display:flex;justify-content:space-between;gap:12px}
.so-code{background:#fff;border:1px solid #000}
.so-discount{background:#8B0000;border:none;color:#fff}
@media (max-width: 576px){.so-bg{height:270px}.so-title{font-size:1.2rem}}

.offer-card-search:hover {
    transform: translateY(-8px);
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.2);
}

/* Modern Heart button effects */
.so-heart:hover {
    transform: scale(1.1);
    background: #ff6b6b !important;
}

.so-heart:active {
    transform: scale(0.95);
}

.so-heart:hover i {
    color: #fff !important;
}

.so-heart i.fa-solid {
    color: #ff6b6b !important;
    animation: heartBeat 0.3s ease;
}

.so-heart i.far:hover {
    color: #ff6b6b;
}

/* Heart beat animation for favorites */
@keyframes heartBeat {
    0% { transform: scale(1); }
    50% { transform: scale(1.3); }
    100% { transform: scale(1); }
}
