/* The Chimerical Gallery Benefits Page CSS - Simplified Design */
/* File: /gallery/static/css/benefits.css */

/* Container */
.benefits-container {
    max-width: 800px !important;
    margin: 0 auto !important;
    padding: 20px !important;
}

/* Combined Hero + Status Section */
.hero-status {
    background-color: var(--speech-bg-color) !important;
    border: 2px solid var(--panel-border-color) !important;
    border-radius: 12px !important;
    padding: 40px 30px !important;
    text-align: center !important;
    margin-bottom: 40px !important;
}

.hero-status h1 {
    color: var(--header-footer-bg) !important;
    margin: 0 0 15px 0 !important;
    font-size: 2.2rem !important;
    font-family: 'Georgia', serif !important;
}

.hero-subtitle {
    font-size: 1.1rem !important;
    margin-bottom: 0 !important;
    color: var(--text-color-secondary) !important;
    line-height: 1.6 !important;
}

/* Options Section */
.options-section {
    margin-bottom: 40px !important;
}

.options-section h2 {
    text-align: center !important;
    color: var(--header-footer-bg) !important;
    margin-bottom: 30px !important;
    font-size: 1.8rem !important;
    font-family: 'Georgia', serif !important;
}

.option-card {
    background-color: var(--speech-bg-color) !important;
    border: 2px solid var(--panel-border-color) !important;
    border-radius: 12px !important;
    padding: 30px !important;
    margin-bottom: 25px !important;
}

.option-card h3 {
    color: var(--header-footer-bg) !important;
    margin: 0 0 15px 0 !important;
    font-size: 1.5rem !important;
    font-family: 'Georgia', serif !important;
}

.option-price {
    font-size: 1.3rem !important;
    font-weight: bold !important;
    color: var(--button-color) !important;
    margin-bottom: 10px !important;
}

.option-description {
    margin-bottom: 20px !important;
    color: var(--text-color-secondary) !important;
    font-style: italic !important;
}

.features-list {
    list-style: none !important;
    padding: 0 !important;
    margin: 20px 0 !important;
}

.features-list li {
    padding: 8px 0 !important;
    padding-left: 20px !important;
    position: relative !important;
    color: var(--text-color) !important;
}

.features-list li:before {
    content: "✓" !important;
    color: var(--button-color) !important;
    font-weight: bold !important;
    position: absolute !important;
    left: 0 !important;
}

.button-group {
    display: flex !important;
    gap: 15px !important;
    flex-wrap: wrap !important;
    margin-top: 20px !important;
}

.btn {
    padding: 12px 24px !important;
    border-radius: 6px !important;
    text-decoration: none !important;
    font-weight: bold !important;
    text-align: center !important;
    border: none !important;
    cursor: pointer !important;
    flex: 1 !important;
    min-width: 140px !important;
    font-family: 'Georgia', serif !important;
    transition: all 0.3s ease !important;
}

.btn-primary {
    background-color: var(--button-color) !important;
    color: var(--featured-text) !important;
}

.btn-secondary {
    background-color: var(--header-footer-bg) !important;
    color: var(--featured-text) !important;
}

.btn-outline {
    background-color: transparent !important;
    color: var(--header-footer-bg) !important;
    border: 2px solid var(--header-footer-bg) !important;
}

.btn:hover {
    opacity: 0.9 !important;
    transform: translateY(-2px) !important;
}

.btn-outline:hover {
    background-color: var(--header-footer-bg) !important;
    color: var(--featured-text) !important;
}

.platform-note {
    font-size: 0.9rem !important;
    color: var(--text-color-secondary) !important;
    text-align: center !important;
    margin-top: 10px !important;
    font-style: italic !important;
}

/* Special Card Types */
.denizen-card {
    border-color: var(--button-color) !important;
    background: linear-gradient(135deg, var(--speech-bg-color), rgba(212, 175, 55, 0.05)) !important;
}

.supporter-card {
    border-color: var(--header-footer-bg) !important;
    background: linear-gradient(135deg, var(--speech-bg-color), rgba(93, 71, 119, 0.1)) !important;
}

