/* ============================================
   GENESIS AI - DARK THEME (ALL PAGES)
   Premium dark design with Inter + Instrument Serif
   Enhanced Readability Version
   ============================================ */

/* Google Fonts Import - Instrument Serif */
@import url('https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&display=swap');

/* ============================================
   DARK THEME CSS VARIABLES
   ============================================ */
:root {
    /* Dark Theme Colors */
    --bg-primary: #0A0A0A;
    --bg-secondary: #111111;
    --bg-tertiary: #181818;
    --bg-card: #1C1C1C;
    --bg-card-hover: #242424;

    /* Text Colors - ENHANCED READABILITY */
    --text-primary: #FFFFFF;
    --text-secondary: #E5E5E5;
    --text-muted: #B3B3B3;
    --text-subtle: #808080;

    /* Accent Colors */
    --accent-red: #FF3B30;
    --accent-red-hover: #FF5A52;
    --accent-red-dark: #CC2F26;

    /* Borders & Shadows */
    --border-subtle: rgba(255, 255, 255, 0.1);
    --border-medium: rgba(255, 255, 255, 0.15);
    --border-strong: rgba(255, 255, 255, 0.25);
    --shadow-glow: 0 0 60px rgba(255, 59, 48, 0.15);

    /* Fonts */
    --font-primary: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    --font-accent: 'Instrument Serif', Georgia, serif;
}

/* ============================================
   ACCENT SERIF CLASS
   ============================================ */
.accent-serif {
    font-family: var(--font-accent);
    font-style: italic;
    font-weight: 400;
}

/* ============================================
   DARK THEME BODY - GLOBAL
   ============================================ */
body.dark-theme {
    background: var(--bg-primary) !important;
    color: var(--text-primary) !important;
}

/* ============================================
   NAVIGATION - SOLID DARK
   ============================================ */
body.dark-theme nav:not(.breadcrumb) {
    background: var(--bg-primary) !important;
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border-bottom: 1px solid var(--border-subtle) !important;
}

body.dark-theme .logo {
    color: var(--text-primary) !important;
}

body.dark-theme .nav-links a {
    color: var(--text-secondary) !important;
}

body.dark-theme .nav-links a:hover,
body.dark-theme .nav-links a.active {
    color: var(--accent-red) !important;
}

body.dark-theme .dropdown-menu {
    background: var(--bg-card) !important;
    border: 1px solid var(--border-medium) !important;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.6) !important;
}

body.dark-theme .dropdown-menu a {
    color: var(--text-secondary) !important;
}

body.dark-theme .dropdown-menu a:hover {
    background: var(--bg-card-hover) !important;
    color: var(--accent-red) !important;
}

body.dark-theme .mobile-menu-btn {
    color: var(--text-primary) !important;
}

body.dark-theme .cta-nav {
    background: var(--accent-red) !important;
    color: white !important;
    border-color: var(--accent-red) !important;
}

/* Mobile Menu Dark */
@media (max-width: 768px) {
    body.dark-theme .nav-links {
        background: var(--bg-secondary) !important;
        border-bottom: 1px solid var(--border-subtle) !important;
    }

    body.dark-theme .nav-links a {
        border-bottom-color: var(--border-subtle) !important;
        color: var(--text-primary) !important;
    }

    body.dark-theme .dropdown-menu {
        background: var(--bg-tertiary) !important;
    }
}

/* ============================================
   BREADCRUMB - Dark Theme
   ============================================ */
body.dark-theme .breadcrumb {
    background: var(--bg-secondary) !important;
    border-bottom: 1px solid var(--border-subtle) !important;
}

body.dark-theme .breadcrumb a {
    color: var(--text-muted) !important;
}

body.dark-theme .breadcrumb a:hover {
    color: var(--accent-red) !important;
}

body.dark-theme .breadcrumb .current {
    color: var(--text-primary) !important;
}

/* ============================================
   HERO SECTION
   ============================================ */
body.dark-theme #hero,
body.dark-theme .hero {
    background: linear-gradient(135deg, var(--bg-primary) 0%, var(--bg-secondary) 100%) !important;
    position: relative;
}

body.dark-theme .hero h1,
body.dark-theme #hero h1 {
    color: var(--text-primary) !important;
    text-shadow: none !important;
}

body.dark-theme .hero-subtitle {
    color: var(--text-secondary) !important;
    text-shadow: none !important;
}

body.dark-theme .hero-subtitle strong {
    color: var(--accent-red) !important;
}

/* ============================================
   ALL SECTIONS
   ============================================ */
body.dark-theme section {
    background: var(--bg-primary) !important;
}

body.dark-theme .section-title {
    color: var(--text-primary) !important;
}

/* ALL TEXT - Enhanced Readability */
body.dark-theme p {
    color: var(--text-muted) !important;
}

body.dark-theme h1,
body.dark-theme h2,
body.dark-theme h3,
body.dark-theme h4,
body.dark-theme h5,
body.dark-theme h6 {
    color: var(--text-primary) !important;
}

body.dark-theme strong {
    color: var(--text-primary) !important;
}

body.dark-theme li {
    color: var(--text-muted) !important;
}

body.dark-theme a {
    color: var(--accent-red);
}

body.dark-theme a:hover {
    color: var(--accent-red-hover);
}

/* Alternate section background */
body.dark-theme section:nth-child(even) {
    background: var(--bg-secondary) !important;
}

