/* DZcademia design foundation — loaded last so every public page shares one system. */
:root{
  --dz-ink:#172e35;
  --dz-muted:#52676b;
  --dz-paper:#f7f8f4;
  --dz-surface:#ffffff;
  --dz-line:#d7e1da;
  --dz-green:#176b62;
  --dz-green-deep:#104d47;
  --dz-green-soft:#e6eee6;
  --dz-gold:#c78834;
  --dz-radius:14px;
  --dz-shadow:0 18px 45px rgba(23,46,53,.09);
}

html{background:var(--dz-paper)}
body{background:var(--dz-paper)!important;color:var(--dz-ink)!important;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif!important}
body::selection{background:#cfe3db;color:var(--dz-ink)}
a{color:var(--dz-green)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #d8aa67;outline-offset:3px}

/* Main navigation */
.main-header{background:var(--dz-surface);border-bottom:1px solid var(--dz-line);box-shadow:0 2px 14px rgba(23,46,53,.05);position:relative;z-index:100}
.main-header{border-top:4px solid var(--dz-green-deep)}
.main-header .nav-bar{width:min(1320px,calc(100% - 48px));min-height:84px;margin:auto;display:flex;align-items:center;gap:26px}
.main-header .logo{display:flex!important;align-items:center!important;gap:10px;flex:0 0 278px;text-decoration:none!important;min-width:0}
.main-header .logo-box{width:42px;height:42px;border-radius:10px;background:var(--dz-green)!important;border:0!important;color:#fff!important;display:grid;place-items:center;font:700 14px/1 Inter,sans-serif!important;box-shadow:none!important}
.main-header .logo-text{font:700 1.25rem/1 Inter,sans-serif!important;letter-spacing:-.04em!important;color:var(--dz-ink)!important}
.main-header .logo-brand{display:grid!important;gap:5px;min-width:0}
.main-header .logo-meta{display:block!important;color:var(--dz-muted);font-size:.58rem;font-weight:750;letter-spacing:.055em;line-height:1;text-transform:uppercase;white-space:nowrap}
.main-header .nav-menu{display:flex;align-items:center;gap:3px;min-width:0;flex:1;justify-content:center;padding:5px;background:#f4f7f3;border:1px solid #e1e9e3;border-radius:11px}
.main-header .nav-menu a{display:inline-flex;align-items:center;gap:6px;padding:9px 10px!important;border-radius:7px!important;border:0!important;margin:0!important;color:var(--dz-ink)!important;background:transparent!important;font-size:.82rem!important;font-weight:650!important;white-space:nowrap;text-decoration:none!important;transition:color .18s ease,background .18s ease,box-shadow .18s ease!important}
.main-header .nav-menu a:hover{background:#fff!important;color:var(--dz-green-deep)!important}
.main-header .nav-menu a.active,.main-header .nav-menu a[aria-current="page"]{background:var(--dz-green)!important;color:#fff!important;box-shadow:0 3px 10px rgba(23,107,98,.18)!important}
.main-header .actions{display:flex;align-items:center;gap:9px;flex:0 0 auto}
.main-header .btn-submit{display:inline-flex;align-items:center;min-height:42px;padding:0 15px;border-radius:7px;background:var(--dz-green)!important;color:#fff!important;border:1px solid var(--dz-green)!important;text-transform:none!important;letter-spacing:0!important;font-size:.85rem!important;font-weight:700!important;text-decoration:none!important;box-shadow:none!important}
.main-header .btn-submit:hover{background:var(--dz-green-deep)!important}
.main-header .icon{width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--dz-line);border-radius:50%;font-size:17px!important;background:#fff}
.main-header .lang-switcher-toggle{min-height:38px!important;border-color:var(--dz-line)!important;border-radius:7px!important;color:var(--dz-ink)!important}
.main-header .lang-switcher-toggle:hover{border-color:var(--dz-green)!important;color:var(--dz-green)!important}
.main-header .lang-switcher-panel{border-color:var(--dz-line)!important;border-radius:10px!important;box-shadow:var(--dz-shadow)!important}
.main-header .lang-switcher-link:hover,.main-header .lang-switcher-link.is-active{background:var(--dz-green-soft)!important;color:var(--dz-green-deep)!important}

/* A consistent quiet page surface and components shared by legacy pages. */
main{min-height:62vh}
.container{width:min(1280px,calc(100% - 48px))}
.site-flashes{width:min(1180px,calc(100% - 48px))}
.site-flash{border-radius:10px!important;box-shadow:none!important}
.card,.event-card,.scholarship-card,.revue-card,.article-card,.content-card,.filter-card,.search-card{border:1px solid var(--dz-line)!important;border-radius:var(--dz-radius)!important;box-shadow:none!important;background:var(--dz-surface)!important}
.card:hover,.event-card:hover,.scholarship-card:hover,.revue-card:hover,.article-card:hover{box-shadow:var(--dz-shadow)!important;transform:translateY(-2px)}
.btn-primary,.btn-submit,.button-primary,.button,.submit-btn{background:var(--dz-green)!important;border-color:var(--dz-green)!important;color:#fff!important;border-radius:7px!important;font-weight:700!important;box-shadow:none!important}
.btn-primary:hover,.btn-submit:hover,.button-primary:hover,.button:hover,.submit-btn:hover{background:var(--dz-green-deep)!important;border-color:var(--dz-green-deep)!important}
.btn-secondary,.button-secondary{border-color:var(--dz-green)!important;color:var(--dz-green-deep)!important;background:transparent!important;border-radius:7px!important}
input:not([type="checkbox"]):not([type="radio"]),select,textarea{border-color:#b9c8bf!important;border-radius:7px!important;color:var(--dz-ink)!important;background:#fff!important}
input:not([type="checkbox"]):not([type="radio"]):focus,select:focus,textarea:focus{border-color:var(--dz-green)!important;box-shadow:0 0 0 3px rgba(23,107,98,.14)!important}

/* Footer has the same calm academic voice as the laboratory space. */
footer,.footer{border-top:1px solid var(--dz-line)!important;background:#edf2eb!important;color:var(--dz-ink)!important}
.site-footer{margin-top:72px!important;background:#173b38!important;border:0!important;color:#eaf2ed!important}
.site-footer .footer-grid{width:min(1280px,calc(100% - 48px));margin:auto!important;padding:58px 0 42px!important;gap:36px!important}
.site-footer .footer-heading{color:#fff!important;font-weight:750!important;letter-spacing:-.01em}
.site-footer .footer-links a,.site-footer .footer-links button{color:#cbdcd4!important;text-align:left!important}
.site-footer .footer-links a:hover,.site-footer .footer-links button:hover{color:#fff!important}
.site-footer .footer-bottom{width:min(1280px,calc(100% - 48px));margin:auto!important;border-color:rgba(255,255,255,.16)!important;color:#b9cec3!important}

/* Homepage: editorial hierarchy shared with the laboratory pages. */
.hero{background:linear-gradient(115deg,#edf3ed 0%,#f8f9f5 54%,#e6f0ec 100%)!important;border-bottom:1px solid var(--dz-line)!important}
.hero-container{width:min(1280px,calc(100% - 48px))!important;min-height:500px!important;margin:auto!important;display:grid!important;grid-template-columns:minmax(0,1.08fr) minmax(330px,.92fr)!important;align-items:center!important;gap:58px!important;padding:68px 0!important}
.hero-left{max-width:680px!important}
.hero .badge{display:inline-flex!important;align-items:center!important;width:auto!important;padding:8px 12px!important;border:1px solid #b9d2c9!important;border-radius:999px!important;background:#fff!important;color:var(--dz-green-deep)!important;font-size:.76rem!important;font-weight:750!important;letter-spacing:.04em!important;text-transform:uppercase!important}
.hero-title{margin:18px 0!important;color:var(--dz-ink)!important;font-size:clamp(2.35rem,5vw,4.65rem)!important;line-height:1.02!important;letter-spacing:-.06em!important}
.hero-desc{max-width:620px!important;color:var(--dz-muted)!important;font-size:1.07rem!important;line-height:1.75!important}
.hero-actions{display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:12px!important;margin-top:28px!important}
.hero .btn-main{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:47px!important;padding:0 18px!important;border:1px solid var(--dz-green)!important;border-radius:7px!important;background:var(--dz-green)!important;color:#fff!important;font-weight:750!important;text-decoration:none!important;box-shadow:none!important}
.hero .btn-main:hover{background:var(--dz-green-deep)!important;border-color:var(--dz-green-deep)!important}
.hero .btn-main.secondary{background:transparent!important;color:var(--dz-green-deep)!important}
.hero .hero-users{width:100%!important;display:flex!important;align-items:center!important;margin-top:10px!important;color:var(--dz-muted)!important;font-size:.87rem!important}
.hero .hero-users img{border-color:var(--dz-paper)!important}
.hero-right{border:1px solid #c7d9d0!important;border-radius:18px!important;overflow:hidden!important;background:#dbeae2!important;box-shadow:var(--dz-shadow)!important}
.hero-right img{display:block!important;width:100%!important;height:auto!important;aspect-ratio:1.08!important;object-fit:cover!important}
.events-section{width:min(1280px,calc(100% - 48px))!important;margin:76px auto!important}
.events-header{display:flex!important;align-items:end!important;justify-content:space-between!important;gap:20px!important;margin-bottom:24px!important;padding-bottom:14px!important;border-bottom:1px solid var(--dz-line)!important}
.events-header h2{margin:0!important;color:var(--dz-ink)!important;font-size:clamp(1.55rem,2.5vw,2.2rem)!important;letter-spacing:-.045em!important}
.events-header a{font-weight:750!important;text-decoration:none!important;color:var(--dz-green-deep)!important;white-space:nowrap}
.events-grid{gap:20px!important}
.event-card{overflow:hidden!important;transition:transform .2s ease,box-shadow .2s ease!important}
.event-image{background:#dbeae2!important}
.event-image img{aspect-ratio:1.72!important;object-fit:cover!important}
.event-content{padding:20px!important}
.event-content h3{color:var(--dz-ink)!important;letter-spacing:-.025em!important}
.event-info{color:var(--dz-muted)!important}
.event-footer{border-color:var(--dz-line)!important}
.event-footer a{font-weight:750!important;color:var(--dz-green-deep)!important}
.editorial-featured{border-radius:16px!important;box-shadow:none!important}
.editorial-side-list{gap:14px!important}
.editorial-mini-card{border:1px solid var(--dz-line)!important;border-radius:12px!important;background:#fff!important;box-shadow:none!important}
.editorial-mini-card:hover{border-color:#9dbdaf!important;box-shadow:0 12px 28px rgba(23,46,53,.08)!important}

/* Directory pages: a shared interface for browsing data, filters and results. */
.events-page,.bourses-page,.revues-page{position:relative;background:linear-gradient(180deg,#f4f8f4 0,#f7f8f4 470px,transparent 470px)!important}
.events-hero,.bourses-hero,.revues-hero{border-bottom:1px solid var(--dz-line)!important}
.events-shell,.bourses-shell,.revues-shell{width:min(1280px,calc(100% - 48px))!important}
.events-hero-grid,.bourses-hero-grid{padding-top:58px!important}
.events-kicker,.bourses-kicker,.revues-eyebrow{color:var(--dz-green-deep)!important;font-weight:800!important;letter-spacing:.11em!important}
.events-title,.bourses-title,.revues-hero h1{letter-spacing:-.055em!important;color:var(--dz-ink)!important}
.events-subtitle,.bourses-subtitle,.revues-hero-copy>p{color:var(--dz-muted)!important}
.events-hero-stat,.bourses-hero-stat,.revues-hero-stats{border:1px solid #c6d9cf!important;border-radius:16px!important;background:rgba(255,255,255,.75)!important;box-shadow:none!important}
.events-filter-bar,.bourses-filter-bar,.revues-filters-card{border:1px solid var(--dz-line)!important;border-radius:14px!important;background:#fff!important;box-shadow:0 12px 34px rgba(23,46,53,.06)!important}
.filter-pill,.bourse-pill{border-radius:999px!important;border-color:#cbdad2!important;color:var(--dz-ink)!important;background:#fff!important}
.filter-pill.is-active,.bourse-pill-active{background:var(--dz-green)!important;border-color:var(--dz-green)!important;color:#fff!important}
.filter-submit,.bourses-filter-btn{background:var(--dz-green)!important;border-color:var(--dz-green)!important;border-radius:7px!important}

@media (max-width:1100px){
  .main-header .nav-bar{gap:14px}
  .main-header .nav-menu a{padding:9px 7px!important;font-size:.78rem!important}
}

/* The full menu remains readable on wide screens and turns into the dedicated
   mobile panel before its labels begin to collide. */
@media (max-width:1220px) and (min-width:821px){
  .main-header .logo{flex-basis:208px}
  .main-header .logo-meta{display:none!important}
  .main-header .nav-menu a{padding:8px 6px!important;font-size:.74rem!important}
  .main-header .btn-submit{padding:0 10px!important;font-size:.78rem!important}
}

@media (max-width:820px){
  .main-header{position:sticky;top:0}
  .main-header .nav-bar{width:calc(100% - 32px);min-height:68px;gap:10px}
  .main-header .logo-box{width:37px;height:37px;border-radius:9px}
  .main-header .logo{flex-basis:auto!important}
  .main-header .logo-text{font-size:1.08rem!important}
  .main-header .logo-meta{font-size:.54rem}
  .main-header .nav-menu,.main-header .btn-submit,.main-header .main-header-lang-switcher,.main-header .icon{display:none!important}
  .main-header .actions{margin-left:auto}
  .main-header .mobile-menu{display:block!important}
  .main-header .menu-toggle{display:grid!important;width:40px;height:40px;border:1px solid var(--dz-line)!important;border-radius:8px!important;color:var(--dz-ink)!important;background:#fff!important;font-size:21px!important}
  .main-header .mobile-menu-panel{position:fixed!important;inset:0!important;z-index:1000!important;background:rgba(23,46,53,.35)!important}
  .main-header .mobile-menu-content{position:absolute!important;right:0!important;top:0!important;bottom:0!important;width:min(92vw,390px)!important;overflow:auto!important;background:var(--dz-paper)!important;padding:64px 18px 28px!important;box-shadow:-20px 0 45px rgba(23,46,53,.16)!important}
  html[dir="rtl"] .main-header .mobile-menu-content{left:0!important;right:auto!important}
  .main-header .mobile-menu-close{top:15px!important;right:15px!important;border-radius:50%!important;background:#fff!important;color:var(--dz-ink)!important;border:1px solid var(--dz-line)!important}
  .main-header .mobile-menu-featured{grid-template-columns:1fr!important;gap:10px!important}
  .main-header .mobile-menu-featured-link{border-radius:10px!important;background:#fff!important;border:1px solid var(--dz-line)!important;color:var(--dz-ink)!important}
  .main-header .mobile-menu-featured-submit{background:var(--dz-green)!important;border-color:var(--dz-green)!important;color:#fff!important}
  .main-header .mobile-menu-primary-link,.main-header .mobile-menu-secondary-link{border-radius:8px!important;color:var(--dz-ink)!important}
  .main-header .mobile-menu-primary-link:hover,.main-header .mobile-menu-secondary-link:hover{background:var(--dz-green-soft)!important;color:var(--dz-green-deep)!important}
  .container{width:calc(100% - 32px)}
  .site-flashes{width:calc(100% - 32px)}
  .site-footer .footer-grid,.site-footer .footer-bottom{width:calc(100% - 32px)}
  .hero-container{width:calc(100% - 32px)!important;min-height:auto!important;grid-template-columns:1fr!important;gap:32px!important;padding:44px 0 48px!important}
  .hero-title{font-size:clamp(2.2rem,11vw,3.5rem)!important}
  .hero-desc{font-size:1rem!important}
  .hero-right{order:-1!important;max-width:600px!important}
  .events-section{width:calc(100% - 32px)!important;margin:52px auto!important}
  .events-grid{grid-template-columns:1fr!important}
  .events-header{align-items:flex-start!important}
  .events-shell,.bourses-shell,.revues-shell{width:calc(100% - 32px)!important}
  .events-hero-grid,.bourses-hero-grid{padding-top:38px!important}
}

@media (max-width:390px){
  .main-header .logo-text{font-size:1rem!important}
  .main-header .nav-bar{width:calc(100% - 24px)}
  .container{width:calc(100% - 24px)}
}


/* Clean navigation — one line, plain labels, no visual noise. */
.main-header{border-top:0!important;box-shadow:0 1px 8px rgba(23,46,53,.06)!important}
.main-header .nav-bar{min-height:76px!important;gap:24px!important}
.main-header .logo{flex:0 0 auto!important}.main-header .logo-meta{display:none!important}
.main-header .nav-menu{padding:0!important;background:transparent!important;border:0!important;border-radius:0!important;gap:0!important}
.main-header .nav-menu a{height:76px!important;padding:0 12px!important;border-radius:0!important;border-bottom:3px solid transparent!important;font-size:.86rem!important;font-weight:650!important;color:#4d625f!important}
.main-header .nav-menu a:hover{background:transparent!important;color:var(--dz-green-deep)!important}
.main-header .nav-menu a.active,.main-header .nav-menu a[aria-current="page"]{background:transparent!important;color:var(--dz-ink)!important;border-bottom-color:var(--dz-green)!important;box-shadow:none!important}
.main-header .actions{gap:12px!important}.main-header .btn-submit{min-height:42px!important;padding:0 16px!important;border-radius:8px!important}.main-header .lang-switcher-toggle{border:0!important;padding:0 4px!important}
@media(max-width:1120px){.main-header .nav-bar{min-height:68px!important}.main-header .nav-menu,.main-header .btn-submit,.main-header .main-header-lang-switcher,.main-header .icon{display:none!important}.main-header .mobile-menu{display:block!important}.main-header .actions{margin-left:auto!important}.main-header .logo{flex-basis:auto!important}}
/* Contraste renforcé : palette lisible sur ordinateur et mobile. */
:root{
  --dz-ink:#102a2e;
  --dz-muted:#38534f;
  --dz-paper:#eef3f1;
  --dz-surface:#ffffff;
  --dz-line:#a9c2b8;
  --dz-green:#08766b;
  --dz-green-deep:#07544c;
  --dz-green-soft:#dcebe5;
}
body{background:#eef3f1!important;color:var(--dz-ink)!important}
a{color:#075c89!important;text-decoration-thickness:1.5px;text-underline-offset:2px}
a:hover{color:#053f5e!important}
.main-header{background:#fff!important;border-bottom:1px solid #a9c2b8!important;box-shadow:0 2px 12px rgba(16,42,46,.12)!important}
.main-header .logo-text{color:#102a2e!important}
.main-header .nav-menu a{color:#244541!important;font-weight:750!important}
.main-header .nav-menu a:hover{color:#07544c!important;background:#e4f0eb!important}
.main-header .nav-menu a.active,.main-header .nav-menu a[aria-current="page"]{color:#07544c!important;border-bottom-color:#08766b!important}
.main-header .btn-submit,.btn-primary,.button-primary,.button,.submit-btn,.hero .btn-main{background:#08766b!important;border-color:#08766b!important;color:#fff!important;box-shadow:0 3px 8px rgba(7,84,76,.2)!important}
.main-header .btn-submit:hover,.btn-primary:hover,.button-primary:hover,.button:hover,.submit-btn:hover,.hero .btn-main:hover{background:#07544c!important;border-color:#07544c!important}
.hero{background:linear-gradient(115deg,#dfece6 0%,#f7faf8 52%,#d7eae2 100%)!important}
.hero .badge{border-color:#6d9c8d!important;background:#fff!important;color:#07544c!important}
.hero-desc,.events-subtitle,.bourses-subtitle,.revues-hero-copy>p,.event-info{color:#38534f!important}
.hero .btn-main.secondary,.btn-secondary,.button-secondary{background:#fff!important;border-color:#08766b!important;color:#07544c!important}
.card,.event-card,.scholarship-card,.revue-card,.article-card,.content-card,.filter-card,.search-card{border-color:#a9c2b8!important;box-shadow:0 2px 8px rgba(16,42,46,.07)!important}
.events-page,.bourses-page,.revues-page{background:linear-gradient(180deg,#e1eee8 0,#eef3f1 470px,transparent 470px)!important}
.events-hero-stat,.bourses-hero-stat,.revues-hero-stats,.events-filter-bar,.bourses-filter-bar,.revues-filters-card{border-color:#a9c2b8!important;background:#fff!important}
.filter-pill,.bourse-pill{border-color:#8eafa3!important;color:#244541!important}
.filter-pill.is-active,.bourse-pill-active{background:#08766b!important;border-color:#08766b!important;color:#fff!important}
input:not([type="checkbox"]):not([type="radio"]),select,textarea{border-color:#7f9f93!important;color:#102a2e!important}
input:not([type="checkbox"]):not([type="radio"]):focus,select:focus,textarea:focus{border-color:#08766b!important;box-shadow:0 0 0 3px rgba(8,118,107,.22)!important}
.site-footer{background:#102f2c!important}.site-footer .footer-links a{color:#d9eee5!important}
@media(max-width:820px){.main-header .menu-toggle{border-color:#76988b!important;color:#102a2e!important}.main-header .mobile-menu-content{background:#f5f9f7!important}.main-header .mobile-menu-primary-link,.main-header .mobile-menu-secondary-link{color:#183b37!important;font-weight:700!important}}

/* Bandeau Manifestations : contraste élevé sur fond bleu. */
.events-hero{color:#fff!important}
.events-hero .events-kicker{color:#c8f2df!important}
.events-hero .events-title{color:#fff!important;text-shadow:0 1px 2px rgba(0,0,0,.16)!important}
.events-hero .events-subtitle{color:#edf7f3!important}
.events-hero .events-hero-stat{background:rgba(255,255,255,.84)!important;border-color:rgba(255,255,255,.96)!important;color:#123c69!important}
.events-hero .events-hero-stat strong,.events-hero .events-hero-stat .number{color:#123c69!important}
.events-hero .events-hero-stat span,.events-hero .events-hero-stat small{color:#234b75!important}
.events-hero .filter-link,.events-hero .events-filter-link,.events-hero .events-action{color:#fff!important;border-color:rgba(255,255,255,.35)!important;background:rgba(255,255,255,.12)!important}
.events-hero .filter-link:hover,.events-hero .events-filter-link:hover,.events-hero .events-action:hover{background:rgba(255,255,255,.22)!important;color:#fff!important}
.events-hero p:not(.events-subtitle){color:#edf7f3!important}

/* Contraste global DZcademia : priorité aux textes et actions lisibles. */
:root{--dz-ink:#102a2e;--dz-muted:#38534f;--dz-paper:#edf3f1;--dz-surface:#fff;--dz-line:#9bb8ac;--dz-green:#08766b;--dz-green-deep:#07544c;--dz-green-soft:#dcebe5}
body{color:#102a2e!important;background:#edf3f1!important}
p,li,dd,td,th,label,.muted,.text-muted,.meta,.description,.subtitle{color:#38534f!important}
a{color:#075c89!important;text-decoration-thickness:1.5px;text-underline-offset:2px}a:hover{color:#053f5e!important}
h1,h2,h3,h4,h5,h6,.title,.page-title{color:#102a2e!important}
.main-header{background:#fff!important;border-bottom:1px solid #9bb8ac!important;box-shadow:0 2px 12px rgba(16,42,46,.12)!important}
.main-header .nav-menu a{color:#244541!important;font-weight:750!important}.main-header .nav-menu a:hover{color:#07544c!important;background:#e4f0eb!important}.main-header .nav-menu a.active,.main-header .nav-menu a[aria-current="page"]{color:#07544c!important;border-bottom-color:#08766b!important}
.btn,.btn-primary,.btn-submit,.button,.button-primary,.submit-btn,.filter-submit,.bourses-filter-btn{background:#08766b!important;border-color:#08766b!important;color:#fff!important;font-weight:750!important;box-shadow:0 3px 8px rgba(7,84,76,.2)!important}.btn:hover,.btn-primary:hover,.btn-submit:hover,.button:hover,.button-primary:hover,.submit-btn:hover,.filter-submit:hover,.bourses-filter-btn:hover{background:#07544c!important;border-color:#07544c!important;color:#fff!important}
.btn-secondary,.button-secondary,.btn-outline,.hero .btn-main.secondary{background:#fff!important;border-color:#08766b!important;color:#07544c!important}
.card,.event-card,.scholarship-card,.revue-card,.article-card,.content-card,.filter-card,.search-card,.editorial-mini-card{background:#fff!important;border-color:#9bb8ac!important;box-shadow:0 2px 8px rgba(16,42,46,.08)!important}.card h1,.card h2,.card h3,.event-card h1,.event-card h2,.event-card h3,.scholarship-card h1,.scholarship-card h2,.scholarship-card h3,.revue-card h1,.revue-card h2,.revue-card h3,.article-card h1,.article-card h2,.article-card h3{color:#102a2e!important}
.event-info,.article-meta,.card-meta,.date,.location{color:#38534f!important}
input:not([type="checkbox"]):not([type="radio"]),select,textarea{border-color:#7f9f93!important;background:#fff!important;color:#102a2e!important}input:not([type="checkbox"]):not([type="radio"]):focus,select:focus,textarea:focus{border-color:#08766b!important;box-shadow:0 0 0 3px rgba(8,118,107,.22)!important}
.filter-pill,.bourse-pill,.tag,.badge:not(.hero .badge){border-color:#7f9f93!important;color:#244541!important;background:#fff!important}.filter-pill.is-active,.bourse-pill-active{background:#08766b!important;border-color:#08766b!important;color:#fff!important}
/* Tout bandeau à fond sombre reçoit des textes clairs, quelle que soit la rubrique. */
.events-hero,.bourses-hero,.revues-hero,.page-hero,.directory-hero,.labs-hero,.lab-hero,.ia-hero,.research-hero{color:#fff!important}.events-hero h1,.events-hero h2,.events-hero h3,.bourses-hero h1,.bourses-hero h2,.bourses-hero h3,.revues-hero h1,.revues-hero h2,.revues-hero h3,.page-hero h1,.page-hero h2,.directory-hero h1,.directory-hero h2,.labs-hero h1,.labs-hero h2,.lab-hero h1,.lab-hero h2,.ia-hero h1,.ia-hero h2,.research-hero h1,.research-hero h2{color:#fff!important;text-shadow:0 1px 2px rgba(0,0,0,.16)!important}.events-hero p,.events-hero .events-subtitle,.bourses-hero p,.bourses-hero .bourses-subtitle,.revues-hero p,.page-hero p,.directory-hero p,.labs-hero p,.lab-hero p,.ia-hero p,.research-hero p{color:#edf7f3!important}.events-hero .events-kicker,.bourses-hero .bourses-kicker,.revues-hero .revues-eyebrow,.page-hero .kicker,.directory-hero .kicker,.labs-hero .kicker,.lab-hero .kicker,.ia-hero .kicker,.research-hero .kicker{color:#c8f2df!important}
.events-hero .events-hero-stat,.bourses-hero .bourses-hero-stat,.revues-hero .revues-hero-stats{background:rgba(255,255,255,.9)!important;border-color:#fff!important;color:#123c69!important}.events-hero .events-hero-stat *,.bourses-hero .bourses-hero-stat *,.revues-hero .revues-hero-stats *{color:#123c69!important}
.events-hero a:not(.btn),.bourses-hero a:not(.btn),.revues-hero a:not(.btn),.page-hero a:not(.btn),.directory-hero a:not(.btn),.labs-hero a:not(.btn),.lab-hero a:not(.btn),.ia-hero a:not(.btn),.research-hero a:not(.btn){color:#fff!important}
.site-footer{background:#102f2c!important;color:#e8f3ed!important}.site-footer p,.site-footer li,.site-footer .footer-bottom{color:#cfe2d8!important}.site-footer a,.site-footer .footer-links a{color:#e8f7ef!important}
@media(max-width:820px){.main-header .menu-toggle{border-color:#76988b!important;color:#102a2e!important}.main-header .mobile-menu-content{background:#f5f9f7!important}.main-header .mobile-menu-primary-link,.main-header .mobile-menu-secondary-link{color:#183b37!important;font-weight:750!important}}

/* Texte blanc obligatoire dans les bandeaux foncés des annuaires. */
/* Do not force white text on form controls inside dark heroes. */
.events-hero .events-kicker,.bourses-hero .bourses-kicker,.revues-hero .revues-eyebrow{color:#c8f2df!important}
.events-hero .events-hero-stat,.bourses-hero .bourses-hero-stat,.revues-hero .revues-hero-stats{background:rgba(255,255,255,.9)!important;border-color:#fff!important}
.events-hero .events-hero-stat *,.bourses-hero .bourses-hero-stat *,.revues-hero .revues-hero-stats *{color:#123c69!important}
.events-hero .events-hero-stat .number,.bourses-hero .bourses-hero-stat .number,.revues-hero .revues-hero-stats .number{color:#08766b!important}
.events-hero .btn:not(.btn-primary),.bourses-hero .btn:not(.btn-primary),.revues-hero .btn:not(.btn-primary),.events-hero .filter-link,.bourses-hero .filter-link,.revues-hero .filter-link{color:#fff!important;border-color:rgba(255,255,255,.55)!important;background:rgba(255,255,255,.12)!important}
.events-hero .btn:not(.btn-primary):hover,.bourses-hero .btn:not(.btn-primary):hover,.revues-hero .btn:not(.btn-primary):hover{background:rgba(255,255,255,.25)!important}


/* Readable shared palette: light controls, dark text, explicit action states. */
body input:not([type="checkbox"]):not([type="radio"]),
body select, body textarea {
  color:#102a2e!important;
  background-color:#fff!important;
  border-color:#64748b!important;
  color-scheme:light;
  -webkit-text-fill-color:#102a2e;
  opacity:1;
}
body select option, body select optgroup {
  color:#102a2e!important;
  background:#fff!important;
  -webkit-text-fill-color:#102a2e;
}
body input::placeholder, body textarea::placeholder {
  color:#475569!important;
  -webkit-text-fill-color:#475569;
  opacity:1!important;
}
.events-filter-bar .events-filter-label,
.bourses-filter-bar .bourses-filter-label,
.revues-filters-card label {color:#334155!important;}
.events-hero a.events-hero-action-primary,
.bourses-hero a.bourses-hero-action-primary,
.revues-hero a.revues-hero-action-primary {
  background:#fff!important;color:#102a2e!important;
  border-color:#fff!important;
}
.events-hero a.events-hero-action-primary:hover,
.bourses-hero a.bourses-hero-action-primary:hover,
.revues-hero a.revues-hero-action-primary:hover {
  background:#e2f1ec!important;color:#102a2e!important;
}
.cookie-consent .cookie-consent-card {
  background:#fff!important;color:#102a2e!important;
  border-color:#64748b!important;
}
.cookie-consent .cookie-consent-title,
.cookie-consent .cookie-consent-option strong {color:#102a2e!important;}
.cookie-consent .cookie-consent-text,
.cookie-consent .cookie-consent-option span {color:#334155!important;}
.cookie-consent .cookie-consent-kicker {
  background:#e2f1ec!important;color:#07544c!important;
}
.cookie-consent .cookie-consent-links a,
.cookie-consent .cookie-consent-links button {color:#07544c!important;}
.cookie-consent .cookie-consent-btn {
  background:#fff!important;color:#102a2e!important;
  border-color:#64748b!important;
}
.cookie-consent .cookie-consent-btn-primary {
  background:#07544c!important;color:#fff!important;
  border-color:#07544c!important;
}
.cookie-consent .cookie-consent-btn:hover {background:#e2f1ec!important;}
.cookie-consent .cookie-consent-btn-primary:hover {background:#043d37!important;}
.cookie-consent .cookie-consent-btn:focus-visible,
body select:focus-visible, body input:focus-visible, body textarea:focus-visible {
  outline:3px solid #07544c!important;outline-offset:3px!important;
}

.cookie-consent .cookie-consent-panel{background:#f8fafc!important;border-color:#64748b!important;}
