/* =============================================
   DRIVE AWAKE — BRAND IDENTITY OVERRIDE v1.0
   Da applicare DOPO il CSS esistente del sito.
   
   Cambiamenti rispetto alla versione precedente:
   - Background: #000 → #1F1F1F
   - Accent beige/taupe → Blu #4A9EFF (primary)
   - Accent circadiano arancione → #FF6B35 (critical)
   - Cards: #0a0a0a → #2A2A2A
   - Bordi: #222/#333 → #333/#444
   ============================================= */

:root {
    --brand-blue:       #4A9EFF;
    --brand-blue-dim:   rgba(74, 158, 255, 0.12);
    --brand-blue-glow:  rgba(74, 158, 255, 0.06);
    --brand-orange:     #FF6B35;
    --brand-orange-dim: rgba(255, 107, 53, 0.12);
    --brand-bg:         #1F1F1F;
    --brand-bg-raised:  #252525;
    --brand-bg-card:    #2A2A2A;
    --brand-border:     #333333;
    --brand-border-mid: #444444;
    --text-primary:     #FAFCFF;
    --text-secondary:   #A8B2C0;
    --text-muted:       #666E7A;

    /* Override variabili circadiane esistenti */
    --text-primary:     #FAFCFF;
    --accent-primary:   var(--brand-blue);
    --accent-secondary: #3A8EEF;
    --accent-glow:      var(--brand-blue-glow);
    --accent-opacity:   1;
}

/* ── BODY & BASE ── */
body {
    background: var(--brand-bg);
}