/* Override inline gray-light backgrounds */
body.dark-theme section[style*="gray-light"],
body.dark-theme section[style*="F5F5F7"],
body.dark-theme div[style*="gray-light"],
body.dark-theme div[style*="F5F5F7"] {
    background: var(--bg-secondary) !important;
}

/* ============================================
   CARDS - Universal Dark Style
   ============================================ */
body.dark-theme .card,
body.dark-theme .case-card,
body.dark-theme .blog-card,
body.dark-theme .testimonial-card,
body.dark-theme .step,
body.dark-theme .pricing-box,
body.dark-theme .contact-method {
    background: var(--bg-card) !important;
    border: 1px solid var(--border-subtle) !important;
    color: var(--text-primary) !important;
}

body.dark-theme .card:hover,
body.dark-theme .case-card:hover,
body.dark-theme .blog-card:hover {
    border-color: var(--accent-red) !important;
    box-shadow: var(--shadow-glow) !important;
}

body.dark-theme .case-content,
body.dark-theme .blog-content {
    background: var(--bg-card) !important;
}

body.dark-theme .case-content h3,
body.dark-theme .blog-content h3 {
    color: var(--text-primary) !important;
}

body.dark-theme .case-content p,
body.dark-theme .blog-content p {
    color: var(--text-muted) !important;
}

body.dark-theme .case-client {
    color: var(--text-secondary) !important;
}

body.dark-theme .case-client a {
    color: var(--text-secondary) !important;
}

body.dark-theme .case-metrics {
    background: var(--bg-tertiary) !important;
    border-color: var(--border-medium) !important;
}

body.dark-theme .case-metrics .metric {
    color: var(--text-muted) !important;
}

body.dark-theme .case-metrics strong {
    color: var(--text-primary) !important;
}

body.dark-theme .case-view-btn {
    background: var(--accent-red) !important;
    color: white !important;
}

body.dark-theme .case-view-btn:hover {
    background: var(--accent-red-hover) !important;
}

body.dark-theme .case-view-btn[style*="gray-light"] {
    background: var(--bg-tertiary) !important;
    color: var(--text-primary) !important;
    border: 1px solid var(--border-medium) !important;
}

/* ============================================
   SERVICE PAGE CARDS
   ============================================ */
body.dark-theme .service-card-content h3 {
    color: var(--text-primary) !important;
}

body.dark-theme .service-card-content p {
    color: var(--text-secondary) !important;
}

body.dark-theme div[style*="background: linear-gradient(135deg, white"],
body.dark-theme div[style*="background: white"],
body.dark-theme div[style*="background:#fff"],
body.dark-theme div[style*="background: #fff"] {
    background: var(--bg-card) !important;
}

/* ============================================
   DIFFERENTIATORS SECTION
   ============================================ */
body.dark-theme .differentiators-grid>div {
    background: var(--bg-card) !important;
    border-top: 4px solid var(--accent-red) !important;
}

body.dark-theme .differentiators-grid h3 {
    color: var(--text-primary) !important;
}

body.dark-theme .differentiators-grid p {
    color: var(--text-muted) !important;
}

body.dark-theme .differentiators-grid strong {
    color: var(--text-secondary) !important;
}

/* ============================================
   BLOG PAGES
   ============================================ */
body.dark-theme .blog-hero,
body.dark-theme article,
body.dark-theme .article-content {
    background: var(--bg-primary) !important;
    color: var(--text-primary) !important;
}

body.dark-theme .blog-hero h1 {
    color: var(--text-primary) !important;
}

body.dark-theme .blog-meta,
body.dark-theme .article-meta {
    color: var(--text-muted) !important;
}

body.dark-theme article p {
    color: var(--text-secondary) !important;
    line-height: 1.8 !important;
}

body.dark-theme article h2,
body.dark-theme article h3 {
    color: var(--text-primary) !important;
}

body.dark-theme article ul li,
body.dark-theme article ol li {
    color: var(--text-secondary) !important;
}

body.dark-theme blockquote {
    background: var(--bg-tertiary) !important;
    border-left: 4px solid var(--accent-red) !important;
    color: var(--text-secondary) !important;
}

body.dark-theme code,
body.dark-theme pre {
    background: var(--bg-tertiary) !important;
    color: var(--accent-red) !important;
}

/* ============================================
   CHI SIAMO
   ============================================ */
body.dark-theme #chi-siamo {
    background: var(--bg-primary) !important;
}

body.dark-theme .founder-story p,
body.dark-theme .timeline-text p {
    color: var(--text-secondary) !important;
}

body.dark-theme .timeline-year {
    color: var(--accent-red) !important;
}

body.dark-theme .timeline-text h4 {
    color: var(--text-primary) !important;
}

body.dark-theme .team-grid h4 {
    color: var(--text-primary) !important;
}

body.dark-theme .team-grid p {
    color: var(--accent-red) !important;
}

body.dark-theme .team-grid img {
    border-color: var(--border-medium) !important;
}

body.dark-theme .team-grid img:hover {
    border-color: var(--accent-red) !important;
}

body.dark-theme .mission-section {
    background: var(--bg-secondary) !important;
    border-radius: 20px;
    padding: 40px;
    margin-top: 60px;
}

body.dark-theme .mission-section h3,
body.dark-theme .mission-section p {
    color: var(--text-secondary) !important;
}

body.dark-theme .mission-section strong {
    color: var(--accent-red) !important;
}

