/* Celtiis Business - Carousel hero */

.celtiis-bcarousel {
    --cbk-carousel-accent: var(--cbk-color-accent, #A8CD45);
    position: relative;
    overflow: hidden;
    font-family: var(--cbk-font, 'Gotham', sans-serif);
}

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

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

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

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

.celtiis-bcarousel__title {
    margin: 0;
    color: #fff;
    font-size: clamp(30px, 4.6vw, 58px);
    font-weight: 800;
    line-height: 1.05;
    letter-spacing: -0.01em;
}

.celtiis-bcarousel__subtitle {
    margin: 14px 0 0;
    color: #fff;
    font-size: clamp(15px, 1.6vw, 19px);
    font-weight: 500;
    max-width: 560px;
}

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

.celtiis-bcarousel__button:hover {
    transform: translateY(-2px);
    filter: brightness(1.05);
}

.celtiis-bcarousel__nav {
    position: absolute;
    top: 50%;
    right: 0;
    z-index: 3;
    transform: translateY(-50%);
    display: flex;
    flex-direction: column;
}

.celtiis-bcarousel__arrow {
    position: relative;
    width: 64px;
    height: 64px;
    border: 0;
    cursor: pointer;
    transition: filter .2s ease;
}

.celtiis-bcarousel__arrow--next {
    background: #fff;
}

.celtiis-bcarousel__arrow--prev {
    background: var(--cbk-carousel-accent);
}

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

.celtiis-bcarousel__arrow--next {
    color: var(--cbk-color-primary, #1D3D70);
}

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

.celtiis-bcarousel__arrow--prev {
    color: var(--bs-secondary, #1D3D70);
}

.celtiis-bcarousel__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-bcarousel__arrow:hover {
    filter: brightness(0.95);
}

.celtiis-bcarousel__dots {
    position: absolute;
    left: 50%;
    bottom: 28px;
    z-index: 3;
    transform: translateX(-50%);
    display: flex;
    gap: 10px;
}

.celtiis-bcarousel__dot {
    width: 46px;
    height: 8px;
    border: 0;
    background: rgba(255, 255, 255, 0.55);
    cursor: pointer;
    transition: background-color .25s ease, width .25s ease;
}

.celtiis-bcarousel__dot.is-active {
    background: var(--cbk-carousel-accent);
}

@media (max-width: 767px) {
    .celtiis-bcarousel__slide {
        height: 380px;
    }

    .celtiis-bcarousel__nav {
        flex-direction: row;
        top: auto;
        bottom: 0;
        right: 0;
        transform: none;
    }

    .celtiis-bcarousel__arrow {
        width: 48px;
        height: 48px;
    }

    .celtiis-bcarousel__dots {
        bottom: 64px;
    }

    .celtiis-bcarousel__dot {
        width: 32px;
    }
}
