/**
 * Dark Mode Styles - ArcheoHero Theme
 * Colors use CSS custom properties that auto-invert via :root overrides in style.css
 * This file handles structural dark mode overrides only.
 * 
 * @package ArcheoHero
 * @since 1.5.0
 */

body.dark-mode,
html.dark-mode body {
    background-color: var(--archeo-white);
    color: var(--archeo-dark);
}

/* Flash prevention: when early script adds dark-mode to html before body exists */
html.dark-mode {
    background-color: #0f172a;
    color: #e2e8f0;
}

/* === HERO === */
body.dark-mode .hero-section { background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%); }
body.dark-mode .hero-title { background: var(--archeo-gradient-warm); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }
body.dark-mode .hero-description { color: #cbd5e1; }

/* === HOMEPAGE SECTIONS === */
body.dark-mode .home-servizi,
body.dark-mode .home-press { background: #0f172a; }
body.dark-mode .home-collaborazioni,
body.dark-mode .home-chi-siamo { background: #1e293b; }

/* === CHI SIAMO === */
body.dark-mode .page-chi-siamo { background: var(--archeo-white); }
body.dark-mode .chi-siamo-section-new { background: linear-gradient(135deg, var(--archeo-primary-dark) 0%, var(--archeo-secondary) 100%); }
body.dark-mode .chi-siamo-title { border-bottom-color: var(--archeo-secondary-light); }
body.dark-mode .stat-number { color: var(--archeo-secondary-light) !important; }
body.dark-mode .team-member-card { background: var(--archeo-light); border-color: #334155; }
body.dark-mode .team-member-card:hover { box-shadow: 0 8px 15px rgba(0, 0, 0, 0.4); border-color: var(--archeo-secondary); }
body.dark-mode .team-member-name { color: var(--archeo-dark); }
body.dark-mode .team-member-position { color: var(--archeo-secondary); }
body.dark-mode .team-member-excerpt { color: var(--archeo-gray); }

/* === COLLABORAZIONI === */
body.dark-mode .page-collaborazioni { background: var(--archeo-white); }
body.dark-mode .page-collaborazioni-hero { background: linear-gradient(135deg, var(--archeo-primary) 0%, var(--archeo-accent) 100%); }
body.dark-mode .filter-btn { background: var(--archeo-light); border-color: var(--archeo-primary); color: var(--archeo-primary); }
body.dark-mode .filter-btn.active { background: var(--archeo-primary); color: white; }
body.dark-mode .stat-item { background: var(--archeo-light); border-left-color: var(--archeo-primary); }
body.dark-mode .collab-logo { filter: grayscale(100%) brightness(1.5); }
body.dark-mode .collab-card-hover:hover .collab-logo { filter: grayscale(0%) brightness(1); }
body.dark-mode .collab-card { background: var(--archeo-light); border-color: #334155; }
body.dark-mode .collab-card:hover { border-color: var(--archeo-primary); }

/* === PRESS === */
body.dark-mode .page-press { background: var(--archeo-white); }
body.dark-mode .press-publication,
body.dark-mode .press-date,
body.dark-mode .press-author { color: var(--archeo-gray); }
body.dark-mode .featured-publication { color: var(--archeo-primary); }
body.dark-mode .featured-excerpt { color: var(--archeo-gray); }
body.dark-mode .featured-item { background: var(--archeo-light); border-color: #334155; }
body.dark-mode .featured-title { color: var(--archeo-dark); }
body.dark-mode .stat-card { background: var(--archeo-light); border-color: #334155; }
body.dark-mode .stat-card:hover { border-color: var(--archeo-secondary); box-shadow: 0 8px 20px rgba(0, 0, 0, 0.4); }
body.dark-mode .stat-value { color: var(--archeo-primary); }
body.dark-mode .cta-box { background: linear-gradient(135deg, var(--archeo-primary-dark) 0%, var(--archeo-secondary) 100%); }
body.dark-mode .empty-state { background: var(--archeo-light); }
body.dark-mode .press-section { background: var(--archeo-white); }

/* === LINKS === */
body.dark-mode .cs-link,
body.dark-mode .cs-link-arrow { color: var(--archeo-primary); }
body.dark-mode .cs-link:hover,
body.dark-mode .cs-link-arrow:hover { color: var(--archeo-accent); }

/* === FORMS === */
body.dark-mode input[type="text"],
body.dark-mode input[type="email"],
body.dark-mode input[type="tel"],
body.dark-mode input[type="password"],
body.dark-mode input[type="search"],
body.dark-mode input[type="url"],
body.dark-mode input[type="number"],
body.dark-mode input[type="date"],
body.dark-mode textarea,
body.dark-mode select { background: var(--archeo-light); border-color: #334155; color: var(--archeo-dark); }
body.dark-mode input::placeholder,
body.dark-mode textarea::placeholder { color: #64748b; }
body.dark-mode input:focus,
body.dark-mode textarea:focus,
body.dark-mode select:focus { border-color: var(--archeo-accent); background: #0f172a; }

/* === BLOG & POSTS === */
body.dark-mode .entry-meta { color: var(--archeo-gray); }
body.dark-mode .category-badge,
body.dark-mode .tag-link { background: #334155; color: var(--archeo-dark); border: 1px solid #475569; }
body.dark-mode .category-badge:hover,
body.dark-mode .tag-link:hover { background: var(--archeo-accent); border-color: var(--archeo-accent); color: white; }
body.dark-mode .author-bio { background: var(--archeo-light); border: 1px solid #334155; }
body.dark-mode .comment-list .comment { border-color: #334155; background: var(--archeo-light); }
body.dark-mode .comment-author { color: var(--archeo-dark); }
body.dark-mode .comment-metadata { color: var(--archeo-gray); }
body.dark-mode .comment-reply-link { color: var(--archeo-accent); }

/* === ATTIVITÀ & PROGETTI === */
body.dark-mode .progetto-content { background: linear-gradient(to top, rgba(15, 23, 42, 0.95), transparent); }
body.dark-mode .progetto-title { color: white; }
body.dark-mode .progetto-meta { background: var(--archeo-light); border: 1px solid #334155; }
body.dark-mode .meta-label { color: var(--archeo-gray); }
body.dark-mode .meta-value { color: var(--archeo-dark); }
body.dark-mode .progetto-filter-btn { background: var(--archeo-light); border: 1px solid #334155; color: var(--archeo-gray); }
body.dark-mode .progetto-filter-btn:hover,
body.dark-mode .progetto-filter-btn.active { background: var(--archeo-accent); border-color: var(--archeo-accent); color: white; }

/* === CARDS (generic) === */
body.dark-mode .card,
body.dark-mode .archeo-card { background: var(--archeo-light); border-color: #334155; }
body.dark-mode .card:hover,
body.dark-mode .archeo-card:hover { border-color: var(--archeo-primary); box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5); }

/* === BUTTONS === */
body.dark-mode .archeo-btn-outline { border-color: var(--archeo-accent); color: var(--archeo-accent); }
body.dark-mode .archeo-btn-outline:hover { background: var(--archeo-accent); color: white; }
body.dark-mode .archeo-btn-primary { background: var(--archeo-gradient-warm); box-shadow: var(--archeo-shadow-primary); }
body.dark-mode .archeo-btn-secondary { border-color: var(--archeo-accent); color: var(--archeo-accent); }
body.dark-mode .archeo-btn-secondary:hover { background: var(--archeo-accent); color: white; }

/* === BREADCRUMBS & PAGINATION === */
body.dark-mode .breadcrumbs a { color: var(--archeo-gray); }
body.dark-mode .breadcrumbs a:hover { color: var(--archeo-accent); }
body.dark-mode .breadcrumb-separator { color: #64748b; }
body.dark-mode .breadcrumb-list .active { color: var(--archeo-gray); }
body.dark-mode .cs-pagination a,
body.dark-mode .cs-pagination span { background: var(--archeo-light); border-color: #334155; color: var(--archeo-gray); }
body.dark-mode .cs-pagination a:hover,
body.dark-mode .cs-pagination .current { background: var(--archeo-accent); border-color: var(--archeo-accent); color: white; }

/* === SIDEBAR === */
body.dark-mode .widget { background: var(--archeo-light); border: 1px solid #334155; }
body.dark-mode .widget-title { color: var(--archeo-dark); border-bottom-color: #334155; }
body.dark-mode .widget ul li { border-bottom-color: #334155; }
body.dark-mode .widget a { color: var(--archeo-gray); }
body.dark-mode .widget a:hover { color: var(--archeo-accent); }

/* === NAV === */
body.dark-mode .post-navigation { border-top: 1px solid #334155; border-bottom: 1px solid #334155; }
body.dark-mode .nav-previous a,
body.dark-mode .nav-next a { background: var(--archeo-light); border: 1px solid #334155; }
body.dark-mode .nav-previous a:hover,
body.dark-mode .nav-next a:hover { background: #334155; border-color: var(--archeo-accent); }
body.dark-mode .nav-subtitle { color: var(--archeo-gray); }
body.dark-mode .nav-title { color: var(--archeo-dark); }

/* === SOCIAL & MISC === */
body.dark-mode .cs-social-item a { background: rgba(255, 255, 255, 0.05); }
body.dark-mode .cs-social-item a:hover { background: var(--archeo-accent); }
body.dark-mode .back-to-top { background: var(--archeo-accent); box-shadow: var(--archeo-shadow-accent); }
body.dark-mode .back-to-top:hover { background: var(--archeo-primary); }

/* === ERROR PAGES === */
body.dark-mode .error-404-number { color: var(--archeo-light); text-shadow: 2px 2px 0 #334155; }
body.dark-mode .helpful-link { background: var(--archeo-light); border: 1px solid #334155; }
body.dark-mode .helpful-link:hover { background: #334155; border-color: var(--archeo-accent); }

/* === CODE & TABLES === */
body.dark-mode pre { background: var(--archeo-light); border: 1px solid #334155; color: var(--archeo-dark); }
body.dark-mode code { background: #334155; color: var(--archeo-dark); }
body.dark-mode table { border-color: #334155; }
body.dark-mode th { background: var(--archeo-light); color: var(--archeo-dark); border-color: #334155; }
body.dark-mode td { border-color: #334155; color: var(--archeo-gray); }
body.dark-mode tr:hover { background: var(--archeo-light); }

/* === QUOTES & TEAM === */
body.dark-mode blockquote { background: var(--archeo-light); border-left-color: var(--archeo-accent); color: var(--archeo-gray); }
body.dark-mode blockquote cite { color: var(--archeo-gray); }
body.dark-mode .testimonial-quote { background: var(--archeo-light); border: 1px solid #334155; }
body.dark-mode .testimonial-author { color: var(--archeo-gray); }
body.dark-mode .team-member { background: var(--archeo-light); border: 1px solid #334155; }
body.dark-mode .team-member:hover { box-shadow: 0 10px 30px rgba(0, 0, 0, 0.6); }
body.dark-mode .team-position { color: var(--archeo-gray); }

/* === AREA SOCI === */
body.dark-mode .members-login-form { background: var(--archeo-light); border-color: #334155; }
body.dark-mode .members-dashboard { background: var(--archeo-white); }
body.dark-mode .members-nav a { color: var(--archeo-gray); }
body.dark-mode .members-nav a:hover,
body.dark-mode .members-nav a.active { color: var(--archeo-primary); border-color: var(--archeo-primary); }

/* === SEARCH === */
body.dark-mode .search-form input[type="search"] { background: var(--archeo-light); border-color: #334155; color: var(--archeo-dark); }
body.dark-mode .search-results-item { background: var(--archeo-light); border-color: #334155; }
body.dark-mode .search-results-item:hover { border-color: var(--archeo-primary); }

/* === SEDE & BENI CULTURALI === */
body.dark-mode .sede-card { background: var(--archeo-light); border-color: #334155; }
body.dark-mode .sede-info { color: var(--archeo-gray); }
body.dark-mode .bene-card { background: var(--archeo-light); border-color: #334155; }
body.dark-mode .bene-card:hover { border-color: var(--archeo-accent); }

/* === FOOTER (always dark) === */
body.dark-mode .site-footer { background: #0f172a; color: #e2e8f0; }
body.dark-mode .footer-widget .widget-title { color: #ffffff; }
body.dark-mode .footer-widget a { color: #cbd5e1; }
body.dark-mode .footer-widget a:hover { color: #ffffff; }
body.dark-mode .footer-menu a { color: #cbd5e1; }
body.dark-mode .footer-menu a:hover { color: #ffffff; }
body.dark-mode .footer-widgets { border-bottom-color: rgba(255,255,255,0.1); }
body.dark-mode .site-info { color: #94a3b8; }

/* === CONTRAST FIXES — ensure readability === */
body.dark-mode p,
body.dark-mode li,
body.dark-mode .entry-content { color: #e2e8f0; }
body.dark-mode h1, body.dark-mode h2, body.dark-mode h3,
body.dark-mode h4, body.dark-mode h5, body.dark-mode h6 { color: #f8fafc; }
body.dark-mode .page-intro p { color: #cbd5e1; }
body.dark-mode .section-subtitle { color: #94a3b8; }
body.dark-mode .stat-label { color: #94a3b8; }
body.dark-mode .team-member-card:hover { box-shadow: 0 8px 25px rgba(0, 0, 0, 0.5); }

/* === Ensure gradient text stays visible === */
body.dark-mode .archeo-gradient-text { -webkit-text-fill-color: transparent; background-clip: text; }

/* === Header CTA in Dark Mode === */
body.dark-mode .header-cta-btn {
    background: var(--archeo-gradient-warm, linear-gradient(135deg, #C44058, #D4A017));
    box-shadow: 0 2px 10px rgba(196, 64, 88, 0.3);
}
body.dark-mode .header-cta-btn:hover {
    box-shadow: 0 4px 18px rgba(196, 64, 88, 0.45);
}

/* ==========================================================================
   GLOBAL DARK MODE OVERRIDES
   Fix hardcoded colors in page templates (73+ occurrences)
   Uses !important to override inline !important declarations
   ========================================================================== */

/* --- Backgrounds: #ffffff, #fff, white → dark surface --- */
body.dark-mode .chi-siamo-intro,
body.dark-mode .chi-siamo-valori .nive-card,
body.dark-mode .chi-siamo-team,
body.dark-mode .soci-login-card,
body.dark-mode .soci-welcome-card,
body.dark-mode .dash-tab-content,
body.dark-mode .proposta-card,
body.dark-mode .page-content,
body.dark-mode .contact-form-wrapper,
body.dark-mode .form-card,
body.dark-mode .diventa-card,
body.dark-mode .trasparenza-card,
body.dark-mode .percorso-card,
body.dark-mode .formazione-card,
body.dark-mode .sostienici-card,
body.dark-mode .spazio-nive-content,
body.dark-mode .calendario-card,
body.dark-mode .restricted-card {
    background: var(--archeo-light) !important;
    border-color: var(--archeo-border) !important;
}

/* --- Backgrounds: #f0ece4, #f8f5f0, #faf8f4 → dark page bg --- */
body.dark-mode .chi-siamo-valori,
body.dark-mode .page-beni-culturali,
body.dark-mode .page-percorsi,
body.dark-mode .page-formazione,
body.dark-mode .page-trasparenza,
body.dark-mode .page-sostienici,
body.dark-mode .page-contatti,
body.dark-mode .page-collaborazioni,
body.dark-mode .page-diventa-socio,
body.dark-mode .page-restricted,
body.dark-mode .page-volontariato,
body.dark-mode .area-soci-page .soci-container,
body.dark-mode .page-calendario {
    background: var(--archeo-white) !important;
}

/* --- Text: #1a1a2e → light text (override !important too) --- */
body.dark-mode .section-title,
body.dark-mode .chi-siamo-intro .section-title,
body.dark-mode .chi-siamo-valori .section-title,
body.dark-mode .chi-siamo-team .section-title,
body.dark-mode .nive-title,
body.dark-mode .nive-desc,
body.dark-mode .proposta-card h3,
body.dark-mode .stat-label,
body.dark-mode .dash-tab-content h3,
body.dark-mode .dash-tab-content h4,
body.dark-mode .soci-login-card h2,
body.dark-mode .soci-login-card p,
body.dark-mode [class*="section-title"],
body.dark-mode [class*="page-title"] {
    color: var(--archeo-dark) !important;
    -webkit-text-fill-color: var(--archeo-dark) !important;
}

/* --- Subtexts: #5f6b7a, #64748b → readable gray --- */
body.dark-mode .section-description,
body.dark-mode .section-subtitle,
body.dark-mode .chi-siamo-intro p,
body.dark-mode .nive-card p,
body.dark-mode .card-excerpt,
body.dark-mode .card-anno,
body.dark-mode .stat-text,
body.dark-mode .proposta-card p,
body.dark-mode .restricted-text,
body.dark-mode .form-description {
    color: var(--archeo-gray) !important;
}

/* --- Inline styles in area-soci that use hardcoded colors --- */
body.dark-mode .area-soci-page h3[style*="color:#1a1a2e"],
body.dark-mode .area-soci-page [style*="color:#1a1a2e"] {
    color: var(--archeo-dark) !important;
}
body.dark-mode .area-soci-page [style*="background: #fffbeb"],
body.dark-mode .area-soci-page [style*="background: #fff"] {
    background: var(--archeo-light) !important;
}

/* --- Alert boxes in dark mode --- */
body.dark-mode .soci-alert-error { background: rgba(239, 68, 68, 0.15) !important; border-color: #ef4444 !important; }
body.dark-mode .soci-alert-success { background: rgba(34, 197, 94, 0.15) !important; border-color: #22c55e !important; }

/* --- Forms in dark mode --- */
body.dark-mode .soci-input,
body.dark-mode .soci-textarea,
body.dark-mode .soci-select,
body.dark-mode .area-soci-page input,
body.dark-mode .area-soci-page textarea,
body.dark-mode .area-soci-page select,
body.dark-mode .contact-form input,
body.dark-mode .contact-form textarea,
body.dark-mode .contact-form select {
    background: var(--archeo-white) !important;
    border-color: var(--archeo-border) !important;
    color: var(--archeo-dark) !important;
}

/* --- Hover states on cards --- */
body.dark-mode .nive-card:hover,
body.dark-mode .proposta-card:hover,
body.dark-mode .collab-card:hover,
body.dark-mode .press-card:hover,
body.dark-mode .team-card:hover {
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.5) !important;
}

/* --- Cookie banner --- */
body.dark-mode .cookie-banner {
    background: var(--archeo-light) !important;
    border-color: var(--archeo-border) !important;
    color: var(--archeo-dark) !important;
}

/* === TRANSITIONS === */
body.dark-mode * {
    transition: background-color var(--archeo-transition, 0.3s), color var(--archeo-transition, 0.3s), border-color var(--archeo-transition, 0.3s);
}

/* === PRINT === */
@media print {
    body.dark-mode { background: white !important; color: black !important; }
    body.dark-mode .site-header,
    body.dark-mode .site-footer { background: white !important; color: black !important; }
}