/* ============================================
   FAQ SECTION
   ============================================ */
body.dark-theme #faq,
body.dark-theme .faq {
    background: var(--bg-secondary) !important;
}

body.dark-theme .faq-item,
body.dark-theme details.faq-item {
    background: var(--bg-card) !important;
    border: 1px solid var(--border-subtle) !important;
}

body.dark-theme .faq-question,
body.dark-theme summary.faq-question {
    color: var(--text-primary) !important;
    background: transparent !important;
}

body.dark-theme .faq-question:hover,
body.dark-theme summary.faq-question:hover {
    background: var(--bg-card-hover) !important;
    color: var(--accent-red) !important;
}

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

body.dark-theme .faq-answer strong {
    color: var(--text-primary) !important;
}

/* ============================================
   FORMS
   ============================================ */
body.dark-theme #contatti,
body.dark-theme .contact-section {
    background: var(--bg-primary) !important;
}

body.dark-theme .contatti-form h2,
body.dark-theme form h2 {
    color: var(--text-primary) !important;
}

body.dark-theme .contatti-form p,
body.dark-theme form p {
    color: var(--text-muted) !important;
}

body.dark-theme label {
    color: var(--text-secondary) !important;
}

body.dark-theme input,
body.dark-theme select,
body.dark-theme textarea {
    background: var(--bg-tertiary) !important;
    border: 1px solid var(--border-medium) !important;
    color: var(--text-primary) !important;
}

body.dark-theme input::placeholder,
body.dark-theme textarea::placeholder {
    color: var(--text-subtle) !important;
}

body.dark-theme input:focus,
body.dark-theme select:focus,
body.dark-theme textarea:focus {
    border-color: var(--accent-red) !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(255, 59, 48, 0.2) !important;
}

body.dark-theme select option {
    background: var(--bg-tertiary) !important;
    color: var(--text-primary) !important;
}

body.dark-theme .checkbox-label {
    color: var(--text-muted) !important;
}

body.dark-theme .checkbox-label a {
    color: var(--accent-red) !important;
}

/* ============================================
   BUTTONS
   ============================================ */
body.dark-theme .btn-primary {
    background: var(--accent-red) !important;
    color: white !important;
}

body.dark-theme .btn-primary:hover {
    background: var(--accent-red-hover) !important;
}

body.dark-theme .btn-secondary {
    background: transparent !important;
    border: 2px solid var(--text-primary) !important;
    color: var(--text-primary) !important;
}

body.dark-theme .btn-secondary:hover {
    background: var(--text-primary) !important;
    color: var(--bg-primary) !important;
}

body.dark-theme .btn-black {
    background: var(--text-primary) !important;
    color: var(--bg-primary) !important;
}

body.dark-theme .btn-black:hover {
    background: var(--text-secondary) !important;
}

body.dark-theme .btn-red {
    background: var(--accent-red) !important;
    color: white !important;
}

body.dark-theme .btn-red:hover {
    background: var(--accent-red-hover) !important;
}

body.dark-theme .btn-white {
    background: var(--text-primary) !important;
    color: var(--bg-primary) !important;
}

body.dark-theme .cta-primary {
    background: var(--accent-red) !important;
    color: white !important;
}

body.dark-theme .cta-primary:hover {
    background: var(--accent-red-hover) !important;
    transform: translateY(-2px);
}

/* ============================================
   STATS
   ============================================ */
body.dark-theme .stat-number {
    color: var(--accent-red) !important;
}

body.dark-theme .stat-label {
    color: var(--text-muted) !important;
}

/* ============================================
   PROCESS STEPS
   ============================================ */
body.dark-theme .step {
    background: var(--bg-card) !important;
    border: 2px solid var(--border-medium) !important;
}

body.dark-theme .step:hover {
    border-color: var(--accent-red) !important;
}

body.dark-theme .step-icon {
    background: var(--accent-red) !important;
}

body.dark-theme .step-number {
    color: var(--accent-red) !important;
}

body.dark-theme .step-title {
    color: var(--text-primary) !important;
}

body.dark-theme .step-desc {
    color: var(--text-muted) !important;
}

/* ============================================
   TESTIMONIALS
   ============================================ */
body.dark-theme .testimonial-card {
    background: var(--bg-card) !important;
}

body.dark-theme .testimonial-text {
    color: var(--text-secondary) !important;
}

body.dark-theme .author-info h4 {
    color: var(--text-primary) !important;
}

body.dark-theme .author-info p {
    color: var(--text-muted) !important;
}

/* ============================================
   PRICING
   ============================================ */
body.dark-theme .pricing-box {
    background: var(--bg-card) !important;
    border: 1px solid var(--border-subtle) !important;
}

body.dark-theme .pricing-box.featured {
    border-color: var(--accent-red) !important;
}

body.dark-theme .pricing-title {
    color: var(--text-primary) !important;
}

body.dark-theme .pricing-price {
    color: var(--accent-red) !important;
}

body.dark-theme .pricing-features li {
    color: var(--text-secondary) !important;
}



/* ============================================
   FOOTER
   ============================================ */
body.dark-theme footer {
    background: var(--bg-primary) !important;
    border-top: 1px solid var(--border-subtle) !important;
}

body.dark-theme .footer-section h3 {
    color: var(--text-primary) !important;
}

body.dark-theme .footer-section a {
    color: var(--text-muted) !important;
}

body.dark-theme .footer-section a:hover {
    color: var(--text-primary) !important;
}

