/* =============================================
   MASTER 272 — THÈME CLAIR / LIGHT THEME
   Charte Dauphine-PSL — #2f4486 (Pantone 7687C)
   Complémentaires : #5cedff · #434148
   Activé par la classe html.theme-light
   ============================================= */

html.theme-light {
  --bg-primary: #f8f9fc;
  --bg-secondary: #eef1f6;
  --bg-card: rgba(255, 255, 255, 0.85);
  --blue: #2f4486;
  --blue-light: #3b5498;
  --blue-glow: rgba(47, 68, 134, 0.2);
  --red: #c0392b;
  --red-glow: rgba(192, 57, 43, 0.15);
  --gold: #b8941f;
  --cyan: #2ba8c4;
  --text-primary: #1a1d2b;
  --text-secondary: #555a6e;
  --text-muted: #8b90a0;
  --border: rgba(47, 68, 134, 0.1);
  --border-light: rgba(47, 68, 134, 0.15);
  --glass-bg: rgba(255, 255, 255, 0.7);
  --glass-border: rgba(47, 68, 134, 0.1);
}

/* BASE */
html.theme-light body { background: var(--bg-primary); color: var(--text-primary); }
html.theme-light a { color: var(--blue); }
html.theme-light a:hover { color: #1e2d5c; }
html.theme-light ::selection { background: var(--blue); color: #fff; }

/* GLASS */
html.theme-light .glass {
  background: var(--glass-bg);
  border-color: var(--glass-border);
  box-shadow: 0 2px 16px rgba(47, 68, 134, 0.06);
}

/* HEADER */
html.theme-light .site-header.scrolled {
  background: rgba(248, 249, 252, 0.92);
  border-bottom-color: var(--border);
}
html.theme-light .logo-text { color: var(--text-primary); }
html.theme-light .logo-number { color: var(--blue); }
html.theme-light .nav-link { color: var(--text-secondary); }
html.theme-light .nav-link::after { background: var(--blue); }
html.theme-light .nav-link:hover,
html.theme-light .nav-link.active { color: var(--text-primary); }
html.theme-light .btn-espace-eleves { background: var(--blue); color: #fff; }
html.theme-light .btn-espace-eleves:hover { color: #fff; box-shadow: 0 0 20px var(--blue-glow); }
html.theme-light .burger span { background: var(--text-primary); }

/* MOBILE MENU */
html.theme-light .mobile-menu { background: rgba(248, 249, 252, 0.97); }
html.theme-light .mobile-link { color: var(--text-secondary); }
html.theme-light .mobile-link:hover { color: var(--text-primary); }
html.theme-light .mobile-link--accent { color: var(--blue); }

/* HERO */
html.theme-light .hero { background: linear-gradient(170deg, #f8f9fc 0%, #e8ecf4 50%, #dde3f0 100%); }
html.theme-light .hero-orb--1 { background: radial-gradient(circle, rgba(47,68,134,0.25) 0%, transparent 70%); opacity: 0.5; }
html.theme-light .hero-orb--2 { background: radial-gradient(circle, rgba(192,57,43,0.2) 0%, transparent 70%); opacity: 0.4; }
html.theme-light .hero-orb--3 { background: radial-gradient(circle, rgba(92,237,255,0.2) 0%, transparent 70%); opacity: 0.3; }
html.theme-light .hero-grid {
  background-image:
    linear-gradient(rgba(47,68,134,0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(47,68,134,0.04) 1px, transparent 1px);
}
html.theme-light .hero-badge { color: var(--blue); background: rgba(47,68,134,0.06); border-color: rgba(47,68,134,0.12); }
html.theme-light .hero-title { color: var(--text-primary); }
html.theme-light .hero-title--accent { color: var(--blue); }
html.theme-light .hero-subtitle { color: var(--text-secondary); }
html.theme-light .scroll-mouse { border-color: rgba(47,68,134,0.2); }
html.theme-light .scroll-wheel { background: rgba(47,68,134,0.35); }

/* BUTTONS */
html.theme-light .btn--primary { background: var(--blue); color: #fff; }
html.theme-light .btn--primary:hover { background: #1e2d5c; color: #fff; box-shadow: 0 4px 20px var(--blue-glow); }
html.theme-light .btn--outline { color: var(--text-primary); border-color: var(--border-light); }
html.theme-light .btn--outline:hover { color: var(--blue); border-color: var(--blue); box-shadow: 0 4px 20px rgba(47,68,134,0.08); }

/* TAG */
html.theme-light .tag { color: var(--blue); background: rgba(47,68,134,0.06); border-color: rgba(47,68,134,0.15); }

/* STATS */
html.theme-light .stat-card { box-shadow: 0 2px 12px rgba(47,68,134,0.04); }
html.theme-light .stat-card:hover { border-color: rgba(47,68,134,0.2); box-shadow: 0 8px 30px rgba(47,68,134,0.08); }
html.theme-light .stat-number, html.theme-light .stat-suffix { color: var(--blue); }

/* PARCOURS TEASER */
html.theme-light .parcours-teaser { border-color: rgba(47,68,134,0.15); }
html.theme-light .parcours-teaser:hover { border-color: rgba(47,68,134,0.3); box-shadow: 0 8px 40px rgba(47,68,134,0.1); }

/* WHY */
html.theme-light .section--why { background: var(--bg-secondary); }
html.theme-light .why-icon { background: rgba(47,68,134,0.07); }
html.theme-light .why-item:hover h3 { color: var(--blue); }

/* TESTIMONIAL */
html.theme-light .quote-icon { color: var(--blue); opacity: 0.5; }
html.theme-light .testimonial-avatar { background: linear-gradient(135deg, var(--blue), var(--red)); }

/* CTA FINAL */
html.theme-light .section--cta-final { background: linear-gradient(170deg, var(--bg-secondary) 0%, #dde3f0 100%); }

/* FOOTER — stays dark (Dauphine navy) */
html.theme-light .site-footer { background: #1e2d5c; border-top: none; }
html.theme-light .footer-logo .logo-text { color: #fff; }
html.theme-light .footer-logo .logo-number { color: #5cedff; }
html.theme-light .footer-desc { color: rgba(255,255,255,0.7); }
html.theme-light .footer-address { color: rgba(255,255,255,0.5); }
html.theme-light .footer-col h4 { color: #fff; }
html.theme-light .footer-col a { color: rgba(255,255,255,0.5); }
html.theme-light .footer-col a:hover { color: #5cedff; }
html.theme-light .footer-bottom { border-top-color: rgba(255,255,255,0.1); color: rgba(255,255,255,0.4); }
html.theme-light .footer-socials a { color: rgba(255,255,255,0.4); }
html.theme-light .footer-socials a:hover { color: #5cedff; }

/* PAGE HEADER */
html.theme-light .page-header { background: linear-gradient(180deg, rgba(47,68,134,0.06) 0%, transparent 100%); }

/* TABS */
html.theme-light .tab::after { background: var(--blue); }
html.theme-light .tab-main h3 { color: var(--blue); }

/* COURSE CARDS */
html.theme-light .course-card { box-shadow: 0 1px 8px rgba(47,68,134,0.04); }
html.theme-light .course-card:hover { border-color: rgba(47,68,134,0.2); box-shadow: 0 6px 20px rgba(47,68,134,0.08); }
html.theme-light .course-card[data-course]:hover { border-color: rgba(47,68,134,0.25); box-shadow: 0 8px 24px rgba(47,68,134,0.1); }
html.theme-light .course-ects { color: var(--blue); background: rgba(47,68,134,0.07); }
html.theme-light .course-category { color: var(--blue); border-bottom-color: rgba(47,68,134,0.12); }
html.theme-light .course-note { color: var(--blue); }

/* TOOL BADGES */
html.theme-light .tool-badge { color: var(--cyan); background: rgba(43,168,196,0.07); border-color: rgba(43,168,196,0.15); }
html.theme-light .tool-badge:hover { background: rgba(43,168,196,0.12); }

/* SIDEBAR */
html.theme-light .sidebar-card { box-shadow: 0 1px 8px rgba(47,68,134,0.04); }
html.theme-light .sidebar-list li { border-bottom-color: rgba(47,68,134,0.06); }
html.theme-light .sidebar-list li::before { color: var(--blue); }

/* TRONC COMMUN */
html.theme-light .section--tronc-commun { background: var(--bg-secondary); }
html.theme-light .tc-card { box-shadow: 0 1px 8px rgba(47,68,134,0.04); }
html.theme-light .tc-card:hover { border-color: rgba(47,68,134,0.2); }
html.theme-light .tc-ects { color: var(--blue); background: rgba(47,68,134,0.07); }

/* PROFILE */
html.theme-light .profile-card { box-shadow: 0 1px 8px rgba(47,68,134,0.04); }
html.theme-light .profile-card:hover { border-color: rgba(47,68,134,0.2); }

/* TIMELINE */
html.theme-light .section--process { background: var(--bg-secondary); }
html.theme-light .timeline-line { opacity: 0.25; }
html.theme-light .timeline-dot { background: var(--bg-secondary); border-color: var(--blue); color: var(--blue); }
html.theme-light .timeline-card { box-shadow: 0 1px 8px rgba(47,68,134,0.04); }

/* DOCUMENTS */
html.theme-light .doc-item svg { color: var(--blue); }
html.theme-light .doc-item:hover { border-color: rgba(47,68,134,0.2); }

/* CALENDAR */
html.theme-light .section--calendar { background: var(--bg-secondary); }
html.theme-light .calendar-card:hover { border-color: rgba(47,68,134,0.2); }
html.theme-light .calendar-month { color: var(--blue); }
html.theme-light .calendar-note a { color: var(--blue); }

/* FAQ */
html.theme-light .faq-question:hover { color: var(--blue); }
html.theme-light .faq-item.open .faq-icon { color: var(--blue); }

/* INSERTION */
html.theme-light .section--insertion-stats { background: var(--bg-secondary); }
html.theme-light .insertion-bg { stroke: rgba(47,68,134,0.1); }
html.theme-light .insertion-fill { stroke: var(--blue); }
html.theme-light .insertion-value { color: var(--blue); }

/* METIERS */
html.theme-light .metier-card:hover { border-color: rgba(47,68,134,0.2); }
html.theme-light .metier-salary { color: var(--gold); background: rgba(184,148,31,0.08); }

/* ALUMNI */
html.theme-light .section--alumni { background: var(--bg-secondary); }
html.theme-light .alumni-card:hover { border-color: rgba(47,68,134,0.2); }
html.theme-light .alumni-role { color: var(--blue); }

/* PARTNERS */
html.theme-light .partner-logo:hover { border-color: rgba(47,68,134,0.2); box-shadow: 0 4px 16px rgba(47,68,134,0.06); }

/* LEVEL SELECTOR */
html.theme-light .level-tab:hover { border-color: rgba(47,68,134,0.2); }
html.theme-light .level-tab--active { border-color: var(--blue); background: rgba(47,68,134,0.06); box-shadow: 0 0 20px rgba(47,68,134,0.1); }

/* SUBTABS */
html.theme-light .tabs--sub .tab--active { border-bottom-color: var(--blue); background: rgba(47,68,134,0.04); }

/* COURSE MODAL */
html.theme-light .course-modal-overlay { background: rgba(26,29,43,0.4); }
html.theme-light .course-modal { background: #fff; border-color: rgba(47,68,134,0.12); box-shadow: 0 25px 80px rgba(47,68,134,0.15); }
html.theme-light .course-modal-header { border-bottom-color: rgba(47,68,134,0.08); }
html.theme-light .course-modal-meta .meta-tag { background: rgba(47,68,134,0.06); border-color: rgba(47,68,134,0.12); color: var(--blue); }
html.theme-light .course-modal-meta .meta-tag.meta-ects { background: rgba(184,148,31,0.08); border-color: rgba(184,148,31,0.15); color: var(--gold); }
html.theme-light .course-modal-body h3 { color: var(--blue); }

/* SMOOTH TRANSITION */
html.theme-switching,
html.theme-switching *,
html.theme-switching *::before,
html.theme-switching *::after {
  transition: background-color 0.35s ease, color 0.35s ease, border-color 0.35s ease, box-shadow 0.35s ease !important;
}
