/* ==========================================================================
   Dienst Slider — CSS
   Hoort bij shortcode [dienst_slider] (includes/dienst-slider.php)
   ========================================================================== */
:root {
   --vdmaar: #D90010;
   --buursema: #E55007;
   --hbi: #FFB400;
   --eldering: #45A984;
}

.dienst-slider {
    position: relative;
    display: flex;
    width: 100%;
    height: calc(100vh - 92px);
    flex-direction: column;
    justify-content: space-between;
    align-items: stretch;
    background-color: #000;
    overflow: hidden;
    box-sizing: border-box;
    font-size: calc(0.51vw + 0.31em);
    color: #fff;
    font-family: var(--e-global-typography-primary-font-family) !important;
}

.dienst-slider * {
    box-sizing: border-box;
}

@media screen and (max-width: 991px) {
    .dienst-slider {
        font-size: 0.8125em;
    }
}

/* ---------- 1) achtergrond (fade) ---------- */

.dienst-slider .slider-bg_component {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0.65;
    background: black;
}

.dienst-slider .swiper.is-slider-bg,
.dienst-slider .swiper-wrapper.is-slider-bg {
    width: 100%;
    height: 100%;
}

.dienst-slider .swiper-slide.is-slider-bg {
    overflow: hidden;
    width: 100%;
    height: 100%;
}

.dienst-slider .slider-bg_img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* ---------- 2) titel-slider ---------- */

.dienst-slider .slider-titles_component {
    position: relative;
    height: 100%;
}

.dienst-slider .swiper.is-slider-titles {
    overflow: visible;
    height: 100%;
}

.dienst-slider .swiper-wrapper.is-slider-titles {
    display: flex;
    height: 100%;
    justify-content: flex-start;
    align-items: center;
}