body.dark-theme .footer-bottom {
    border-top-color: var(--border-subtle) !important;
}

body.dark-theme .footer-bottom p {
    color: var(--text-subtle) !important;
}

/* ============================================
   PRELOADER & MISC
   ============================================ */
body.dark-theme #preloader {
    background: var(--bg-primary) !important;
}

body.dark-theme .terminal-preloader {
    color: var(--text-primary) !important;
}

body.dark-theme .progress-bar {
    background: var(--accent-red) !important;
}

body.dark-theme .cookie-banner {
    background: var(--bg-card) !important;
    border-top: 1px solid var(--border-subtle) !important;
}

body.dark-theme .lightbox-modal {
    background: rgba(0, 0, 0, 0.95) !important;
}

body.dark-theme .back-to-top {
    background: var(--accent-red) !important;
    color: white !important;
    border: none !important;
}

body.dark-theme .back-to-top:hover {
    background: var(--accent-red-hover) !important;
}

/* ============================================
   INLINE STYLE OVERRIDES
   ============================================ */
body.dark-theme [style*="color: var(--black)"],
body.dark-theme [style*="color:#1D1D1F"],
body.dark-theme [style*="color: #1D1D1F"] {
    color: var(--text-primary) !important;
}

body.dark-theme [style*="color: var(--gray)"],
body.dark-theme [style*="color:#86868B"],
body.dark-theme [style*="color: #86868B"] {
    color: var(--text-muted) !important;
}

body.dark-theme [style*="background: white"],
body.dark-theme [style*="background:#fff"],
body.dark-theme [style*="background: #fff"],
body.dark-theme [style*="background:#FFF"],
body.dark-theme [style*="background: #FFF"],
body.dark-theme [style*="background: linear-gradient(135deg, white"],
body.dark-theme [style*="background: var(--white)"],
body.dark-theme [style*="background: var(--gray-light)"],
body.dark-theme [style*="background:#F5F5F7"],
body.dark-theme [style*="background: #F5F5F7"] {
    background: var(--bg-card) !important;
}

body.dark-theme [style*="border: 1px solid rgba(0,0,0"] {
    border-color: var(--border-subtle) !important;
}

body.dark-theme [style*="box-shadow: 0 2px"],
body.dark-theme [style*="box-shadow: 0 4px"],
body.dark-theme [style*="box-shadow: 0 8px"] {
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.4) !important;
}

/* ============================================
   LANG SWITCHER
   ============================================ */
body.dark-theme .lang-switcher {
    border-left-color: var(--border-medium) !important;
}

body.dark-theme .lang-switcher a {
    color: var(--text-muted) !important;
}

body.dark-theme .lang-switcher a:hover {
    color: var(--accent-red) !important;
    background: rgba(255, 59, 48, 0.1) !important;
}

body.dark-theme .lang-switcher a.lang-active {
    color: var(--text-primary) !important;
    background: var(--bg-tertiary) !important;
}

body.dark-theme .lang-divider {
    color: var(--border-medium) !important;
}

/* ============================================
   WORK/PORTFOLIO
   ============================================ */
body.dark-theme .cases-grid {
    background: transparent !important;
}

body.dark-theme .filter-btn {
    background: var(--bg-card) !important;
    color: var(--text-secondary) !important;
    border: 1px solid var(--border-subtle) !important;
}

body.dark-theme .filter-btn:hover,
body.dark-theme .filter-btn.active {
    background: var(--accent-red) !important;
    color: white !important;
    border-color: var(--accent-red) !important;
}

/* ============================================
   CASE STUDY PAGES
   ============================================ */
body.dark-theme .case-hero {
    background: var(--bg-secondary) !important;
}

body.dark-theme .case-detail-content {
    background: var(--bg-primary) !important;
}

body.dark-theme .case-sidebar {
    background: var(--bg-card) !important;
    border: 1px solid var(--border-subtle) !important;
}

/* ============================================
   CHECKLIST & DOWNLOAD
   ============================================ */
body.dark-theme .checklist-item {
    background: var(--bg-card) !important;
    border: 1px solid var(--border-subtle) !important;
}

body.dark-theme .download-box {
    background: var(--bg-card) !important;
    border: 1px solid var(--border-medium) !important;
}

/* ============================================
   404 PAGE
   ============================================ */
body.dark-theme .error-page {
    background: var(--bg-primary) !important;
}

body.dark-theme .error-code {
    color: var(--accent-red) !important;
}

body.dark-theme .error-message {
    color: var(--text-secondary) !important;
}

/* ============================================
   PRIVACY PAGE
   ============================================ */
body.dark-theme .privacy-content,
body.dark-theme .legal-content {
    background: var(--bg-primary) !important;
}

body.dark-theme .privacy-content h2,
body.dark-theme .privacy-content h3 {
    color: var(--text-primary) !important;
}

body.dark-theme .privacy-content p {
    color: var(--text-secondary) !important;
}

/* ============================================
   ANIMATIONS
   ============================================ */
@keyframes subtle-glow {

    0%,
    100% {
        box-shadow: 0 0 20px rgba(255, 59, 48, 0.1);
    }

    50% {
        box-shadow: 0 0 40px rgba(255, 59, 48, 0.2);
    }
}

body.dark-theme .hero .btn-primary {
    animation: subtle-glow 3s ease-in-out infinite;
}

/* ============================================
   TEAM CARDS & GRID - CHI SIAMO PAGE
   ============================================ */
