/* ── NYW Grid / Slider Container ───────────────────────── */

.nyw-gs-wrapper {
    width: 100%;
    position: relative;
}

/* ── Slider wrap — holds overflow + arrows ──────────────── */

.nyw-gs-slider-wrap {
    position: relative;
    display: flex;
    align-items: center;
    gap: 12px;
}

.nyw-gs-overflow {
    overflow: hidden;
    flex: 1;
    min-width: 0;
}

/* ── Track — flex row, children are the items ───────────── */

.nyw-gs-track {
    display: flex;
    gap: var(--nyw-gs-gap, 24px);
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    will-change: transform;
}

/* Each direct child (Elementor container/widget) is a slide */
.nyw-gs-track > .elementor-element,
.nyw-gs-track > .e-con,
.nyw-gs-track > * {
    flex-shrink: 0;
    width: var(--nyw-gs-item-w, 100%);
    box-sizing: border-box;
}

/* ── Grid mode — override flex with grid ────────────────── */

.nyw-gs-wrapper.is-grid .nyw-gs-track {
    display: grid;
    grid-template-columns: repeat( var(--nyw-gs-cols, 3), 1fr );
    gap: var(--nyw-gs-gap, 24px);
    transform: none !important;
}

.nyw-gs-wrapper.is-grid .nyw-gs-track > * {
    width: 100%;
}

/* ── Arrows ─────────────────────────────────────────────── */

.nyw-gs-arrow {
    flex-shrink: 0;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    border: none;
    background: rgba(0,0,0,0.5);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background 0.2s;
    z-index: 2;
}

.nyw-gs-arrow:hover {
    background: rgba(0,0,0,0.75);
}

.nyw-gs-arrow.is-hidden,
.nyw-gs-wrapper.is-grid .nyw-gs-arrow {
    display: none;
}

/* ── Dots ───────────────────────────────────────────────── */

.nyw-gs-dots {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 16px;
}

.nyw-gs-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: rgba(0,0,0,0.25);
    cursor: pointer;
    transition: background 0.2s, transform 0.2s;
    border: none;
    padding: 0;
}

.nyw-gs-dot.is-active {
    background: #000;
    transform: scale(1.3);
}

.nyw-gs-wrapper.is-grid .nyw-gs-dots {
    display: none;
}