/* ── SELECTION ── */
::selection        { background: var(--brand-blue); color: #000; }
::-moz-selection   { background: var(--brand-blue); color: #000; }

/* ── LINK HOVER ── */
a:hover { color: var(--brand-blue) !important; }
a:focus, button:focus, input:focus, textarea:focus {
    outline: 2px solid var(--brand-blue);
    outline-offset: 2px;
}

/* ── HEADER ── */
.header {
    background: rgba(31, 31, 31, 0.97);
    border-bottom-color: var(--brand-border);
}
.nav-title    { color: var(--text-secondary); }
.nav-subtitle { color: var(--text-muted); }
.nav-item:hover .nav-title    { color: #fff; }
.nav-item:hover .nav-subtitle { color: var(--text-secondary); }
.nav-languages { border-left-color: var(--brand-border); }
.nav-languages a         { color: var(--text-muted); }
.nav-languages a.active  { color: var(--brand-blue); }
.mobile-nav-languages a        { color: var(--text-muted); }
.mobile-nav-languages a.active { color: var(--brand-blue); }

/* ── LOGO SVG ── */
/* Il cerchio esterno del logo diventa blu brand */
.logo circle:nth-child(2),
.mobile-menu-logo circle:nth-child(2) {
    stroke: var(--brand-blue);
}
/* Il cerchio centrale (core) diventa blu */
.logo circle:last-child,
.mobile-menu-logo circle:last-child {
    fill: var(--brand-blue);
}

/* ── HERO SUBTITLE ── */
.subtitle {
    color: var(--brand-blue);
    opacity: 0.85;
}

/* ── MISSION ── */
.mission {
    background: var(--brand-bg-raised);
    border-top-color: var(--brand-border);
    border-bottom-color: var(--brand-border);
}

/* ── PILLARS ── */
.pillars { border-top-color: var(--brand-border); }
.pillar {
    background: var(--brand-bg-card);
    border-color: var(--brand-border);
}
.pillar::before {
    background: linear-gradient(135deg, rgba(74,158,255,0.04) 0%, transparent 100%);
}
.pillar:hover {
    border-color: var(--brand-blue);
    box-shadow: 0 8px 32px rgba(74,158,255,0.08);
}
.pillar-number { color: var(--brand-blue); }

/* ── TIMELINE ── */
.timeline         { border-top-color: var(--brand-border); }
.timeline-item    { border-bottom-color: var(--brand-border); }
.timeline-year    { color: var(--brand-blue); }

/* ── DOCUMENTARY ── */
.documentary { border-top-color: var(--brand-border); }
.documentary-image-container {
    background: var(--brand-bg-card);
    border-color: var(--brand-border);
}

/* ── ECOSYSTEM ── */
.ecosystem { border-top-color: var(--brand-border); background: var(--brand-bg-raised); }
.pyramid-level::after {
    background: linear-gradient(to bottom, var(--brand-border-mid), transparent);
}
.pyramid-box {
    background: var(--brand-bg);
    border-color: var(--brand-border);
}
.pyramid-box:hover {
    border-color: var(--brand-blue);
    box-shadow: 0 8px 24px rgba(74,158,255,0.1);
}
.pyramid-box.da20-enhanced {
    border-color: rgba(74, 158, 255, 0.2);
    box-shadow: 0 0 12px var(--brand-blue-glow);
}
.pyramid-box.evaluation,
.pyramid-box.nas {
    border-color: var(--brand-border-mid);
}
.pyramid-box.production,
.pyramid-box.preproduction { border-color: var(--brand-border-mid); }

/* DA 2.0 badges */
.da20-badge.baseline {
    border-color: var(--brand-border-mid);
    color: var(--text-muted);
}
.da20-badge.enhanced,
.da20-badge.dual {
    border-color: var(--brand-blue);
    color: var(--brand-blue);
}
.da20-badge.enhanced:hover,
.da20-badge.dual:hover { background: var(--brand-blue-dim); }

/* Tooltips */
.da20-tooltip {
    background: #1c1c1c;
    border-color: var(--brand-blue);
}
.da20-tooltip:before {
    background: #1c1c1c;
    border-top-color: var(--brand-blue);
    border-right-color: var(--brand-blue);
}
.level-0 .da20-tooltip:before,
.level-1 .da20-tooltip:before,
.level-2 .da20-tooltip:before {
    border-bottom-color: var(--brand-blue);
    border-left-color: var(--brand-blue);
    border-top-color: transparent;
    border-right-color: transparent;
}
.tooltip-subtitle { color: var(--text-muted); }
.tooltip-section.enhanced .tooltip-subtitle { color: var(--brand-blue); }
.tooltip-divider { background: var(--brand-border); }
.da20-tooltip li { color: var(--text-secondary); }
.da20-tooltip li:before { color: var(--text-muted); }

.ecosystem-note {
    background: var(--brand-bg);
    border-color: var(--brand-border);
}
.pyramid-description-small { color: var(--text-secondary); border-top-color: var(--brand-border); }

/* ── IRM SECTION ── */
.irm-section { border-top-color: var(--brand-border); background: var(--brand-bg); }
.irm-content {
    background: var(--brand-bg-card);
    border-color: var(--brand-border);
}
.irm-content:hover {
    border-color: var(--brand-blue);
    box-shadow: 0 4px 24px rgba(74,158,255,0.08);
}
.irm-subtitle { color: var(--brand-blue); }
.irm-list li::before { color: var(--brand-blue); }

/* ── INTERNATIONAL ── */
.international { border-top-color: var(--brand-border); }
.partners-list li { background: rgba(74,158,255,0.04); }

/* ── NEWS ── */
.news         { border-top-color: var(--brand-border); }
.news-item    { border-bottom-color: var(--brand-border); }
.news-date    { color: var(--brand-blue); }
.news-more summary {
    background: rgba(74,158,255,0.04);
    border-color: var(--brand-border);
}
.news-more summary:hover {
    background: rgba(74,158,255,0.08);
    color: var(--brand-blue);
    border-color: rgba(74,158,255,0.3);
}
.news-more .news-list {
    border-color: var(--brand-border);
}

/* ── PARTNERS ── */
.partners { background: var(--brand-bg-raised); border-top-color: var(--brand-border); border-bottom-color: var(--brand-border); }
.partners-category h3 { color: var(--brand-blue); }
.partner-card {
    background: var(--brand-bg);
    border-color: var(--brand-border);
}
.partner-card:hover {
    border-color: var(--brand-blue);
    box-shadow: 0 4px 16px rgba(74,158,255,0.08);
}
.partner-card-link { color: var(--text-muted); }
.partner-card-link:hover { color: var(--brand-blue); }

/* ── COLLABORATORS ── */
#collaborators {
    background: var(--brand-bg-raised);
    border-top-color: var(--brand-border);
}
.collaborator-box {
    background: var(--brand-bg-card);
    border-color: var(--brand-border);
}
.collaborator-box:hover {
    border-color: var(--brand-blue);
    background: rgba(74,158,255,0.04);
    box-shadow: 0 4px 16px rgba(74,158,255,0.08);
}

/* ── SUBSCRIBE ── */
.subscribe { border-top-color: var(--brand-border); }
.subscribe-input {
    background: var(--brand-bg-card);
    border-color: var(--brand-border);
}
.subscribe-input::placeholder { color: var(--text-muted); }
.subscribe-input:focus { border-color: var(--brand-blue); }
.subscribe-button {
    background: var(--brand-blue);
    color: #000;
}
.subscribe-button:hover {
    background: #6db3ff;
    box-shadow: 0 4px 16px rgba(74,158,255,0.3);
}
.subscribe-note { color: var(--text-muted); }

/* ── CONTACT ── */
.contact { border-top-color: var(--brand-border); }
.form-group input,
.form-group textarea {
    background: var(--brand-bg-card);
    border-color: var(--brand-border);
}
.form-group input:focus,
.form-group textarea:focus { border-color: var(--brand-blue); }
.submit-btn {
    background: var(--brand-blue);
    color: #000;
}
.submit-btn:hover {
    background: #6db3ff;
    box-shadow: 0 4px 16px rgba(74,158,255,0.3);
}
.contact-note { color: var(--text-muted); }

/* ── SOCIAL ── */
.social { border-top-color: var(--brand-border); }
.social-link {
    color: var(--brand-blue);
    border-color: var(--brand-blue);
}
.social-link:hover {
    background: var(--brand-blue);
    color: #000;
    box-shadow: 0 4px 16px rgba(74,158,255,0.25);
}

/* ── FOOTER ── */
footer { border-top-color: var(--brand-border); }
.footer-support { border-top-color: var(--brand-border); }
.footer-support-logo { border-color: var(--brand-border); }
.footer-support-logo:hover { border-color: var(--brand-border-mid); }

/* ── STICKY CTA ── */
.sticky-cta {
    background: linear-gradient(to top, rgba(31,31,31,1) 0%, rgba(31,31,31,0.95) 50%, rgba(31,31,31,0) 100%);
}
.sticky-cta-btn {
    background: rgba(74,158,255,0.12);
    color: var(--brand-blue);
    border-color: rgba(74,158,255,0.3);
}
.sticky-cta-btn:hover {
    background: rgba(74,158,255,0.2);
    border-color: rgba(74,158,255,0.5);
}

/* ── CIRCADIAN BADGE ── */
.circadian-badge {
    background: var(--brand-blue-dim);
    border-color: rgba(74,158,255,0.25);
    color: var(--brand-blue);
}
.circadian-badge:hover {
    background: rgba(74,158,255,0.15);
    border-color: rgba(74,158,255,0.45);
}
.circadian-nav-icon {
    background: var(--brand-blue-dim);
    border-color: rgba(74,158,255,0.25);
}
.circadian-nav-icon:hover {
    background: rgba(74,158,255,0.15);
    border-color: rgba(74,158,255,0.45);
}
.circadian-nav-icon svg { color: var(--brand-blue); }
.circadian-tooltip {
    background: rgba(25,25,25,0.98);
    border-color: rgba(74,158,255,0.3);
}
.circadian-modal-content {
    background: var(--brand-bg-card);
    border-color: rgba(74,158,255,0.3);
}
.circadian-modal h3 { color: var(--brand-blue); }

/* ── ABOUT SECTIONS ── */
.about-hero {
    background: linear-gradient(135deg, var(--brand-bg) 0%, var(--brand-bg-raised) 100%);
    border-top-color: var(--brand-border);
}
.about-tagline   { color: var(--text-secondary); }
.about-content   { border-top-color: var(--brand-border); }
.about-section + .about-section { border-top: none; }
.team-role { color: var(--brand-blue); }
.bio-link:hover { color: var(--brand-blue); border-bottom-color: var(--brand-blue); }
.about-collaboration {
    background: rgba(74,158,255,0.04);
    border-left-color: var(--brand-blue);
}
.about-approach {
    background: rgba(74,158,255,0.04);
    border-left-color: var(--brand-border-mid);
}
.documentary-portal { border-top-color: var(--brand-border); }
.about-production   { border-top-color: var(--brand-border); }
.about-production a { color: var(--brand-blue); }
.approach-number    { color: var(--brand-blue-dim); }
.mv-box {
    background: rgba(74,158,255,0.04);
    border-color: var(--brand-border);
}

/* ── CAMPAIGN ── */
.campaign-hero {
    background: linear-gradient(135deg, var(--brand-bg) 0%, var(--brand-bg-raised) 100%);
    border-top-color: var(--brand-border);
}
.campaign-tagline { color: var(--text-secondary); }
.campaign-content { border-top-color: var(--brand-border); }
.impact-phase-enhanced {
    background: rgba(74,158,255,0.04);
    border-left-color: var(--brand-blue);
}
.da20-vision {
    background: rgba(74,158,255,0.04);
    border-left-color: var(--brand-blue);
}
.campaign-timeline-box {
    background: rgba(74,158,255,0.04);
    border-color: var(--brand-border);
}
.ct-item strong { color: var(--brand-blue); }
.campaign-source { border-left-color: var(--brand-border); }

/* ── EVALUATION ── */
.evaluation { border-top-color: var(--brand-border); }
.evaluation-note {
    background: rgba(74,158,255,0.04);
    border-left-color: var(--brand-blue);
}

/* ── SUMMARY ── */
.summary { border-top-color: var(--brand-border); }
.summary-goal {
    background: rgba(74,158,255,0.06);
    border: 1px solid rgba(74,158,255,0.2);
}

/* ── MOBILE MENU ── */
.mobile-menu { background: rgba(31,31,31,0.99); }
.mobile-menu-intro { border-bottom-color: var(--brand-border); }
.mobile-nav-subtitle { color: var(--brand-blue); }

/* ── FUTURE PARTNERS / INTERNATIONAL 2.0 ── */
.future-partners {
    background: var(--brand-bg-card);
    border-color: var(--brand-border);
}
.international-partnerships-2 {
    background: linear-gradient(135deg, var(--brand-bg-raised) 0%, var(--brand-bg-card) 100%);
    border-color: var(--brand-border);
}
.international-partnerships-2::before {
    background: var(--brand-bg-raised);
    color: var(--text-muted);
    border-color: var(--brand-border);
}
.funding-tag {
    background: var(--brand-blue-dim);
    border-color: rgba(74,158,255,0.3);
    color: var(--brand-blue);
}

/* ── PARTNER ITEM ── */
.partner-item {
    background: rgba(74,158,255,0.03);
    border-color: var(--brand-border);
}
.partner-item:hover {
    border-color: var(--brand-blue);
    background: rgba(74,158,255,0.05);
}
.partner-type { color: var(--text-muted); }

/* ── FLOW ARROW SVG ── */
.flow-arrows line,
.flow-arrows polygon { stroke: var(--brand-blue); fill: var(--brand-blue); }
