/* SASB24 : harmonisation légère des pages publiques Formations et Tarifs.
   Utilise les variables et couleurs existantes de assets/css/style.css. */
.sasb-formations-page { padding-top: 2rem; padding-bottom: 2rem; }
.sasb-formations-page > h2 { color: var(--sasb-dark, #12304a); font-weight: 800; letter-spacing: -.02em; }
.sasb-formations-page > h4 { color: var(--sasb-dark, #12304a); font-weight: 750; line-height: 1.35; }
.sasb-formations-page > p { line-height: 1.7; }
.sasb-formations-page .list-group { border-radius: 15px; overflow: hidden; }
.sasb-formations-page .list-group-item { padding: .85rem 1rem; line-height: 1.55; border-color: var(--sasb-border, #e5edf3); }
.sasb-formations-page .alert { border-radius: 14px; line-height: 1.65; }
.sasb-formations-page .btn { max-width: 100%; white-space: normal; text-align: center; line-height: 1.45; }
.sasb-formations-page a:focus-visible, .sasb-tarifs-page a:focus-visible { outline: 3px solid var(--sasb-blue, #0068b7); outline-offset: 3px; }
.sasb-tarifs-page .category-navigation .nav-pills { row-gap: .65rem; }
.sasb-tarifs-page .category-navigation .nav-link { line-height: 1.4; }
.sasb-tarifs-page .training-item { min-width: 0; }
.sasb-tarifs-page .training-name { min-width: 0; overflow-wrap: anywhere; }
.sasb-tarifs-page .training-price { flex-shrink: 0; }
.sasb-tarifs-page .hero-actions .btn, .sasb-tarifs-page .tarifs-final-cta .btn { white-space: normal; text-align: center; }
@media (max-width: 650px) {
  .sasb-formations-page { padding-top: 1.1rem; padding-bottom: 1rem; }
  .sasb-formations-page .list-group-item { padding: .8rem .85rem; }
  .sasb-tarifs-page .hero-actions { display: flex; flex-wrap: wrap; gap: .6rem; }
  .sasb-tarifs-page .hero-actions .btn { max-width: 100%; }
  .sasb-tarifs-page .training-item { gap: .6rem; }
}
@media (prefers-reduced-motion: reduce) {
  .sasb-formations-page *, .sasb-tarifs-page * { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
