.msg-slider{--msg-accent:#2271b1;position:relative;width:100%;margin:0 auto 1.5em;box-sizing:border-box;outline-offset:3px}
.msg-slider *{box-sizing:border-box}
.msg-viewport{position:relative;overflow:hidden;touch-action:pan-y;border-radius:4px}
.msg-track{margin:0;padding:0}

/* Slide effect */
.msg-effect-slide .msg-track{display:flex;transition:transform var(--msg-speed,600ms) ease}
.msg-effect-slide .msg-slide{flex:0 0 100%}

/* Fade effect: slides stacked in one grid cell */
.msg-effect-fade .msg-track{display:grid}
.msg-effect-fade .msg-slide{grid-area:1/1;opacity:0;visibility:hidden;transition:opacity var(--msg-speed,600ms) ease,visibility 0s linear var(--msg-speed,600ms)}
.msg-effect-fade .msg-slide.is-active{opacity:1;visibility:visible;transition-delay:0s}

.msg-slide{position:relative;margin:0;min-width:0}
.msg-media{aspect-ratio:var(--msg-ratio,16/9);overflow:hidden}
.msg-media a{display:block;height:100%}
.msg-slider img.msg-img{display:block;width:100%;height:100%;max-width:none;margin:0;object-fit:var(--msg-fit,cover);-webkit-user-drag:none;user-select:none}
.msg-ratio-auto .msg-media{aspect-ratio:auto}
.msg-ratio-auto img.msg-img{height:auto}

/* Captions */
.msg-caption{font-size:.95em;line-height:1.4}
.msg-cap-overlay .msg-caption{position:absolute;left:0;right:0;bottom:0;padding:2em 1em .7em;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.72));pointer-events:none}
.msg-cap-below .msg-caption{padding:.6em .25em 0;text-align:center}

/* Arrows */
.msg-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:2;display:flex;align-items:center;justify-content:center;width:42px;height:42px;padding:0;border:0;border-radius:50%;background:rgba(0,0,0,.5);color:#fff;font-size:18px;line-height:1;cursor:pointer;transition:background .2s,opacity .2s}
.msg-arrow:hover,.msg-arrow:focus-visible{background:rgba(0,0,0,.8)}
.msg-arrow:disabled{opacity:.3;cursor:default}
.msg-prev{left:10px}
.msg-next{right:10px}

/* Dots + play/pause */
.msg-controls{display:flex;align-items:center;justify-content:center;gap:14px;padding:12px 0 0}
.msg-dots{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.msg-dot{width:11px;height:11px;padding:0;border:2px solid var(--msg-accent);border-radius:50%;background:transparent;cursor:pointer}
.msg-dot.is-active{background:var(--msg-accent)}
.msg-toggle{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:1px solid var(--msg-accent);border-radius:50%;background:transparent;color:var(--msg-accent);font-size:10px;line-height:1;cursor:pointer}
.msg-toggle[hidden]{display:none}

/* Thumbnails */
.msg-thumbs{position:relative;display:flex;gap:6px;overflow-x:auto;padding:10px 0 4px;scroll-behavior:smooth}
.msg-thumb-btn{flex:0 0 auto;width:72px;height:54px;padding:0;overflow:hidden;border:2px solid transparent;border-radius:3px;background:none;opacity:.6;cursor:pointer}
.msg-thumb-btn.is-active{border-color:var(--msg-accent);opacity:1}
.msg-thumb-btn img{display:block;width:100%;height:100%;object-fit:cover}

.msg-single .msg-arrow,.msg-single .msg-controls{display:none}
.msg-empty{padding:1em;border:1px dashed #999;text-align:center}

@media (prefers-reduced-motion:reduce){
	.msg-track,.msg-slide{transition:none!important}
}
