/* Encadrés et effets disponibles dans l'éditeur (menu « Effets »). Les animations respectent « réduire les animations ». */
.callout{margin:16px 0;padding:12px 16px;border-left:5px solid #2a2d7c;border-radius:8px;background:#eef0fa;color:#15183f}
.callout-info{border-color:#2a64c8;background:#e8f0fd}
.callout-ok{border-color:#1f8a4c;background:#e6f6ec}
.callout-warn{border-color:#c98a00;background:#fff5db}
.callout-danger{border-color:#d90b0b;background:#fdeaea}
.callout>:first-child{margin-top:0}.callout>:last-child{margin-bottom:0}
@keyframes fxFade{from{opacity:0}to{opacity:1}}
@keyframes fxSlide{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@keyframes fxZoom{from{opacity:0;transform:scale(.88)}to{opacity:1;transform:none}}
@keyframes fxPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.04)}}
@keyframes fxMark{from{background-size:0 100%}to{background-size:100% 100%}}
.fx-fade{animation:fxFade 1s ease both}
.fx-slide{animation:fxSlide .8s ease-out both}
.fx-zoom{animation:fxZoom .7s ease-out both}
.fx-pulse{animation:fxPulse 2s ease-in-out infinite;display:inline-block}
div.fx-pulse,p.fx-pulse{display:block;transform-origin:left center}
.fx-highlight{background:linear-gradient(#ffe066,#ffe066) no-repeat left/0 100%;animation:fxMark 1.2s .3s ease-out forwards;padding:0 3px;border-radius:3px}
details{margin:12px 0;border:1px solid #c9cde3;border-radius:8px;padding:8px 14px;background:#fff}
details>summary{cursor:pointer;font-weight:600;color:#2a2d7c}
@media(prefers-reduced-motion:reduce){.fx-fade,.fx-slide,.fx-zoom,.fx-pulse{animation:none}.fx-highlight{animation:none;background-size:100% 100%}}