.paypal-card {
    border-color: var(--panel-border-color) !important;
}

/* Recognition Badges */
.vip-recognition, .premium-recognition {
    background: linear-gradient(135deg, rgba(212, 175, 55, 0.1) 0%, rgba(255, 193, 7, 0.1) 100%) !important;
    border: 1px solid rgba(212, 175, 55, 0.3) !important;
    padding: 12px !important;
    border-radius: 6px !important;
    margin-bottom: 20px !important;
    font-size: 0.95rem !important;
}

/* FAQ Section */
.faq-section {
    margin-bottom: 40px !important;
}

.faq-section h2 {
    text-align: center !important;
    color: var(--header-footer-bg) !important;
    margin-bottom: 30px !important;
    font-size: 1.8rem !important;
    font-family: 'Georgia', serif !important;
}

.faq-item {
    background-color: var(--speech-bg-color) !important;
    border: 1px solid var(--panel-border-color) !important;
    border-radius: 8px !important;
    padding: 25px !important;
    margin-bottom: 20px !important;
}

.faq-question {
    font-weight: bold !important;
    color: var(--header-footer-bg) !important;
    margin-bottom: 10px !important;
    font-size: 1.1rem !important;
    font-family: 'Georgia', serif !important;
}

.faq-answer {
    color: var(--text-color) !important;
    line-height: 1.6 !important;
}

/* Final Call to Action */
.final-cta {
    background-color: var(--header-footer-bg) !important;
    color: var(--featured-text) !important;
    padding: 40px !important;
    border-radius: 12px !important;
    text-align: center !important;
}

.final-cta h2 {
    margin: 0 0 20px 0 !important;
    color: var(--featured-text) !important;
    font-family: 'Georgia', serif !important;
}

.final-cta p {
    margin-bottom: 30px !important;
    opacity: 0.95 !important;
    line-height: 1.6 !important;
}

.final-cta .btn {
    margin: 10px !important;
    min-width: 200px !important;
}

.final-cta .btn-primary {
    background-color: rgba(255, 255, 255, 0.9) !important;
    color: var(--header-footer-bg) !important;
}

.final-cta .btn-primary:hover {
    background-color: var(--button-color) !important;
    color: var(--featured-text) !important;
}

.final-cta .btn-secondary {
    background-color: transparent !important;
    color: var(--featured-text) !important;
    border: 2px solid rgba(255, 255, 255, 0.7) !important;
}

.final-cta .btn-secondary:hover {
    background-color: rgba(255, 255, 255, 0.9) !important;
    color: var(--header-footer-bg) !important;
}

/* Theme-specific overrides for better contrast */
.theme-evening .final-cta,
.theme-night .final-cta {
    /* In darker themes, use a lighter purple with better contrast */
    background: linear-gradient(135deg, 
        var(--header-footer-bg) 0%, 
        rgba(93, 71, 119, 0.95) 100%) !important;
    
    /* Ensure text is always readable */
    color: rgba(255, 255, 255, 0.98) !important;
}

.final-cta h2 {
    margin: 0 0 20px 0 !important;
    color: inherit !important;  /* Use parent color instead of hardcoded */
    font-family: 'Georgia', serif !important;
    
    /* Add text shadow for better readability */
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1) !important;
}

.final-cta p {
    margin-bottom: 30px !important;
    opacity: 0.95 !important;
    line-height: 1.6 !important;
    color: inherit !important;  /* Use parent color */
}

/* Enhanced button contrast for dark themes */
.theme-evening .final-cta .btn-primary,
.theme-night .final-cta .btn-primary {
    background-color: var(--button-color) !important;
    color: var(--featured-text) !important;
    border: 2px solid var(--button-color) !important;
}

.theme-evening .final-cta .btn-secondary,
.theme-night .final-cta .btn-secondary {
    background-color: transparent !important;
    color: rgba(255, 255, 255, 0.95) !important;
    border: 2px solid rgba(255, 255, 255, 0.8) !important;
}

