/* Celtiis - Carousel Wholesale */

.celtiis-wcarousel {
    --celtiis-wcarousel-accent: #8DC63F;
    position: relative;
    overflow: hidden;
    font-family: 'Gotham', sans-serif;
}

.celtiis-wcarousel__track {
    display: flex;
    width: 100%;
    transition: transform .6s cubic-bezier(0.16, 1, 0.3, 1);
    will-change: transform;
}

.celtiis-wcarousel__slide {
    position: relative;
    flex: 0 0 100%;
    width: 100%;
    height: 480px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    display: flex;
    align-items: center;
}

.celtiis-wcarousel__overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.15);
}

.celtiis-wcarousel__content {
    position: relative;
    z-index: 2;
    width: 100%;
}

.celtiis-wcarousel__title {
    margin: 0;
    color: #fff;
    font-size: clamp(28px, 3.6vw, 58px);
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: -0.01em;
}

.celtiis-wcarousel__subtitle {
    margin: 14px 0 0;
    color: #fff;
    font-size: clamp(15px, 1.5vw, 18px);
    font-weight: 500;
    max-width: 520px;
}

.celtiis-wcarousel__button {
    display: inline-flex;
    align-items: center;
    margin-top: 22px;
    padding: 13px 28px;
    border-radius: 999px;
    background: var(--celtiis-wcarousel-accent);
    color: var(--celtiis-color-primary, #1D3D70);
    font-size: 15px;
    font-weight: 700;
    text-decoration: none;
    transition: transform .2s ease, filter .2s ease;
}

.celtiis-wcarousel__button:hover {
    transform: translateY(-2px);
}

/* Arrows (under the title, left, side by side) */
.celtiis-wcarousel__nav {
    display: flex;
    gap: 12px;
    margin-top: 34px;
}

.celtiis-wcarousel__arrow {
    position: relative;
    width: 52px;
    height: 52px;
    border: 0;
    border-radius: 5px;
    cursor: pointer;
    transition: filter .2s ease, transform .2s ease;
}

.celtiis-wcarousel__arrow--prev {
    background: var(--celtiis-wcarousel-accent);
    color: var(--celtiis-color-primary, #1D3D70);
}

.celtiis-wcarousel__arrow--next {
    background: #fff;
    color: var(--celtiis-color-primary, #1D3D70);
}

.celtiis-wcarousel__arrow::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 20px;
    height: 20px;
    transform: translate(-50%, -50%);
    background-color: currentColor;
    -webkit-mask: center / contain no-repeat;
    mask: center / contain no-repeat;
}

.celtiis-wcarousel__arrow--prev::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-width%3D%222.2%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M19%2012H5M11%206l-6%206%206%206%22%2F%3E%3C%2Fsvg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-width%3D%222.2%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M19%2012H5M11%206l-6%206%206%206%22%2F%3E%3C%2Fsvg%3E");
}

.celtiis-wcarousel__arrow--next::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222.2%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M5%2012h14M13%206l6%206-6%206%22%2F%3E%3C%2Fsvg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222.2%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M5%2012h14M13%206l6%206-6%206%22%2F%3E%3C%2Fsvg%3E");
}

/* Vertical dot pagination (right) */
.celtiis-wcarousel__dots {
    position: absolute;
    top: 50%;
    right: 36px;
    z-index: 3;
    transform: translateY(-50%);
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.celtiis-wcarousel__dot {
    position: relative;
    width: 17px;
    height: 17px;
    padding: 0;
    border: 2px solid rgba(255, 255, 255, 0.9);
    border-radius: 50%;
    background: transparent;
    cursor: pointer;
    transition: border-color .25s ease;
}

/* Active = outer ring + inner filled dot (radio style). */
.celtiis-wcarousel__dot.is-active {
    border-color: #fff;
}

.celtiis-wcarousel__dot.is-active::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 9px;
    height: 9px;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    background: var(--celtiis-wcarousel-accent);
}

/* Responsive */
@media (max-width: 767px) {
    .celtiis-wcarousel__slide {
        height: 420px;
    }

    .celtiis-wcarousel__nav {
        margin-top: 24px;
    }

    .celtiis-wcarousel__arrow {
        width: 46px;
        height: 46px;
    }

    .celtiis-wcarousel__dots {
        right: 16px;
        gap: 10px;
    }
}
