/* ══════════════════════════════════════════
   GREG — theme-light.css
   Surcharge le thème par défaut pour une ambiance lumineuse
   Conserve : bronze (#8B6445), bleu (#2DA8D8), typographie
   Transforme : fonds marine → blanc/crème/bleu très pâle
══════════════════════════════════════════ */

:root {
  /* On garde le bronze et le bleu identiques */
  /* On éclaircit complètement les fonds sombres */
  --navy:   #FAFBFC;   /* était #0E1E2D — devient blanc cassé */
  --navy2:  #F4F7FA;   /* était #12293A — devient bleu très pâle */
  --navy3:  #DCE5EC;   /* était #1A3A52 — devient gris-bleu pâle */
  --gold:   #B8924D;   /* on conserve l'or, légèrement plus chaud */
  --cream:  #FDF8F0;   /* crème légèrement plus chaud */
  --muted:  #5A6A75;
  --border: #E5EDF2;

  /* Nouvelles variables pour le thème light */
  --light-bg:        #FAFBFC;
  --light-bg-2:      #F4F7FA;
  --light-paper:     #FFFFFF;
  --light-warm:      #FDF8F0;
  --light-cool:      #EDF5FA;
  --light-bronze:    #F5EBE0;
  --text-on-light:   #1A2E3F;
  --text-soft:       #5A6A75;
  --shadow-soft:     0 4px 16px rgba(14, 30, 45, .06);
  --shadow-medium:   0 10px 32px rgba(14, 30, 45, .08);
}

/* ── Base body ── */
body { background: var(--light-bg); color: var(--text-on-light); }

