/* Module 50 v1.0.36 — Transitions du carrousel solidaire uniquement.
   Calque placé DANS le bandeau ; ne touche ni au pop-up, ni au positionnement libre.
   Pas de flash noir/blanc, pas de carte, pas de cadre ajouté sur le site public. */
.kw50-charity-banner > .kw50-charity-transition-layer{
  position:absolute!important;inset:0!important;display:block!important;
  z-index:4;width:100%;height:100%;margin:0;padding:0;border:0;
  pointer-events:none;overflow:hidden;will-change:transform,opacity,clip-path;
  backface-visibility:hidden;transform-style:preserve-3d;
  animation-duration:760ms;animation-timing-function:cubic-bezier(.2,.7,.2,1);
  animation-fill-mode:both;
}
.kw50-charity-banner > .kw50-charity-transition-layer > img{
  position:absolute!important;inset:0!important;display:block!important;
  width:100%!important;height:100%!important;max-width:none!important;
  object-fit:var(--kw50-transition-fit,contain)!important;
  margin:0!important;padding:0!important;border:0!important;border-radius:0!important;
  box-shadow:none!important;transform:none!important;
}
.kw50-effect-fade{animation-name:kw50-enter-fade}
.kw50-effect-slide-left{animation-name:kw50-enter-slide-left}
.kw50-effect-slide-right{animation-name:kw50-enter-slide-right}
.kw50-effect-slide-up{animation-name:kw50-enter-slide-up}
.kw50-effect-slide-down{animation-name:kw50-enter-slide-down}
.kw50-effect-zoom-in{animation-name:kw50-enter-zoom-in}
.kw50-effect-zoom-out{animation-name:kw50-enter-zoom-out}
.kw50-effect-wipe-left{animation-name:kw50-enter-wipe-left}
.kw50-effect-wipe-right{animation-name:kw50-enter-wipe-right}
.kw50-effect-wipe-down{animation-name:kw50-enter-wipe-down}
.kw50-effect-iris{animation-name:kw50-enter-iris}
.kw50-effect-flip{animation-name:kw50-enter-flip}
@keyframes kw50-enter-fade{from{opacity:0}to{opacity:1}}
@keyframes kw50-enter-slide-left{from{transform:translateX(100%)}to{transform:translateX(0)}}
@keyframes kw50-enter-slide-right{from{transform:translateX(-100%)}to{transform:translateX(0)}}
@keyframes kw50-enter-slide-up{from{transform:translateY(100%)}to{transform:translateY(0)}}
@keyframes kw50-enter-slide-down{from{transform:translateY(-100%)}to{transform:translateY(0)}}
@keyframes kw50-enter-zoom-in{from{opacity:0;transform:scale(.72)}to{opacity:1;transform:scale(1)}}
@keyframes kw50-enter-zoom-out{from{opacity:.2;transform:scale(1.32)}to{opacity:1;transform:scale(1)}}
@keyframes kw50-enter-wipe-left{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes kw50-enter-wipe-right{from{clip-path:inset(0 0 0 100%)}to{clip-path:inset(0 0 0 0)}}
@keyframes kw50-enter-wipe-down{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes kw50-enter-iris{from{clip-path:circle(0% at 50% 50%)}to{clip-path:circle(75% at 50% 50%)}}
@keyframes kw50-enter-flip{from{opacity:0;transform:perspective(1200px) rotateY(-62deg) scale(.94)}to{opacity:1;transform:perspective(1200px) rotateY(0) scale(1)}}
@media(prefers-reduced-motion:reduce){.kw50-charity-transition-layer{animation:none!important}}

/* Aperçu Back Office — séparé du CSS du site public */
.kw50-transition-editor{border:1px solid #bed8c6;border-radius:14px;padding:16px;background:#f7fbf8}
.kw50-transition-editor h3{margin:0 0 8px;color:#164c32}
.kw50-transition-editor>label{display:block;max-width:470px}
.kw50-transition-choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(148px,1fr));gap:8px;margin:14px 0}
.kw50-transition-choice{display:flex;align-items:center;gap:7px;min-height:52px;border:1px solid #bdd1c4;background:#fff;color:#1d4432;font-size:12px;font-weight:700;line-height:1.3;font-family:inherit;border-radius:10px;padding:9px;text-align:left;cursor:pointer}
.kw50-transition-choice:hover,.kw50-transition-choice:focus-visible{border-color:#24814d;background:#e5f4eb}
.kw50-transition-choice[aria-pressed=true]{border:2px solid #1b7d4e;background:#e3f5e9;color:#0e5230}
.kw50-transition-choice-icon{font-size:18px;color:#b08c39;flex:0 0 19px;text-align:center}
.kw50-transition-test-wrap{max-width:720px;margin:15px 0 0}
.kw50-transition-demo{position:relative;width:100%;aspect-ratio:4/1;overflow:hidden;isolation:isolate;border-radius:12px;background:linear-gradient(135deg,#174a35,#6f9b75);border:1px solid #cadace}
.kw50-transition-demo>img,.kw50-transition-demo-layer>img{width:100%;height:100%;object-fit:cover;display:block}
.kw50-transition-demo-base{filter:grayscale(.9) brightness(.75)}
.kw50-transition-demo-no-image{position:absolute;inset:0;display:grid;place-items:center;color:#fff;font:800 clamp(12px,2vw,18px) Montserrat,Arial,sans-serif;text-align:center}
.kw50-transition-demo.has-image .kw50-transition-demo-no-image{display:none}
.kw50-transition-demo > .kw50-charity-transition-layer{position:absolute;inset:0;z-index:2;width:100%;height:100%;pointer-events:none;overflow:hidden;animation-duration:760ms;animation-timing-function:cubic-bezier(.2,.7,.2,1);animation-fill-mode:both;will-change:transform,opacity,clip-path}
.kw50-transition-demo > .kw50-charity-transition-layer>img{display:block;width:100%;height:100%;object-fit:cover}
.kw50-transition-demo > .kw50-charity-transition-layer:not(:has(img)){background:linear-gradient(120deg,#eddfb4,#72bd9f)}
.kw50-transition-test-tools{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:10px 0}
