/* ── Theme-override reset for SliderOne ── */
.sliderone-slider,
.sliderone-slider *,
.sliderone-slider *::before,
.sliderone-slider *::after {
    box-sizing: border-box;
    text-indent: 0;
    letter-spacing: normal;
    direction: ltr;
}

.sliderone-slider .sliderone-overlay-node,
.sliderone-slider .sliderone-layer {
    max-width: none;
    min-width: 0;
    min-height: 0;
    border: none;
    outline: none;
    text-transform: none;
    text-align: unset;
}

/* ── Slider container ── */
.sliderone-slider {
    position: relative !important;
    width: 100%;
    height: clamp(220px, var(--sliderone-height, 420px), 85vh);
    --sliderone-scale: calc(var(--sliderone-height, 420px) / 420);
    --sliderone-overlay-inline: clamp(0.65rem, calc(0.9rem * var(--sliderone-scale)), 1.8rem);
    --sliderone-overlay-bottom: clamp(0.7rem, calc(1rem * var(--sliderone-scale)), 2rem);
    --sliderone-overlay-max-width: clamp(18rem, calc(26rem * var(--sliderone-scale)), 44rem);
    --sliderone-overlay-lines: 3;
    overflow: hidden !important;
    border-radius: var(--sliderone-border-radius, 0px);
    background: #111;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
}

html:has(.sliderone-full-width) {
    overflow-x: hidden;
}

.sliderone-track {
    position: relative;
    width: 100%;
    height: 100%;
}

.sliderone-item {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    transition: opacity var(--sliderone-transition-ms, 450ms) ease;
    transform-origin: center center;
}

.sliderone-animation-slide .sliderone-item {
    opacity: 1;
    transition: transform var(--sliderone-transition-ms, 450ms) ease;
}

.sliderone-animation-slide-up .sliderone-item {
    transition: opacity var(--sliderone-transition-ms, 450ms) ease, transform var(--sliderone-transition-ms, 450ms) ease;
}

.sliderone-animation-scale-fade .sliderone-item {
    transition: opacity var(--sliderone-transition-ms, 450ms) ease, transform var(--sliderone-transition-ms, 450ms) ease;
}

.sliderone-animation-flip .sliderone-track {
    perspective: 1400px;
    transform-style: preserve-3d;
}

.sliderone-animation-flip .sliderone-item {
    backface-visibility: hidden;
    transform-style: preserve-3d;
    transition: opacity var(--sliderone-transition-ms, 450ms) ease, transform var(--sliderone-transition-ms, 450ms) ease;
}

.sliderone-animation-zoom .sliderone-item {
    transition: opacity var(--sliderone-transition-ms, 450ms) ease;
}

.sliderone-animation-zoom .sliderone-item img {
    transform: scale(1);
    transition: transform var(--sliderone-zoom-ms, 5800ms) linear;
    will-change: transform;
}

.sliderone-animation-zoom .sliderone-item.is-active img {
    transform: scale(1.15);
}

.sliderone-item.is-active {
    opacity: 1;
    z-index: 1;
}

.sliderone-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.sliderone-item img[src=""],
.sliderone-item img:not([src]) {
    display: none;
}

.sliderone-layer {
    position: absolute !important;
    inset: 0 !important;
    z-index: 2;
    pointer-events: none;
    overflow: visible !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.sliderone-layer > * {
    pointer-events: auto;
}

.sliderone-overlay-node {
    position: absolute !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    transform: translate(0, -50%);
    max-inline-size: min(90%, var(--sliderone-overlay-max-width));
    padding: clamp(0.55rem, 1vw, 0.95rem) clamp(0.65rem, 1.1vw, 1rem);
    border-radius: 0.5rem;
    background: linear-gradient(180deg, rgba(8, 8, 8, 0.24) 0%, rgba(8, 8, 8, 0.62) 100%);
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.35);
    box-sizing: border-box !important;
    word-wrap: break-word;
    overflow-wrap: break-word;
    overflow: visible !important;
    clip: auto !important;
    clip-path: none !important;
    float: none !important;
    margin: 0 !important;
}

/* Title & text: left edge at X, vertically centred at Y (matches admin drag) */
.sliderone-overlay-title,
.sliderone-overlay-text {
    transform: translate(0, -50%) !important;
}

/* Button: centred at X/Y (matches admin drag for .is-button base node) */
.sliderone-overlay-button {
    transform: translate(-50%, -50%) !important;
}

.sliderone-overlay-text {
    display: block !important;
    line-height: 1.45;
    overflow: visible !important;
}

.sliderone-overlay-title {
    display: block !important;
    margin: 0 !important;
    line-height: 1.18;
    letter-spacing: 0.01em;
    overflow: visible !important;
}

.sliderone-overlay-title *,
.sliderone-overlay-text * {
    color: inherit;
}

/* Reset heading margin/padding inside overlays — let TinyMCE styles apply.
   Force text-align to inherit so themes can't center headings inside the slider. */
.sliderone-overlay-node h1,
.sliderone-overlay-node h2,
.sliderone-overlay-node h3,
.sliderone-overlay-node h4,
.sliderone-overlay-node h5,
.sliderone-overlay-node h6 {
    margin: 0 !important;
    padding: 0 !important;
    line-height: inherit;
    text-align: inherit !important;
}

.sliderone-overlay-node p {
    margin: 0;
}

.sliderone-overlay-text ul,
.sliderone-overlay-text ol,
.sliderone-overlay-text blockquote {
    margin: 0;
}

.sliderone-overlay-text a {
    color: inherit;
    text-decoration: underline;
}

