/* mrAG Style Kit · Items carousel */
.mrag-crsl{--mrag-crsl-w:160px;--mrag-crsl-gap:24px;--mrag-crsl-fade:60px;--mrag-crsl-t:.3s;--mrag-crsl-arrow-off:0px;position:relative}
.mrag-crsl-viewport{position:relative;overflow:hidden;touch-action:pan-y}
.mrag-crsl-track{display:flex;flex-wrap:nowrap;gap:var(--mrag-crsl-gap);align-items:stretch}
.mrag-crsl.is-moving .mrag-crsl-track{will-change:transform}
.mrag-crsl-item{flex:0 0 var(--mrag-crsl-w);min-width:0;display:flex}
.mrag-crsl-card{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px;width:100%;box-sizing:border-box;position:relative;color:inherit;text-decoration:none;transition:background-color var(--mrag-crsl-t),box-shadow var(--mrag-crsl-t),border-color var(--mrag-crsl-t),transform var(--mrag-crsl-t)}
a.mrag-crsl-card:focus-visible{outline:2px solid currentColor;outline-offset:2px}
.mrag-crsl-media{display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:3/2;overflow:hidden;box-sizing:border-box;position:relative;flex:0 0 auto}
.mrag-crsl-media img{display:block;width:100%;height:100%;max-width:none;object-fit:contain;object-position:center center;border-radius:inherit;transition:opacity var(--mrag-crsl-t),transform var(--mrag-crsl-t),filter var(--mrag-crsl-t);pointer-events:none;user-select:none;-webkit-user-drag:none}
.mrag-crsl-initial{font-size:2.2em;font-weight:700;line-height:1;opacity:.55}
.mrag-crsl-text{display:flex;flex-direction:column;gap:2px;max-width:100%;transition:opacity var(--mrag-crsl-t),transform var(--mrag-crsl-t),background-color var(--mrag-crsl-t)}
.mrag-crsl-label{transition:color var(--mrag-crsl-t);overflow-wrap:anywhere}
.mrag-crsl-count{font-size:.8em;opacity:.7}
/* Label position */
.mrag-crsl-label-above .mrag-crsl-card{flex-direction:column-reverse}
.mrag-crsl-label-beside .mrag-crsl-card{flex-direction:row;text-align:start}
.mrag-crsl-label-beside .mrag-crsl-media{width:40%}
.mrag-crsl-label-overlay .mrag-crsl-card{overflow:hidden}
.mrag-crsl-label-overlay .mrag-crsl-media{width:100%}
.mrag-crsl-label-overlay .mrag-crsl-text{position:absolute;inset-inline:0;bottom:0;padding:8px 10px;background:linear-gradient(to top,rgba(0,0,0,.6),transparent);color:#fff}
.mrag-crsl-label-hover .mrag-crsl-text{opacity:0;transform:translateY(6px)}
.mrag-crsl-label-hover .mrag-crsl-card:hover .mrag-crsl-text,.mrag-crsl-label-hover .mrag-crsl-card:focus-visible .mrag-crsl-text{opacity:1;transform:none}
/* Gray until hovered */
.mrag-crsl-gray-yes .mrag-crsl-media img{filter:grayscale(1)}
.mrag-crsl-gray-yes .mrag-crsl-card:hover .mrag-crsl-media img{filter:none}
/* Fading edges, only while it moves or scrolls */
.mrag-crsl-fade-yes .mrag-crsl:not(.is-still) .mrag-crsl-viewport{-webkit-mask-image:linear-gradient(90deg,transparent,#000 var(--mrag-crsl-fade),#000 calc(100% - var(--mrag-crsl-fade)),transparent);mask-image:linear-gradient(90deg,transparent,#000 var(--mrag-crsl-fade),#000 calc(100% - var(--mrag-crsl-fade)),transparent)}
/* Standing still / swipe mode */
.mrag-crsl.is-still .mrag-crsl-track{justify-content:center}
.mrag-crsl.is-scroll .mrag-crsl-viewport{overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;touch-action:auto}
.mrag-crsl.is-scroll .mrag-crsl-viewport::-webkit-scrollbar{display:none}
.mrag-crsl.is-scroll .mrag-crsl-item{scroll-snap-align:start}
.mrag-crsl.is-drag .mrag-crsl-viewport{cursor:grabbing;scroll-snap-type:none;user-select:none}
.mrag-crsl.is-drag .mrag-crsl-card{pointer-events:none}
/* Arrows */
.mrag-crsl-arrow{position:absolute;top:50%;z-index:2;width:40px;height:40px;margin:0;padding:0;border:0;border-radius:50%;display:grid;place-items:center;font-size:20px;line-height:1;color:#222;background:rgba(255,255,255,.92);box-shadow:0 2px 10px rgba(0,0,0,.14);cursor:pointer;transform:translateY(-50%);transition:opacity .2s}
.mrag-crsl-arrow svg{width:1em;height:1em}
.mrag-crsl-prev{inset-inline-start:var(--mrag-crsl-arrow-off)}
.mrag-crsl-next{inset-inline-end:var(--mrag-crsl-arrow-off)}
.mrag-crsl:not(.is-rtl) .mrag-crsl-next svg,.mrag-crsl.is-rtl .mrag-crsl-prev svg{transform:scaleX(-1)}
.mrag-crsl-arrow[disabled]{opacity:.35;cursor:default}
.mrag-crsl.is-still .mrag-crsl-arrow{display:none}
.mrag-crsl-empty{padding:18px;border:1px dashed rgba(127,127,127,.5);border-radius:8px;text-align:center;font-size:13px;opacity:.75}
