/*** ---------- Algemeen ---------- ***/
.wpb-block {
    .wpb-block__header { margin-bottom: 3.2rem;
        .container { display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; gap: 1.6rem; }
        .wpb-text { margin: 0; }
    }

    &.text-light .wpb-block__header .wpb-text { color: #fff; }
}

/*** ---------- Block: Hero ---------- ***/
.wpb-hero { --header-padding: 4.8rem; padding-top: var(--pt, var(--header-padding)); padding-bottom: var(--pb, var(--header-padding)); position: relative; z-index: 1; 

    .wpb-hero__body { position: relative; z-index: 2; }

    .wpb-hero__image { position: absolute; top: 0; left: 0; width: 100%; height: 100%; 
        figure { width: 100%; height: 100%; 
            img { width: 100%; height: 100%; object-fit: cover; }
        }
    }

    &.wpb-hero--home, &.wpb-hero--search {
        .container { display: flex; flex-direction: column; align-items: center; }
        .wpb-text { width: 100%; max-width: 110rem; margin: 0 auto 2.6rem; text-align: center; }
        .wpb-text p{font-size: 1.7rem; } 
        .wpb-hero__search { display: flex; align-items: center; gap: .6rem; width: 100%; max-width: 68rem; min-height: 5.7rem; margin: 0 auto; padding: .6rem; border: 1px solid var(--clr-border); border-radius: .6rem; background: #fff; }
        .wpb-hero__search:focus-within { outline: 3px solid #1D2939; outline-offset: 3px; }
        .wpb-hero__search.has-pointer-focus:focus-within { outline: 1px solid var(--clr-border); outline-offset: 1px; }
        .wpb-hero__search.wux-search-form { position: relative; z-index: 5; max-width: 68rem; }
        .wpb-hero__search.wux-search-form .wux-search-form__results,
        .wpb-hero__search.wux-search-form .wux-search-form__history { top: calc(100% + .8rem); border: 1px solid var(--clr-border); border-radius: .6rem; }
        .wpb-hero__search-field { position: relative; display: flex; flex: 1 1 auto; align-items: center; min-width: 0; min-height: 4.8rem; padding-inline: 1.6rem; }
        .wpb-hero__search-icon { flex: 0 0 auto; margin-right: 1.2rem; color: var(--clr-text); font-size: 1.8rem; }
        .wpb-hero__search-input { flex: 1 1 auto; width: 100%; min-width: 0; min-height: 4.8rem !important; padding: 0; border: 0; border-radius: 0; background: transparent; font-size: 1.6rem; }
        .wpb-hero__search-input:focus { border: 0; outline: 0; }
        .wpb-hero__search-input::placeholder { color: #8993A1; opacity: 1; }
        .wpb-hero__search-button { --min-height: 4.8rem; --p: 0 2.4rem; --br: .4rem; --fs: 1.5rem; font-weight: 600; flex: 0 0 auto; }
        .wpb-hero__search-button:focus-visible { outline: 3px solid #1D2939; outline-offset: 3px; }

        .wpb-hero__subjects { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .8rem; width: 100%; margin-top: 2.6rem; }
        .wpb-hero__subjects-label { flex: 0 0 auto; color: var(--clr-text); font-size: 1.3rem; font-weight: 400; }
        .wpb-hero__subjects-list { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .8rem; margin: 0; padding: 0; list-style: none; }
        .wpb-hero__subjects-link { display: inline-flex; align-items: center; justify-content: center; gap: .8rem; min-width: 4.8rem; min-height: 3.4rem; padding: .6rem 1.2rem; border: 1px solid var(--clr-border); border-radius: 999rem; background: #fff; color: var(--clr-text); font-size: 1.3rem; font-weight: 500; line-height: 1.693; text-align: center; text-decoration: none; transition: color var(--ts-duration) var(--ts-function), border-color var(--ts-duration) var(--ts-function), background-color var(--ts-duration) var(--ts-function); }
        .wpb-hero__subjects-link i{ color: var(--clr-primary); font-size: 1.8rem; }
        .wpb-hero__subjects-icon { display: block; flex: 0 0 1.8rem; width: 1.8rem; height: 1.8rem; color: var(--clr-primary); font-size: 1.8rem; object-fit: contain; }
        .wpb-hero__subjects-link:hover { border-color: var(--clr-primary); color: var(--clr-primary); }
        .wpb-hero__subjects-link:focus-visible { outline: 3px solid #1D2939; outline-offset: 3px; }
    }

    @media (max-width: 767.98px) {
        &.wpb-hero--home, &.wpb-hero--search {
            .wpb-text { margin-bottom: 3.2rem; }
            .wpb-hero__search { flex-wrap: wrap; min-height: 0; }
            .wpb-hero__search-field { min-height: 5.6rem; padding-inline: 1.2rem; }
            .wpb-hero__search-icon { margin-right: 1.2rem; font-size: 2rem; }
            .wpb-hero__search-input { min-height: 5.6rem !important; font-size: 1.6rem; }
            .wpb-hero__search-button { flex: 1 0 100%; --min-height: 5.6rem; --p: 0 2rem; --fs: 1.7rem; }
            .wpb-hero__subjects { flex-direction: column; gap: 1.6rem; margin-top: 3.2rem; }
            .wpb-hero__subjects-list { gap: .8rem; }
            .wpb-hero__subjects-link { min-height: 4.8rem; padding: 1rem 1.6rem; font-size: 1.6rem; }
        }
    }
}

/*** ---------- Block: Carousel ---------- ***/
.wpb-block--carousel {
    .wpb-image { position: relative; aspect-ratio: 4 / 3;
        img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; }
    }
}

/*** ---------- Block: Featured ---------- ***/
.wpb-block--featured {
    .wpb-text{font-size: var(--text-md); }
    .wpb-block__body { --gc: 1; 
        .container { display: grid; grid-template-columns: repeat(var(--gc), minmax(0, 1fr)); gap: 4.8rem 2.8rem; }
    }

    @media (min-width: 768px) {
        .wpb-block__body { --gc: 2; }
    }
    
    @media (min-width: 992px) {
        .wpb-block__body { --gc: 3; }
    }
}

/*** ---------- Block: Text Shortcode ---------- ***/
.wpb-block--text-gravityform {
    .container { column-gap: 2rem; row-gap: 2rem; }

    @media (min-width: 992px) {
        .container { column-gap: 3.2rem; }
    }
    
    @media (min-width: 1200px) {
        .container { column-gap: 6.4rem; }
    }
    
    @media (min-width: 1200px) {
        .container { column-gap: 9.8rem; }
    }
}

/*** ---------- Block: Text & video ---------- ***/
.wpb-block--text-video {
    .container { column-gap: 2rem; row-gap: 2rem; }
    .wpb-ratio { --br: 1rem;
        iframe, img, video { border-radius: var(--br); }
        .wpb-video__play { border: none; position: absolute; top: 0; right: 0; bottom: 0; left: 0; z-index: 5; cursor: pointer; transition: opacity var(--ts-35) ease;
            img { object-fit: cover; width: 100%; height: 100%; }
            .wpb-video__play-icon { --size: 6rem; --icon-size: 2rem; --bg-clr: var(--clr-primary); --clr: rgb(255,255,255); position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); display: grid; place-items: center; z-index: 2; background-color: var(--bg-clr); border-radius: 50%; width: var(--size); min-width: var(--size); height: var(--size); transition: .25s ease; 
                i { color: var(--clr); font-size: var(--icon-size); }
            }
        }
        &:hover .wpb-video__play .wpb-video__play-icon { transform: translate(-50%, -50%) scale(1.1); }
    }

    @media (min-width: 992px) {
        .container { column-gap: 3.2rem; }
    }
    
    @media (min-width: 1200px) {
        .container { column-gap: 6.4rem; }
    }
    
    @media (min-width: 1400px) {
        .container { column-gap: 9.8rem; }
    }
}


/*** ---------- Block: Meili archive ---------- ***/
.wpb-block--meili-archive {
    .container { display: grid; grid-template-columns: minmax(0, 1fr); gap: 2rem; }

    @media (min-width: 992px) {
        .container { grid-template-columns: 25rem 1fr; }
        .btn--filter-toggle { display: none; }
    }
}
.wpb-block-example-label { overflow-wrap: anywhere; }