.dienst-slider .swiper-slide.is-slider-titles {
    display: flex;
    width: auto;
    height: 100%;
    padding: 4%;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.dienst-slider .slider-titles_heading {
    margin: 0;
    color: transparent;
    font-size: 48px;
    font-weight: 700;
    line-height: 0.8;
    letter-spacing: -0.04em;
    white-space: nowrap;
    cursor: default;
    -webkit-text-stroke: 1.5px #fff;
}
@media screen and (min-width: 768px) {
    .dienst-slider .slider-titles_heading {
        font-size: 60px;
    }
}
@media screen and (min-width: 1000px) {
    .dienst-slider .slider-titles_heading {
        font-size: 70px;
    }
}
@media screen and (min-width: 1366px) {
    .dienst-slider .slider-titles_heading {
        font-size: 90px;
    }
}
@media screen and (min-width: 1600px) {
    .dienst-slider .slider-titles_heading {
        font-size: 120px;
    }
}

.dienst-slider .swiper-slide.is-active .slider-titles_heading {
    color: #fff;
    text-shadow: 0px 3px 6px rgba(0, 0, 0, 0.67);
}
/* ----------------- korte omschrijving ------------------------*/
.swiper-slide.is-slider-titles .slider-description,
.swiper-slide.is-slider-titles .slider-buttons{
    opacity: 0;
    transition: all 1s ease;
}
.swiper-slide.is-slider-titles.is-active .slider-description,
.swiper-slide.is-slider-titles.is-active .slider-buttons{
    opacity: 1;
    transition: all 1s ease;
}

.slider-description{
    max-width: 65vw;
    text-shadow: 1px 1px 3px rgba(0,0,0,0.5);
    text-align: center;
    margin: 25px 0;
}
@media screen and (min-width: 768px) {
    .slider-description{
        max-width: 35vw;
    }
}
@media screen and (min-width: 1000px) {
    .slider-description{
        max-width: 30vw;
    }
}
@media screen and (min-width: 1366px) {
    .slider-description{
        max-width: 25vw;
    }
}

/* ----------------- buttons ------------------------*/
.slider-buttons{
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
}
.slider-button{
    position: relative;
    background-color: rgba(0, 0, 0, 0.5);
    border: 1px solid white;
    padding: 10px 25px;
    padding-right: 40px;
    margin: 25px 5px 0 5px;
    color: white;
    font-weight: 700;
    text-transform: uppercase;
    text-decoration: none;
    transition: all .3s ease;
    display: inline-block;
    width: fit-content;

}
.slider-button:after{
    position: absolute;
    content: '';
    background: url('/wp-content/themes/buursemabouw/double-arrow-white.svg');
    background-repeat: no-repeat;
    background-size: 28px 10px;
    width: 32px;
    height: 12px;
    top: 50%;
    transform: translateY(-50%);
    right: 5px;
    transition: all .3s ease;
}
.slider-button:hover{
    background-color: rgba(0, 0, 0, 1);
    transition: all .3s ease;
}
.slider-button:hover:after{
    right: 0px;
    transition: all .3s ease;
}
@media screen and (max-width: 768px) {
    .slider-buttons{
        display: block;

    }
    .slider-buttons .slider-button{
        width: fit-content;
        display: block;
        min-width: 100%;
    }
}


/* ---------- 3) onderbalk: prev/next, teller, thumbnails ---------- */

.dienst-slider .slider-gallery_bottom-wrapper {
    position: relative;
    display: flex;
    padding: 0 3% 3em;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    row-gap: 1.5em;
}

.dienst-slider .slider-gallery_button-wrapper {
    display: flex;
    width: 50%;
    flex-wrap: wrap;
    align-items: center;
    gap: 1em;
}
@media screen and (min-width: 1000px) {
    .dienst-slider .slider-gallery_button-wrapper {
        display: flex;
        width: 40%;
    }

}
.dienst-slider .slider-gallery_button {
    display: flex;
    width: 4.13em;
    height: 4.13em;
    justify-content: center;
    align-items: center;
    flex: 0 0 auto;
    border-radius: 50%;
    background-color: var(--vdmaar);
    transition: background-color 200ms ease, color 200ms ease;
    color: #fff;
    cursor: pointer;
}

.dienst-slider .slider-gallery_button:hover {
    background-color: var(--e-global-color-text);
    color: #000;
    border: 1px solid white;
}

.dienst-slider .slider-gallery_button-icon {
    display: flex;
    width: 40%;
    height: 40%;
}

.dienst-slider .slider-gallery_button-icon svg {
    width: 100%;
    height: 100%;
}

.dienst-slider .slider-gallery_button-icon.is-reversed {
    transform: rotate(-180deg);
}

.dienst-slider .slider-gallery_numbers {
    margin: 0;
    font-size: 1.38em;
    line-height: 1;
    letter-spacing: 0.04em;
}

.dienst-slider .slider-thumbs_component {
    width: 40%;
}

.dienst-slider .slider-thumbs_overflow {
    position: relative;
    overflow: hidden;
    width: calc(100% + 100vw);
}

.dienst-slider .slider-thumbs_overflow > div {
    width: calc(100% - 100vw);
}

.dienst-slider .slider-thumbs_wrapper {
    width: 100%;
}
@media screen and (min-width: 768px) {
    .dienst-slider .slider-thumbs_wrapper  {
        display: flex;
        width: 35%;
    }

}
@media screen and (min-width: 1000px) {
    .dienst-slider .slider-thumbs_wrapper  {
        display: flex;
        width: 25%;
    }

}
.dienst-slider .swiper.is-slider-thumbs {
    overflow: visible;
    width: 100%;
}
.swiper-slide.is-slider-thumbs{
    background-color: black;
    border: 2px solid black;
}
.swiper-slide.is-slider-thumbs img{
    display: block;
    padding: 0;
    margin: 0;
    opacity: 0.75;
}
.swiper-slide.is-slider-thumbs.swiper-slide-active{
    border: 2px solid white;
}
.swiper-slide.is-slider-thumbs.swiper-slide-active img{
    opacity: 1;
}
.dienst-slider .swiper-wrapper.is-slider-thumbs {
    display: flex;
    justify-content: flex-start;
    align-items: center;
}

.dienst-slider .swiper-slide.is-slider-thumbs {
    width: 100%;
    margin-right: 1em;
    flex: 0 0 auto;
    cursor: pointer;
}

.dienst-slider .slider-thumbs_height {
    position: relative;
    padding-top: 62%;
}

.dienst-slider .slider-thumbs_img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    cursor: pointer;
    display: block;
    padding: 0;
    margin: 0;
}
