/* Slick 1.8.x layout compatibility, scoped to Energia CMS widgets.
 * Theme CSS remains responsible for arrows and image styling.
 */
.cms-slick-slider .slick-slider {
    position: relative;
    display: block;
    box-sizing: border-box;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    user-select: none;
    touch-action: pan-y;
    -webkit-tap-highlight-color: transparent;
}

.cms-slick-slider .slick-list {
    position: relative;
    display: block;
    overflow: hidden;
    margin: 0;
    padding: 0;
}

.cms-slick-slider .slick-list.dragging { cursor: grabbing; }

.cms-slick-slider .slick-track,
.cms-slick-slider .slick-list { transform: translate3d(0, 0, 0); }

.cms-slick-slider .slick-track {
    position: relative;
    top: 0;
    left: 0;
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.cms-slick-slider .slick-track::before,
.cms-slick-slider .slick-track::after {
    display: table;
    content: '';
}

.cms-slick-slider .slick-track::after { clear: both; }

.cms-slick-slider .slick-slide {
    display: none;
    float: left;
    height: 100%;
    min-height: 1px;
}

[dir='rtl'] .cms-slick-slider .slick-slide,
.cms-slick-slider [dir='rtl'] .slick-slide { float: right; }
.cms-slick-slider .slick-slide img { display: block; }
.cms-slick-slider .slick-initialized .slick-slide { display: block; }
.cms-slick-slider .slick-loading .slick-track,
.cms-slick-slider .slick-loading .slick-slide { visibility: hidden; }
.cms-slick-slider .slick-slide.slick-loading img { display: none; }
.cms-slick-slider .slick-slide.dragging img { pointer-events: none; }
.cms-slick-slider .slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent;
}
.cms-slick-slider .slick-arrow.slick-hidden { display: none; }

/* Keep ElementsKit's global Slick dot rules out of Energia carousels. */
.cms-slick-slider .slick-dots {
    position: static;
    display: flex;
    justify-content: center;
    align-items: flex-end;
    margin: 24px 0 0;
    padding: 0;
}

.cms-slick-slider .slick-dots li {
    display: flex;
    width: auto;
    height: auto;
    margin: 0 5px;
    padding: 0;
}

.cms-slick-slider .slick-dots li button {
    width: 35px;
    height: 3px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: #253745;
}

.cms-slick-slider .slick-dots li.slick-active button {
    height: 6px;
    background: #ffae1e !important;
}

.cms-slick-slider .slick-dots li button::before,
.cms-slick-slider .slick-dots li button::after {
    content: none;
    display: none;
}

.cms-slick-slider .slick-dots li button:focus-visible {
    outline: 2px solid #0063a3;
    outline-offset: 4px;
}
