/* Ajustements fonctionnels de l’intégration de Xavier. */
.cfa-amount-input { position:absolute; width:1px; height:1px; margin:-1px; clip-path:inset(50%); overflow:hidden; }
.cfa-amount-label { cursor:pointer; display:inline-flex; align-items:center; justify-content:center; background:transparent; border:2px solid #000; color:#000; white-space:nowrap; }
.sb-sticky-don .cfa-amount-label { border:1px solid #000; }
.cfa-amount-input:checked + .cfa-amount-label { background:#ed2027; border-color:#ed2027; color:#fff; }
.cfa-amount-input:focus-visible + .cfa-amount-label, a:focus-visible, button:focus-visible { outline:3px solid #008cab; outline-offset:4px; }
.sb-sticky-don button, .donations_separation button { font-family:inherit; line-height:inherit; cursor:pointer; }
.donations_separation { border:0; }
.cfa-video-trigger { padding:0; border:0; background:none; color:inherit; font:inherit; text-transform:inherit; cursor:pointer; }
.video-hero .video-overlay { pointer-events:none; }
#section_video { min-height:0; display:block; background:#000; }
#cfa-video-player { display:block; width:100%; height:auto; aspect-ratio:16/9; max-height:calc(100svh - 120px); object-fit:contain; }
.cfa-video-cover { display:none; }
#section_video.cfa-video-ready:not(.cfa-video-started) { min-height:600px; }
.cfa-video-ready:not(.cfa-video-started) #cfa-video-player { visibility:hidden; position:absolute; }
.cfa-video-ready:not(.cfa-video-started) .cfa-video-cover { display:flex; position:absolute; inset:0; }
#section_video .videoPlayer { padding:0; border:0; background:none; cursor:pointer; }
#section_video .cfa-video-trigger { pointer-events:auto; }
.sb-logo-link { display:block; flex:0 0 100px; }
.sb-logo-link .sb-logo { display:block; }
.scroll-indicator-widget .dot[aria-current="true"] { background:#008cab; }
footer .socials li a { min-width:25px; background-size:contain; background-repeat:no-repeat; background-position:center; }
footer .socials { flex-wrap:wrap; }
@media (min-width:1901px) { #section_video.cfa-video-ready:not(.cfa-video-started) { min-height:770px; } }
@media (max-width:768px) {
    .sb-logo-link { display:none; }
    #section_video.cfa-video-ready:not(.cfa-video-started) { min-height:450px; }
    .sb-sticky-don .sb-btn-dons-container, #section_separtion_don .donations_separation .btn-dons-container { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); width:100%; }
    .sb-sticky-don .cfa-amount-label, #section_separtion_don .cfa-amount-label { width:100%; box-sizing:border-box; }
    .sb-sticky-don .sb-btn-dons-container > button, #section_separtion_don .btn-dons-container > button { grid-column:1 / -1; }
    body { padding-bottom:0; }
    #section-cibles .claim .cta { position:relative; left:auto; bottom:auto; transform:none; max-width:100%; white-space:normal; height:auto; min-height:36px; padding:8px 18px; box-sizing:border-box; }
    #section-cibles .credit { position:relative; top:auto; right:auto; bottom:auto; writing-mode:horizontal-tb; transform:none; margin:12px 20px 0; font-size:8px; text-align:center; }
}
@media (max-width:576px) { #section_video.cfa-video-ready:not(.cfa-video-started) { min-height:250px; } }
@media (prefers-reduced-motion:reduce) {
    html { scroll-behavior:auto; }
    .sb-sticky-don { transition:none; }
}
/* Les portraits restent lisibles même si le carrousel ne peut pas démarrer. */
.content-swiper-our-targets:not(.swiper-initialized) .swiper-wrapper { display:block; }
.content-swiper-our-targets:not(.swiper-initialized) .swiper-slide { margin-bottom:30px; }
#section-cibles.cfa-t2 .img, #section-cibles.cfa-t3 .img { filter:grayscale(1); }
#section-cibles.cfa-t2 .img, #section-cibles.cfa-t2 .firts_ground { background-size:cover; background-position:center top; }
#section-cibles.cfa-t3 .img { background-position:left center; }
.cfa-foreground-canvas { position:absolute; inset:0; width:100%; height:100%; z-index:2; pointer-events:none; }
@media (min-width:768px) and (max-width:1024px) {
    section.help-us .help-us-bottom .container .help-us-list { grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
    section.help-us .help-us-bottom .container .slide-content { min-width:0; padding:1px 12px 35px; box-sizing:border-box; }
    section.help-us .help-us-bottom .slide-content img { width:150px; max-width:100%; height:auto; }
    section.help-us .help-us-bottom .slide-content a { font-size:14px; max-width:100%; box-sizing:border-box; text-align:center; }
}
@media (max-width:767px) {
    #section-cibles.cfa-t2 .illustration, #section-cibles.cfa-t3 .illustration { height:400px; }
    #section-cibles.cfa-t2 .firts_ground { display:block; }
    #section-cibles.cfa-t2 .responsive_firts_ground, #section-cibles.cfa-t3 .responsive_firts_ground { display:none; }
    #section-cibles.cfa-t2.cfa-has-mobile .responsive_firts_ground, #section-cibles.cfa-t3.cfa-has-mobile .responsive_firts_ground { display:block; width:100%; height:400px; object-fit:contain; }
    #section-cibles.cfa-t2.cfa-has-mobile .firts_ground, #section-cibles.cfa-t3.cfa-has-mobile .cfa-foreground-canvas { display:none; }
}

/* Dernière présentation validée : introduction et pied de page. */
#section_story { background:#000; color:#fff; padding:65px 24px; box-sizing:border-box; scroll-margin-top:110px; }
#section_story .container { max-width:1200px; box-sizing:border-box; margin:auto; }
#section_story .content_section { text-align:center; }
#section_story .container h2 { font-size:36px; line-height:1.25; font-weight:700; white-space:pre-line; margin:0 auto 24px; text-transform:uppercase; }
#section_story .container .cfa-intro-subtitle { font-size:26px; line-height:1.4; margin:0 auto 34px; text-transform:none; }
#section_story .cfa-intro-text p, #section_story .container .cfa-intro-closing { font-size:18px; line-height:1.65; margin:0 auto 26px; }
#section_story .container .cfa-intro-closing { margin-bottom:0; }
footer { background:#000; color:#fff; }
footer .cfa-tax-note { max-width:1040px; margin:36px auto; padding:0 24px; font-size:14px; line-height:1.7; text-align:left; }
footer .credits_et_sources { display:block; width:auto; max-width:1040px; margin:30px auto; padding:28px 24px 0; border-top:1px solid #444; }
footer .credits_et_sources h2 { margin:0 0 16px; font-size:16px; line-height:1.5; font-weight:700; text-transform:uppercase; }
footer .credits_et_sources p { margin:0 auto 20px; font-size:14px; line-height:1.65; }
footer .socials li a { width:32px; height:32px; }
#our-targets-carousel .quote-container.cfa-photo-background { background-size:cover; background-position:center; border-radius:12px; min-height:430px; height:auto; box-sizing:border-box; padding:75px 50px; }
#our-targets-carousel .cfa-photo-background .temoignage { position:relative; margin:0; max-width:560px; padding:30px 0; }
#our-targets-carousel .cfa-photo-background blockquote p { color:#fff; }
#our-targets-carousel .cfa-photo-background blockquote cite, #our-targets-carousel .cfa-photo-background blockquote small { color:#9fe5f3; }
#sb-sticky-don-banner { top:-200px !important; bottom:auto !important; box-shadow:0 4px 15px rgba(0,0,0,.15); }
#sb-sticky-don-banner.sb-is-visible { top:0 !important; bottom:auto !important; }
@media(max-width:768px) {
 /* Le bandeau apparaît entièrement, sans glisser sous la barre du navigateur. */
 #sb-sticky-don-banner, #sb-sticky-don-banner.sb-is-visible { top:var(--cfa-sticky-top, 0px) !important; transition:none; }
 #sb-sticky-don-banner { visibility:hidden; padding-top:calc(10px + env(safe-area-inset-top, 0px)); }
 #sb-sticky-don-banner.sb-is-visible { visibility:visible; }
 #section_story { padding:42px 20px; }
 #section_story .container h2 { font-size:25px; }
 #section_story .container .cfa-intro-subtitle { font-size:20px; margin-bottom:26px; }
 #section_story .cfa-intro-text p, #section_story .container .cfa-intro-closing { font-size:16px; line-height:1.6; }
 #our-targets-carousel .quote-container.cfa-photo-background { padding:60px 24px; min-height:360px; }
 footer .cfa-tax-note, footer .credits_et_sources { font-size:13px; margin:26px 20px; padding-left:0; padding-right:0; }
}
