.yj-ris { min-width: 0; }
/* Low-specificity fallbacks allow Atomic utilities to control shared styles. */
:where(.yj-ris, .yj-ris__track, .yj-ris__controls) { max-width: 100%; }
:where(.yj-ris__track, .yj-ris__controls, .yj-ris__pagination) { display: flex; }
:where(.yj-ris__track) { gap: 16px; }
:where(.yj-ris__controls, .yj-ris__pagination) { gap: 12px; }
.yj-ris .yj-ris__track {
    flex-wrap: nowrap;
    direction: ltr;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scrollbar-width: none;
}
.yj-ris__track::-webkit-scrollbar { display: none; }
.yj-ris .yj-ris__slide {
    flex: 0 0 auto;
    width: auto;
    height: var(--yj-ris-height-desktop, 320px);
}
@media (max-width: 1366px) {
    .yj-ris .yj-ris__slide { height: var(--yj-ris-height-laptop, 320px); }
}
@media (max-width: 1024px) {
    .yj-ris .yj-ris__slide { height: var(--yj-ris-height-tablet, 320px); }
}
@media (max-width: 767px) {
    .yj-ris .yj-ris__slide { height: var(--yj-ris-height-mobile, 320px); }
}
.yj-ris .yj-ris__image {
    display: block;
    width: auto;
    height: 100%;
    max-width: none;
    max-height: none;
    object-fit: contain;
}
.yj-ris .yj-ris__controls {
    align-items: center;
    justify-content: center;
    margin-top: 16px;
    direction: ltr;
}
.yj-ris .yj-ris__controls[hidden] { display: none; }
.yj-ris__pagination { align-items: center; flex-wrap: wrap; justify-content: center; min-width: 0; }
.yj-ris .yj-ris__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 32px;
    width: 32px;
    height: 32px;
    min-height: 0;
    padding: 0;
    border: 0;
    border-radius: 50%;
    cursor: pointer;
    box-shadow: none;
}
:where(.yj-ris__button) { background: linear-gradient(90deg, #df4133, #ffa600); }
.yj-ris .yj-ris__button img { display: block; width: 18px; height: 18px; max-width: none; }
.yj-ris__button:disabled { opacity: 0.4; cursor: default; }
.yj-ris .yj-ris__dot {
    appearance: none;
    display: block;
    flex: 0 0 8px;
    width: 8px;
    height: 8px;
    min-height: 0;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #ccc;
    box-shadow: none;
    cursor: pointer;
    position: relative;
}
.yj-ris__dot::before { content: ''; position: absolute; inset: -5px; }
.yj-ris .yj-ris__dot[aria-current="true"] { background: #ff8500; }
.yj-ris__button:focus-visible, .yj-ris__dot:focus-visible,
.yj-ris__track:focus-visible { outline: 2px solid #ff8500; outline-offset: 4px; }
