/* ============================================================
 * ESIC Online — Tokens charte 2026 (SITE-WIDE)
 * Chargé sur TOUTES les pages, AVANT les autres CSS.
 * Override les variables du :root existant + remap les hard-codes.
 *
 * Stratégie option B :
 * - 3 brand colors (navy / teal / mint) + variantes
 * - Mapping silos → famille charte étendue (cf. .esic-silo-* en bas)
 * - Hard-codes hex remappés via overrides ciblés !important
 * ============================================================ */

/* ─── 1. Variables charte — site-wide ─── */
:root,
body {
  /* Charte 2026 */
  --esic-navy:    #1A2C75;
  --esic-navy-d:  #11206B;
  --esic-navy-l:  #2F40A0;
  --esic-teal:    #1F8FB0;
  --esic-teal-d:  #176D88;
  --esic-teal-l:  #4DAFCE;
  --esic-mint:    #5BD3A8;
  --esic-mint-d:  #3FA682;
  --esic-mint-l:  #8AE3C2;

  /* Gradient signature */
  --esic-grad:    linear-gradient(135deg, #1A2C75 0%, #1F8FB0 50%, #5BD3A8 100%);

  /* Override des aliases legacy — toutes les règles existantes basculent */
  --primary:      #1A2C75;
  --primary-d:    #11206B;
  --primary-l:    #1F8FB0;
  --cyan:         #1F8FB0;
  --cyan-d:       #176D88;
  --violet:       #5BD3A8;
  --violet-d:     #3FA682;

  --grad-blue:    linear-gradient(135deg, #1A2C75 0%, #1F8FB0 100%);
  --grad-cyan:    linear-gradient(135deg, #1F8FB0 0%, #176D88 100%);
  --grad-violet:  linear-gradient(135deg, #5BD3A8 0%, #3FA682 100%);
  --grad-navy:    linear-gradient(135deg, #0F172A 0%, #1A2C75 100%);
  --grad-hero:    linear-gradient(135deg, #0F172A 0%, #1A2C75 50%, #1F8FB0 100%);
}

/* ─── 2. Hard-codes remap — sections globales ─── */

/* CTA entreprises (sur n'importe quelle page) */
.esic-cta-entreprises {
  background: linear-gradient(135deg, #1A2C75 0%, #1F8FB0 100%) !important;
}
.esic-cta-entreprises__shape {
  background: rgba(91, 211, 168, 0.08) !important;
}
.esic-btn--white { color: #1A2C75 !important; }

/* Boutons primaires — solid navy + hover gradient charte */
.esic-btn--primary {
  background: #1A2C75 !important;
  border: 1px solid #1A2C75 !important;
  transition: all .3s cubic-bezier(0.16, 1, 0.3, 1) !important;
}
.esic-btn--primary:hover {
  background: linear-gradient(135deg, #1A2C75 0%, #1F8FB0 50%, #5BD3A8 100%) !important;
  border-color: transparent !important;
  box-shadow: 0 12px 32px rgba(26,44,117,0.35) !important;
  transform: translateY(-2px);
}

.esic-btn--violet {
  background: linear-gradient(135deg, #3FA682 0%, #5BD3A8 100%) !important;
}
.esic-btn--violet:hover {
  box-shadow: 0 12px 32px rgba(91,211,168,0.35) !important;
  transform: translateY(-2px);
}

/* Cartes catégories — gradients différenciés */
.esic-cat-card--violet {
  background: linear-gradient(135deg, #1A2C75 0%, #1F8FB0 50%, #5BD3A8 100%) !important;
}
.esic-cat-card--blue {
  background: linear-gradient(135deg, #11206B 0%, #1A2C75 40%, #1F8FB0 100%) !important;
}
.esic-cat-card--cyan {
  background: linear-gradient(135deg, #176D88 0%, #1F8FB0 40%, #5BD3A8 100%) !important;
}

/* Lisibilité texte sur cartes catégories */
.esic-cat-card__count,
.esic-cat-card__title,
.esic-cat-card__title--sm,
.esic-cat-card__cta { color: #fff !important; }
.esic-cat-card__desc { color: rgba(255,255,255,0.85) !important; }
.esic-cat-card__icon { filter: drop-shadow(0 2px 8px rgba(0,0,0,0.15)); }

/* Badges */
.esic-badge--violet,
.esic-silo-badge--violet {
  background: rgba(91,211,168,0.15) !important;
  color: #3FA682 !important;
}
.esic-badge--violet::before,
.esic-silo-badge--violet::before { background: #5BD3A8 !important; }

.esic-badge--blue,
.esic-silo-badge--blue {
  background: rgba(26,44,117,0.12) !important;
  color: #1A2C75 !important;
}
.esic-badge--blue::before,
.esic-silo-badge--blue::before { background: #1A2C75 !important; }

.esic-badge--cyan,
.esic-silo-badge--cyan {
  background: rgba(31,143,176,0.12) !important;
  color: #176D88 !important;
}
.esic-badge--cyan::before,
.esic-silo-badge--cyan::before { background: #1F8FB0 !important; }

/* Filter chips actifs */
.esic-filter-chip.is-active {
  background: #1A2C75 !important;
  border-color: #1A2C75 !important;
  color: #fff !important;
}
.esic-filter-chip--violet { color: #3FA682 !important; }
.esic-filter-chip--violet.is-active { background: #5BD3A8 !important; border-color: #5BD3A8 !important; }
.esic-filter-chip--blue { color: #1A2C75 !important; }
.esic-filter-chip--blue.is-active { background: #1A2C75 !important; border-color: #1A2C75 !important; }
.esic-filter-chip--cyan { color: #176D88 !important; }
.esic-filter-chip--cyan.is-active { background: #1F8FB0 !important; border-color: #1F8FB0 !important; }

/* Texte gradient (titres avec accent) */
.esic-gradient-text {
  background: linear-gradient(90deg, #1A2C75 0%, #1F8FB0 50%, #5BD3A8 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}

/* ─── 3. Mapping silos — famille charte étendue (option B) ─── */
/* Couleur métier de chaque silo, tirée de la palette charte */

.esic-silo--cybersecurite,
.silo-color-cybersecurite { --silo-color: #1A2C75; --silo-color-d: #11206B; }      /* navy — sécurité, ancré */

.esic-silo--intelligence-artificielle,
.silo-color-intelligence-artificielle { --silo-color: #5BD3A8; --silo-color-d: #3FA682; } /* mint — futuriste */

.esic-silo--developpement,
.silo-color-developpement { --silo-color: #1F8FB0; --silo-color-d: #176D88; }      /* teal — technique */

.esic-silo--data-business-intelligence,
.silo-color-data-business-intelligence { --silo-color: #176D88; --silo-color-d: #0F4F66; } /* teal-d — analytique */

.esic-silo--cloud-devops,
.silo-color-cloud-devops { --silo-color: #2F40A0; --silo-color-d: #1A2C75; }       /* navy-l — infra */

.esic-silo--marketing-digital,
.silo-color-marketing-digital { --silo-color: #8AE3C2; --silo-color-d: #5BD3A8; }  /* mint-l — créatif */

.esic-silo--systemes-reseaux,
.silo-color-systemes-reseaux { --silo-color: #4DAFCE; --silo-color-d: #1F8FB0; }   /* teal-l */

.esic-silo--pao-graphisme,
.silo-color-pao-graphisme { --silo-color: #5BD3A8; --silo-color-d: #3FA682; }      /* mint */

.esic-silo--management-leadership,
.silo-color-management-leadership { --silo-color: #2F40A0; --silo-color-d: #1A2C75; } /* navy-l */

.esic-silo--comptabilite,
.silo-color-comptabilite { --silo-color: #176D88; --silo-color-d: #0F4F66; }       /* teal-d */

.esic-silo--bureautique,
.silo-color-bureautique { --silo-color: #1F8FB0; --silo-color-d: #176D88; }        /* teal */

.esic-silo--langues,
.silo-color-langues { --silo-color: #4DAFCE; --silo-color-d: #1F8FB0; }            /* teal-l */

.esic-silo--sanitaire-social,
.silo-color-sanitaire-social { --silo-color: #5BD3A8; --silo-color-d: #3FA682; }   /* mint */

/* Default silo color fallback */
.esic-silo-badge,
.esic-silo-color { --silo-color: #1A2C75; --silo-color-d: #11206B; }

/* ============================================================
 * Blog Preview — redesign 2026
 * ============================================================ */
.esic-blog-section {
  padding: 5rem 1.5rem;
  background: #F8FAFC;
}
@media (min-width: 768px) { .esic-blog-section { padding: 5rem 2rem; } }

.esic-blog-section__head { text-align: center; margin-bottom: 3rem; }
.esic-blog-section__eyebrow {
  display: inline-block;
  color: #1F8FB0;
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .15em;
  text-transform: uppercase;
  margin-bottom: 1rem;
}
.esic-blog-section__title {
  font-size: clamp(2rem, 4vw, 2.75rem);
  font-weight: 800;
  letter-spacing: -.025em;
  color: #0F172A;
  margin-bottom: .75rem;
  line-height: 1.1;
}
.esic-blog-section__desc {
  font-size: 1.1rem;
  color: #475569;
  max-width: 580px;
  margin: 0 auto;
  line-height: 1.55;
}
.esic-blog-section__divider {
  width: 60px;
  height: 3px;
  background: linear-gradient(90deg, #1A2C75, #1F8FB0, #5BD3A8);
  border-radius: 2px;
  margin: 1.25rem auto 0;
}

/* Grid 3 cols */
.esic-blog-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.75rem;
  max-width: 1180px;
  margin: 0 auto;
}
@media (min-width: 768px) { .esic-blog-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .esic-blog-grid { grid-template-columns: repeat(3, 1fr); } }

/* Card */
.esic-blog-card {
  background: #fff;
  border-radius: 16px;
  overflow: hidden;
  text-decoration: none !important;
  color: inherit;
  position: relative;
  transition: transform .35s cubic-bezier(0.16,1,0.3,1), box-shadow .35s cubic-bezier(0.16,1,0.3,1), border-color .35s;
  border: 1px solid #E2E8F0;
  display: flex;
  flex-direction: column;
}
.esic-blog-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 40px rgba(15,23,42,0.10);
  border-color: transparent;
}

/* Media */
.esic-blog-card__media {
  position: relative;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: #F1F5F9;
}
.esic-blog-card__media img,
.esic-blog-card__img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  display: block;
  transition: transform .6s cubic-bezier(0.16,1,0.3,1);
}
.esic-blog-card:hover .esic-blog-card__img,
.esic-blog-card:hover .esic-blog-card__media img { transform: scale(1.06); }

.esic-blog-card__placeholder {
  width: 100%; height: 100%;
  background: linear-gradient(135deg, #1A2C75 0%, #1F8FB0 50%, #5BD3A8 100%);
}

/* Badge catégorie sur l'image */
.esic-blog-card__badge {
  position: absolute;
  top: 1rem;
  left: 1rem;
  z-index: 2;
  display: inline-block;
  padding: .35rem .75rem;
  background: rgba(255,255,255,0.95);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border-radius: 999px;
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  white-space: nowrap;
}
.esic-blog-card__badge--cybersec       { color: #1A2C75; }
.esic-blog-card__badge--certifications { color: #176D88; }
.esic-blog-card__badge--carriere       { color: #3FA682; }
.esic-blog-card__badge--ia             { color: #3FA682; }
.esic-blog-card__badge--dev            { color: #176D88; }
.esic-blog-card__badge--data           { color: #176D88; }
.esic-blog-card__badge--default        { color: #475569; }

/* Body */
.esic-blog-card__body {
  padding: 1.5rem 1.5rem 1.5rem;
  flex: 1;
  display: flex;
  flex-direction: column;
}
.esic-blog-card__title {
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: -.015em;
  color: #0F172A;
  margin: 0 0 .65rem;
  transition: color .25s ease;
}
.esic-blog-card:hover .esic-blog-card__title { color: #1A2C75; }
.esic-blog-card__excerpt {
  font-size: .92rem;
  line-height: 1.55;
  color: #475569;
  margin: 0 0 1.25rem;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  flex: 1;
}

/* Meta footer */
.esic-blog-card__meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: .8rem;
  color: #64748B;
  padding-top: 1rem;
  border-top: 1px solid #E2E8F0;
}
.esic-blog-card__meta-left { display: flex; gap: .85rem; flex-wrap: wrap; }
.esic-blog-card__meta-item { display: inline-flex; align-items: center; gap: .25rem; }

.esic-blog-card__arrow {
  width: 28px; height: 28px;
  border-radius: 50%;
  background: #F1F5F9;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: .9rem;
  color: #334155;
  transition: all .3s cubic-bezier(0.16,1,0.3,1);
  flex-shrink: 0;
}
.esic-blog-card:hover .esic-blog-card__arrow {
  background: #1A2C75;
  color: #fff;
  transform: translateX(2px);
}

/* Section foot */
.esic-blog-section__foot {
  text-align: center;
  margin-top: 3rem;
}
.esic-blog-section__more {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  padding: .85rem 1.6rem;
  border-radius: 8px;
  font-weight: 600;
  font-size: .92rem;
  text-decoration: none;
  border: 1px solid #CBD5E1;
  background: #fff;
  color: #0F172A;
  transition: all .25s cubic-bezier(0.16,1,0.3,1);
}
.esic-blog-section__more:hover {
  border-color: #1A2C75;
  color: #1A2C75;
  transform: translateY(-1px);
  box-shadow: 0 8px 18px rgba(15,23,42,0.08);
}

/* Hide ancien design */
.esic-blog__grid { display: none !important; }

/* ============================================================
 * Logo charte 2026 — wordmark <img> dans header / footer
 * ============================================================ */
.esic-logo--brand {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  transition: opacity .25s cubic-bezier(0.16,1,0.3,1);
}
.esic-logo--brand:hover { opacity: 0.85; }
.esic-logo--brand .esic-logo__img {
  display: block;
  height: 60px;
  width: auto;
  max-width: 320px;
}
@media (max-width: 640px) {
  .esic-logo--brand .esic-logo__img { height: 44px; }
}

/* Footer logo blanc, taille un peu plus généreuse */
.esic-footer .esic-logo--brand .esic-logo__img {
  height: 64px;
  max-width: 360px;
}

/* ============================================================
 * Section "Nos solutions pour les entreprises" — redesign 2026
 * ============================================================ */
.esic-solutions {
  padding: 4rem 1.5rem;
}
@media (min-width: 768px) { .esic-solutions { padding: 5rem 2rem; } }

.esic-solutions__head { text-align: center; margin-bottom: 3rem; }
.esic-solutions__eyebrow {
  display: inline-block;
  color: #1F8FB0;
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .15em;
  text-transform: uppercase;
  margin-bottom: 1rem;
}
.esic-solutions__title {
  font-size: clamp(2rem, 4vw, 2.75rem);
  font-weight: 800;
  letter-spacing: -.025em;
  color: #0F172A;
  margin-bottom: .75rem;
  line-height: 1.1;
}
.esic-solutions__subtitle {
  font-size: 1.1rem;
  color: #475569;
  max-width: 620px;
  margin: 0 auto;
  line-height: 1.55;
}
.esic-solutions__divider {
  width: 60px;
  height: 3px;
  background: linear-gradient(90deg, #1A2C75, #1F8FB0, #5BD3A8);
  border-radius: 2px;
  margin: 1.25rem auto 0;
}

.esic-solutions__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
  max-width: 1180px;
  margin: 0 auto;
}
@media (min-width: 900px) {
  .esic-solutions__grid { grid-template-columns: repeat(3, 1fr); gap: 1.75rem; }
}

.esic-solution-card {
  position: relative;
  background: #fff;
  border: 1px solid #E2E8F0;
  border-radius: 16px;
  padding: 2rem 1.75rem;
  transition: all .35s cubic-bezier(0.16,1,0.3,1);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  isolation: isolate;
}
.esic-solution-card::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 4px;
  background: var(--card-accent, linear-gradient(90deg, #1A2C75, #1F8FB0));
  z-index: 1;
}
.esic-solution-card:hover {
  transform: translateY(-4px);
  border-color: transparent;
  box-shadow: 0 24px 48px rgba(15,23,42,0.10);
}

.esic-solution-card--intra  { --card-accent: linear-gradient(90deg, #1A2C75 0%, #2F40A0 100%); }
.esic-solution-card--inter  { --card-accent: linear-gradient(90deg, #1F8FB0 0%, #4DAFCE 100%); }
.esic-solution-card--plan   { --card-accent: linear-gradient(90deg, #5BD3A8 0%, #3FA682 100%); }

.esic-solution-card__icon {
  width: 56px; height: 56px;
  border-radius: 14px;
  display: flex; align-items: center; justify-content: center;
  font-size: 1.6rem;
  margin-bottom: 1.25rem;
  background: var(--card-accent, linear-gradient(135deg, #1A2C75, #1F8FB0));
  color: #fff;
  box-shadow: 0 8px 16px rgba(15,23,42,.12);
  flex-shrink: 0;
}
.esic-solution-card--intra .esic-solution-card__icon { box-shadow: 0 8px 16px rgba(26,44,117,.25); }
.esic-solution-card--inter .esic-solution-card__icon { box-shadow: 0 8px 16px rgba(31,143,176,.25); }
.esic-solution-card--plan  .esic-solution-card__icon { box-shadow: 0 8px 16px rgba(91,211,168,.30); }

.esic-solution-card__badge {
  display: inline-block;
  padding: .25rem .65rem;
  background: #F1F5F9;
  color: #1A2C75;
  border-radius: 999px;
  font-size: .65rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  margin-bottom: 1rem;
  align-self: flex-start;
}
.esic-solution-card--plan .esic-solution-card__badge {
  background: #5BD3A8;
  color: #fff;
}

.esic-solution-card__title {
  font-size: 1.4rem;
  font-weight: 800;
  letter-spacing: -.02em;
  color: #0F172A;
  margin: 0 0 .85rem;
  line-height: 1.25;
}
.esic-solution-card__desc {
  font-size: .98rem;
  line-height: 1.55;
  color: #475569;
  margin: 0 0 1.5rem;
}
.esic-solution-card__desc strong { color: #1A2C75; font-weight: 700; }

.esic-solution-card__features {
  list-style: none;
  padding: 0;
  margin: 0 0 1.5rem;
  display: flex;
  flex-direction: column;
  gap: .6rem;
  flex: 1;
}
.esic-solution-card__feature {
  position: relative;
  padding-left: 1.7rem;
  font-size: .92rem;
  line-height: 1.45;
  color: #334155;
}
.esic-solution-card__feature::before {
  content: "";
  position: absolute;
  left: 0; top: 4px;
  width: 18px; height: 18px;
  border-radius: 50%;
  background: var(--card-accent, linear-gradient(135deg, #1A2C75, #1F8FB0));
  display: flex;
  align-items: center;
  justify-content: center;
}
.esic-solution-card__feature::after {
  content: "";
  position: absolute;
  left: 5px; top: 8px;
  width: 4px; height: 8px;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

.esic-solution-card__cta {
  margin-top: auto;
  padding-top: 1rem;
  border-top: 1px solid #E2E8F0;
}
.esic-solution-card__cta a {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  color: #1A2C75;
  font-weight: 700;
  font-size: .92rem;
  text-decoration: none;
  transition: gap .25s cubic-bezier(0.16,1,0.3,1);
}
.esic-solution-card__cta a::after {
  content: "→";
  transition: transform .25s cubic-bezier(0.16,1,0.3,1);
}
.esic-solution-card:hover .esic-solution-card__cta a { gap: .65rem; }



/* ============================================================
   TOPBAR — Cross-link vers esic.fr (formation initiale)
   ============================================================ */
.esic-topbar {
  background: #EEF2F7;
  color: #1A2C75;
  font-size: 0.8125rem; /* 13px */
  border-bottom: 1px solid #E2E8F0;
}
.esic-topbar__inner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  padding: 0.4rem 1rem;
  min-height: 32px;
  flex-wrap: wrap;
}
.esic-topbar__label {
  color: #475569;
  font-weight: 400;
}
.esic-topbar__link {
  color: #1A2C75;
  font-weight: 600;
  text-decoration: none;
  transition: color 0.18s ease, transform 0.18s ease;
  white-space: nowrap;
}
.esic-topbar__link:hover {
  color: #1F8FB0;
  transform: translateX(2px);
}
.esic-topbar__link span {
  display: inline-block;
  transition: transform 0.18s ease;
}
.esic-topbar__link:hover span { transform: translateX(2px); }
@media (max-width: 640px) {
  .esic-topbar { font-size: 0.75rem; }
  .esic-topbar__inner { gap: 0.5rem; padding: 0.35rem 0.75rem; }
  .esic-topbar__label { text-align: center; flex: 1 1 100%; }
}

/* ============================================================
   FOOTER — Bloc site sœur
   ============================================================ */
.esic-footer__sister {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 1rem 0;
  margin-top: 0.5rem;
  border-top: 1px solid rgba(255,255,255,0.08);
  font-size: 0.875rem;
  color: rgba(255,255,255,0.65);
}
.esic-footer__sister-label {
  font-weight: 400;
}
.esic-footer__sister-link {
  color: #5BD3A8;
  font-weight: 600;
  text-decoration: none;
  transition: color 0.18s ease;
}
.esic-footer__sister-link:hover {
  color: #FFFFFF;
  text-decoration: underline;
}
.esic-footer__sister-link span {
  display: inline-block;
  transition: transform 0.18s ease;
}
.esic-footer__sister-link:hover span { transform: translate(2px, -2px); }


/* ============================================================
   CERTIFICATEUR — bloc card (sidebar single-certification) + inline (hero formation)
   ============================================================ */
.esic-certifier-card {
  background: #fff;
  border: 2px solid #E2E8F0;
  border-radius: 14px;
  padding: 1.25rem;
  margin-bottom: 1.25rem;
  border-left: 4px solid var(--cert-color, #1F8FB0);
  box-shadow: 0 1px 3px rgba(0,0,0,0.04);
  transition: box-shadow 0.2s ease;
}
.esic-certifier-card:hover { box-shadow: 0 8px 24px rgba(0,0,0,0.08); }
.esic-certifier-card__header {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
}
.esic-certifier-card__emoji {
  font-size: 1.65rem;
  line-height: 1;
  flex-shrink: 0;
}
.esic-certifier-card__head-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
  flex: 1;
}
.esic-certifier-card__label {
  font-size: 0.7rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #64748B;
  font-weight: 600;
}
.esic-certifier-card__name {
  font-size: 1rem;
  color: var(--cert-color, #1A2C75);
  font-weight: 800;
  line-height: 1.2;
}
.esic-certifier-card__code {
  font-size: 0.75rem;
  font-weight: 600;
  background: #F1F5F9;
  color: #475569;
  padding: 1px 6px;
  border-radius: 4px;
  margin-left: 4px;
  font-family: 'Inter', monospace;
}
.esic-certifier-card__desc {
  font-size: 0.825rem;
  color: #475569;
  line-height: 1.5;
  margin-bottom: 0.85rem;
}
.esic-certifier-card__link {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.85rem;
  font-weight: 700;
  color: var(--cert-color, #1F8FB0);
  text-decoration: none;
  padding: 0.5rem 0.85rem;
  background: rgba(31, 143, 176, 0.08);
  border-radius: 8px;
  transition: all 0.2s ease;
}
.esic-certifier-card__link:hover {
  background: var(--cert-color, #1F8FB0);
  color: #fff;
  transform: translateY(-1px);
}
.esic-certifier-card__link span {
  transition: transform 0.2s ease;
  display: inline-block;
}
.esic-certifier-card__link:hover span { transform: translate(2px, -2px); }

/* ─── Inline variant (hero formation) ─── */
.esic-formation-hero__certifier-wrap {
  margin-top: 1rem;
}
.esic-certifier-inline {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 0.9rem;
  background: rgba(255,255,255,0.12);
  border: 1px solid rgba(255,255,255,0.18);
  border-radius: 999px;
  color: #fff;
  text-decoration: none;
  font-size: 0.85rem;
  transition: all 0.2s ease;
  backdrop-filter: blur(4px);
}
.esic-certifier-inline:hover {
  background: rgba(255,255,255,0.22);
  border-color: rgba(255,255,255,0.35);
  transform: translateY(-1px);
}
.esic-certifier-inline__emoji { font-size: 1.05rem; line-height: 1; }
.esic-certifier-inline__label { color: rgba(255,255,255,0.9); }
.esic-certifier-inline__label strong { color: #fff; font-weight: 700; }
.esic-certifier-inline__code {
  font-size: 0.72rem;
  font-weight: 600;
  background: rgba(0,0,0,0.18);
  padding: 1px 5px;
  border-radius: 3px;
  margin-left: 3px;
  font-family: 'Inter', monospace;
}
.esic-certifier-inline__arrow {
  color: rgba(255,255,255,0.7);
  transition: transform 0.2s ease;
  display: inline-block;
}
.esic-certifier-inline:hover .esic-certifier-inline__arrow {
  color: #fff;
  transform: translate(2px,-2px);
}


/* ============================================================
   PAGE NOS CERTIFICATEURS
   ============================================================ */
.esic-certifiers-page { background:#F8FAFC; padding-bottom:5rem; }

.esic-certifiers-hero {
  background: linear-gradient(135deg, #1A2C75 0%, #1F4B9C 60%, #2563B0 100%);
  color:#fff;
  padding: 4rem 0 5rem;
}
.esic-certifiers-hero__title {
  font-size: clamp(2rem, 4vw, 3.25rem);
  font-weight: 900;
  line-height: 1.1;
  margin: 1rem 0 1.5rem;
  letter-spacing: -0.02em;
}
.esic-certifiers-hero .esic-text-mint { color: #5BD3A8; }
.esic-certifiers-hero__lead {
  font-size: 1.15rem;
  color: rgba(255,255,255,0.85);
  max-width: 720px;
  line-height: 1.6;
  margin-bottom: 2.5rem;
}
.esic-certifiers-hero__stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 1rem;
  max-width: 900px;
}
.esic-cert-stat {
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.15);
  border-radius: 12px;
  padding: 1.25rem 1rem;
  text-align: center;
  backdrop-filter: blur(4px);
}
.esic-cert-stat strong {
  display:block;
  font-size: 2rem;
  font-weight: 900;
  color: #5BD3A8;
  line-height: 1;
  margin-bottom: .3rem;
}
.esic-cert-stat span {
  font-size: 0.875rem;
  color: rgba(255,255,255,0.75);
  letter-spacing: 0.03em;
}

.esic-certifiers-grid-section { padding: 4rem 0 2rem; }
.esic-certifiers-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
  gap: 1.5rem;
}
.esic-cert-card-full {
  background: #fff;
  border: 1px solid #E2E8F0;
  border-radius: 16px;
  padding: 1.75rem;
  border-left: 5px solid var(--cert-color, #1F8FB0);
  display: flex;
  flex-direction: column;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.esic-cert-card-full:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 40px rgba(15,23,42,0.10);
}
.esic-cert-card-full__header {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 1rem;
  align-items: start;
  margin-bottom: 1rem;
}
.esic-cert-card-full__emoji { font-size: 2.5rem; line-height: 1; }
.esic-cert-card-full__name {
  font-size: 1.5rem;
  font-weight: 800;
  color: var(--cert-color, #1A2C75);
  margin: 0 0 .25rem;
  line-height: 1.1;
}
.esic-cert-card-full__long {
  font-size: 0.825rem;
  color: #64748B;
  margin: 0;
}
.esic-cert-card-full__count {
  background: var(--cert-color, #1F8FB0);
  color: #fff;
  font-size: 0.75rem;
  font-weight: 700;
  padding: 4px 10px;
  border-radius: 999px;
  white-space: nowrap;
  letter-spacing: 0.02em;
}
.esic-cert-card-full__desc {
  font-size: 0.925rem;
  color: #334155;
  line-height: 1.6;
  margin-bottom: 1rem;
  flex: 1;
}
.esic-cert-card-full__tags {
  list-style: none;
  padding: 0;
  margin: 0 0 1.25rem;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.esic-cert-card-full__tags li {
  font-size: 0.72rem;
  background: #F1F5F9;
  color: #475569;
  padding: 3px 9px;
  border-radius: 6px;
  font-weight: 500;
}
.esic-cert-card-full__cta {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  align-self: flex-start;
  font-size: 0.9rem;
  font-weight: 700;
  color: #fff;
  background: var(--cert-color, #1F8FB0);
  padding: 0.65rem 1.2rem;
  border-radius: 10px;
  text-decoration: none;
  transition: all 0.2s ease;
}
.esic-cert-card-full__cta:hover {
  filter: brightness(1.1);
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(0,0,0,0.12);
}
.esic-cert-card-full__cta span {
  transition: transform 0.2s ease;
  display: inline-block;
}
.esic-cert-card-full__cta:hover span { transform: translate(2px,-2px); }

.esic-certifiers-cta {
  background: #fff;
  border-top: 1px solid #E2E8F0;
  padding: 4rem 0;
  text-align: center;
  margin-top: 2rem;
}
.esic-certifiers-cta h2 {
  font-size: clamp(1.5rem, 3vw, 2rem);
  font-weight: 800;
  color: #1A2C75;
  margin-bottom: 1rem;
}
.esic-certifiers-cta p {
  font-size: 1.05rem;
  color: #475569;
  max-width: 600px;
  margin: 0 auto 2rem;
  line-height: 1.6;
}
.esic-certifiers-cta__actions {
  display: flex;
  gap: 1rem;
  justify-content: center;
  flex-wrap: wrap;
}

/* ============================================================
   PAGE "Devenir partenaire" — /devenir-partenaire/
   ============================================================ */
.esic-partners-page { background:#F8FAFC; padding-bottom:5rem; }

.esic-partners-hero {
  background: linear-gradient(135deg, #0F172A 0%, #1A2C75 50%, #1F8FB0 100%);
  color: #fff; padding: 4rem 0 3.5rem;
}
.esic-partners-hero__title {
  font-size: clamp(1.75rem, 3vw, 2.5rem); font-weight: 800; line-height: 1.15;
  color: #fff; margin: 0.75rem 0 1rem;
}
.esic-partners-hero .esic-text-mint { color: #5BD3A8; }
.esic-partners-hero__lead {
  font-size: 1.0625rem; line-height: 1.65; color: rgba(255,255,255,0.85);
  max-width: 60ch; margin-bottom: 1.5rem;
}
.esic-partners-hero__pills {
  display: flex; flex-wrap: wrap; gap: 0.5rem;
}
.esic-partners-pill {
  background: rgba(91,211,168,0.12); color: #5BD3A8;
  border: 1px solid rgba(91,211,168,0.30);
  padding: 0.375rem 0.875rem; border-radius: 999px;
  font-size: 0.8125rem; font-weight: 600;
}

.esic-partners-section-title {
  font-size: 1.5rem; font-weight: 700; color: #1A2C75;
  margin: 0 0 2rem; text-align: center;
}

.esic-partners-steps { padding: 4rem 0 2rem; }
.esic-partners-steps__list {
  list-style: none; padding: 0; margin: 0;
  display: grid; grid-template-columns: 1fr; gap: 1.5rem;
  max-width: 800px; margin-inline: auto;
}
@media (min-width: 768px) {
  .esic-partners-steps__list { grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }
}
.esic-partners-steps__list li {
  background:#fff; border:1px solid #E2E8F0; border-radius:14px;
  padding: 1.5rem; display: flex; gap: 1rem; align-items: flex-start;
  box-shadow: 0 1px 4px rgba(15,23,42,0.04);
}
.esic-partners-step__num {
  flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center;
  width: 36px; height: 36px; border-radius: 50%;
  background: linear-gradient(135deg, #1A2C75 0%, #1F8FB0 100%);
  color: #fff; font-weight: 800; font-size: 1.125rem;
}
.esic-partners-steps__list h3 { font-size: 1rem; font-weight: 700; color: #1A2C75; margin: 0 0 0.375rem; }
.esic-partners-steps__list p { font-size: 0.9rem; color: #475569; line-height: 1.55; margin: 0; }

.esic-partners-benefits { padding: 3rem 0; }
.esic-partners-benefits__grid {
  display: grid; grid-template-columns: 1fr; gap: 1.25rem;
}
@media (min-width: 640px) { .esic-partners-benefits__grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .esic-partners-benefits__grid { grid-template-columns: repeat(3, 1fr); } }
.esic-partners-benefit {
  background:#fff; border:1px solid #E2E8F0; border-radius:14px;
  padding: 1.5rem; box-shadow: 0 1px 4px rgba(15,23,42,0.04);
  transition: transform .2s, box-shadow .2s;
}
.esic-partners-benefit:hover { transform: translateY(-2px); box-shadow: 0 8px 20px rgba(15,23,42,0.08); }
.esic-partners-benefit__emoji { font-size: 1.75rem; line-height: 1; display: block; margin-bottom: 0.75rem; }
.esic-partners-benefit h3 { font-size: 1rem; font-weight: 700; color: #1A2C75; margin: 0 0 0.375rem; }
.esic-partners-benefit p { font-size: 0.9rem; color: #475569; line-height: 1.55; margin: 0; }

.esic-partners-form-section { padding: 3rem 0 1rem; }
.esic-partners-form-intro { text-align: center; color:#64748B; margin-bottom: 2rem; font-size: 0.9rem; }
.esic-required { color: #DC2626; font-weight: 700; }

.esic-partners-form {
  max-width: 800px; margin-inline: auto;
  background:#fff; border:1px solid #E2E8F0; border-radius:16px;
  padding: 2rem; box-shadow: 0 4px 16px rgba(15,23,42,0.05);
}
@media (max-width: 640px) { .esic-partners-form { padding: 1.25rem; } }

.esic-partners-fieldset {
  border: 0; padding: 0; margin: 0 0 2rem;
}
.esic-partners-fieldset legend {
  font-size: 1rem; font-weight: 700; color: #1A2C75;
  margin-bottom: 1rem; padding-bottom: 0.5rem;
  border-bottom: 2px solid #5BD3A8; display: inline-block;
}

.esic-partners-form__row {
  display: grid; grid-template-columns: 1fr; gap: 1rem; margin-bottom: 1rem;
}
@media (min-width: 640px) {
  .esic-partners-form__row { grid-template-columns: 1fr 1fr; }
}
.esic-partners-form__field { display: flex; flex-direction: column; gap: 0.375rem; }
.esic-partners-form__field--full { grid-column: 1 / -1; }
.esic-partners-form__field span {
  font-size: 0.875rem; font-weight: 600; color: #1A2C75;
}
.esic-partners-form__field input,
.esic-partners-form__field select,
.esic-partners-form__field textarea {
  width: 100%; padding: 0.625rem 0.875rem;
  border: 1px solid #E2E8F0; border-radius: 8px;
  font-size: 0.9375rem; font-family: inherit;
  background: #F8FAFC; color: #1A2C75;
  transition: border-color .15s, background .15s;
}
.esic-partners-form__field input:focus,
.esic-partners-form__field select:focus,
.esic-partners-form__field textarea:focus {
  outline: none; border-color: #1F8FB0; background: #fff;
  box-shadow: 0 0 0 3px rgba(31,143,176,0.10);
}
.esic-partners-form__field textarea { resize: vertical; min-height: 120px; }

.esic-partners-form__checkboxes {
  display: grid; grid-template-columns: 1fr; gap: 0.5rem;
}
@media (min-width: 640px) {
  .esic-partners-form__checkboxes { grid-template-columns: 1fr 1fr; }
}
.esic-partners-checkbox {
  display: flex; align-items: flex-start; gap: 0.5rem;
  padding: 0.625rem 0.75rem; border: 1px solid #E2E8F0; border-radius: 8px;
  background: #F8FAFC; cursor: pointer; transition: all .15s;
  font-size: 0.875rem; color: #1A2C75;
}
.esic-partners-checkbox:has(input:checked) {
  background: rgba(31,143,176,0.08); border-color: #1F8FB0;
}
.esic-partners-checkbox input { margin-top: 2px; flex-shrink: 0; }

.esic-partners-form__submit {
  text-align: center; margin-top: 2rem;
  padding-top: 1.5rem; border-top: 1px solid #E2E8F0;
}
.esic-partners-form__legal {
  font-size: 0.75rem; color: #64748B; margin-top: 0.75rem; line-height: 1.5;
}

.esic-partners-success {
  max-width: 600px; margin-inline: auto;
  background:#fff; border:2px solid #5BD3A8; border-radius:16px;
  padding: 2.5rem; text-align: center;
  box-shadow: 0 4px 16px rgba(91,211,168,0.15);
}
.esic-partners-success__emoji { font-size: 3rem; line-height: 1; display: block; margin-bottom: 1rem; }
.esic-partners-success h3 { font-size: 1.5rem; color: #1A2C75; margin: 0 0 0.75rem; }
.esic-partners-success p { color: #475569; line-height: 1.6; margin: 0 0 1.5rem; }

.esic-partners-error {
  max-width: 800px; margin: 0 auto 1.5rem;
  background:#FEE2E2; border:1px solid #FCA5A5; border-radius:10px;
  padding: 0.875rem 1rem; color: #991B1B; font-size: 0.9rem;
}
