.rmw-nice-tabs {
    width: 100%;
    --rmw-tab-radius: 999px;
    --rmw-soft-border: rgba(0, 0, 0, 0.12);
    --rmw-soft-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
    --rmw-indicator: currentColor;

    --rmw-anim-duration: 240ms;
    --rmw-ease: cubic-bezier(0.2, 0.8, 0.2, 1);

    --rmw-dir-x: 18px;

    /* Accordion theme vars (set via Elementor) */
    --rmw-acc-text: inherit;
    --rmw-acc-text-hover: var(--rmw-acc-text);
    --rmw-acc-text-active: var(--rmw-acc-text);

    --rmw-acc-bg: rgba(255, 255, 255, 0.85);
    --rmw-acc-bg-hover: var(--rmw-acc-bg);
    --rmw-acc-bg-active: var(--rmw-acc-bg);

    --rmw-acc-border: rgba(0, 0, 0, 0.10);
    --rmw-acc-panel-bg: rgba(255, 255, 255, 0.65);

    --rmw-acc-icon-bg: rgba(0, 0, 0, 0.06);
    --rmw-acc-icon-color: currentColor;
}

/* Layout */
.rmw-nice-tabs__layout {
    display: flex;
    gap: 16px;
    align-items: flex-start;
}

.rmw-nice-tabs.is-horizontal .rmw-nice-tabs__layout {
    flex-direction: column;
}

/* IMPORTANT: allows centering to actually work */
.rmw-nice-tabs.is-horizontal .rmw-nice-tabs__nav-wrap {
    width: 100%;
}

.rmw-nice-tabs.is-horizontal .rmw-nice-tabs__nav {
    width: 100%;
}

.rmw-nice-tabs.is-vertical .rmw-nice-tabs__layout {
    flex-direction: row;
}

.rmw-nice-tabs__nav-wrap {
    position: relative;
}

.rmw-nice-tabs.is-vertical .rmw-nice-tabs__nav-wrap {
    min-width: 240px;
    max-width: 340px;
    flex: 0 0 auto;
}

/* Nav */
.rmw-nice-tabs__nav {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    padding: 4px;
    border-radius: 18px;
}

.rmw-nice-tabs.is-horizontal .rmw-nice-tabs__nav {
    align-items: center;
}

.rmw-nice-tabs.is-vertical .rmw-nice-tabs__nav {
    flex-direction: column;
    align-items: stretch;
}

/* Indicator */
.rmw-nice-tabs__indicator {
    position: absolute;
    z-index: 0;
    border-radius: var(--rmw-tab-radius);
    background: var(--rmw-indicator);
    opacity: 0.12;
    transition: transform 260ms var(--rmw-ease), width 260ms var(--rmw-ease), height 260ms var(--rmw-ease);
    will-change: transform, width, height;
    pointer-events: none;
}

/* Tabs */
.rmw-nice-tabs__tab {
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;

    border: 1px solid var(--rmw-soft-border);
    background: rgba(255, 255, 255, 0.70);
    color: inherit;

    cursor: pointer;
    user-select: none;
    outline: none;

    /* Fix global theme button weirdness */
    font: inherit;
    line-height: 1.2;
    height: auto;
    min-height: 0;

    transition: transform 120ms ease, background 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}

/* Equal width */
.rmw-nice-tabs.is-equal .rmw-nice-tabs__tab {
    flex: 1 1 auto;
}

.rmw-nice-tabs.is-vertical .rmw-nice-tabs__tab {
    width: 100%;
    justify-content: flex-start;
}

/* Icon + label */
.rmw-nice-tabs__icon {
    flex: 0 0 auto;
}

.rmw-nice-tabs__icon svg {
    width: 16px;
    height: 16px;
    display: block;
}

.rmw-nice-tabs__label {
    display: block;
    line-height: inherit;
}

.rmw-nice-tabs__tab:hover {
    transform: translateY(-1px);
}

.rmw-nice-tabs__tab:focus-visible {
    box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.15);
}

/* Styles */
.rmw-nice-tabs.is-style-pill .rmw-nice-tabs__tab {
    border-radius: var(--rmw-tab-radius);
}

.rmw-nice-tabs.is-style-underline .rmw-nice-tabs__tab {
    border-radius: 14px;
    background: transparent;
    border-color: transparent;
    box-shadow: none;
}

.rmw-nice-tabs.is-style-underline .rmw-nice-tabs__tab::after {
    content: "";
    position: absolute;
    left: 14px;
    right: 14px;
    bottom: -3px;
    height: 3px;
    border-radius: 999px;
    background: transparent;
    transition: background 160ms ease, opacity 160ms ease;
}

.rmw-nice-tabs.is-style-underline .rmw-nice-tabs__tab.is-active::after {
    background: currentColor;
    opacity: 0.9;
}

