/* ===========================================
   NAV SIGN IN + JOIN - Feb 9, 2026
   =========================================== */

.header .nav-signin-link {
    color: #a3a3a3;
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
    transition: color 0.2s;
    margin-right: 16px;
    display: none;
}

@media (min-width: 900px) {
    .header .nav-signin-link {
        display: inline-block;
    }
}

.header .nav-signin-link:hover {
    color: #E86A33;
}

/* Mobile nav Sign In */
.mobile-nav .nav-signin-link {
    color: #d4d4d4;
    font-size: 16px;
    font-weight: 500;
    padding: 12px 0;
    display: block;
}

/* ===========================================
   COLOR CONTRAST FIXES - Feb 9, 2026
   =========================================== */

/* Default badges - orange text on white background */
.event-badge {
    color: #E86A33 !important;
}

/* Pink badges ONLY - white text */
.event-badge[style*="ec4899"] {
    color: #ffffff !important;
}

/* Green insider perks section - white text */
.cta-banner[style*="22c55e"] h2,
.cta-banner[style*="22c55e"] p,
.cta-banner[data-insider-only] h2,
.cta-banner[data-insider-only] p {
    color: white !important;
}

/* Footer links on any colored background - ensure visibility */
.cta-banner .container p {
    color: rgba(255, 255, 255, 0.9) !important;
}

/* Blur effect for free users on voting results */
.blur-for-free {
    filter: blur(4px);
    transition: filter 0.3s;
}

/* Remove blur for insiders */
body.is-insider .blur-for-free {
    filter: none !important;
}

/* ===========================================
   NAV CTA BUTTON - Feb 8, 2026
   Single button that transforms between Join/Account
   =========================================== */

/* Insider styling when logged in */
.nav-cta-insider {
    background: linear-gradient(135deg, #E86A33, #f59e0b) !important;
    color: white !important;
}

.nav-cta-insider:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(232, 106, 51, 0.3);
}

/* ===========================================
   SPACING FIXES - Feb 7, 2026
   =========================================== */

/* Reduce section padding across the board */
.section {
    padding: 48px 0 !important;
}

/* Events section - tighter */
.events-section {
    padding: 40px 0 !important;
}

.events-section .section-header {
    margin-bottom: 24px !important;
}

/* Newsletter section - tighter */
.newsletter-section {
    padding: 48px 0 !important;
}

.newsletter-content {
    max-width: 550px;
}

.newsletter-title {
    font-size: clamp(1.5rem, 3.5vw, 2rem) !important;
    margin-bottom: 12px !important;
}

.newsletter-subtitle {
    font-size: 1rem !important;
    margin-bottom: 24px !important;
}

/* Voting section - fix orphan card */
.voting-section {
    padding: 48px 0 !important;
}

.voting-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 16px !important;
    max-width: 800px;
    margin: 0 auto;
}