body.dark-theme .team-card,
body.dark-theme .team-member,
body.dark-theme .team-section .card,
body.dark-theme .team-grid>a,
body.dark-theme .team-grid>div {
    background: var(--bg-card) !important;
    border: 1px solid var(--border-subtle) !important;
    color: var(--text-primary) !important;
}

body.dark-theme .team-grid>a:hover,
body.dark-theme .team-grid>div:hover {
    border-color: var(--accent-red) !important;
}

/* ============================================
   SERVICE ITEMS - SERVIZI PAGE
   ============================================ */
body.dark-theme .service-item,
body.dark-theme .services-list>.container>div,
body.dark-theme .service-info {
    background: var(--bg-card) !important;
    color: var(--text-primary) !important;
}

body.dark-theme .service-visual {
    background: var(--bg-tertiary) !important;
    border-color: var(--border-medium) !important;
}

body.dark-theme .service-info h2 {
    color: var(--text-primary) !important;
}

body.dark-theme .service-info p {
    color: var(--text-muted) !important;
}

body.dark-theme .service-features li {
    color: var(--text-muted) !important;
}

body.dark-theme .service-link {
    color: var(--accent-red) !important;
}

/* ============================================
   FAQ WITH INLINE STYLES
   ============================================ */
body.dark-theme details[style*="background: var(--gray-light)"],
body.dark-theme details[style*="background:#F5F5F7"],
body.dark-theme .faq-item[style*="gray-light"],
body.dark-theme .faq-item[style*="F5F5F7"] {
    background: var(--bg-card) !important;
    border-color: var(--border-subtle) !important;
}

body.dark-theme .faq-answer[style*="color: var(--gray)"],
body.dark-theme .faq-answer[style*="border-top: 2px solid var(--gray-dark)"] {
    color: var(--text-secondary) !important;
    border-top-color: var(--border-subtle) !important;
}

/* ============================================
   SECTIONS WITH INLINE styles background: white
   ============================================ */
body.dark-theme section[style*="background: white"],
body.dark-theme section[style*="background: var(--white)"],
body.dark-theme section.faq-section[style*="background: var(--white)"],
body.dark-theme .services-list[style*="background: white"] {
    background: var(--bg-primary) !important;
}

/* ============================================
   AGGRESSIVE CATCH-ALL FOR WHITE/LIGHT BG
   ============================================ */
body.dark-theme *[style*="background: white"],
body.dark-theme *[style*="background:white"],
body.dark-theme *[style*="background: #fff"],
body.dark-theme *[style*="background:#fff"],
body.dark-theme *[style*="background: #FFF"],
body.dark-theme *[style*="background:#FFF"],
body.dark-theme *[style*="background: #ffffff"],
body.dark-theme *[style*="background:#ffffff"],
body.dark-theme *[style*="background: var(--white)"],
body.dark-theme *[style*="background: var(--gray-light)"],
body.dark-theme *[style*="background: #F5F5F7"],
body.dark-theme *[style*="background:#F5F5F7"] {
    background: var(--bg-card) !important;
}

/* ============================================
   AGGRESSIVE TEXT COLOR OVERRIDES
   ============================================ */
body.dark-theme *[style*="color: var(--black)"],
body.dark-theme *[style*="color:var(--black)"],
body.dark-theme *[style*="color: #1D1D1F"],
body.dark-theme *[style*="color:#1D1D1F"],
body.dark-theme *[style*="color: #000"],
body.dark-theme *[style*="color:#000"],
body.dark-theme *[style*="color: black"],
body.dark-theme *[style*="color:black"] {
    color: var(--text-primary) !important;
}

body.dark-theme *[style*="color: var(--gray)"],
body.dark-theme *[style*="color:var(--gray)"],
body.dark-theme *[style*="color: #86868B"],
body.dark-theme *[style*="color:#86868B"] {
    color: var(--text-muted) !important;
}

/* ============================================
   BORDER OVERRIDES
   ============================================ */
body.dark-theme *[style*="border: 2px solid var(--gray-dark)"],
body.dark-theme *[style*="border:2px solid var(--gray-dark)"],
body.dark-theme *[style*="border-color: var(--gray-dark)"] {
    border-color: var(--border-medium) !important;
}

/* ============================================
   CONTACT INFO CARDS
   ============================================ */
body.dark-theme .contact-info,
body.dark-theme .contact-card,
body.dark-theme .contact-details {
    background: var(--bg-card) !important;
    color: var(--text-primary) !important;
}

/* ============================================
   BLOG CARD SPECIFIC
   ============================================ */
body.dark-theme .blog-card-content {
    background: var(--bg-card) !important;
}

body.dark-theme .blog-card-title {
    color: var(--text-primary) !important;
}

body.dark-theme .blog-card-excerpt {
    color: var(--text-muted) !important;
}

/* ============================================
   SCROLLBAR DARK THEME
   ============================================ */
body.dark-theme::-webkit-scrollbar {
    width: 8px;
    background: var(--bg-primary);
}

body.dark-theme::-webkit-scrollbar-thumb {
    background: var(--bg-tertiary);
    border-radius: 4px;
}

body.dark-theme::-webkit-scrollbar-thumb:hover {
    background: var(--accent-red);
}

/* ============================================
   ULTRA AGGRESSIVE DARK THEME OVERRIDES
   Override ALL inline styles and local CSS
   ============================================ */

