/* ===========================================
   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;
    }
}
