/* SASB24 — Harmonisation légère Albums / Dons / Boutique.
   Styles volontairement limités aux composants de ces pages.
   Conserver les palettes et bandeaux définis dans les pages existantes. */

/* Albums : alignement et interactions sans altérer le diaporama. */
.album-section { scroll-margin-top: 1.5rem; }
.album-section .album-header { gap: 1rem; }
.album-section .media-item { min-width: 0; }
.album-section .media-item img,
.album-section .media-item video { max-width: 100%; }
.album-section .image-item:focus-visible,
.album-section .video-item:focus-visible,
.sasb-gallery-action button:focus-visible {
    outline: 3px solid #45a6db;
    outline-offset: 3px;
}
.sasb-gallery-action { padding-inline: .5rem; }
.sasb-gallery-action select { max-width: 100%; }

/* Dons : conserver les couleurs existantes et éviter les débordements. */
.don-page .ambulance-project, .don-page .donation-box,
.don-page .don-final { max-width: 100%; }
.don-page .ambulance-grid > *,
.don-page .ambulance-objective-content { min-width: 0; }
.don-page .ambulance-cta { max-width: 100%; }
.don-page .ambulance-cta:focus-visible,
.don-page .donation-link:focus-visible { outline: 3px solid #79c5ea; outline-offset: 3px; }
.don-page .ambulance-counter iframe { display:block; max-width:100%; }

/* Boutique : garder son thème sombre d'origine, améliorer l'adaptation. */
body.boutique-page .container { min-width:0; }
body.boutique-page .article { max-width:100%; min-width:0; }
body.boutique-page .select-row { flex-wrap:wrap; }
body.boutique-page .select-row select { min-width: 110px; }
body.boutique-page .main-img { height:auto; }
body.boutique-page .thumbnails { flex-wrap:wrap; }
body.boutique-page .panier { box-sizing:border-box; }
body.boutique-page a:focus-visible,
body.boutique-page button:focus-visible,
body.boutique-page select:focus-visible,
body.boutique-page .main-img:focus-visible {
    outline: 3px solid #00bfa6; outline-offset: 3px;
}
@media (max-width: 880px) {
    body.boutique-page { display: block; }
    body.boutique-page .container { margin-right: 0; padding: 22px 16px; }
    body.boutique-page .panier { position:relative; width:auto; height:auto; max-height:none; border-left:0; border-top:1px solid #444; }
    body.boutique-page h1 { font-size:clamp(2rem, 6vw, 3rem); margin-bottom:26px; }
    body.boutique-page .articles { gap:16px; }
}
@media (max-width: 600px) {
    .album-section .album-header { flex-wrap:wrap; }
    .sasb-gallery-action { margin-block: 14px 25px; }
    .don-page .ambulance-content { padding-inline: 1rem; }
    .don-page .ambulance-cta-text { white-space:normal; }
    body.boutique-page .article { width:100%; }
}
@media (prefers-reduced-motion: reduce) {
    .album-section .media-item *,
    body.boutique-page .article,
    body.boutique-page .thumbnail { transition:none !important; }
}