/* Hover states for better UX */
.theme-evening .final-cta .btn-primary:hover,
.theme-night .final-cta .btn-primary:hover {
    background-color: rgba(212, 175, 55, 0.9) !important;
    transform: translateY(-2px) !important;
}

.theme-evening .final-cta .btn-secondary:hover,
.theme-night .final-cta .btn-secondary:hover {
    background-color: rgba(255, 255, 255, 0.15) !important;
    border-color: rgba(255, 255, 255, 0.95) !important;
}

/* ============================================
   ENHANCED NIGHT THEME - BETTER CARD DEFINITION
   ============================================ */

/* Base container - ensure proper background */
.theme-night .benefits-container {
    background-color: var(--main-bg-color) !important;
    color: var(--text-color) !important;
}

/* Hero/Status Section - Night Theme with better definition */
.theme-night .hero-status {
    background-color: var(--speech-bg-color) !important;
    border: 2px solid var(--panel-border-color) !important;
    color: var(--text-color) !important;
    
    /* Add subtle shadow for more definition */
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3) !important;
}

.theme-night .hero-status h1 {
    color: var(--text-color) !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.4) !important;
}

.theme-night .hero-subtitle {
    color: var(--text-color-secondary) !important;
}

/* Option Cards - Night Theme with enhanced contrast */
.theme-night .option-card {
    background-color: var(--speech-bg-color) !important;
    border: 2px solid var(--panel-border-color) !important;
    color: var(--text-color) !important;
    
    /* Enhanced visual definition */
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25) !important;
    position: relative !important;
}

/* Add subtle inner highlight for depth */
.theme-night .option-card::before {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: 1px !important;
    background: linear-gradient(90deg, 
        transparent 0%, 
        rgba(255, 255, 255, 0.1) 50%, 
        transparent 100%) !important;
}

.theme-night .option-card h3 {
    color: var(--text-color) !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3) !important;
}

.theme-night .option-price {
    color: var(--button-color) !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.4) !important;
}

.theme-night .option-description {
    color: var(--text-color-secondary) !important;
}

.theme-night .features-list li {
    color: var(--text-color) !important;
}

.theme-night .features-list li:before {
    color: var(--button-color) !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3) !important;
}

/* Special Card Types - Night Theme with enhanced backgrounds */
.theme-night .denizen-card {
    border-color: var(--button-color) !important;
    background: linear-gradient(135deg, 
        var(--speech-bg-color) 0%, 
        var(--panel-highlight) 100%) !important;
    
    /* Enhanced gold glow */
    box-shadow: 
        0 4px 12px rgba(0, 0, 0, 0.25),
        0 0 20px rgba(212, 175, 55, 0.1) !important;
}

.theme-night .supporter-card {
    border-color: var(--panel-highlight-border) !important;
    background: linear-gradient(135deg, 
        var(--speech-bg-color) 0%, 
        var(--panel-highlight) 100%) !important;
    
    /* Enhanced purple glow */
    box-shadow: 
        0 4px 12px rgba(0, 0, 0, 0.25),
        0 0 20px rgba(93, 71, 119, 0.15) !important;
}

.theme-night .paypal-card {
    border-color: var(--panel-border-color) !important;
    background-color: var(--panel-bg-color) !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25) !important;
}

/* Platform Note - Night Theme */
.theme-night .platform-note {
    color: var(--text-color-secondary) !important;
}

/* Section Headers - Night Theme */
.theme-night .options-section h2,
.theme-night .faq-section h2 {
    color: var(--text-color) !important;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
}

/* FAQ Section - Night Theme with better card definition */
.theme-night .faq-item {
    background-color: var(--speech-bg-color) !important;
    border: 2px solid var(--panel-border-color) !important;
    color: var(--text-color) !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2) !important;
}

.theme-night .faq-question {
    color: var(--text-color) !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2) !important;
}

.theme-night .faq-answer {
    color: var(--text-color-secondary) !important;
}

