.cw-uni{width:100%;max-width:100%;min-width:0;--uni-height:520px;--uni-width:240px;--uni-gap:24px;--uni-radius:18px}
.cw-uni *{box-sizing:border-box}
.cw-uni-track{display:grid;grid-template-rows:repeat(2,minmax(0,1fr));grid-auto-columns:min(var(--uni-width),85%);gap:var(--uni-gap);height:var(--uni-height);width:100%;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;direction:ltr;border-radius:0;padding:0}
.cw-uni-track::-webkit-scrollbar{display:none}
.cw-uni .cw-uni-card{grid-column:var(--uni-col);grid-row:var(--uni-row)/span var(--uni-span);position:relative;display:flex;align-items:flex-end;min-width:0;min-height:0;overflow:hidden;border-radius:var(--uni-radius);background:var(--uni-color);color:#fff;text-decoration:none;scroll-snap-align:start;isolation:isolate}
.cw-uni .cw-uni-photo{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center;transition:transform .35s ease;z-index:-2}
.cw-uni-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(to top,var(--uni-color) 0%,var(--uni-color) 8%,transparent 72%)}
.cw-uni-content{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:22px;width:100%;background:linear-gradient(to top,rgba(0,0,0,.16),transparent)}
.cw-uni .cw-uni-icon{width:48px;height:48px;object-fit:contain;max-width:100%;flex:none}
.cw-uni-title{font-family:inherit;font-size:15px;line-height:1.3;font-weight:700;color:#fff;overflow-wrap:anywhere;text-shadow:0 1px 3px rgba(0,0,0,.3)}
.cw-uni a.cw-uni-card:hover{color:#fff}
.cw-uni a.cw-uni-card:hover .cw-uni-photo{transform:scale(1.04)}
.cw-uni-track:focus-visible{outline:3px solid #fff;outline-offset:-3px}
.cw-uni-card:focus-visible{outline:3px solid #fff;outline-offset:-5px}
.cw-uni-nav{display:inline-flex;align-items:center;gap:0;padding:2px 6px;border-radius:100px;background:#fff;width:max-content;box-shadow:0 3px 12px #0002;margin-top:20px}
.cw-uni-nav[hidden]{display:none!important}
.cw-uni-nav button{display:flex;align-items:center;justify-content:center;padding:0;width:44px;height:40px;border:0!important;border-radius:40px;background:transparent!important;color:#00aec5!important;cursor:pointer;box-shadow:none;min-width:0;line-height:1}
.cw-uni-nav button:disabled{opacity:.3;cursor:default}
.cw-uni-nav button:focus-visible{outline:2px solid #008f70;outline-offset:0}
.cw-uni-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:767px){
 .cw-uni-track{height:320px;grid-template-rows:minmax(0,1fr);grid-auto-flow:column;grid-auto-columns:min(260px,85%);gap:16px}
 .cw-uni .cw-uni-card{grid-column:auto;grid-row:1}
 .cw-uni-content{padding:20px}
}
@media(prefers-reduced-motion:reduce){.cw-uni .cw-uni-photo{transition:none}.cw-uni a.cw-uni-card:hover .cw-uni-photo{transform:none}}

/* SVG monochrome facultatif : global via shortcode ou par tuile. */
.cw-uni .cw-uni-icon-mask{display:block;background-color:var(--uni-icon-color);-webkit-mask-image:var(--uni-icon-mask);mask-image:var(--uni-icon-mask);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain;mask-mode:alpha}

/* Flèches CSS : indépendantes des styles SVG d'Elementor et du thème. */
.cw-uni-nav,.cw-uni-nav *{box-sizing:border-box}
.cw-uni-nav button[data-uni-step]{position:relative;display:flex!important;visibility:visible!important;flex:0 0 44px;width:44px!important;min-width:44px!important;max-width:44px!important;height:40px!important;padding:0!important;align-items:center;justify-content:center;overflow:visible;font-size:16px;appearance:none;-webkit-appearance:none}
.cw-uni-nav button[data-uni-step]::before,.cw-uni-nav button[data-uni-step]::after{content:none!important}
.cw-uni-nav .cw-uni-arrow{display:block!important;visibility:visible!important;position:relative!important;flex:none;width:28px!important;height:18px!important;margin:0;padding:0;border:0;background:none!important;color:#00aec5!important;opacity:1!important;pointer-events:none;transform:none}
.cw-uni-nav .cw-uni-arrow::before{content:""!important;display:block!important;position:absolute;left:0;right:0;top:8px;width:28px;height:2px;background:#00aec5!important;border:0;opacity:1;visibility:visible;transform:none}
.cw-uni-nav .cw-uni-arrow::after{content:""!important;display:block!important;position:absolute;right:0;left:auto;top:3px;width:12px;height:12px;background:transparent!important;border:solid #00aec5;border-width:2px 2px 0 0;opacity:1;visibility:visible;transform:rotate(45deg)}
.cw-uni-nav button[data-uni-step="-1"] .cw-uni-arrow{transform:rotate(180deg)}
.cw-uni-nav button[data-uni-step]:not(:disabled){opacity:1!important}
.cw-uni-nav button[data-uni-step]:disabled{opacity:.35!important}

/* Indicateur de défilement centré sous les tuiles. */
.cw-uni-progress{position:relative;width:220px;max-width:75%;height:5px;margin:30px auto 0;background:#fff;border-radius:999px;overflow:hidden;pointer-events:none}
.cw-uni-progress[hidden]{display:none!important}
.cw-uni-progress-thumb{position:absolute;display:block;top:0;bottom:0;left:0;width:0;background:#00aec5;border-radius:inherit}
@media(max-width:767px){.cw-uni-progress{width:180px;margin-top:22px}}
