:root {
  --color-navy: #0E2A47;
  --color-logo-blue: #006BAE;
  --color-bus-red: #B23A2E;
  --color-cream: #F7F2E7;
  --color-mustard: #C98A2B;
  --font-heading: 'Sora', sans-serif;
  --font-body: 'Inter', sans-serif;
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-heading);
  font-weight: 800;
}
body, p {
  font-family: var(--font-body);
  font-weight: 400;
}

.main-header-menu a {
  color: var(--color-navy) !important;
}
.menu-cta-button {
  position: absolute !important;
  left: 100%;
  margin-left: 16px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 5;
  white-space: nowrap;
}
.menu-cta-button a {
  background-color: var(--color-bus-red) !important;
  color: #FFFFFF !important;
  border-radius: 4px;
  padding: 8px 18px !important;
}
@media (max-width: 921px) {
  .menu-cta-button {
    position: static !important;
    transform: none;
    margin: 8px 0 0 0;
    display: inline-block;
  }
}

/* Nombre : centrage natif Spectra (le cercle centre déjà via .circle-container__content).
   Ne PAS forcer min-height/flex ici, sinon le nombre se décentre. */
.uagb-block-home01 .uagb-counter-block-number,
.uagb-block-home02 .uagb-counter-block-number,
.uagb-block-home03 .uagb-counter-block-number {
  color: #FFFFFF;
}

.wp-container-core-group-is-layout-d795f8b8 {
  background-color: var(--color-cream);
}
.wp-container-core-group-is-layout-d795f8b8 img {
  background-color: #FFFFFF;
  padding: 8px;
  border-radius: 6px;
}

.site-footer,
.site-below-footer-wrap {
  background-color: var(--color-navy) !important;
}
.site-footer,
.site-footer p,
.site-footer h1,
.site-footer h2,
.site-footer h3,
.site-footer h4,
.site-below-footer-wrap,
.site-below-footer-wrap p,
.ast-footer-copyright,
.ast-footer-copyright p {
  color: var(--color-cream) !important;
}
.site-footer a {
  color: var(--color-cream) !important;
}
.site-footer a:hover {
  color: var(--color-bus-red) !important;
}
.site-below-footer-wrap {
  border-top: 1px solid rgba(247, 242, 231, 0.15);
}
.site-footer .ast-builder-social-element svg,
.site-footer .ast-builder-social-element a {
  color: var(--color-cream) !important;
  fill: var(--color-cream) !important;
}


