:root{
  --brand: #0d6efd;
  --brand-soft: rgba(13,110,253,.08);
  --brand-strong: #0b5ed7;
  --ia-gradient: radial-gradient(1000px 500px at 20% 10%, rgba(13,110,253,.20), transparent 60%),
                 radial-gradient(800px 400px at 80% 20%, rgba(25,135,84,.18), transparent 55%),
                 linear-gradient(180deg, rgba(248,249,250,1), rgba(255,255,255,1));
  --surface: #ffffff;
  --surface-muted: #f8f9fa;
  --border-subtle: rgba(15,23,42,.06);
  --shadow-soft: 0 .5rem 1.25rem rgba(15,23,42,.08);
  --transition-fast: .18s ease-out;
}

.hero{
  background: var(--ia-gradient);
}

.badge-soft{
    background: rgba(13,110,253,.10);
    color: #dfe2e6;
    border: 1px solid rgba(13,110,253,.20);
}

/* Mise en valeur date & lieu */
.badge-event{
    font-weight: 700;        /* gras */
    font-size: 1.05rem;      /* plus grand */
    letter-spacing: .3px;    /* lisibilité premium */
    padding: .5rem .85rem;   /* plus d’air */
}


.card-hover:hover{
  transform: translateY(-2px);
  transition: var(--transition-fast);
  box-shadow: 0 .5rem 1rem rgba(0,0,0,.08);
}

.section-title{
  letter-spacing: .2px;
}

.small-muted{
  color: #6c757d;
}

.footer a{
  text-decoration: none;
}

/* Texte animé vidéo d’intro */
.seminar-text {
  animation: fadeSlideUp 1.2s ease-out forwards;
}

@keyframes fadeSlideUp {
  0% {
    opacity: 0;
    transform: translate(-50%, -40%);
  }
  100% {
    opacity: 1;
    transform: translate(-50%, -50%);
  }
}

/* Hero avec vidéo de fond */
.hero-with-video{
  position: relative;
  isolation: isolate;
}

.hero-video-bg{
  position: absolute;
  inset: 0;
  z-index: -2;
  overflow: hidden;
}

.hero-video-bg video{
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(1.1) contrast(1.05);
}

.hero-video-overlay{
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(120deg, rgba(15,23,42,.8), rgba(15,23,42,.35)),
    radial-gradient(900px 420px at 15% 0%, rgba(13,110,253,.45), transparent 60%);
}

.hero-intro .lead,
.hero-intro p{
  color: #f8fafc;
}

.hero-intro .text-muted,
.hero-intro .small-muted{
  color: rgba(248,249,250,.8);
}

/* Section Thématiques */
.thematiques-badge{
  background: var(--brand-soft);
  color: var(--brand-strong);
  border: 1px solid rgba(13,110,253,.20);
}

.thematic-card{
  position: relative;
  display: flex;
  flex-direction: column;
  border-radius: 1rem;
  padding: 1.5rem 1.5rem 1.75rem;
  background: radial-gradient(circle at 0 0, rgba(13,110,253,.04), transparent 60%),
              radial-gradient(circle at 100% 100%, rgba(25,135,84,.04), transparent 55%),
              var(--surface);
  border: 1px solid var(--border-subtle);
  box-shadow: 0 .25rem .75rem rgba(15,23,42,.04);
  transition:
    transform var(--transition-fast),
    box-shadow var(--transition-fast),
    border-color var(--transition-fast),
    background-color var(--transition-fast);
  cursor: default;
}

.thematic-card::before{
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  border: 1px solid transparent;
  background: radial-gradient(circle at top left, rgba(13,110,253,.35), transparent 55%);
  opacity: 0;
  transition: opacity var(--transition-fast);
  pointer-events: none;
}

.thematic-card.is-hovered,
.thematic-card:focus-within{
  transform: translateY(-4px) translateZ(0);
  box-shadow: var(--shadow-soft);
  border-color: rgba(13,110,253,.35);
}

.thematic-card.is-hovered::before,
.thematic-card:focus-within::before{
  opacity: .4;
}

.thematic-icon-wrapper{
  display: flex;
  align-items: center;
  justify-content: flex-start;
  margin-bottom: .9rem;
}

.thematic-icon{
  width: 44px;
  height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: rgba(13,110,253,.09);
  color: var(--brand-strong);
  border: 1px solid rgba(13,110,253,.25);
  font-size: 1.35rem;
  box-shadow: 0 .25rem .55rem rgba(13,110,253,.20);
  transition:
    transform var(--transition-fast),
    box-shadow var(--transition-fast),
    background-color var(--transition-fast),
    color var(--transition-fast);
}

.thematic-card.is-hovered .thematic-icon{
  transform: translateY(-2px) scale(1.04);
  box-shadow: 0 .45rem 1rem rgba(13,110,253,.3);
  background: var(--brand-strong);
  color: #fff;
}

.thematic-icon-success{
  background: rgba(25,135,84,.09);
  color: #157347;
  border-color: rgba(25,135,84,.25);
  box-shadow: 0 .25rem .55rem rgba(25,135,84,.25);
}

.thematic-card.is-hovered .thematic-icon-success{
  background: #198754;
  color: #fff;
  box-shadow: 0 .45rem 1rem rgba(25,135,84,.38);
}