/* Buttons - Night Theme (keeping high contrast) */
.theme-night .btn-primary {
    background-color: var(--button-color) !important;
    color: var(--featured-text) !important;
    border: 2px solid var(--button-color) !important;
    box-shadow: 0 3px 8px rgba(0, 0, 0, 0.3) !important;
}

.theme-night .btn-secondary {
    background-color: var(--header-footer-bg) !important;
    color: var(--featured-text) !important;
    border: 2px solid var(--header-footer-bg) !important;
    box-shadow: 0 3px 8px rgba(0, 0, 0, 0.3) !important;
}

.theme-night .btn-outline {
    background-color: transparent !important;
    color: var(--text-color) !important;
    border: 2px solid var(--panel-border-color) !important;
    box-shadow: 0 3px 8px rgba(0, 0, 0, 0.2) !important;
}

/* Button Hover States - Night Theme */
.theme-night .btn-primary:hover {
    background-color: rgba(212, 175, 55, 0.9) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.4) !important;
}

.theme-night .btn-secondary:hover {
    opacity: 0.9 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.4) !important;
}

.theme-night .btn-outline:hover {
    background-color: var(--panel-bg-color) !important;
    border-color: var(--text-color) !important;
    transform: translateY(-2px) !important;
}

/* Recognition Badges - Night Theme */
.theme-night .vip-recognition,
.theme-night .premium-recognition {
    background: linear-gradient(135deg, 
        rgba(212, 175, 55, 0.15), 
        rgba(212, 175, 55, 0.05)) !important;
    border: 1px solid rgba(212, 175, 55, 0.3) !important;
    color: var(--text-color) !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2) !important;
}

/* Final CTA - Night Theme with better definition */
.theme-night .final-cta {
    background: linear-gradient(135deg, 
        var(--header-footer-bg) 0%, 
        rgba(93, 71, 119, 0.9) 100%) !important;
    border: 2px solid var(--panel-border-color) !important;
    color: var(--featured-text) !important;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.4) !important;
}

.theme-night .final-cta h2 {
    color: var(--featured-text) !important;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5) !important;
}

.theme-night .final-cta p {
    color: rgba(255, 255, 255, 0.9) !important;
}

/* Hover effects for cards - subtle interaction feedback */
.theme-night .option-card:hover {
    border-color: var(--button-color) !important;
    box-shadow: 
        0 6px 20px rgba(0, 0, 0, 0.3),
        0 0 30px rgba(212, 175, 55, 0.1) !important;
    transform: translateY(-2px) !important;
    transition: all 0.3s ease !important;
}

.theme-night .faq-item:hover {
    border-color: var(--panel-highlight-border) !important;
    transform: translateY(-1px) !important;
    transition: all 0.3s ease !important;
}

/* Mobile Responsiveness */
@media (max-width: 768px) {
    .benefits-container {
        padding: 15px !important;
    }
    
    .hero-status {
        padding: 30px 20px !important;
    }
    
    .hero-status h1 {
        font-size: 1.8rem !important;
    }
    
    .button-group {
        flex-direction: column !important;
    }
    
    .btn {
        width: 100% !important;
        margin-bottom: 10px !important;
    }
    
    .option-card {
        padding: 20px !important;
    }
    
    .final-cta {
        padding: 30px 20px !important;
    }
    
    .final-cta .btn {
        width: 100% !important;
        max-width: 300px !important;
        margin: 5px 0 !important;
    }
}

@media (max-width: 480px) {
    .hero-status h1 {
        font-size: 1.6rem !important;
    }
    
    .options-section h2, .faq-section h2 {
        font-size: 1.5rem !important;
    }
    
    .option-price {
        font-size: 1.2rem !important;
    }
}

/* Enhanced integration with time-based theming */
.option-card:hover {
    border-color: var(--header-footer-bg) !important;
    transform: translateY(-2px) !important;
    transition: all 0.3s ease !important;
}

.denizen-card:hover {
    border-color: var(--button-color) !important;
}

/* Ensure all colors use time-based variables */
.benefits-container {
    background-color: var(--main-bg-color) !important;
    color: var(--text-color) !important;
}
