/* Styles idee.bi — chargé automatiquement par Cassiopeia après template.css.
   Palette et polices reprises de l'ancien site (style Helix « Default »). */
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans:wght@400;600;700&family=Overlock+SC&family=Roboto:wght@400;500;700&display=swap");

:root {
  --idee-blue: #0345bf;
  --idee-blue-dark: #3453a1;
  --idee-red: #d52126;
  --idee-text: #252525;
  --idee-muted: #5c6370;
  --idee-surface: #f4f6fb;
  --idee-radius: 12px;

  --cassiopeia-color-primary: var(--idee-blue-dark);
  --cassiopeia-color-link: var(--idee-blue);
  --cassiopeia-color-hover: #044cd0;
  --cassiopeia-font-family-body: "Roboto", system-ui, sans-serif;
  --cassiopeia-font-family-headings: "Noto Sans", system-ui, sans-serif;
  --body-color: var(--idee-text);
}

body {
  font-family: var(--cassiopeia-font-family-body);
  line-height: 1.6;
  color: var(--idee-text);
}
h1, h2, h3, h4, h5, h6 { font-family: var(--cassiopeia-font-family-headings); }
h1, .page-header h1, .page-header h2 { font-family: "Overlock SC", serif; color: var(--idee-blue-dark); }
h2 { font-size: 1.6rem; margin-top: 2rem; color: var(--idee-blue-dark); }
h3 { font-size: 1.2rem; }

/* ---- En-tête : fond blanc, logo, menu rouge comme sur l'ancien site ---- */
.container-header {
  background: #fff;
  color: var(--idee-text);
  box-shadow: 0 2px 12px rgb(0 0 0 / .06);
}
.container-header .navbar-brand { color: var(--idee-blue-dark); }
.container-header .navbar-brand img { max-height: 64px; width: auto; }
.container-header .site-description { color: var(--idee-muted); font-size: .9rem; }
.container-header .mod-menu > li > a,
.container-header .mod-menu > li > span,
.container-header .metismenu > li > button {
  color: var(--idee-red);
  font-weight: 500;
}
.container-header .mod-menu > li.active > a,
.container-header .mod-menu > li > a:hover,
.container-header .metismenu > li > button:hover { color: var(--idee-blue); }
.container-header .metismenu > li > a:after,
.container-header .metismenu > li > button:before { background: var(--idee-blue); }
.container-header .metismenu .mm-collapse a { color: var(--idee-text); }
.container-header .metismenu .mm-collapse a:hover,
.container-header .metismenu .mm-collapse .active > a { color: var(--idee-blue); }
.container-header .navbar-toggler { color: var(--idee-blue-dark); border-color: var(--idee-blue-dark); }