@media (max-width: 768px) {
    .voting-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

@media (max-width: 480px) {
    .voting-grid {
        grid-template-columns: 1fr !important;
    }
}

.voting-card {
    padding: 20px !important;
}

.voting-emoji {
    font-size: 2rem !important;
    margin-bottom: 8px !important;
}

/* Insider section - tighter */
.insider-section {
    padding: 48px 0 !important;
}

.insider-card {
    padding: 40px !important;
    gap: 32px !important;
}

@media (min-width: 768px) {
    .insider-card {
        padding: 48px !important;
    }
}

/* Good news section - tighter */
.news-section {
    padding: 48px 0 !important;
}

/* Section headers - reduce spacing */
.section-header {
    margin-bottom: 32px !important;
}

.section-title {
    margin-bottom: 8px !important;
}

.section-subtitle {
    margin-bottom: 0 !important;
}

/* Section CTA buttons - reduce top margin */
.section-cta {
    margin-top: 32px !important;
}

/* Footer logo fix - logo is white on transparent, no filter needed */
.footer-brand .logo img {
    filter: none !important;
    opacity: 1 !important;
    height: 40px !important;
    width: auto !important;
    display: block !important;
    visibility: visible !important;
    max-width: 150px !important;
}

/* Ensure footer logo container is visible */
.footer-brand .logo {
    display: block !important;
    margin-bottom: 16px;
}

/* Mobile footer - centered layout */
@media (max-width: 768px) {
    .footer {
        text-align: center !important;
    }
    
    .footer-grid {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        gap: 40px !important;
    }
    
    .footer-brand {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        text-align: center !important;
        max-width: 100% !important;
    }
    
    .footer-brand .logo {
        display: flex !important;
        justify-content: center !important;
    }
    
    .footer-brand .logo img {
        margin: 0 auto !important;
    }
    
    .social-links {
        justify-content: center !important;
    }
    
    .footer-links {
        text-align: center !important;
    }
    
    .footer-links ul {
        align-items: center !important;
    }
}

/* Hero section - add Long Island background (homepage only) */
.home-page .hero {
    background: linear-gradient(135deg, rgba(255,255,255,0.95) 0%, rgba(255,245,240,0.95) 100%),
                url('https://images.unsplash.com/photo-1570294646112-27ce4f174e47?w=1600&q=80') center/cover no-repeat !important;
    padding: 60px 0 48px !important;
}

/* Weekend Events section - ensure dark text */
.events-section .section-title,
.events-section .section-eyebrow,
.news-section .section-title {
    color: var(--gray-900) !important;
}

.events-section .section-subtitle,
.news-section .section-subtitle {
    color: var(--gray-600) !important;
}

/* Stats bar - tighter */
.stats-bar {
    padding: 24px 0 !important;
    margin-top: 32px !important;
}

.stat-number {
    font-size: 1.75rem !important;
}

.stat-label {
    font-size: 0.75rem !important;
}

/* ===========================================
   VOTE PAGE IMAGE FIXES - Feb 7, 2026
   =========================================== */

/* Ensure category card images always display */
.category-card .category-image {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.category-card .category-image img {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Ensure nominee images always display (background-image based) */
.nominee-image {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
}

/* Mobile-specific vote image fixes */
@media (max-width: 768px) {
    .category-card .category-image {
        height: 140px;
        min-height: 140px;
    }
    
    .category-card .category-image img {
        min-height: 140px;
    }
    
    .nominee-image {
        min-width: 60px;
        min-height: 60px;
    }
}

/* Fix footer logo white box issue */
.footer .logo,
.footer-brand .logo,
.footer-brand a.logo {
    background: transparent !important;
    background-color: transparent !important;
}

.footer .logo img,
.footer-brand .logo img,
.footer-logo img {
    background: transparent !important;
    background-color: transparent !important;
    filter: brightness(1) !important;
}

/* Ensure dark footer background */
.footer {
    background: var(--gray-900) !important;
}

.footer .container,
.footer-grid,
.footer-brand {
    background: transparent !important;
}

/* ============================================
   AGGRESSIVE VOTE IMAGE FIX - Feb 7 2026 PM
   ============================================ */
   
/* Force ALL images in voting sections to display */
.category-grid img,
.voting-grid img,
.categories-grid img,
[class*="category"] img,
[class*="vote"] img,
.category-card img {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

/* Force category-image container to show */
.category-image,
div[class*="category-image"],
.category-card > div:first-child {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    min-height: 120px !important;
    overflow: visible !important;
}

/* Mobile specific - even more aggressive */
@media (max-width: 768px) {
    .category-card img,
    .category-image img {
        position: relative !important;
        width: 100% !important;
        height: 140px !important;
        min-height: 140px !important;
        max-height: 200px !important;
        display: block !important;
        visibility: visible !important;
    }
    
    .category-image {
        height: 140px !important;
        min-height: 140px !important;
        display: block !important;
        position: relative !important;
    }
}

/* ============================================
   VOTE PAGE FINAL IMAGE FIXES - Feb 7, 2026 PM
   ============================================ */

/* Reset any hidden/clipped states */
.categories-grid,
.vote-categories,
.category-card,
.category-image {
    overflow: visible !important;
    clip: auto !important;
    clip-path: none !important;
}

/* Force images in vote pages */
.categories-section img,
.categories-grid img,
.vote-categories img,
.category-card img,
.category-image img,
a.category-card img {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative !important;
    z-index: 1 !important;
    width: 100% !important;
    height: 140px !important;
    object-fit: cover !important;
    background-color: #e5e5e5 !important;
}

/* Fix category-image wrapper */
.category-card .category-image,
a.category-card .category-image {
    display: block !important;
    visibility: visible !important;
    position: relative !important;
    height: 140px !important;
    min-height: 140px !important;
    overflow: hidden !important;
    background: #e5e5e5 !important;
}

/* Vote detail pages - nominee images */
.nominee-card,
.nominee-image,
[class*="nominee"] {
    display: flex !important;
    visibility: visible !important;
}

.nominee-image,
.nominee-card .nominee-image {
    width: 80px !important;
    height: 80px !important;
    min-width: 80px !important;
    min-height: 80px !important;
    border-radius: 12px !important;
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    display: block !important;
    visibility: visible !important;
    flex-shrink: 0 !important;
}

@media (max-width: 768px) {
    .nominee-image,
    .nominee-card .nominee-image {
        width: 60px !important;
        height: 60px !important;
        min-width: 60px !important;
        min-height: 60px !important;
    }
}
