.otobon-web-slider {
    position: relative;
    margin: 1.5rem 0;
}

.otobon-web-slider__viewport {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(78%, 1fr);
    gap: 1rem;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-snap-type: inline mandatory;
    scroll-padding-inline: 1rem;
    -webkit-overflow-scrolling: touch;
    padding: 0.25rem 0 0.75rem;
}

.otobon-web-slider__item {
    min-width: 0;
    scroll-snap-align: start;
}

.otobon-web-slider__item > :first-child { margin-top: 0; }
.otobon-web-slider__controls { display: none; align-items: center; justify-content: space-between; gap: .75rem; margin-top: .75rem; }
.otobon-web-slider.is-enhanced .otobon-web-slider__controls { display: flex; }
.otobon-web-slider__button { appearance: none; border: 1px solid currentColor; border-radius: 999px; background: transparent; color: inherit; min-width: 2.75rem; min-height: 2.75rem; padding: .5rem .9rem; cursor: pointer; }
.otobon-web-slider__button:disabled { opacity: .4; cursor: default; }
.otobon-web-slider__status { font-size: .875rem; line-height: 1.4; }
.otobon-carousel .otobon-web-slider__viewport,
.otobon-slideshow .otobon-web-slider__viewport { grid-auto-columns: minmax(86%, 1fr); }
.otobon-character-slider .otobon-web-slider__viewport { grid-auto-columns: minmax(72%, 22rem); }
.otobon-scene-gallery .otobon-web-slider__viewport { grid-auto-columns: minmax(82%, 28rem); }
.otobon-panel-slider .otobon-web-slider__viewport { grid-auto-columns: minmax(88%, 36rem); }
.otobon-character-card,.otobon-scene-card,.otobon-panel-card,.otobon-lp-card { height: 100%; box-sizing: border-box; }
.otobon-web-slider img { display: block; width: 100%; height: auto; }

@media (min-width: 782px) {
    .otobon-web-slider__viewport { grid-auto-columns: minmax(42%, 1fr); }
    .otobon-carousel .otobon-web-slider__viewport,
    .otobon-slideshow .otobon-web-slider__viewport,
    .otobon-scene-gallery .otobon-web-slider__viewport { grid-auto-columns: minmax(48%, 1fr); }
    .otobon-character-slider .otobon-web-slider__viewport { grid-auto-columns: minmax(18rem, 28%); }
    .otobon-panel-slider .otobon-web-slider__viewport { grid-auto-columns: minmax(30rem, 62%); }
}

@media (prefers-reduced-motion: reduce) { .otobon-web-slider__viewport { scroll-behavior: auto; } }

.otobon-web-slider__dots{display:flex;align-items:center;justify-content:center;gap:.45rem;flex:1}.otobon-web-slider__dot{appearance:none;width:.62rem;height:.62rem;border-radius:999px;border:1px solid currentColor;background:transparent;color:inherit;padding:0;opacity:.55;cursor:pointer}.otobon-web-slider__dot[aria-selected="true"]{background:currentColor;opacity:1;transform:scale(1.18)}.otobon-web-slider__toggle{min-width:2.75rem;padding-inline:.7rem}.otobon-web-slider:focus-visible{outline:2px solid #b08a37;outline-offset:3px}@media(prefers-reduced-motion:reduce){.otobon-web-slider__dot{transition:none}}
