.cc-wrap{position:relative;max-width:1100px;margin:0 auto;padding:10px 44px 20px}
.cc-track{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;padding:44px 6px 16px}
.cc-track::-webkit-scrollbar{display:none}
.cc-card{flex:0 0 220px;scroll-snap-align:center;position:relative;text-align:center}
.cc-ph{display:block;position:relative;border-radius:22px;overflow:hidden;aspect-ratio:3/4;background:#1a0f17;animation:ccHalo 3s ease-in-out infinite}
.cc-card:nth-child(2n) .cc-ph{animation-delay:-1.5s}
.cc-ph img{width:100%;height:100%;object-fit:cover;display:block;animation:ccKB 12s ease-in-out infinite alternate;transform-origin:50% 40%}
.cc-card:nth-child(3n) .cc-ph img{transform-origin:30% 60%;animation-duration:14s}
.cc-pill{position:absolute;top:10px;left:10px;background:#ff2d95;color:#fff;font-size:.72rem;font-weight:700;padding:3px 9px;border-radius:999px}
.cc-bub{position:absolute;top:0;left:50%;z-index:2;white-space:nowrap;max-width:230px;overflow:hidden;text-overflow:ellipsis;background:#fff;color:#2a0f22;font-size:.82rem;font-weight:600;padding:7px 12px;border-radius:16px 16px 16px 4px;box-shadow:0 4px 18px rgba(255,45,149,.45);opacity:0;transform:translate(-50%,10px) scale(.8)}
.cc-card.on .cc-bub{animation:ccPop .5s cubic-bezier(.2,1.4,.4,1) forwards}
.cc-bub .dots{display:inline-block}
.cc-card h3{margin:10px 0 4px;font-size:1.05rem;text-align:center}
.cc-card h3 a{color:inherit;text-decoration:none}
.cc-go{display:inline-block;color:#ff2d95;font-weight:700;text-decoration:none}
.cc-arr{position:absolute;top:50%;transform:translateY(-50%);width:38px;height:38px;border-radius:50%;border:0;background:#ff2d95;color:#fff;font-size:1.3rem;cursor:pointer;box-shadow:0 0 14px rgba(255,45,149,.6);z-index:3}
.cc-prev{left:0}.cc-next{right:0}
@keyframes ccHalo{0%,100%{box-shadow:0 0 10px 2px rgba(255,45,149,.45)}50%{box-shadow:0 0 26px 7px rgba(255,45,149,.85)}}
@keyframes ccKB{from{transform:scale(1)}to{transform:scale(1.12) translate(-2%,-2%)}}
@keyframes ccPop{to{opacity:1;transform:translate(-50%,0) scale(1)}}
@media(max-width:600px){.cc-wrap{padding:10px 8px 20px}.cc-arr{display:none}.cc-card{flex-basis:68%}}
.img-notice-end{text-align:center;padding:10px 0 30px}
/* v2 25/10 : bulles animées façon stories */
.cc-bub{opacity:1;transform:translate(-30%,0) scale(0);transform-origin:20% 100%;background:var(--cream,#fff4f0);color:var(--wine,#7a1f3d);font-weight:800;font-size:12px;padding:5px 11px;border-radius:16px;box-shadow:0 2px 8px rgba(0,0,0,.35);line-height:1.3;animation:none!important}
.cc-bub::after{content:"";position:absolute;left:22%;bottom:-6px;border:6px solid transparent;border-top-color:var(--cream,#fff4f0);border-bottom:0}
.cc-bub{overflow:visible}
.cc-bub.in{animation:ccSayIn .45s cubic-bezier(.34,1.8,.64,1) forwards!important}
.cc-bub.out{animation:ccSayOut .35s ease-in forwards!important}
.cc-bub .cc-dots i{display:inline-block;width:6px;height:6px;margin:0 2px;border-radius:50%;background:currentColor;opacity:.4;animation:ccDot 1s infinite}
.cc-bub .cc-dots i:nth-child(2){animation-delay:.15s}.cc-bub .cc-dots i:nth-child(3){animation-delay:.3s}
@keyframes ccSayIn{from{transform:translate(-30%,0) scale(0)}to{transform:translate(-30%,0) scale(1)}}
@keyframes ccSayOut{from{transform:translate(-30%,0) scale(1);opacity:1}to{transform:translate(-30%,-8px) scale(.6);opacity:0}}
@keyframes ccDot{0%,100%{opacity:.35;transform:translateY(0)}50%{opacity:1;transform:translateY(-3px)}}

/* v4 25/10 : bulle au-dessus de la photo, sans débordement */
.cc-track{padding-top:12px}
.cc-card{padding-top:46px}
.cc-bub{top:4px;white-space:normal;max-width:92%;width:max-content;text-overflow:clip}
.cc-card.on .cc-bub{animation:none}