/* ---- Pied de page ---- */
.footer { background: var(--idee-blue-dark); }
.footer .grid-child > * { flex: 1 1 100%; }
.idee-footer {
  display: grid;
  gap: 1.5rem 3rem;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  padding: 1rem 0;
}
.idee-footer h4 { color: #fff; font-size: 1.05rem; margin-bottom: .5rem; }
.idee-footer p { margin-bottom: .5rem; color: #e6ebf7; }
.idee-social a { margin-inline-end: 1rem; }

/* ---- Blocs de contenu ---- */
.idee-lead { font-size: 1.2rem; color: var(--idee-muted); }
.idee-section { margin-block: 2.5rem; }
.idee-rounded, .idee-split img { border-radius: var(--idee-radius); max-width: 100%; height: auto; }

.idee-hero {
  margin: -1rem 0 2rem;
  padding: 4rem 1.5rem;
  border-radius: var(--idee-radius);
  color: #fff;
  text-align: center;
  background:
    linear-gradient(135deg, rgb(52 83 161 / .92), rgb(3 69 191 / .85)),
    url("../../../../../images/idee/photos/conference-2025-inss.jpg") center / cover;
}
.idee-hero__logo { background: #fff; border-radius: var(--idee-radius); padding: .75rem; max-width: 220px; height: auto; }
.idee-hero__title { color: #fff; font-size: clamp(1.7rem, 4vw, 2.6rem); margin: 1.25rem 0 .25rem; }
.idee-hero__subtitle { font-style: italic; opacity: .85; margin-bottom: 1.5rem; }

.idee-cards {
  display: grid;
  gap: 1.25rem;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  margin-block: 1.5rem;
}
.idee-card {
  background: var(--idee-surface);
  border-top: 4px solid var(--idee-blue);
  border-radius: var(--idee-radius);
  padding: 1.5rem;
}
.idee-card h3 { color: var(--idee-blue-dark); margin-top: .75rem; }
.idee-card__icon { width: 56px; height: 56px; object-fit: contain; }
.idee-icon {
  display: inline-grid; place-items: center;
  width: 3rem; height: 3rem; border-radius: 50%;
  background: var(--idee-red); color: #fff;
}
.idee-num {
  display: inline-grid; place-items: center;
  width: 2.5rem; height: 2.5rem; border-radius: 50%;
  background: var(--idee-red); color: #fff; font-weight: 700; font-size: 1.1rem;
}
.idee-card ol, .idee-card ul { padding-inline-start: 1.2rem; }

.idee-split {
  display: grid;
  gap: 2rem;
  align-items: center;
  grid-template-columns: 1fr;
  margin-block: 2rem;
}
@media (min-width: 768px) {
  .idee-split { grid-template-columns: 3fr 2fr; }
  .idee-split--reverse { grid-template-columns: 2fr 3fr; }
  .idee-split--reverse > :first-child { order: 2; }
}

.idee-quote {
  border-inline-start: 4px solid var(--idee-red);
  background: var(--idee-surface);
  padding: 1rem 1.25rem;
  font-style: italic;
  border-radius: 0 var(--idee-radius) var(--idee-radius) 0;
}

.idee-checklist { list-style: none; padding: 0; }
.idee-checklist > li { position: relative; padding: .5rem 0 .5rem 2rem; border-bottom: 1px solid #e7eaf2; }
.idee-checklist > li::before {
  content: "✓";
  position: absolute; left: 0; top: .5rem;
  color: #fff; background: var(--idee-blue);
  width: 1.4rem; height: 1.4rem; border-radius: 50%;
  display: grid; place-items: center; font-size: .8rem;
}
.idee-checklist ul { margin-top: .4rem; }

.idee-tiles {
  list-style: none; padding: 0;
  display: grid; gap: 1rem;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
}
.idee-tiles li {
  background: var(--idee-surface);
  border-inline-start: 4px solid var(--idee-blue);
  border-radius: 8px;
  padding: 1rem 1.1rem;
}


/* Équipe */
.idee-team {
  display: grid; gap: 1.5rem;
  grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));
  margin-bottom: 2rem;
}
.idee-member { margin: 0; text-align: center; }
.idee-member img {
  width: 100%; aspect-ratio: 1; object-fit: cover; object-position: top;
  border-radius: 50%; border: 4px solid var(--idee-surface);
}
.idee-member figcaption { margin-top: .6rem; line-height: 1.3; }
.idee-member figcaption span { display: block; color: var(--idee-muted); font-size: .9rem; }

/* Partenaires */
.idee-partners { display: grid; gap: 1.5rem; }
.idee-partner {
  display: grid; gap: 1.25rem; align-items: start;
  grid-template-columns: 1fr;
  background: var(--idee-surface); border-radius: var(--idee-radius); padding: 1.5rem;
}
.idee-partner img { max-width: 160px; max-height: 110px; object-fit: contain; background: #fff; border-radius: 8px; padding: .5rem; }
.idee-partner h3 { margin-top: 0; color: var(--idee-blue-dark); }
@media (min-width: 768px) { .idee-partner:has(> a) { grid-template-columns: 180px 1fr; } }

/* Documents à télécharger */
.idee-docs { list-style: none; padding: 0; }
.idee-docs li {
  display: flex; justify-content: space-between; align-items: center; gap: 1rem;
  padding: .9rem 1rem; border-bottom: 1px solid #e7eaf2;
}
.idee-docs li a::before { content: "⬇ "; color: var(--idee-red); }
.idee-docs li span {
  font-size: .75rem; font-weight: 700; color: #fff; background: var(--idee-red);
  border-radius: 4px; padding: .1rem .45rem; flex-shrink: 0;
}

/* Galerie */
.idee-gallery {
  display: grid; gap: 1rem;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  margin-block: 1.5rem;
}
.idee-gallery--4 { grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); }
.idee-gallery figure { margin: 0; }
.idee-gallery img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--idee-radius); display: block; }
.idee-gallery figcaption { font-size: .9rem; color: var(--idee-muted); margin-top: .4rem; }