/* FORCE DARK BACKGROUNDS EVERYWHERE */
body.dark-theme section,
body.dark-theme .hero,
body.dark-theme .story,
body.dark-theme .values,
body.dark-theme .team,
body.dark-theme .certifications,
body.dark-theme .clients-logos,
body.dark-theme .process-about,
body.dark-theme .services-list,
body.dark-theme .faq-section {
    background: var(--bg-primary) !important;
}

/* TEAM MEMBERS - FORCE DARK */
body.dark-theme .team-member,
body.dark-theme .team-grid>div,
body.dark-theme .value,
body.dark-theme .cert-card,
body.dark-theme .client-logo,
body.dark-theme .process-card {
    background: var(--bg-card) !important;
    border-color: var(--border-subtle) !important;
    color: var(--text-primary) !important;
}

body.dark-theme .team-member:hover,
body.dark-theme .value:hover,
body.dark-theme .cert-card:hover,
body.dark-theme .client-logo:hover,
body.dark-theme .process-card:hover {
    border-color: var(--accent-red) !important;
}

/* ALL H1-H6 WHITE */
body.dark-theme .team-member h3,
body.dark-theme .value h3,
body.dark-theme .cert-title,
body.dark-theme .process-card h3,
body.dark-theme .client-logo span {
    color: var(--text-primary) !important;
}

/* ALL PARAGRAPHS READABLE */
body.dark-theme .team-member .bio,
body.dark-theme .team-member p:not(.role),
body.dark-theme .value p,
body.dark-theme .cert-desc,
body.dark-theme .process-card p,
body.dark-theme .story-content p {
    color: var(--text-muted) !important;
}

/* ROLES RED */
body.dark-theme .team-member .role {
    color: var(--accent-red) !important;
}

/* SERVICE CARDS - Keep background-image visible */
body.dark-theme .service-card-content {
    background: transparent !important;
}

body.dark-theme .service-card-content h3 {
    color: var(--text-primary) !important;
}

body.dark-theme .service-card-content p {
    color: var(--text-muted) !important;
}

body.dark-theme .service-card-arrow {
    color: var(--accent-red) !important;
    background: var(--accent-red) !important;
}


/* MISSION SECTION */
body.dark-theme .mission {
    background: var(--bg-secondary) !important;
}

body.dark-theme .mission-content h2 {
    color: var(--text-primary) !important;
}

body.dark-theme .mission-content p {
    color: var(--text-secondary) !important;
}

/* STATS SECTION */
body.dark-theme .stats {
    background: var(--bg-secondary) !important;
}

/* HERO SECTIONS ON ALL PAGES */
body.dark-theme .hero[style*="gray-light"],
body.dark-theme section.hero {
    background: var(--bg-secondary) !important;
}

body.dark-theme .hero h1 {
    color: var(--text-primary) !important;
}

body.dark-theme .hero p {
    color: var(--text-secondary) !important;
}

/* CTA SECTIONS */
body.dark-theme .cta-red {
    background: var(--accent-red) !important;
}

body.dark-theme .cta-red h2 {
    color: var(--text-primary) !important;
}

body.dark-theme .cta-red p {
    color: rgba(255, 255, 255, 0.9) !important;
}

/* OVERRIDE ALL var(--gray) text */
body.dark-theme [style*="color: var(--gray)"] {
    color: var(--text-muted) !important;
}

/* OVERRIDE ALL var(--black) text */
body.dark-theme [style*="color: var(--black)"] {
    color: var(--text-primary) !important;
}

/* OVERRIDE ALL var(--gray-light) backgrounds */
body.dark-theme [style*="background: var(--gray-light)"] {
    background: var(--bg-card) !important;
}

/* OVERRIDE ALL white backgrounds */
body.dark-theme [style*="background: white"],
body.dark-theme [style*="background:white"],
body.dark-theme [style*="background: #fff"],
body.dark-theme [style*="background:#fff"],
body.dark-theme [style*="background: var(--white)"] {
    background: var(--bg-card) !important;
}

/* SERVICE VISUAL ICONS */
body.dark-theme .service-visual {
    background: var(--bg-tertiary) !important;
    border-color: var(--border-medium) !important;
}

/* TEAM AVATAR */
body.dark-theme .team-avatar {
    background: var(--bg-tertiary) !important;
}

/* VALUE ICONS */
body.dark-theme .value-icon,
body.dark-theme .process-card-icon {
    background: var(--accent-red) !important;
}

/* INLINE STRONG TAG */
body.dark-theme strong {
    color: var(--text-primary) !important;
}

/* SECTION SUBTITLES */
body.dark-theme .section-title+p,
body.dark-theme h2+p {
    color: var(--text-muted) !important;
}

/* BLOG CARDS */
body.dark-theme .blog-card,
body.dark-theme .blog-grid>a {
    background: var(--bg-card) !important;
    border-color: var(--border-subtle) !important;
}

body.dark-theme .blog-card:hover,
body.dark-theme .blog-grid>a:hover {
    border-color: var(--accent-red) !important;
}

body.dark-theme .blog-card h3,
body.dark-theme .blog-card-title {
    color: var(--text-primary) !important;
}

body.dark-theme .blog-card p,
body.dark-theme .blog-card-excerpt {
    color: var(--text-muted) !important;
}

body.dark-theme .blog-card-meta {
    color: var(--text-subtle) !important;
}