.rmw-nice-tabs.is-style-boxed .rmw-nice-tabs__tab {
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.9);
}

/* Panels wrapper */
.rmw-nice-tabs__panels {
    width: 100%;
}

/* Panel styling */
.rmw-nice-tabs__panel {
    border: 1px solid rgba(0, 0, 0, 0.10);
    background: rgba(255, 255, 255, 0.75);
    border-radius: 16px;
    box-shadow: var(--rmw-soft-shadow);
}

/**
 * Panel animations
 */
.rmw-nice-tabs.has-panel-anim .rmw-nice-tabs__panels {
    position: relative;
}

/* Overlap panels for animation */
.rmw-nice-tabs.has-panel-anim .rmw-nice-tabs__panel {
    position: absolute;
    inset: 0;
    width: 100%;

    opacity: 0;
    transform: translate3d(0, 0, 0);
    transition:
        opacity var(--rmw-anim-duration) var(--rmw-ease),
        transform var(--rmw-anim-duration) var(--rmw-ease);
    will-change: opacity, transform;
    pointer-events: none;
}

/* CRITICAL: active panel must be relative so it contributes height */
.rmw-nice-tabs.has-panel-anim .rmw-nice-tabs__panel.is-active {
    position: relative;
    inset: auto;

    opacity: 1;
    transform: translate3d(0, 0, 0);
    pointer-events: auto;
}

/* Leaving stays absolute */
.rmw-nice-tabs.has-panel-anim .rmw-nice-tabs__panel.is-leaving {
    position: absolute;
    inset: 0;
    opacity: 0;
    pointer-events: none;
}

/* Animation modes */
.rmw-nice-tabs.anim-fade .rmw-nice-tabs__panel {
    transform: none;
}

.rmw-nice-tabs.anim-fade_slide_up .rmw-nice-tabs__panel {
    transform: translate3d(0, 10px, 0);
}

.rmw-nice-tabs.anim-slide_left .rmw-nice-tabs__panel {
    transform: translate3d(18px, 0, 0);
}

.rmw-nice-tabs.anim-slide_right .rmw-nice-tabs__panel {
    transform: translate3d(-18px, 0, 0);
}

.rmw-nice-tabs.anim-directional .rmw-nice-tabs__panel {
    transform: translate3d(var(--rmw-dir-x), 0, 0);
}

.rmw-nice-tabs.anim-crossfade .rmw-nice-tabs__panel {
    transform: none;
}

/* Accordion mount (hidden by default) */
.rmw-nice-tabs__accordion {
    display: none;
}

/* Mobile accordion mode */
@media (max-width: 767px) {
    .rmw-nice-tabs[data-mobile-mode="accordion"] .rmw-nice-tabs__layout {
        display: none;
    }

    .rmw-nice-tabs[data-mobile-mode="accordion"] .rmw-nice-tabs__accordion {
        display: block;
    }

    .rmw-nice-tabs__accordion-item {
        border: 1px solid var(--rmw-acc-border);
        overflow: hidden;
        background: var(--rmw-acc-item-bg, rgba(255, 255, 255, 0.75));
        box-shadow: var(--rmw-soft-shadow);
        margin-bottom: 10px;
    }

    .rmw-nice-tabs__accordion-btn {
        width: 100%;
        text-align: left;
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 10px;

        padding: 14px 16px;
        border: 0;
        cursor: pointer;
        font: inherit;

        color: var(--rmw-acc-text);
        background: var(--rmw-acc-bg);
        transition: background 160ms ease, color 160ms ease;
    }

    .rmw-nice-tabs__accordion-btn:hover {
        color: var(--rmw-acc-text-hover);
        background: var(--rmw-acc-bg-hover);
    }

    .rmw-nice-tabs__accordion-item.is-open .rmw-nice-tabs__accordion-btn {
        color: var(--rmw-acc-text-active);
        background: var(--rmw-acc-bg-active);
    }

    .rmw-nice-tabs__accordion-btn strong {
        font-weight: 650;
    }

    .rmw-nice-tabs__accordion-icon {
        width: 32px;
        height: 32px;
        border-radius: 999px;
        display: inline-flex;
        align-items: center;
        justify-content: center;

        background: var(--rmw-acc-icon-bg);
        color: var(--rmw-acc-icon-color);
        font-weight: 700;
    }

    .rmw-nice-tabs__accordion-panel {
        display: none;
        padding: 16px;
        border-top: 1px solid var(--rmw-acc-border);
        background: var(--rmw-acc-panel-bg);
    }

    .rmw-nice-tabs__accordion-item.is-open .rmw-nice-tabs__accordion-panel {
        display: block;
    }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {

    .rmw-nice-tabs__indicator,
    .rmw-nice-tabs.has-panel-anim .rmw-nice-tabs__panel {
        transition: none !important;
    }
}
