/* ── 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-audio-player {
    position: absolute;
    left: clamp(0.75rem, 1.4vw, 1rem);
    bottom: clamp(2.85rem, 5vw, 3.6rem);
    z-index: 3;
    display: grid;
    gap: 4px;
    width: min(26rem, calc(100% - 1.5rem));
    padding: 0 0.65rem 4px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 11px;
    background: linear-gradient(180deg, rgba(10, 12, 18, 0.66) 0%, rgba(10, 12, 18, 0.52) 100%);
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.28);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}

.sliderone-audio-label {
    color: #ffffff;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    line-height: 1.2;
    text-transform: uppercase;
}

.sliderone-audio-controls {
    display: grid;
    grid-template-columns: auto auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.55rem;
    min-height: 4rem;
    padding: 0.04rem 0.45rem;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 24px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.1) 0%, rgba(255, 255, 255, 0.04) 100%);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12);
}

.sliderone-audio-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 4rem;
    height: 4rem;
    padding: 0;
    appearance: none;
    -webkit-appearance: none;
    border: 1px solid transparent;
    border-radius: 999px;
    background: transparent;
    color: #ffffff;
    font: inherit;
    line-height: 1;
    cursor: pointer;
    transition: transform 0.18s ease, border-color 0.18s ease, background 0.18s ease, color 0.18s ease;
}

.sliderone-audio-button:hover {
    border-color: transparent;
    background: transparent;
    color: #ffffff;
}

.sliderone-audio-button:focus-visible {
    border-color: transparent;
    background: transparent;
    transform: translateY(-1px);
}

.sliderone-audio-button:focus-visible,
.sliderone-audio-progress:focus-visible {
    outline: 2px solid rgba(255, 255, 255, 0.8);
    outline-offset: 2px;
}

.sliderone-audio-icon {
    width: 2rem;
    height: 2rem;
    display: block;
}

.sliderone-audio-shape-stop {
    display: none;
}

.sliderone-audio-player.is-playing .sliderone-audio-shape-play {
    display: none;
}

.sliderone-audio-player.is-playing .sliderone-audio-shape-stop {
    display: block;
}

.sliderone-audio-slash {
    display: none;
}

.sliderone-audio-player.is-muted .sliderone-audio-slash {
    display: block;
}

.sliderone-audio-time {
    min-width: 4.8rem;
    color: rgba(255, 255, 255, 0.92);
    font-size: 0.72rem;
    font-variant-numeric: tabular-nums;
    line-height: 1;
    white-space: nowrap;
}

.sliderone-audio-progress {
    position: relative;
    display: flex;
    align-items: center;
    min-width: 0;
    height: 1rem;
    cursor: pointer;
}

.sliderone-audio-progress-track {
    position: relative;
    display: block;
    width: 100%;
    height: 0.9rem;
    border-radius: 999px;
    background: transparent;
    overflow: hidden;
}

.sliderone-audio-progress-track::before {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: repeating-linear-gradient(
        to right,
        var(--sliderone-audio-accent-color, #7dd3fc) 0 4px,
        transparent 4px 8px
    );
    opacity: 0.34;
    background-position: 0 0;
    animation: sliderone-audio-bars-drift 1.8s linear infinite;
    animation-play-state: paused;
}

.sliderone-audio-progress-fill {
    position: absolute;
    inset: 0 auto 0 0;
    width: 0%;
    border-radius: inherit;
    background: repeating-linear-gradient(
        to right,
        var(--sliderone-audio-accent-color, #7dd3fc) 0 4px,
        transparent 4px 8px
    );
    background-position: 0 0;
    animation: sliderone-audio-bars-drift 1.35s linear infinite reverse;
    animation-play-state: paused;
}

.sliderone-audio-player.is-playing .sliderone-audio-progress-track::before,
.sliderone-audio-player.is-playing .sliderone-audio-progress-fill {
    animation-play-state: running;
}

.sliderone-audio-progress-thumb {
    display: none;
}

.sliderone-audio-progress.is-disabled {
    cursor: default;
    opacity: 0.54;
}

.sliderone-audio-progress.is-disabled .sliderone-audio-progress-thumb {
    display: none;
}

@keyframes sliderone-audio-bars-drift {
    from {
        background-position: 0 0;
    }

    to {
        background-position: 16px 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    .sliderone-audio-progress-track::before,
    .sliderone-audio-progress-fill {
        animation: none;
    }
}

.sliderone-audio-element {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

@media (max-width: 680px) {
    .sliderone-audio-player {
        left: 0.65rem;
        right: 0.65rem;
        width: auto;
        bottom: 3rem;
    }
}

.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);
}
