/* SASB24 — ajustements discrets des pages publiques.
   Les couleurs, textes et dispositions principales sont conservés. */

/* Limiter les risques de débordement sans toucher à la grille globale. */
.dps-page, .calendar-page, .partners-page { min-width: 0; }
.dps-page img, .calendar-page img, .partners-page img { max-width: 100%; }
.dps-page .dps-hero-content, .dps-page .dps-section,
.calendar-page .calendar-wrapper, .partners-page .partners-grid { min-width: 0; }

/* Repères de navigation identiques sur ces trois pages. */
.dps-page a:focus-visible, .dps-page button:focus-visible,
.calendar-page a:focus-visible, .calendar-page button:focus-visible,
.partners-page a:focus-visible, .partners-page button:focus-visible {
    outline: 3px solid #00a8e8;
    outline-offset: 4px;
}
.dps-page .hero-actions, .calendar-page .hero-actions { flex-wrap: wrap; }
.dps-page .hero-actions .btn, .calendar-page .hero-actions .btn {
    max-width: 100%;
    white-space: normal;
    overflow-wrap: anywhere;
    text-align: center;
}

/* Cartes : préserver leurs styles et éviter les débordements de texte. */
.dps-page .dps-definition-card, .dps-page .dps-text-card,
.calendar-page .calendar-card, .partners-page .partner-card {
    min-width: 0;
    overflow-wrap: anywhere;
}

/* Calendrier externe : la largeur ne doit pas dépasser celle du téléphone. */
.calendar-page iframe, .calendar-page .calendar-frame {
    display: block;
    max-width: 100%;
}

@media (max-width: 767px) {
    .dps-page .hero-actions, .calendar-page .hero-actions { gap: 0.7rem; }
    .dps-page .hero-actions .btn, .calendar-page .hero-actions .btn {
        width: 100%;
        justify-content: center;
    }
    .dps-page .dps-hero, .calendar-page .hero-section,
    .partners-page .partners-hero { max-width: 100%; }
    .partners-page .partners-contact { padding: 1.4rem; }
    .partners-page .partners-grid { gap: 1rem; }
}
@media (max-width: 420px) {
    .partners-page .partners-contact { padding: 1rem; }
    .dps-page .dps-floating-badge { max-width: 95%; }
}
@media (prefers-reduced-motion: reduce) {
    .dps-page *, .calendar-page *, .partners-page * {
        scroll-behavior: auto !important;
        animation-duration: 0.01ms !important;
        transition-duration: 0.01ms !important;
    }
}