.sliderone-overlay-button {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    align-items: center;
    justify-content: center;
    padding: var(--sliderone-btn-pad-y, 0.45rem) var(--sliderone-btn-pad-x, 0.9rem);
    border-radius: var(--sliderone-btn-radius, 0px);
    background: var(--sliderone-btn-bg, rgba(255, 255, 255, 0.95)) !important;
    color: var(--sliderone-btn-color, #111) !important;
    border: var(--sliderone-btn-border-width, 1px) solid var(--sliderone-btn-border, rgba(255, 255, 255, 0.95));
    font-size: var(--sliderone-btn-font-size, 0.85rem);
    font-family: var(--sliderone-btn-font-family, inherit);
    font-weight: var(--sliderone-btn-font-weight, 600);
    line-height: 1;
    text-decoration: none !important;
    text-shadow: none;
    transition: transform 0.18s ease, filter 0.18s ease, background-color 0.18s ease;
    margin: 0 !important;
    float: none !important;
}

.sliderone-overlay-button.sliderone-button-style-outline {
    background: transparent;
}

.sliderone-overlay-button:hover {
    filter: brightness(1.05);
    transform: translateY(-1px);
}

.sliderone-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 3;
    border: 1px solid var(--sliderone-nav-ring, rgba(255, 255, 255, 0.35));
    background: var(--sliderone-nav-bg, rgba(0, 0, 0, 0.45));
    color: var(--sliderone-nav-icon-color, #fff);
    width: var(--sliderone-nav-size, 40px);
    height: var(--sliderone-nav-size, 40px);
    min-width: var(--sliderone-nav-size, 40px);
    min-height: var(--sliderone-nav-size, 40px);
    border-radius: var(--sliderone-nav-radius, 999px);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    cursor: pointer;
    transition: filter 0.18s ease, transform 0.18s ease;
}

.sliderone-play-pause {
    position: absolute;
    top: var(--sliderone-play-y, 10%);
    left: var(--sliderone-play-x, 94%);
    right: auto;
    bottom: auto;
    transform: translate(-50%, -50%);
    z-index: 3;
    border: 1px solid var(--sliderone-play-ring, rgba(255, 255, 255, 0.35));
    background: var(--sliderone-play-bg, rgba(0, 0, 0, 0.45));
    color: var(--sliderone-play-icon-color, #fff);
    width: var(--sliderone-play-size, 34px);
    height: var(--sliderone-play-size, 34px);
    min-width: var(--sliderone-play-size, 34px);
    min-height: var(--sliderone-play-size, 34px);
    border-radius: var(--sliderone-play-radius, 999px);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    cursor: pointer;
    transition: filter 0.18s ease, transform 0.18s ease;
}

.sliderone-slider[data-play-control-shape="circle"] .sliderone-play-pause {
    border-radius: 999px;
}

.sliderone-slider[data-play-control-shape="rectangle"] .sliderone-play-pause {
    border-radius: 0;
}

.sliderone-slider[data-play-control-shape="none"] .sliderone-play-pause {
    background: transparent;
    border-color: transparent;
    border-width: 0;
    border-radius: 0;
}

.sliderone-nav-icon {
    width: calc(var(--sliderone-nav-size, 40px) * 0.56);
    height: calc(var(--sliderone-nav-size, 40px) * 0.56);
    display: block;
}

.sliderone-slider[data-nav-control-shape="circle"] .sliderone-nav {
    border-radius: 999px;
}

.sliderone-slider[data-nav-control-shape="rectangle"] .sliderone-nav {
    border-radius: 0;
}

.sliderone-slider[data-nav-control-shape="none"] .sliderone-nav {
    background: transparent;
    border-color: transparent;
    border-width: 0;
    border-radius: 0;
}

.sliderone-play-icon {
    width: calc(var(--sliderone-play-size, 34px) * 0.56);
    height: calc(var(--sliderone-play-size, 34px) * 0.56);
    display: block;
}

.sliderone-prev {
    left: clamp(0.4rem, 1.2vw, 0.75rem);
}

.sliderone-next {
    right: clamp(0.4rem, 1.2vw, 0.75rem);
}

.sliderone-dots {
    position: absolute;
    bottom: clamp(0.45rem, 1vw, 0.7rem);
    left: 50%;
    transform: translateX(-50%);
    z-index: 3;
    display: flex;
    gap: clamp(0.35rem, 0.8vw, 0.5rem);
}

.sliderone-dot {
    width: var(--sliderone-dot-w, var(--sliderone-dot-size, 10px));
    height: var(--sliderone-dot-h, var(--sliderone-dot-size, 10px));
    border-radius: var(--sliderone-dot-radius, 999px);
    border: 1px solid var(--sliderone-dot-ring, rgba(255, 255, 255, 0));
    background: var(--sliderone-dot-color, rgba(255, 255, 255, 0.55));
    cursor: pointer;
    transition: transform 0.18s ease, background-color 0.18s ease;
}

.sliderone-nav:hover {
    filter: brightness(1.08);
    transform: translateY(-50%) scale(1.02);
}

.sliderone-play-pause:hover {
    filter: brightness(1.08);
    transform: translate(-50%, -50%) scale(1.02);
}

.sliderone-dot:hover {
    transform: scale(1.08);
    background: var(--sliderone-dot-active, rgba(255, 255, 255, 0.9));
}

.sliderone-nav:focus-visible,
.sliderone-dot:focus-visible,
.sliderone-play-pause:focus-visible,
.sliderone-slider:focus-visible {
    outline: 2px solid #fff;
    outline-offset: 2px;
}

.sliderone-dot.is-active {
    background: var(--sliderone-dot-active, #fff);
}