/* CASE STUDY CARDS */
body.dark-theme .case-card,
body.dark-theme .cases-grid>a,
body.dark-theme .work-card {
    background: var(--bg-card) !important;
    border-color: var(--border-subtle) !important;
}

body.dark-theme .case-card:hover,
body.dark-theme .cases-grid>a:hover {
    border-color: var(--accent-red) !important;
}

/* CONTACT PAGE */
body.dark-theme .contatti-grid,
body.dark-theme .contact-form-wrapper,
body.dark-theme .contact-info-wrapper {
    background: var(--bg-primary) !important;
}

body.dark-theme .contatti-form,
body.dark-theme .contact-form {
    background: var(--bg-card) !important;
}

/* DETAILS/SUMMARY FAQ */
body.dark-theme details,
body.dark-theme details.faq-item {
    background: var(--bg-card) !important;
    border-color: var(--border-subtle) !important;
}

body.dark-theme details summary,
body.dark-theme summary.faq-question {
    color: var(--text-primary) !important;
}

body.dark-theme details .faq-answer,
body.dark-theme .faq-answer {
    color: var(--text-secondary) !important;
    border-top-color: var(--border-subtle) !important;
}

/* PRIVACY/LEGAL PAGES */
body.dark-theme .privacy-section,
body.dark-theme .legal-section,
body.dark-theme .privacy-content {
    background: var(--bg-primary) !important;
}

body.dark-theme .privacy-content p,
body.dark-theme .legal-content p {
    color: var(--text-secondary) !important;
}

/* ERROR 404 */
body.dark-theme .error-page,
body.dark-theme .error-container {
    background: var(--bg-primary) !important;
}

/* FOOTER ALWAYS DARK */
body.dark-theme footer {
    background: var(--bg-primary) !important;
}

body.dark-theme .footer-content,
body.dark-theme .footer-bottom {
    background: transparent !important;
}

/* CHECKLIST PAGES */
body.dark-theme .checklist-section,
body.dark-theme .download-section {
    background: var(--bg-primary) !important;
}

body.dark-theme .checklist-item,
body.dark-theme .download-box {
    background: var(--bg-card) !important;
    border-color: var(--border-subtle) !important;
}

/* ============================================
   HOMEPAGE SPECIFIC FIXES
   Change white cards to anthracite
   ============================================ */

/* Services section cards */
body.dark-theme #servizi>.container>div>div[style*="background: linear-gradient"],
body.dark-theme .animate-on-scroll[style*="background: linear-gradient(135deg, white"],
body.dark-theme div[style*="background: linear-gradient(135deg, white 0%, #fafafa 100%)"] {
    background: linear-gradient(135deg, #1C1C1C 0%, #242424 100%) !important;
    border-color: var(--border-subtle) !important;
}

body.dark-theme #servizi div[style*="background: linear-gradient"] h3,
body.dark-theme #servizi .animate-on-scroll h3 {
    color: var(--text-primary) !important;
}

body.dark-theme #servizi div[style*="background: linear-gradient"] p,
body.dark-theme #servizi .animate-on-scroll p {
    color: var(--text-muted) !important;
}

/* Differentiator cards - Perché Genesis AI section */
body.dark-theme section[style*="background: var(--gray-light)"] div[style*="background: white"],
body.dark-theme .differentiators-grid div[style*="background: white"],
body.dark-theme div[style*="border-top: 4px solid var(--red)"][style*="background: white"] {
    background: #1C1C1C !important;
    border-color: var(--border-subtle) !important;
}

body.dark-theme .differentiators-grid h3,
body.dark-theme section[style*="background: var(--gray-light)"] div[style*="background: white"] h3 {
    color: var(--text-primary) !important;
}

body.dark-theme section[style*="background: var(--gray-light)"] {
    background: var(--bg-secondary) !important;
}

/* Team section - h4 names need to be visible */
body.dark-theme .team-grid h4,
body.dark-theme .team-section h4 {
    color: var(--text-primary) !important;
}

/* Chi Siamo section timeline and cards */
body.dark-theme .chi-siamo-content h4,
body.dark-theme .timeline-text h4 {
    color: var(--text-primary) !important;
}

body.dark-theme .founder-story h3 {
    color: var(--text-primary) !important;
}

/* CTA boxes that should stay dark/red */
body.dark-theme div[style*="background: rgba(255,59,48,0.05)"],
body.dark-theme div[style*="background: rgba(0,71,255,0.05)"] {
    background: rgba(255, 59, 48, 0.1) !important;
}

/* Founder story text */
body.dark-theme .founder-story p {
    color: var(--text-muted) !important;
}

/* Timeline years */
body.dark-theme .timeline-year {
    color: var(--accent-red) !important;
}

/* Progressive CTA sections with gradient background */
body.dark-theme div[style*="background: linear-gradient(135deg, #1D1D1F"] h3 {
    color: var(--text-primary) !important;
}

/* Section titles inside chi-siamo */
body.dark-theme #chi-siamo h3,
body.dark-theme .mission-section h3 {
    color: var(--accent-red) !important;
}

/* ============================================
   ULTRA-AGGRESSIVE INLINE STYLE OVERRIDES
   These catch elements styled with inline CSS
   ============================================ */

/* All cards with white/light backgrounds in #servizi */
body.dark-theme #servizi .container>div>div {
    background: #1C1C1C !important;
    border-color: rgba(255, 255, 255, 0.1) !important;
}

body.dark-theme #servizi .container>div>div h3 {
    color: #FFFFFF !important;
}

