/* Module 50 v1.0.29 — bandeaux solidaires, intégration non intrusive. */
.kw50-charity-section{width:min(1500px,calc(100% - clamp(28px,7vw,120px)));margin:clamp(10px,2vw,34px) auto clamp(46px,5vw,76px);position:relative;z-index:1}
.kw50-charity-banner{position:relative;display:block;width:100%;aspect-ratio:4.8/1;min-height:120px;max-height:290px;border:0;padding:0;text-align:left;overflow:hidden;border-radius:clamp(16px,2vw,26px);background:#123c2d;color:#fff;cursor:pointer;box-shadow:0 18px 46px rgba(12,42,26,.15);isolation:isolate}
.kw50-charity-banner img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .35s ease}
.kw50-charity-banner::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,28,18,.82) 0%,rgba(7,32,19,.67) 57%,rgba(6,30,19,.38) 100%);pointer-events:none}
.kw50-charity-banner:hover img{transform:scale(1.025)}
.kw50-charity-banner:focus-visible{outline:4px solid #d4af37;outline-offset:4px}
.kw50-charity-banner-content{position:absolute;z-index:2;inset:0;padding:clamp(16px,3.2vw,54px);display:flex;align-items:center;gap:clamp(12px,2vw,35px);font-family:Montserrat,Inter,sans-serif}
.kw50-charity-heart{font-size:clamp(26px,4.4vw,68px);line-height:1;color:#f2c94c;filter:drop-shadow(0 4px 14px rgba(0,0,0,.25))}
.kw50-charity-banner-text{min-width:0;flex:1;display:flex;flex-direction:column;gap:clamp(5px,.85vw,13px)}
.kw50-charity-banner-text strong{display:block;font-weight:900;font-size:clamp(19px,3.1vw,51px);line-height:1.02;letter-spacing:-.035em;text-wrap:balance}
.kw50-charity-banner-text small{display:block;font:700 clamp(10px,1.12vw,19px)/1.3 Inter,Arial,sans-serif;color:rgba(255,255,255,.94)}
.kw50-charity-arrow{display:grid;place-items:center;flex-shrink:0;width:clamp(39px,4.7vw,72px);aspect-ratio:1;border:2px solid #fff;border-radius:50%;font-size:clamp(24px,3.2vw,45px);font-family:Inter,sans-serif}
.kw50-charity-dots{display:flex;justify-content:center;gap:8px;position:absolute;bottom:9px;left:0;right:0;z-index:3}
.kw50-charity-dots:empty{display:none}
.kw50-charity-dots button{width:9px;height:9px;border-radius:50%;border:1px solid rgba(255,255,255,.8);background:rgba(255,255,255,.35);cursor:pointer;padding:0}
.kw50-charity-dots button.is-active{background:#fff;width:24px;border-radius:99px}
.kw50-charity-modal{position:fixed;inset:0;z-index:2300;display:grid;place-items:center;padding:clamp(12px,3vw,32px);background:rgba(5,17,11,.78);backdrop-filter:blur(7px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .22s,visibility .22s}
.kw50-charity-modal.is-open{opacity:1;visibility:visible;pointer-events:auto}
.kw50-charity-modal-shell{position:relative;display:flex;flex-direction:column;width:min(1100px,100%);height:min(92dvh,900px);background:#0c2319;border:1px solid rgba(255,255,255,.38);border-radius:clamp(20px,2vw,30px);overflow:hidden;box-shadow:0 30px 100px rgba(0,0,0,.4)}
.kw50-charity-modal-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55}
.kw50-charity-modal-shell::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.28),rgba(0,0,0,.12) 40%,rgba(0,0,0,.32));pointer-events:none}
.kw50-charity-modal-head{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:70px;padding:16px clamp(20px,3vw,38px);color:#fff}
.kw50-charity-modal-head h2{margin:0;font:900 clamp(20px,3vw,34px)/1.1 Montserrat,Inter,sans-serif;letter-spacing:-.03em}
.kw50-charity-modal-close{display:grid;place-items:center;width:44px;height:44px;flex:0 0 44px;border:0;border-radius:50%;background:#fff;color:#16271d;font-size:30px;cursor:pointer}
.kw50-charity-causes{position:relative;z-index:2;flex:1;display:flex;flex-direction:column;gap:16px;overflow:auto;padding:clamp(18px,3vw,38px);overscroll-behavior:contain}
.kw50-charity-cause{display:flex;align-items:center;gap:clamp(14px,2.3vw,32px);width:100%;border:1px solid rgba(255,255,255,.68);border-radius:clamp(17px,2vw,26px);background:rgba(255,255,255,.88);backdrop-filter:blur(12px);box-shadow:0 18px 50px rgba(0,0,0,.19);padding:clamp(18px,2.2vw,30px);color:#133424}
.kw50-charity-cause-image{width:clamp(72px,16vw,180px);max-height:165px;object-fit:contain;border-radius:12px;flex-shrink:0}
.kw50-charity-cause-copy{min-width:0;flex:1}
.kw50-charity-period{display:inline-block;padding:7px 12px;margin-bottom:12px;background:#e6f2e9;color:#0d6238;border-radius:999px;font:900 11px Montserrat,Inter,sans-serif;letter-spacing:.035em}
.kw50-charity-cause h3{font:900 clamp(18px,2.3vw,28px)/1.2 Montserrat,Inter,sans-serif;letter-spacing:-.02em;margin:0 0 10px}
.kw50-charity-cause p{margin:0;font:600 clamp(14px,1.4vw,18px)/1.6 Inter,Arial,sans-serif;white-space:pre-line;overflow-wrap:anywhere}
body.kw50-charity-modal-open{overflow:hidden}
@media(max-width:600px){.kw50-charity-section{width:calc(100% - 24px);margin:12px auto 32px}.kw50-charity-banner{min-height:112px;aspect-ratio:3/1}.kw50-charity-heart{display:none}.kw50-charity-banner-content{gap:10px;padding:15px 18px}.kw50-charity-banner-text strong{font-size:clamp(17px,5vw,26px)}.kw50-charity-banner-text small{font-size:10px}.kw50-charity-arrow{width:36px;font-size:22px}.kw50-charity-modal{padding:8px}.kw50-charity-modal-shell{height:calc(100dvh - 16px);border-radius:18px}.kw50-charity-cause{align-items:flex-start;flex-direction:column}.kw50-charity-cause-image{width:110px;height:78px;align-self:center}.kw50-charity-causes{padding:14px}.kw50-charity-modal-head{padding:12px 16px}}
@media(prefers-reduced-motion:reduce){.kw50-charity-banner img,.kw50-charity-modal{transition:none}}

/* Fidélité au pop-up produit : volet plein écran glissant sous l'en-tête du site. */
.kw50-charity-modal{top:var(--kp34-header-height,102px);display:block;padding:0;background:#08130e;backdrop-filter:none;opacity:1;visibility:visible;transform:translate3d(102%,0,0);transition:transform .46s cubic-bezier(.22,.78,.2,1)}
.kw50-charity-modal.is-open{transform:translate3d(0,0,0)}
.kw50-charity-modal-shell{width:min(1680px,100%);height:100%;border:0;border-radius:0;margin:0 auto;box-shadow:none}
.kw50-charity-banner.is-artwork{aspect-ratio:auto;min-height:0;max-height:none;background:transparent}
.kw50-charity-banner.is-artwork img{position:relative;display:block;width:100%;height:auto;object-fit:contain}
.kw50-charity-banner.is-artwork::after,.kw50-charity-banner.is-artwork .kw50-charity-banner-content{display:none}
@media(max-width:600px){.kw50-charity-modal{top:var(--kp34-header-height,70px);padding:0}.kw50-charity-modal-shell{height:100%;border-radius:0}.kw50-charity-banner.is-artwork{min-height:0;aspect-ratio:auto}}
@media(prefers-reduced-motion:reduce){.kw50-charity-modal{transition:none}}

/* v1.0.32 : tailles pilotées en Back Office, aucune modification des pop-ups. */
.kw50-charity-section{
 width:min(var(--kw50-layout-width-desktop,90%),var(--kw50-layout-max-width,1500px));
 max-width:calc(100% - 24px);
 margin-top:var(--kw50-layout-margin-top,24px);
 margin-bottom:var(--kw50-layout-margin-bottom,60px);
}
.kw50-charity-section[data-kw50-align="left"]{margin-left:12px;margin-right:auto}
.kw50-charity-section[data-kw50-align="center"]{margin-left:auto;margin-right:auto}
.kw50-charity-section[data-kw50-align="right"]{margin-left:auto;margin-right:12px}
.kw50-charity-section[data-kw50-custom-ratio-desktop="1"] .kw50-charity-banner{
 min-height:0;max-height:none;aspect-ratio:var(--kw50-layout-ratio-desktop,4/1);
}
.kw50-charity-section[data-kw50-custom-ratio-desktop="1"] .kw50-charity-banner.is-artwork img{
 position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
}
@media(max-width:600px){
 .kw50-charity-section{width:var(--kw50-layout-width-mobile,94%);max-width:calc(100% - 12px)}
 .kw50-charity-section[data-kw50-align="left"]{margin-left:6px;margin-right:auto}
 .kw50-charity-section[data-kw50-align="right"]{margin-left:auto;margin-right:6px}
 .kw50-charity-section[data-kw50-custom-ratio-mobile="1"] .kw50-charity-banner{
   min-height:0;max-height:none;aspect-ratio:var(--kw50-layout-ratio-mobile,3/1);
 }
 .kw50-charity-section[data-kw50-custom-ratio-mobile="1"] .kw50-charity-banner.is-artwork img{
   position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
 }
 .kw50-charity-section[data-kw50-custom-ratio-mobile="0"] .kw50-charity-banner.is-artwork img{
   position:relative;height:auto;object-fit:contain;
 }
}

/* v1.0.33 — Le bandeau public est UNIQUEMENT son image MyCanalDigital.
   Aucune carte, aucun bord, ombre, filtre, texte, flèche ou cadre supplémentaire. */
.kw50-charity-section{
  max-width:100%;
  padding:0;
  background:transparent;
  border:0;
  box-shadow:none;
}
.kw50-charity-banner,
.kw50-charity-banner.is-artwork{
  position:relative;
  display:block;
  width:100%;
  height:auto;
  min-height:0;
  max-height:none;
  aspect-ratio:auto;
  padding:0;
  margin:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  overflow:hidden;
  isolation:auto;
}
.kw50-charity-banner:not([data-kw50-artwork-override])::after,
.kw50-charity-banner::after,
.kw50-charity-banner .kw50-charity-banner-content{display:none!important}
.kw50-charity-banner img,
.kw50-charity-banner.is-artwork img{
  position:relative;
  inset:auto;
  display:block;
  width:100%;
  height:auto;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  object-fit:contain;
  transform:none!important;
  box-shadow:none;
}
.kw50-charity-banner:focus-visible{outline:3px solid #168255;outline-offset:2px}
.kw50-charity-section[data-kw50-custom-ratio-desktop="1"] .kw50-charity-banner,
.kw50-charity-section[data-kw50-custom-ratio-desktop="1"] .kw50-charity-banner.is-artwork{
  aspect-ratio:var(--kw50-layout-ratio-desktop,4 / 1);
}
.kw50-charity-section[data-kw50-custom-ratio-desktop="1"] .kw50-charity-banner img,
.kw50-charity-section[data-kw50-custom-ratio-desktop="1"] .kw50-charity-banner.is-artwork img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
}
@media(max-width:600px){
 .kw50-charity-section{max-width:100%;}
 .kw50-charity-section[data-kw50-custom-ratio-mobile="0"] .kw50-charity-banner,
 .kw50-charity-section[data-kw50-custom-ratio-mobile="0"] .kw50-charity-banner.is-artwork{aspect-ratio:auto;}
 .kw50-charity-section[data-kw50-custom-ratio-mobile="0"] .kw50-charity-banner img,
 .kw50-charity-section[data-kw50-custom-ratio-mobile="0"] .kw50-charity-banner.is-artwork img{position:relative;inset:auto;width:100%;height:auto;object-fit:contain;}
 .kw50-charity-section[data-kw50-custom-ratio-mobile="1"] .kw50-charity-banner,
 .kw50-charity-section[data-kw50-custom-ratio-mobile="1"] .kw50-charity-banner.is-artwork{aspect-ratio:var(--kw50-layout-ratio-mobile,3 / 1);}
 .kw50-charity-section[data-kw50-custom-ratio-mobile="1"] .kw50-charity-banner img,
 .kw50-charity-section[data-kw50-custom-ratio-mobile="1"] .kw50-charity-banner.is-artwork img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
}

/* Module 50 v1.0.34 : libre superposition SANS cadre ajouté au visuel. */
main.kw50-charity-free-main{position:relative!important}
.kw50-charity-section[data-kw50-placement="free"]{
 position:absolute!important;z-index:750;left:0;top:0;
 padding:0!important;margin:0!important;max-width:100%!important;
 background:transparent!important;border:0!important;box-shadow:none!important;
}
.kw50-charity-section[data-kw50-placement="free"] .kw50-charity-banner,
.kw50-charity-section[data-kw50-placement="free"] .kw50-charity-banner.is-artwork{
 width:100%;height:var(--kw50-free-height-desktop,auto)!important;
 aspect-ratio:auto!important;min-height:0!important;max-height:none!important;
 border:0!important;border-radius:0!important;box-shadow:none!important;
}
.kw50-charity-section[data-kw50-placement="free"][data-kw50-free-fixed-desktop="1"] .kw50-charity-banner img,
.kw50-charity-section[data-kw50-placement="free"][data-kw50-free-fixed-desktop="1"] .kw50-charity-banner.is-artwork img{
 position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;
}
@media(max-width:600px){
 .kw50-charity-section[data-kw50-placement="free"] .kw50-charity-banner,
 .kw50-charity-section[data-kw50-placement="free"] .kw50-charity-banner.is-artwork{
  height:var(--kw50-free-height-mobile,auto)!important;aspect-ratio:auto!important;
 }
 .kw50-charity-section[data-kw50-placement="free"][data-kw50-free-fixed-mobile="0"] .kw50-charity-banner img,
 .kw50-charity-section[data-kw50-placement="free"][data-kw50-free-fixed-mobile="0"] .kw50-charity-banner.is-artwork img{
  position:relative!important;inset:auto!important;width:100%!important;height:auto!important;object-fit:contain!important;
 }
 .kw50-charity-section[data-kw50-placement="free"][data-kw50-free-fixed-mobile="1"] .kw50-charity-banner img,
 .kw50-charity-section[data-kw50-placement="free"][data-kw50-free-fixed-mobile="1"] .kw50-charity-banner.is-artwork img{
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;
 }
}