/* ══════════════════════
   NAVBAR — passe en clair
══════════════════════ */
.navbar {
  background: rgba(255, 255, 255, .92);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--border);
  box-shadow: var(--shadow-soft);
}
.navbar.scrolled {
  background: rgba(255, 255, 255, .98);
  box-shadow: 0 4px 24px rgba(14, 30, 45, .08);
}
.nav-brand-text { border-left: 1px solid var(--border); }
.brand-top { color: #1E7FB8; }
.brand-bot { color: var(--bronze); }
.nav-lnk { color: var(--text-soft); }
.nav-lnk:hover, .nav-lnk.active { color: var(--bronze); }
.nav-lnk.active { color: var(--blue); }
.nav-burger span { background: var(--text-on-light); }
.nav-mobile {
  background: #fff;
  border-top: 1px solid var(--border);
}
.nav-mobile .nav-lnk { color: var(--text-soft); border-bottom: 1px solid var(--border); }

/* ══════════════════════
   BANDEAU ÉVÉNEMENT — adapté
══════════════════════ */
.event-banner {
  background: linear-gradient(90deg, var(--bronze) 0%, #A0764F 50%, var(--bronze) 100%);
}
/* on garde le bandeau coloré, c'est un appel à l'action important */

/* ══════════════════════
   HERO — fond clair, typo bronze + bleu
══════════════════════ */
.hero {
  background: linear-gradient(135deg, #FFFFFF 0%, #EDF5FA 100%);
  position: relative;
}
.hero::before {
  content: ''; position: absolute; inset: 0;
  background:
    radial-gradient(circle at 80% 20%, rgba(45,168,216,.08) 0%, transparent 50%),
    radial-gradient(circle at 20% 80%, rgba(139,100,69,.06) 0%, transparent 50%);
  pointer-events: none;
}
.hero-bg-svg { opacity: .04; }
.sirius-dot span { color: var(--blue); }
.hero-tag-line span { color: var(--bronze); }
.tag-bar { background: var(--bronze); }

.hero-h1 {
  color: var(--text-on-light);
  text-shadow: none;
}
.hero-h1 em { color: var(--blue); }
.hero-h1 .bronze-txt { color: var(--bronze); }
.hero-sub { color: var(--text-soft); }
.hero-quote {
  background: rgba(139, 100, 69, .08);
  border-left-color: var(--bronze);
}
.hero-quote p { color: var(--bronze); }
.hero-quote span { color: var(--bronze); }
.hero-stats { border-top-color: var(--border); }
.hstat-num span { color: var(--muted); }
.hstat-lbl { color: var(--text-soft); }
.hstat-div { background: var(--border); }

/* Halos de l'image Diop */
.hero-img-wrap { border-left-color: var(--border); }
.hero-halo {
  background: radial-gradient(circle, rgba(184,146,77,.15) 0%, transparent 70%);
}
.hero-halo-2 { border-color: rgba(184,146,77,.2); }
.formula { opacity: .35; }
.diop-label {
  background: #fff;
  border-color: var(--bronze);
  box-shadow: var(--shadow-soft);
}
.diop-label p { color: var(--bronze); }
.diop-label span { color: var(--muted); }
/* L'image Diop reste mix-blend-mode multiply, mais on l'inverse sur fond clair pour un meilleur rendu */
.diop-img {
  mix-blend-mode: multiply;
  filter: contrast(1.15) saturate(1.1) brightness(.92);
}

/* Boutons */
.btn-ghost {
  color: var(--text-on-light);
  border-color: rgba(14, 30, 45, .2);
}
.btn-ghost:hover {
  border-color: var(--bronze);
  color: var(--bronze);
}

/* ══════════════════════
   TICKER — clair
══════════════════════ */
.ticker {
  background: var(--bronze);
  border-top: 1px solid rgba(139,100,69,.3);
  border-bottom: 1px solid rgba(139,100,69,.3);
}
.ticker-inner span { color: #fff; }
.ticker-inner b { color: var(--gold); }

/* ══════════════════════
   EVENT SPOTLIGHT
══════════════════════ */
.event-spotlight {
  background: linear-gradient(180deg, #FFFFFF 0%, var(--light-warm) 100%);
  border-top-color: var(--bronze);
}
.es-date-block {
  background: linear-gradient(160deg, var(--text-on-light) 0%, #2A4256 100%);
}
/* on garde une touche sombre pour la date — c'est l'élément qui doit ressortir */

/* ══════════════════════
   PALABRE SECTION
══════════════════════ */
.palabre-overlay {
  background: linear-gradient(
    to right,
    rgba(255, 255, 255, .92) 0%,
    rgba(255, 255, 255, .75) 55%,
    rgba(255, 255, 255, .25) 100%
  );
}
.palabre-grad-r {
  background: linear-gradient(to bottom, transparent, var(--light-bg));
}
.palabre-img { filter: brightness(.95) saturate(1.05); }
.palabre-text .section-h2.white { color: var(--text-on-light); }
.palabre-sub { color: var(--text-soft); }

/* Piliers (cartes sur la palabre) */
.pilier {
  background: rgba(255, 255, 255, .85);
  border-color: rgba(139,100,69,.15);
  backdrop-filter: blur(8px);
  box-shadow: var(--shadow-soft);
}
.pilier:hover {
  border-color: var(--bronze);
  background: #fff;
}
.pilier.blue-bg-card {
  background: rgba(45, 168, 216, .08);
  border-color: rgba(45, 168, 216, .25);
}
.pilier-title { color: var(--text-on-light); }
.pilier-title.white { color: var(--text-on-light); }
.pilier-sub { color: var(--text-soft); }
.pilier-sub.blue-sub { color: var(--text-soft); }
.pilier-icon.blue-outline-icon {
  background: rgba(45, 168, 216, .12);
  border-color: var(--blue);
  color: var(--blue);
}

/* ══════════════════════
   TRAVAUX SECTION
══════════════════════ */
.travaux-content { background: var(--light-paper); }
.travaux-img-col {
  background: linear-gradient(135deg, #F5EBE0 0%, #E8DCC8 100%);
}
.pub-title { color: var(--text-on-light); }

/* ══════════════════════
   VISION SECTION (Nil)
══════════════════════ */
.vision-section {
  background: linear-gradient(135deg, #EDF5FA 0%, #D4E8F2 100%);
  position: relative;
}
.vision-section::before {
  content: ''; position: absolute; inset: 0;
  background: radial-gradient(circle at 70% 30%, rgba(45,168,216,.1) 0%, transparent 60%);
  pointer-events: none;
}
.nil-svg { opacity: .5; }
.vision-text .section-h2.white { color: var(--text-on-light); }
.vision-text .section-h2.white em { color: var(--blue); }
.vision-sub { color: var(--text-soft); }
.vision-quote {
  background: rgba(139, 100, 69, .1);
}
.vision-quote p { color: var(--bronze); }
.vision-quote cite { color: var(--bronze); }
.vstat-box {
  background: rgba(255, 255, 255, .8);
  border-color: rgba(45, 168, 216, .2);
  backdrop-filter: blur(8px);
  box-shadow: var(--shadow-soft);
}
.vstat-lbl { color: var(--text-soft); }
.mini-quote { color: var(--text-on-light); }
.mini-cite { color: var(--bronze); }

/* ══════════════════════
   CTA SECTION — fond clair
══════════════════════ */
.cta-section {
  background: linear-gradient(135deg, var(--light-warm) 0%, #F5EBE0 100%);
  border-top-color: var(--bronze);
}
.cta-h2 { color: var(--text-on-light); }
.cta-sub { color: var(--text-soft); }
.cta-sep { background: rgba(139,100,69,.2); }

/* ══════════════════════
   FOOTER — clair
══════════════════════ */
.footer {
  background: var(--text-on-light);
  border-top: 1px solid var(--border);
}
.footer-name { color: var(--blue); }
.footer-info { color: rgba(255,255,255,.5); }
.footer-nav a { color: rgba(255,255,255,.4); }
.footer-nav a:hover { color: var(--gold); }

/* ══════════════════════
   PAGES INTÉRIEURES — HERO
══════════════════════ */
.page-hero { background: linear-gradient(135deg, #FFFFFF 0%, #EDF5FA 100%); }
.page-hero-img { filter: brightness(.7) saturate(.95); }
.page-hero-overlay {
  background: linear-gradient(
    135deg,
    rgba(255, 255, 255, .95) 0%,
    rgba(255, 255, 255, .55) 100%
  );
}
.page-hero-h1 { color: var(--text-on-light); }
.page-hero-h1 em { color: var(--blue); }
.page-hero-sub { color: var(--text-soft); }
.page-hero-svg { opacity: .12; }

/* ══════════════════════
   STATS BAND
══════════════════════ */
.stats-band {
  background: var(--light-paper);
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
}
.stats-item { border-right-color: var(--border); }
.stats-lbl { color: var(--text-soft); }

/* ══════════════════════
   ÉQUIPE / DIRECTOR
══════════════════════ */
.director-card { background: #fff; box-shadow: var(--shadow-soft); }
.director-img-col {
  background: linear-gradient(160deg, #FDF8F0 0%, #F5EBE0 100%);
  border-right: 1px solid var(--border);
}
.director-bg-img { opacity: .12; filter: none; }
.director-halo-1 { border-color: rgba(45, 168, 216, .25); }
.director-halo-2 { border-color: rgba(139, 100, 69, .25); }
.director-role { color: var(--bronze); }

/* Members cards */
.member-header {
  background: linear-gradient(160deg, var(--light-warm) 0%, var(--light-bronze) 100%);
}
.member-bg-img { opacity: .1; }
.member-init {
  box-shadow: var(--shadow-soft);
}
.member-badge { color: var(--bronze); }

/* Join CTA */
.join-cta {
  background: linear-gradient(135deg, var(--text-on-light) 0%, #2A4256 100%);
}
/* Le join CTA garde un fond plus sombre pour ressortir comme appel à l'action */

/* ══════════════════════
   PUBLICATIONS
══════════════════════ */
.filters-bar { background: var(--light-paper); }
.filter-btn:hover, .filter-btn.active {
  background: var(--bronze);
  border-color: var(--bronze);
  color: #fff;
}
.year-tag {
  background: var(--light-bronze);
  color: var(--bronze);
}
.year-tag.blue-tag { background: var(--blue); color: #fff; }

.pub-featured { background: linear-gradient(135deg, #EDF5FA 0%, #DCEAF2 100%); }
.pub-featured-left { border-right-color: rgba(45,168,216,.2); }
.pub-meta-box {
  background: #fff;
  border-color: var(--border);
  box-shadow: var(--shadow-soft);
}
.pub-meta-label { color: var(--bronze); }
.pub-meta-val { color: var(--text-on-light); }
.pub-mini-stat {
  background: #fff;
  border-color: var(--border);
  box-shadow: var(--shadow-soft);
}
.pub-mini-l { color: var(--text-soft); }

.pub-card-full { background: #fff; box-shadow: var(--shadow-soft); }
.pub-card-title { color: var(--text-on-light); }
.pub-card-desc { color: var(--text-soft); }
.pub-authors { color: var(--text-soft); }
.pub-journal {
  color: var(--bronze);
  border-top-color: var(--border);
}
.pub-journal em { color: var(--blue); }

/* Submit CTA */
.submit-cta {
  background: linear-gradient(135deg, var(--light-warm) 0%, var(--light-bronze) 100%);
  border-top-color: var(--bronze);
}
.submit-h3 { color: var(--text-on-light); }
.submit-sub { color: var(--text-soft); }

/* ══════════════════════
   À PROPOS — Story
══════════════════════ */
.story-p { color: var(--text-soft); }
.story-p strong { color: var(--text-on-light); }
.story-card {
  background: linear-gradient(160deg, var(--text-on-light) 0%, #2A4256 100%);
}
/* Story card garde un fond marine — c'est volontaire pour le contraste avec le texte clair à gauche */

/* About pillars */
.about-pillar { background: #fff; box-shadow: var(--shadow-soft); }
.about-pillar:hover { box-shadow: var(--shadow-medium); }
.about-pillar-h { color: var(--text-on-light); }
.about-pillar-p { color: var(--text-soft); }
.about-pillar-list li { color: var(--text-soft); }
.about-pillar-list strong { color: var(--text-on-light); }

/* Diop quote section — version claire */
.diop-quote-section {
  background: linear-gradient(135deg, var(--light-warm) 0%, var(--light-bronze) 100%);
}
.diop-quote-img {
  filter: grayscale(.5) contrast(1.1) brightness(1.1);
  mix-blend-mode: multiply;
  opacity: .25;
}
.diop-quote-icon { color: var(--bronze); }
.diop-quote-text { color: var(--text-on-light); }
.diop-cite-name { color: var(--bronze); }
.diop-cite-role { color: var(--text-soft); }

/* Domaines */
.domaine-item { background: #fff; box-shadow: var(--shadow-soft); }
.domaine-item h4 { color: var(--text-on-light); }
.domaine-item p { color: var(--text-soft); }

/* ══════════════════════
   RECHERCHES
══════════════════════ */
.recherches-hero-img { filter: brightness(.75) saturate(.95); }

.approche-section { background: var(--light-paper); }
.approche-p { color: var(--text-soft); }
.approche-p strong { color: var(--text-on-light); }
.approche-card {
  background: var(--light-warm);
  border-color: rgba(139,100,69,.15);
}
.approche-card-blue {
  background: linear-gradient(135deg, var(--text-on-light) 0%, #2A4256 100%);
  border-color: rgba(45,168,216,.4);
}
.approche-card-bronze { background: var(--bronze); border-color: var(--bronze); }
.approche-card-h { color: var(--text-on-light); }
.approche-card-p { color: var(--text-soft); }

/* Axes */
.axe-card { background: #fff; box-shadow: var(--shadow-soft); }
.axe-card:hover { box-shadow: var(--shadow-medium); }
.axe-h { color: var(--text-on-light); }
.axe-p { color: var(--text-soft); }
.axe-projects { border-top-color: var(--border); }
.axe-projects-lbl { color: var(--text-soft); }

/* Processus section */
.processus-section {
  background: linear-gradient(135deg, var(--text-on-light) 0%, #2A4256 100%);
}
/* On garde une section sombre pour rythmer — c'est volontaire */

/* Partenaires */
.partner-cat { background: #fff; box-shadow: var(--shadow-soft); }
.partner-cat h4 { color: var(--text-on-light); }
.partner-cat p { color: var(--text-soft); }
.partners-sub { color: var(--text-soft); }

/* ══════════════════════
   CONTACT
══════════════════════ */
.contact-form {
  background: #fff;
  box-shadow: var(--shadow-medium);
}
.form-field label { color: var(--text-on-light); }
.form-field input,
.form-field select,
.form-field textarea {
  background: var(--light-warm);
  border-color: var(--border);
  color: var(--text-on-light);
}
.form-field input:focus,
.form-field select:focus,
.form-field textarea:focus {
  background: #fff;
  border-color: var(--blue);
}
.form-note { color: var(--text-soft); }
.contact-val { color: var(--text-on-light); }
a.contact-val { color: var(--text-on-light); }
a.contact-val:hover { color: var(--bronze); }

/* Hours section */
.hours-section {
  background: linear-gradient(135deg, var(--light-warm) 0%, var(--light-bronze) 100%);
  border-top: 1px solid var(--border);
}
.hour-lbl { color: var(--text-soft); }
.hour-val { color: var(--text-on-light); }

/* ══════════════════════
   ÉVÉNEMENTS — PAGE
══════════════════════ */
.event-card-main {
  background: #fff;
  box-shadow: var(--shadow-medium);
}
.event-header-banner {
  background: linear-gradient(135deg, var(--text-on-light) 0%, #2A4256 100%);
  border-bottom-color: var(--bronze);
}
/* Bandeau d'en-tête de l'événement garde sa profondeur — il porte les dates */

.event-body-right {
  background: var(--light-warm);
  border-left-color: var(--border);
}
.event-title { color: var(--text-on-light); }
.event-subtitle { color: var(--bronze); }
.event-intro { color: var(--text-soft); }
.event-intro strong { color: var(--text-on-light); }

/* Timeline */
.event-timeline::before { background: #D5C09A; }
.tl-date { color: var(--bronze); }
.event-timeline .timeline-active .tl-date { color: var(--blue); }
.event-timeline .timeline-final .tl-date { color: var(--text-on-light); }
.tl-event { color: var(--text-soft); }
.tl-event strong { color: var(--text-on-light); }

/* Key figures */
.keyfig { background: #fff; box-shadow: var(--shadow-soft); }
.keyfig-lbl { color: var(--text-soft); }

/* Submission section — on conserve le contraste fort */
.submission-section {
  background: linear-gradient(135deg, var(--text-on-light) 0%, #2A4256 100%);
}
/* Cette section reste sombre par choix — c'est l'appel à candidater */

/* Comité section */
.comite-block { background: #fff; box-shadow: var(--shadow-soft); }
.comite-h { color: var(--text-on-light); }
.comite-list li { color: var(--text-soft); }
.comite-list strong { color: var(--text-on-light); }

.comite-president {
  background: linear-gradient(135deg, var(--bronze) 0%, #A0764F 100%);
}
.cp-affil { color: rgba(255,255,255,.85); }

/* ══════════════════════
   BUTTONS — version claire
══════════════════════ */
.btn-out {
  background: transparent;
  color: var(--bronze);
  border-color: var(--bronze);
}
.btn-out:hover {
  background: var(--bronze);
  color: #fff;
}
.btn-out-sm {
  color: var(--bronze);
  border-color: var(--bronze);
}
.btn-out-sm:hover {
  background: var(--bronze);
  color: #fff;
}

/* Borders sur les pubs cards */
.pub-card-full:hover {
  border-color: var(--bronze);
  box-shadow: var(--shadow-medium);
}

/* ══════════════════════
   ACCENTS DOUX (le bleu en filets)
══════════════════════ */
.accent-line.blue { background: var(--blue); }
.accent-line.bronze { background: var(--bronze); }
.gl { color: var(--blue); }
.glb { color: var(--bronze); }
.blue-txt { color: var(--blue); }
.bronze-txt { color: var(--bronze); }

/* Skill tags */
.skill-tag {
  background: var(--light-cool);
  color: #1E7FB8;
}
.skill-tag.bronze {
  background: var(--light-bronze);
  color: var(--bronze);
}

/* Section dividers */
.sec-divider::after { background: var(--border); }
