/* Functional slider baseline. Themes own branding and presentation. */
.nikko-promotions {
 position: relative;
 isolation: isolate;
 width: 100%;
 max-width: 100%;
 overflow: hidden;
 cursor: grab;
 touch-action: pan-y;
 font-family: inherit;
 color: inherit;
}
.nikko-promotions,
.nikko-promotions * { box-sizing: border-box; }
.nikko-promotions.is-dragging { cursor: grabbing; user-select: none; -webkit-user-select: none; }
.nikko-promotions__slides { display: grid; grid-template-rows: minmax(0, 1fr); height: auto; }
.nikko-promotions__slide {
 position: relative;
 display: grid;
 grid-template-columns: minmax(0, 1fr);
 grid-area: 1 / 1;
 min-width: 0;
 min-height: 0;
 overflow: hidden;
 opacity: 0;
 visibility: hidden;
 transition: opacity 450ms ease, visibility 450ms ease;
}
.nikko-promotions__slide[hidden] { display: none !important; }
.nikko-promotions__slide.is-active { z-index: 1; opacity: 1; visibility: visible; }
.nikko-promotions__image {
 display: block;
 width: 100%;
 height: auto;
 object-fit: cover;
 user-select: none;
 -webkit-user-drag: none;
}
.nikko-promotions__inner { width: 100%; min-height: 0; padding: 1.5rem; }
.nikko-promotions__message > :first-child { margin-top: 0; }
.nikko-promotions__message > :last-child { margin-bottom: 0; }
.nikko-promotions__controls,
.nikko-promotions__navigation { display: flex; align-items: center; gap: .75rem; }
.nikko-promotions__controls { position: static; }
.nikko-promotions__arrow,
.nikko-promotions__cta {
 display: inline-flex;
 align-items: center;
 justify-content: center;
 min-height: 44px;
 padding: .5rem .75rem;
 border: 1px solid currentColor;
 background: transparent;
 color: inherit;
 font-family: inherit;
}
.nikko-promotions__arrow { cursor: pointer; }
.nikko-promotions__arrow:focus-visible,
.nikko-promotions__cta:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) {
 .nikko-promotions__slide { transition: none; }
}