/* ===== Ressources : accordéons leçons (core/details) ===== */
.wp-block-details {
  border: 1px solid #E1E8F0;
  border-radius: 8px;
  margin: 0 0 12px;
  background: #FFFFFF;
  overflow: hidden;
}
.wp-block-details > summary {
  cursor: pointer;
  list-style: none;
  padding: 15px 48px 15px 20px;
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: 1rem;
  color: var(--color-navy);
  background: #F1F5FA;
  position: relative;
  -webkit-user-select: none;
  user-select: none;
}
.wp-block-details > summary::-webkit-details-marker { display: none; }
.wp-block-details > summary::marker { content: ""; }
.wp-block-details > summary::after {
  content: "+";
  position: absolute; right: 18px; top: 50%; transform: translateY(-50%);
  font-size: 1.4rem; font-weight: 400; color: var(--color-logo-blue); line-height: 1;
}
.wp-block-details[open] > summary { background: var(--color-navy); color: #FFFFFF; }
.wp-block-details[open] > summary::after { content: "3"; color: #FFFFFF; }
.wp-block-details > summary:hover { background: #E7EEF6; }
.wp-block-details[open] > summary:hover { background: var(--color-navy); }
.wp-block-details > *:not(summary) { margin-left: 20px; margin-right: 20px; }
.wp-block-details > summary + * { margin-top: 18px; }
.wp-block-details > *:last-child { margin-bottom: 20px; }

/* Images retirées (nouveau style) */
.wp-block-details figure,
.wp-block-details img { display: none !important; }

/* Tableaux compacts, sans débordement */
.wp-block-details table {
  width: 100% !important; table-layout: auto; border-collapse: collapse;
  font-size: 0.9rem; margin: 0 0 14px; display: table;
}
.wp-block-details table td,
.wp-block-details table th {
  width: auto !important; padding: 7px 12px; border: 1px solid #E1E8F0;
  word-break: break-word; vertical-align: top;
}
.wp-block-details table th { background: #F1F5FA; }


/* --- Fixes accordéons Ressources --- */
.wp-block-details > summary { display: block; }
.wp-block-details figure { display: block !important; }
.wp-block-details figure:has(img) { display: none !important; }
.wp-block-details img { display: none !important; }
.wp-block-details > summary::after { content: "+"; }
.wp-block-details[open] > summary::after { content: "–"; }


/* tableaux compacts (largeur au contenu, jamais de débordement) */
.wp-block-details table { width: auto !important; max-width: 100%; }
.wp-block-details figure.wp-block-table { overflow-x: auto; margin: 0 0 14px; }
.wp-block-details figure.wp-block-table > table { margin: 0; }


/* tableaux centrés dans les accordéons */
.wp-block-details figure.wp-block-table { text-align: center; }
.wp-block-details table { margin-left: auto !important; margin-right: auto !important; }


/* ===== Marquee logos certifications (défilement infini) ===== */
.alpha-marquee { overflow: hidden; width: 100%; padding: 8px 0;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.alpha-marquee__track { display: flex; align-items: center; gap: 72px; width: max-content;
  animation: alpha-marquee 45s linear infinite; }
.alpha-marquee:hover .alpha-marquee__track { animation-play-state: paused; }
.alpha-marquee__track img { height: 54px; width: auto; max-width: none; object-fit: contain;
  filter: grayscale(100%); opacity: .7; transition: filter .3s, opacity .3s; flex: 0 0 auto; }
.alpha-marquee__track img:hover { filter: none; opacity: 1; }
@keyframes alpha-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) {
  .alpha-marquee { mask-image: none; -webkit-mask-image: none; }
  .alpha-marquee__track { animation: none; flex-wrap: wrap; justify-content: center; gap: 40px; }
}


/* Content Timeline : masquer les dates (parcours) */
.wp-block-uagb-content-timeline .uagb-timeline__inner-date-new,
.wp-block-uagb-content-timeline .uagb-timeline__date-new,
.wp-block-uagb-content-timeline .uagb-timeline__date-hide { display: none !important; }


/* Content Timeline : marqueur rond rouge numéroté (parcours) */
.wp-block-uagb-content-timeline { counter-reset: tl-step; }
.wp-block-uagb-content-timeline .uagb-timeline__marker {
  background: var(--color-bus-red) !important; border: none !important;
  display: flex !important; align-items: center; justify-content: center;
}
.wp-block-uagb-content-timeline .uagb-timeline__marker svg { display: none !important; }
.wp-block-uagb-content-timeline .uagb-timeline__marker::after {
  counter-increment: tl-step; content: counter(tl-step);
  color: #fff; font-family: var(--font-heading); font-weight: 800; font-size: 18px; line-height: 1;
}
.wp-block-uagb-content-timeline .uagb-timeline__line__inner,
.wp-block-uagb-content-timeline .uagb-timeline__line { background-color: var(--color-navy) !important; }


/* Point de bascule menu burger porté à 1200px (défaut Astra builder = 921).
   Le menu principal (7 entrées + CTA + logo) débordait sur 2 lignes entre 922 et 1199px.
   Le filtre PHP astra_header_break_point passe déjà le JS + la classe body à 1200 ;
   ici on aligne l'affichage des conteneurs header (le builder les câble sur 921 en dur). */
@media (max-width: 1200px) {
  #ast-desktop-header { display: none !important; }
  .ast-mobile-header-wrap { display: block !important; }
}