body.dark-theme #servizi .container>div>div p {
    color: #B3B3B3 !important;
}

/* Differentiator section cards */
body.dark-theme .differentiators-grid>div {
    background: #1C1C1C !important;
}

body.dark-theme .differentiators-grid>div h3 {
    color: #FFFFFF !important;
}

body.dark-theme .differentiators-grid>div p {
    color: #B3B3B3 !important;
}

/* Gray-light section backgrounds */
body.dark-theme section[style*="gray-light"] {
    background: #111111 !important;
}

/* Team section card wrapper */
body.dark-theme .team-section,
body.dark-theme .chi-siamo-content .team-section {
    background: transparent !important;
}

/* Ensure all h4 in team grids are white */
body.dark-theme .team-grid a h4 {
    color: #FFFFFF !important;
}

/* ============================================
   FIX PORTFOLIO / CASE STUDIES VISIBILITY
   ============================================ */
body.dark-theme #case-studies .case-card {
    background-color: #1C1C1C !important;
    border-color: rgba(255, 255, 255, 0.1) !important;
}

body.dark-theme #case-studies .case-content {
    background-color: #1C1C1C !important;
}

body.dark-theme #case-studies .case-client a {
    color: #E5E5E5 !important;
}

body.dark-theme #case-studies .case-metrics {
    background-color: #111111 !important;
    /* distinct from card bg */
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
}

body.dark-theme #case-studies .case-metrics .metric {
    color: #B3B3B3 !important;
}

body.dark-theme #case-studies .case-metrics strong {
    color: #FFFFFF !important;
}

body.dark-theme #case-studies .case-tag {
    background-color: #FF3B30 !important;
    color: #FFFFFF !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3) !important;
}

/* ============================================
   FIX CONTACT PAGE VISIBILITY
   ============================================ */
body.dark-theme .contact-main {
    background: #0A0A0A !important;
}

body.dark-theme .contact-info h2,
body.dark-theme .contact-form-box h3,
body.dark-theme .contact-text h3 {
    color: #FFFFFF !important;
}

body.dark-theme .contact-card {
    background: #1C1C1C !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
}

body.dark-theme .contact-text p {
    color: #B3B3B3 !important;
}

body.dark-theme .contact-form-box {
    background: #1C1C1C !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
}

body.dark-theme .form-field label {
    color: #E5E5E5 !important;
}

body.dark-theme .form-field input,
body.dark-theme .form-field textarea,
body.dark-theme .form-field select {
    background: #111111 !important;
    border-color: rgba(255, 255, 255, 0.15) !important;
    color: #FFFFFF !important;
}

body.dark-theme .form-field input::placeholder,
body.dark-theme .form-field textarea::placeholder {
    color: #808080 !important;
}

body.dark-theme .options-section {
    background: #111111 !important;
}

body.dark-theme .options-section h2 {
    color: #FFFFFF !important;
}

body.dark-theme .option-box {
    background: #1C1C1C !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    color: #FFFFFF !important;
}

body.dark-theme .option-box p {
    color: #B3B3B3 !important;
}

body.dark-theme .option-box:hover {
    border-color: #FF3B30 !important;
    transform: translateY(-4px);
}

/* ============================================
   FIX WORK / PORTFOLIO PAGE (.portfolio-card)
   ============================================ */
body.dark-theme .portfolio-card {
    background: #1C1C1C !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
}

body.dark-theme .card-title {
    color: #FFFFFF !important;
}

body.dark-theme .card-description {
    color: #B3B3B3 !important;
}

body.dark-theme .stat-label {
    color: #808080 !important;
}

body.dark-theme .card-tag {
    background: #FF3B30 !important;
    color: #FFFFFF !important;
}

/* ============================================
   FIX SERVICES PAGE (.service-item, .faq-item)
   ============================================ */
body.dark-theme .service-item {
    background: #1C1C1C !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
}

body.dark-theme .service-visual {
    background: #111111 !important;
    border-color: rgba(255, 255, 255, 0.2) !important;
}

body.dark-theme .service-visual span {
    color: #FFFFFF !important;
}

body.dark-theme .service-info h2 {
    color: #FFFFFF !important;
}

body.dark-theme .service-features li {
    color: #B3B3B3 !important;
}

body.dark-theme .faq-item {
    background: #1C1C1C !important;
    border-color: rgba(255, 255, 255, 0.1) !important;
}

body.dark-theme .faq-question {
    color: #FFFFFF !important;
}

body.dark-theme .faq-answer {
    color: #B3B3B3 !important;
    border-top-color: rgba(255, 255, 255, 0.1) !important;
}

/* ============================================
   FIX ABOUT PAGE (.team-member, .value)
   ============================================ */
body.dark-theme .team-member,
body.dark-theme .value,
body.dark-theme .cert-card,
body.dark-theme .process-card,
body.dark-theme .client-logo {
    background: #1C1C1C !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
}

body.dark-theme .team-member h3,
body.dark-theme .value h3,
body.dark-theme .process-card h3,
body.dark-theme .client-logo span {
    color: #FFFFFF !important;
}

body.dark-theme .team-member .bio,
body.dark-theme .value p,
body.dark-theme .process-card p,
body.dark-theme .story-content p {
    color: #B3B3B3 !important;
}

body.dark-theme .team-avatar {
    border-color: #FF3B30 !important;
    /* Ensure brand color pop */
}