.thematic-icon-warning{
  background: rgba(255,193,7,.13);
  color: #b58100;
  border-color: rgba(255,193,7,.35);
  box-shadow: 0 .25rem .55rem rgba(255,193,7,.3);
}

.thematic-card.is-hovered .thematic-icon-warning{
  background: #ffc107;
  color: #000;
}

.thematic-icon-danger{
  background: rgba(220,53,69,.11);
  color: #b02a37;
  border-color: rgba(220,53,69,.35);
  box-shadow: 0 .25rem .55rem rgba(220,53,69,.32);
}

.thematic-card.is-hovered .thematic-icon-danger{
  background: #dc3545;
  color: #fff;
}

.thematic-icon-info{
  background: rgba(13,202,240,.12);
  color: #087990;
  border-color: rgba(13,202,240,.35);
  box-shadow: 0 .25rem .55rem rgba(13,202,240,.3);
}

.thematic-card.is-hovered .thematic-icon-info{
  background: #0dcaf0;
  color: #000;
}

.thematic-icon-innovation{
  background: rgba(111,66,193,.13);
  color: #6f42c1;
  border-color: rgba(111,66,193,.4);
  box-shadow: 0 .25rem .55rem rgba(111,66,193,.32);
}

.thematic-card.is-hovered .thematic-icon-innovation{
  background: #6f42c1;
  color: #fff;
}

.thematic-body{
  display: flex;
  flex-direction: column;
  gap: .3rem;
}

.thematic-title{
  font-size: 1.05rem;
  margin: 0;
}

.thematic-text{
  font-size: .9rem;
  margin: 0;
  color: #6c757d;
}

@media (prefers-reduced-motion: reduce){
  .thematic-card,
  .thematic-icon{
    transition: none;
  }
}

/* Section Vision & origine (style bloc central MIA-BF) */
.vision-section{
  background: #ffffff;
}

.vision-logo{
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.vision-logo-img{
  max-width: 220px;
  height: auto;
  animation: visionFloat 8s ease-in-out infinite;
}

.vision-tagline{
  font-size: 1rem;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: #0f172a;
}

.vision-title{
  font-size: 1.4rem;
  font-weight: 700;
}

.vision-title-main{
  color: #0d6efd;
}

.vision-title-highlight{
  position: relative;
  display: inline-block;
  margin-left: .35rem;
  color: #059669;
}

.vision-title-highlight::after{
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -.25rem;
  height: 4px;
  border-radius: 999px;
  background: linear-gradient(90deg, #0d6efd, #10b981);
  transform-origin: left center;
  transform: scaleX(0);
  opacity: 0;
  animation: visionUnderline .9s ease-out .3s forwards;
}

.vision-text{
  max-width: 720px;
  font-size: .95rem;
  color: #4b5563;
}

@keyframes visionUnderline{
  0%{
    transform: scaleX(0);
    opacity: 0;
  }
  100%{
    transform: scaleX(1);
    opacity: 1;
  }
}

@keyframes visionFloat{
  0%,100%{
    transform: translateY(0);
  }
  50%{
    transform: translateY(-6px);
  }
}

/* Bloc missions / public / activités / événements (inspiré capture MIA‑BF) */
.info-grid-section{
  background: radial-gradient(900px 400px at 0% 0%, rgba(13,110,253,.08), transparent 60%),
              radial-gradient(800px 380px at 100% 0%, rgba(32,201,151,.07), transparent 55%),
              linear-gradient(180deg, #ffffff, #f8fafc);
}

.info-card{
  position: relative;
  border-radius: 1.25rem;
  padding: 2rem 1.75rem;
  overflow: hidden;
  box-shadow: 0 .45rem 1.25rem rgba(15,23,42,.10);
}

.info-card::before{
  content: "";
  position: absolute;
  inset: 0;
  mix-blend-mode: soft-light;
  opacity: .35;
  background-image:
    radial-gradient(circle at 0 0, rgba(255,255,255,.45), transparent 55%),
    radial-gradient(circle at 100% 100%, rgba(15,23,42,.35), transparent 60%);
  pointer-events: none;
}

.info-card > *{
  position: relative;
  z-index: 1;
}

.info-card-title{
  font-size: 1.1rem;
  margin-bottom: .75rem;
}

.info-card-text{
  font-size: .9rem;
}

.info-card-light{
  background: #ffffff;
  color: #0f172a;
  border: 1px solid var(--border-subtle);
}

.info-card-blue{
  background: radial-gradient(circle at 0 0, #2563eb, #0b3b82);
  color: #e5f0ff;
}

.info-card-green{
  background: radial-gradient(circle at 0 0, #059669, #064e3b);
  color: #e6fff4;
}

.info-card-indigo{
  background: radial-gradient(circle at 0 0, #4f46e5, #1e1b4b);
  color: #e5e7ff;
}

.info-card-list{
  padding-left: 1.1rem;
  margin-bottom: 0;
  font-size: .85rem;
}

.info-card-list li + li{
  margin-top: .25rem;
}

/* Navbar brand: allow wrapping on small screens to avoid overflow */
@media (max-width: 576px) {
  .navbar-brand{
    white-space: normal; /* allow line breaks */
    overflow-wrap: anywhere;
    max-width: calc(100% - 56px); /* leave room for the toggler */
    font-size: .95rem;
    line-height: 1.05;
  }
  .navbar .navbar-brand i{
    margin-right: .35rem;
    vertical-align: middle;
  }
}
