/* Trend card styles */
.trend-card {
    background: white;
    box-shadow: 0 6px 16px rgba(0,0,0,0.08);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
    position: relative;
}

.trend-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 12px 24px rgba(0,0,0,0.12);
}

.progress {
    height: 5px;
    background-color: #e9ecef;
}

.progress-bar {
    background-color: var(--bs-primary);
}

/* Upgraded Trending */
.trend-card.upgraded {
    overflow: hidden;
}
.trend-card.upgraded::after {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(600px circle at -10% -20%, rgba(0,0,0,0.04), transparent 40%),
                radial-gradient(600px circle at 120% 0%, rgba(0,0,0,0.04), transparent 40%);
    pointer-events: none;
}
.trend-card.upgraded .icon-circle {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    margin-bottom: 1rem;
    color: #0d6efd;
    background: rgba(13, 110, 253, 0.08);
}
.trend-card.upgraded:hover .icon-circle { transform: translateY(-2px); }
.trend-card.upgraded .popularity-meter {
    width: 84px;
    height: 84px;
    border-radius: 50%;
    background:
      conic-gradient(var(--accent, #0d6efd) var(--pop), #e9ecef 0);
    display: grid;
    place-items: center;
    position: relative;
}
.trend-card.upgraded .popularity-meter::before {
    content: "";
    width: 66px;
    height: 66px;
    border-radius: 50%;
    background: #fff;
}
.trend-card.upgraded .meter-label {
    position: absolute;
    font-weight: 600;
    font-size: 0.9rem;
}

/* Accent themes */
.trend-card.upgraded.accent-1 { --accent: #0d6efd; }
.trend-card.upgraded.accent-2 { --accent: #20c997; }
.trend-card.upgraded.accent-3 { --accent: #6610f2; }
.trend-card.upgraded.accent-4 { --accent: #fd7e14; }

/* Hover tilt (subtle) */
.trend-card.upgraded { transform-style: preserve-3d; }
.trend-card.upgraded:hover { transform: translateY(-6px) rotateX(2deg) rotateY(-2deg); }

/* Dark mode support */
@media (prefers-color-scheme: dark) {
    .trend-card {
        background: #111827;
        box-shadow: 0 6px 16px rgba(0,0,0,0.5);
    }
    .trend-card.upgraded .icon-circle { background: rgba(13,110,253,0.18); color: #8ab4ff; }
    .trend-card.upgraded .popularity-meter::before { background: #0b1220; }
}

/* Newsletter form styles */
.newsletter-form {
    max-width: 500px;
    margin: 0 auto;
}

.newsletter-form .input-group {
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.newsletter-form input {
    border: none;
    padding: 0.75rem 1rem;
}

.newsletter-form button {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
}

.newsletter-form button:disabled {
    cursor: not-allowed;
    opacity: 0.8;
}

.newsletter-form .loading-text {
    min-width: 24px;
}

#subscribeMessage {
    display: inline-block;
    padding: 0.25rem 0.5rem;
    border-radius: 4px;
    font-size: 0.9rem;
}

#subscribeMessage.text-success {
    background-color: rgba(25, 135, 84, 0.1);
    color: #198754;
}

/* Search and filter styles */
.search-filters {
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(10px);
    position: sticky;
    top: 0;
    z-index: 1000;
}

/* Animation for cards */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.trend-card {
    animation: fadeInUp 0.5s ease forwards;
}

/* Responsive styles */
@media (max-width: 768px) {
    .trend-card {
        margin-bottom: 1rem;
    }
}
