/* Native horizontal panning preserves vertical page scroll and browser momentum. */
.v-card-carousel { position:relative;display:grid;grid-auto-flow:column;grid-auto-columns:100%;gap:14px;min-width:0;width:100%;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;border-radius:var(--v-radius-card,24px); }
.v-card-carousel::-webkit-scrollbar { display:none; }
.v-card-carousel > .v-card-carousel__slide { min-width:0;scroll-snap-align:start;scroll-snap-stop:always; }
.v-card-carousel-controls { display:flex;justify-content:center;align-items:center;gap:0;min-height:24px; }
.v-card-carousel-dot { position:relative;display:grid;place-items:center;width:22px;height:24px;padding:0;border:0;border-radius:12px;background:transparent;color:var(--v-text-2);cursor:pointer; }
.v-card-carousel-dot::before { content:'';width:7px;height:7px;border-radius:50%;background:currentColor;opacity:.2;transition:opacity 140ms ease; }
.v-card-carousel-dot[aria-current='true']::before { opacity:.7; }
.v-card-carousel-dot:focus-visible { outline:2px solid var(--v-positive);outline-offset:1px; }
@media(prefers-reduced-motion:reduce) { .v-card-carousel-dot::before { transition:none; } }
