/* SASB24 - Ajustements discrets des pages formations détaillées.
   Conserve les bandeaux, couleurs et composants existants. */
/* Empêche les débordements horizontaux des tableaux, images et éléments longs. */
.sasb24-bnssa-page,
.bsb-page,
.psc-page,
.ssa-page,
.home-page { min-width:0; }
.sasb24-bnssa-page img, .bsb-page img, .psc-page img,
.ssa-page img, .home-page img { max-width:100%; height:auto; }
.sasb24-bnssa-page a, .bsb-page a, .psc-page a,
.ssa-page a, .home-page a { overflow-wrap:break-word; }
.sasb24-bnssa-page table, .bsb-page table, .psc-page table,
.ssa-page table, .home-page table { display:block; max-width:100%; overflow-x:auto; }
/* Rythme vertical simple et homogène sur la page BNSSA historiquement moins stylisée. */
.sasb24-bnssa-page { padding-top:2rem; padding-bottom:3.5rem; }
.sasb24-bnssa-page > h1 { margin:0 0 .85rem; font-weight:800; line-height:1.2; }
.sasb24-bnssa-page > h2 { margin:0 0 1.5rem; line-height:1.3; }
.sasb24-bnssa-page .section { margin-block:1.35rem; }
.sasb24-bnssa-page .section p, .sasb24-bnssa-page .section li { line-height:1.7; }
.sasb24-bnssa-page .section h3 { margin-bottom:.7rem; }
/* Espacements et focus accessibles, sans imposer une nouvelle couleur. */
.bsb-page .bsb-section, .psc-page section, .ssa-page section { scroll-margin-top:6.5rem; }
.sasb24-bnssa-page :is(a, button):focus-visible,
.bsb-page :is(a, button):focus-visible,
.psc-page :is(a, button):focus-visible,
.ssa-page :is(a, button):focus-visible,
.home-page :is(a, button):focus-visible { outline:3px solid #68bdea; outline-offset:3px; }
@media(max-width:767px) {
  .sasb24-bnssa-page { padding-top:1.25rem; padding-bottom:2.25rem; }
  .sasb24-bnssa-page > h1 { font-size:clamp(1.75rem,7vw,2.25rem); }
  .sasb24-bnssa-page > h2 { font-size:clamp(1.2rem,5vw,1.6rem); }
  .sasb24-bnssa-page .d-flex.justify-content-center { flex-wrap:wrap; }
  .sasb24-bnssa-page .btn { max-width:100%; white-space:normal; text-align:center; margin-left:0!important; }
  .bsb-page :is(.bsb-btn,.btn), .psc-page :is(.btn,.btn-hero-primary,.btn-hero-secondary),
  .ssa-page .btn, .home-page .btn { max-width:100%; white-space:normal; text-align:center; }
  .bsb-page :is(.bsb-hero,.bsb-card), .psc-page :is(.psc-hero,.psc-card),
  .ssa-page :is(.ssa-hero,.requirements-card), .home-page .hero-section { min-width:0; }
}
@media(prefers-reduced-motion:reduce){
 .sasb24-bnssa-page *, .bsb-page *, .psc-page *, .ssa-page *, .home-page * {
  scroll-behavior:auto!important;
  animation-duration:.01ms!important;
  transition-duration:.01ms!important;
 }
}
