/* Bericht Content Styles */
:root {
    /* shared tokens (also referenced from other plugin CSS, keep names) */
    --rbd_diagonal_radius_large: 30px;
    --border-radius-small: 6px;
    --border-radius-medium: 8px;

    /* module tokens */
    --rmnb_gap-xs: 7px;
    --rmnb_gap-sm: 10px;
    --rmnb_gap-md: 14px;
    --rmnb_gap-lg: 52px;
    --rmnb_gap-gallery: clamp(15px, 3.5vw, 40px);
    --rmnb_gap-collage: 16px;
    --rmnb_radius-collage: min(var(--rbd_diagonal_radius_large), 10%);
    --rmnb_tilt-collage: 2deg;
    --rmnb_transition-speed: 0.3s ease;
    --rmnb_color-white: #fff;
    --rmnb_color-overlay-light: rgba(255, 255, 255, 0.1);
    --rmnb_color-overlay-light-hover: rgba(255, 255, 255, 0.2);
    --rmnb_size-icon-btn: clamp(38px, 3.5vw, 44px);
    --rmnb_size-nav-btn: clamp(36px, 3vw + 22px, 50px);
    --rmnb_offset-nav: clamp(10px, 2vw, 20px);

    /* typography */
    --rmnb_color-dark: var(--gcid-heading-color);
    --rmnb_font-size-subheader: clamp(1.25rem, 0.9943rem + 1.1364vw, 1.875rem);
    --rmnb_font-size-moduleheader: clamp(1.25rem, 0.9943rem + 1.1364vw, 1.875rem);
    --rmnb_line-height-text: 1.6;
    --rmnb_line-height-heading: 1.3;
    --max-width-text: 900px;
}

/* In deze module volgen primary / secondary de Divi kleuren (primary = roze, secondary = paars).
   In nf-styling.css staan ze omgewisseld, dat blijft zo voor de formulieren. */
.rbd_content,
.rbd_content_nav,
.rbd_fotocollage {
    --primary: var(--gcid-primary-color);
    --secondary: var(--gcid-secondary-color);
}

/* Typography */
.rbd_subheader,
.rbd_moduleheader {
    font-family: var(--headerfont);
    line-height: var(--rmnb_line-height-heading);
    font-weight: 700;
    margin: 0;
}

.rbd_subheader {font-size: 33px;font-weight: 800;letter-spacing: -1px;padding: 0px;}
.rbd_moduleheader { font-size: var(--rmnb_font-size-moduleheader); }

.rbd_eyebrow {
    font-family: var(--headerfont);
    font-size: 20px;
    font-weight: 500;
    /* text-transform: uppercase; */
    letter-spacing: -.1px;
}

.rbd_text {
    font-family: var(--bodyfont);
    font-size: var(--rmnb_font-size-text);
    line-height: var(--rmnb_line-height-text);
    margin: 0;
    color: #4C7A62;
    font-size: 16px;
    max-width: var(--max-width-text);
}

.rbd_text p {
    margin: 0px;
    color#4A7961: ;
    font-size: 16px;
    color: #734187;
    font-weight: 500;
}

.rbd_text p:last-child {
    margin-bottom: 0;
}

.rbd_txt_primary { color: var(--primary); }
.rbd_txt_secondary { color: var(--secondary); }
.rbd_txt_dark { color: var(--rmnb_color-dark); }

/* Shared flex layouts */
.rbd_content,
.rbd_tekstblok_tekst,
.rbd_fotos,
.rbd_fotos_header {
    display: flex;
    flex-direction: column;
}

.rbd_content { gap: var(--rmnb_gap-lg); }
.rbd_tekstblok_tekst { gap: var(--rmnb_gap-xs); }
.rbd_fotos { gap: var(--rmnb_gap-md); }
.rbd_fotos_header { gap: 10px; }

/* Shared absolute-fill overlays */
.rbd_banner_bg,
.rbd_banner_overlay,
.rbd_fotos_item_overlay {
    position: absolute;
    inset: 0;
}

/* Shared flex-centering */
.rbd_lightbox,
.rbd_lightbox_main,
.rbd_lightbox_image_wrapper,
.rbd_lightbox_btn,
.rbd_lightbox_nav,
.rbd_fotos_item_overlay {
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Shared cover images */
.rbd_fotos_item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: var(--border-radius-medium);
    transition: transform var(--rmnb_transition-speed);
}

/* Foto's Gallery Layout */
.rbd_fotos_gallery {
    display: flex;
    /* grid-template-columns: repeat(auto-fill, minmax(min(280px, 100%), 1fr)); */
    gap: 20px;
    flex-direction: row;
    justify-content: flex-start;
    flex-wrap: wrap;
}

.rbd_fotos_item {
    aspect-ratio: 1/1;
    position: relative;
    max-width: 180px;
    cursor: pointer;
    overflow: hidden;
    border-radius: var(--border-radius-medium);
}

.rbd_fotos_item:hover img {
    transform: scale(1.05);
}

.rbd_fotos_item_overlay {
    background: #0e411885;
    opacity: 0;
    transition: opacity var(--rmnb_transition-speed);
}

.rbd_fotos_item:hover .rbd_fotos_item_overlay {
    opacity: 1;
}

.rbd_fotos_item_overlay svg {
    color: var(--rmnb_color-white);
    width: 32px;
    height: 32px;
}

.rbd_fotos_item:focus-visible,
.rbd_fotocollage_item:focus-visible {
    outline: 3px solid var(--secondary);
    outline-offset: 3px;
}

/* Tekstblok (tekst met optionele foto links / rechts) */
.rbd_tekstblok_met_foto {
    display: flex;
    align-items: center;
    gap: var(--rmnb_gap-lg);
}

.rbd_tekstblok_met_foto.rbd_tekstblok_foto_rechts {
    flex-direction: row-reverse;
}

.rbd_tekstblok_foto {
    flex: 0 0 40%;
}

.rbd_tekstblok_foto img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: var(--rbd_diagonal_radius_large);
}

.rbd_tekstblok_met_foto .rbd_tekstblok_tekst {
    flex: 1 1 0;
    min-width: 0;
}

.rbd_tekstblok_knoppen {
    display: flex;
    flex-wrap: wrap;
    gap: var(--rmnb_gap-md);
    margin-top: var(--rmnb_gap-md);
}

.rbd_tekstblok_knoppen a.rbd_btn {
    margin: 0;
}

/* Fotocollage : [rbd_fotocollage] */
.rbd_fotocollage {
    display: flex;
    flex-direction: column;
    gap: var(--rmnb_gap-md);
    width: 100%;
}

.rbd_fotocollage_items {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--rmnb_gap-collage);
    /* ruimte voor de gekantelde foto's */
    padding: calc(var(--rmnb_gap-collage) / 2) 0;
}

.rbd_fotocollage_item {
    aspect-ratio: 1 / 1;
    overflow: hidden;
    cursor: pointer;
    border-radius: var(--rmnb_radius-collage);
    transition: transform var(--rmnb_transition-speed);
}

.rbd_fotocollage_item:nth-child(4n+1) {
    transform: rotate(calc(var(--rmnb_tilt-collage) * -1));
}

.rbd_fotocollage_item:nth-child(4n+3) {
    transform: rotate(var(--rmnb_tilt-collage));
}

.rbd_fotocollage_item:hover,
.rbd_fotocollage_item:focus-visible {
    transform: rotate(0deg) scale(1.03);
}

.rbd_fotocollage_item img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

@media (max-width: 600px) {
    .rbd_fotocollage_items {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* Banner Styles */
.rbd_banner {
    position: relative;
    padding: clamp(25px, 4vw, 40px) clamp(15px, 4vw, 40px);
    border-radius: var(--rbd_diagonal_radius_large);
    text-align: center;
    overflow: hidden;
}

.rbd_banner.rbd_banner_primary {
    background-color: var(--primary);
}

.rbd_banner.rbd_banner_secondary,
.rbd_banner.rbd_banner_bg {
    background-color: var(--secondary);
}

.rbd_banner_bg {
    background-size: cover;
    background-position: center;
    z-index: 1;
}

.rbd_banner_overlay {
    background: linear-gradient(135deg, rgba(6, 80, 86, 0.85) 0%, rgba(6, 80, 86, 0.95) 100%);
    z-index: 2;
}

.rbd_banner_content {
    position: relative;
    z-index: 3;
    display: flex;
    flex-direction: column;
    gap: var(--rmnb_gap-xs);
    align-items: center;
    align-content: center;
    justify-content: center;
}

/* Lightbox Styles */
.rbd_lightbox {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.95);
    z-index: 9999999999999999;
}

.rbd_lightbox_container {
    height: calc(100% - var(--rbd_header_size));
    width: 100%;
    display: flex;
    flex-direction: column;
    padding: clamp(15px, 2vw, 20px);
    box-sizing: border-box;
}

/* Header */
.rbd_lightbox_header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 15px;
}

.rbd_lightbox_counter {
    color: var(--rmnb_color-white);
    font-family: var(--bodyfont);
    font-size: clamp(12px, 1.1vw, 14px);
    opacity: 0.8;
}

.rbd_lightbox_actions {
    display: flex;
    gap: 10px;
}

.rbd_lightbox_btn,
.rbd_lightbox_nav {
    background: var(--rmnb_color-overlay-light);
    border: none;
    color: var(--rmnb_color-white);
    cursor: pointer;
    transition: background var(--rmnb_transition-speed);
}

.rbd_lightbox_btn:hover,
.rbd_lightbox_nav:hover {
    background: var(--rmnb_color-overlay-light-hover);
}

.rbd_lightbox_btn {
    width: var(--rmnb_size-icon-btn);
    height: var(--rmnb_size-icon-btn);
    border-radius: var(--border-radius-small);
}

/* Main Image Area */
.rbd_lightbox_main {
    flex: 1;
    position: relative;
    min-height: 0;
}

.rbd_lightbox_image_wrapper {
    max-width: 100%;
    max-height: 100%;
}

.rbd_lightbox_image {
    max-width: 100%;
    max-height: 60vh;
    object-fit: contain;
    border-radius: var(--border-radius-medium);
}

.rbd_lightbox_nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: var(--rmnb_size-nav-btn);
    height: var(--rmnb_size-nav-btn);
    border-radius: 50%;
}

.rbd_lightbox_prev { left: var(--rmnb_offset-nav); }
.rbd_lightbox_next { right: var(--rmnb_offset-nav); }

/* Thumbnails */
.rbd_lightbox_thumbs {
    padding-top: 20px;
    display: flex;
    justify-content: center;
}

.rbd_lightbox_thumbs_track {
    display: flex;
    gap: 10px;
    overflow-x: auto;
    padding: 5px;
    max-width: 100%;
}

.rbd_lightbox_thumb {
    flex-shrink: 0;
    width: clamp(45px, 6vw, 70px);
    height: clamp(32px, 4.5vw, 50px);
    border-radius: var(--border-radius-small);
    overflow: hidden;
    cursor: pointer;
    opacity: 0.5;
    transition: opacity var(--rmnb_transition-speed), transform var(--rmnb_transition-speed);
    border: 2px solid transparent;
}

.rbd_lightbox_thumb:hover {
    opacity: 0.8;
}

.rbd_lightbox_thumb_active {
    opacity: 1;
    border-color: var(--rmnb_color-white);
}

.rbd_lightbox_thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Animate.css duration override */
.rbd_lightbox .animated {
    animation-duration: 0.3s;
}

/* Banner text colors */
.rbd_banner.rbd_banner_secondary > .rbd_banner_content > .rbd_moduleheader {
    color: var(--primary);
}

.rbd_banner.rbd_banner_primary > .rbd_banner_content > .rbd_subheader,
.rbd_banner.rbd_banner_secondary > .rbd_banner_content > .rbd_subheader,
.rbd_banner.rbd_banner_bg > .rbd_banner_content > .rbd_subheader {
    color: var(--rmnb_color-white) !important;
}

.rbd_banner.rbd_banner_secondary > .rbd_banner_content > .rbd_text {
    color: var(--bg) !important;
}

.rbd_banner.rbd_banner_primary > .rbd_banner_content > .rbd_moduleheader {
    color: var(--secondary) !important;
}

.rbd_banner.rbd_banner_primary > .rbd_banner_content > .rbd_text {
    color: var(--rmnb_color-white);
}

.rbd_banner.rbd_banner_bg > .rbd_banner_content > * {
    color: var(--rmnb_color-white) !important;
}

.rbd_backbtn > a {
    padding-left: 0;
    padding-top: 3px !important;
    float: left;
    cursor: pointer;
    text-decoration: underline;
    color: var(--primary) !important;
}

a.rbd_btn {
    border: 2px solid transparent;
    border-radius: var(--border-radius-medium);
    padding: 7px 20px;
    background-color: var(--secondary);
    color: var(--rmnb_color-white);
    font-family: var(--headerfont);
    font-weight: 700;
    font-size: 18px;
    line-height: 1.3;
    letter-spacing: -0.02rem;
    text-decoration: none;
    display: inline-block;
    text-align: center;
    margin-bottom: 20px;
    margin-top: 20px;
}

/* Knop stijlen (ACF knoppen : Roze / Paars / Wit) */
a.rbd_btn.rbd_btn_roze {
    background-color: var(--primary);
    border-color: color-mix(in srgb, var(--primary), #000 7%);
    color: var(--rmnb_color-white);
}

a.rbd_btn.rbd_btn_paars {
    background-color: var(--secondary);
    border-color: color-mix(in srgb, var(--secondary), #000 4%);
    color: var(--rmnb_color-white);
}

a.rbd_btn.rbd_btn_wit {
    background-color: var(--rmnb_color-white);
    border-color: var(--rmnb_color-white);
    color: var(--secondary);
}

a.rbd_btn.rbd_btn_roze,
a.rbd_btn.rbd_btn_paars,
a.rbd_btn.rbd_btn_wit {
    transition: transform var(--rmnb_transition-speed), box-shadow var(--rmnb_transition-speed);
}

a.rbd_btn.rbd_btn_roze:hover,
a.rbd_btn.rbd_btn_paars:hover,
a.rbd_btn.rbd_btn_wit:hover {
    transform: translateY(-2px);
    box-shadow: rgba(0, 0, 0, 0.15) 0px 6px 20px;
}

/* Toegepaste oplossing */
.rmms_toegepaste_oplossing {
    display: flex;
    flex-direction: column;
    gap: var(--rmnb_gap-md);
}

.rmms_toegepaste_oplossing_list {
    display: flex;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: var(--rmnb_gap-md);
    flex-direction: column;
    align-items: flex-start;
    overflow: visible;
}

.rmms_toegepaste_oplossing_item {
    display: flex;
    align-items: stretch;
    background: var(--rmnb_color-white);
    border-radius: var(--border-radius-medium);
    overflow: hidden;
    text-decoration: none;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
    transition: box-shadow var(--rmnb_transition-speed), transform var(--rmnb_transition-speed);
}

.rmms_toegepaste_oplossing_item:hover {
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12);
    transform: translateY(-2px);
}

.rmms_toegepaste_oplossing_item:active {
    transform: translateY(0);
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.08);
}

.rmms_toegepaste_oplossing_item:focus {
    outline: 2px solid var(--secondary);
    outline-offset: 2px;
}

.rmms_toegepaste_oplossing_item .rmms_toegepaste_oplossing_content {
    flex: 1 1 55%;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 6px;
    padding: 20px;
    padding-bottom: 50px;
}

.rmms_toegepaste_oplossing_item .rmms_toegepaste_oplossing_img {
    flex: 1 1 45%;
    position: relative;
    min-height: 220px;
    height: calc(100% + 50px);
    overflow: visible;
}

.rmms_toegepaste_oplossing_item strong {
    font-family: var(--bodyfont);
    font-size: clamp(0.8rem, 0.75rem + 0.3vw, 0.95rem);
    font-weight: 700;
    color: var(--secondary);
}

.rmms_toegepaste_oplossing_item .rbd_subheader {
    color: var(--rmnb_color-dark);
}

.rmms_toegepaste_oplossing_item .rbd_text {
    color: var(--rmnb_color-dark);
    opacity: 0.7;
}

.rmms_toegepaste_oplossing_item .rmms_toegepaste_oplossing_img_inner {
    position: absolute;
    inset: 0;
    background-size: contain;
    background-position: center bottom;
    background-repeat: no-repeat;
    transition: transform var(--rmnb_transition-speed);
}


.rmms_toegepaste_oplossing_item:hover .rmms_toegepaste_oplossing_img_inner {
    transform: scale(1.05);
}

.rmms_toegepaste_oplossing_content::after {
    content: '';
    position: absolute;
    left: 20px;
    bottom: 20px;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background-color: var(--primary);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='9 6 15 12 9 18'%3E%3C/polyline%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 80%;
    transition: transform var(--rmnb_transition-speed);
}

.rmms_toegepaste_oplossing_item:hover .rmms_toegepaste_oplossing_content::after {
    transform: translateX(4px);
}

/* Responsive (structural layout only) */
@media (max-width: 768px) {
    .rbd_lightbox_image {
        max-height: 45vh;
    }

    .rbd_initiatieven_showmore {
        margin-top: 80px !important;
    }

    .rbd_infoslider_content > *:not(h3) {
        display: none !important;
    }

    /* Tekstblok : foto boven de tekst, ongeacht links / rechts */
    .rbd_tekstblok_met_foto,
    .rbd_tekstblok_met_foto.rbd_tekstblok_foto_rechts {
        flex-direction: column;
        align-items: stretch;
    }

    .rbd_tekstblok_foto,
    .rbd_tekstblok_met_foto .rbd_tekstblok_tekst {
        flex: 0 0 auto;
    }

    .rmms_toegepaste_oplossing_item {
        flex-direction: column;
    }

    .rmms_toegepaste_oplossing_item .rmms_toegepaste_oplossing_img {
        min-height: 180px;
    }
}

.rbd_fotos > i,
.rbd_fotocollage > i{
    font-size: 15px;
    font-style: normal !important;
    font-family: Open Sans, sans-serif;
    color: var(--secondary);
    text-decoration: underline;
    font-weight: 400;
    letter-spacing: -.3px;
}

.rbd_fotocollage > i{
    text-align: center;
    text-decoration: none;
}


/* Toegepaste oplossing */
.rmms_toegepaste_oplossing {}
.rmms_toegepaste_oplossing .rmms_toegepaste_oplossing_list {
    gap: 40px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}
.rmms_toegepaste_oplossing .rmms_toegepaste_oplossing_list .rmms_toegepaste_oplossing_item {
    width: 100%;
    max-width: var(--max-width-text);
    overflow: visible;
}
.rmms_toegepaste_oplossing .rmms_toegepaste_oplossing_list .rmms_toegepaste_oplossing_item:hover {}
.rmms_toegepaste_oplossing .rmms_toegepaste_oplossing_list .rmms_toegepaste_oplossing_item:active {}
.rmms_toegepaste_oplossing .rmms_toegepaste_oplossing_list .rmms_toegepaste_oplossing_item:focus {}
.rmms_toegepaste_oplossing .rmms_toegepaste_oplossing_list .rmms_toegepaste_oplossing_item .rmms_toegepaste_oplossing_content {}
.rmms_toegepaste_oplossing .rmms_toegepaste_oplossing_list .rmms_toegepaste_oplossing_item .rmms_toegepaste_oplossing_img {}
.rmms_toegepaste_oplossing .rmms_toegepaste_oplossing_list .rmms_toegepaste_oplossing_item strong {}
.rmms_toegepaste_oplossing .rmms_toegepaste_oplossing_list .rmms_toegepaste_oplossing_item .rbd_subheader {
    line-height: 28px;
}
.rmms_toegepaste_oplossing .rmms_toegepaste_oplossing_list .rmms_toegepaste_oplossing_item .rbd_text {}
.rmms_toegepaste_oplossing .rmms_toegepaste_oplossing_list .rmms_toegepaste_oplossing_item .rmms_toegepaste_oplossing_img_inner {
    height: calc(100% + 50px);
    margin-top: -50px;
}

/* #media queries */
@media (max-width: 768px) {
    .rmms_toegepaste_oplossing .rmms_toegepaste_oplossing_list .rmms_toegepaste_oplossing_item {
        flex-direction: column;
    }
    .rmms_toegepaste_oplossing .rmms_toegepaste_oplossing_list .rmms_toegepaste_oplossing_item .rmms_toegepaste_oplossing_img {
        min-height: 180px;
    }
}



.rbd_content_nav {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: 20px;
    max-width: var(--max-width-text);
    float: left;
    margin-top: 100px;
    width: 100%;
}
.rbd_content_nav .rbd_content_nav_item {
    display: flex;
    flex-direction: column;
    gap: 5px; 
}
.rbd_content_nav .rbd_content_nav_item .rbd_content_nav_label {
    padding-left: 30px;
    position:relative;
    color: #4C7A62;
}
.rbd_content_nav .rbd_content_nav_item .rbd_content_nav_label::before{
    content: "";
    position: absolute;
    left: 0px;
    top: 2px;
    width: 20px;
    height: 20px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='9 6 15 12 9 18'%3E%3C/polyline%3E%3C/svg%3E");
    background-size: 20px;
    background-repeat: no-repeat;
    background-position: center;
    background-color: var(--primary);
    border-radius: 50%;
    transform: rotate(180deg);
}
.rbd_content_nav .rbd_content_nav_item .rbd_content_nav_title {
    color: var(--secondary);
    font-size: 17px;
    font-weight: 500;
}


.rbd_content_nav_item.rbd_content_nav_next > .rbd_content_nav_label{
padding-left: unset;
padding-right: 30px;
}
.rbd_content_nav_item.rbd_content_nav_next > .rbd_content_nav_label::before{
    left: unset;
    right: 0px;
    transform: rotate(0deg);
}


a.rbd_content_nav_item.rbd_content_nav_next{
    display: flex;
    align-items: flex-end;
}

@media (max-width: 768px) {
    .rbd_content_nav {
        grid-template-columns: 1fr;
        grid-gap: 24px;
        max-width: 100%;
        margin-top: 60px;
    }

    .rbd_content_nav .rbd_content_nav_item .rbd_content_nav_title {
        font-size: 16px;
    }

    .rbd_content_nav_item.rbd_content_nav_next > .rbd_content_nav_label {
        padding-left: 30px;
        padding-right: unset;
    }

    .rbd_content_nav_item.rbd_content_nav_next > .rbd_content_nav_label::before {
        left: 0px;
        right: unset;
        transform: rotate(180deg);
    }

    a.rbd_content_nav_item.rbd_content_nav_next {
        align-items: flex-start;
    }
}


/* COLLEGA */
.uvzh_collega {
    aspect-ratio: 4/5;
    width: 100%;
}
.uvzh_collega .rbd_foto {
    position:absolute;
    left: 10px;
    bottom: 0px;
    width: calc(100% - 20px);
    height: 100%;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center bottom;
    z-index: 3;
}
.uvzh_collega .uv_foto_fade,
.uvzh_collega .uv_foto_bg {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: calc(100% - 60px);
    z-index: 2;
    border-radius: 25px;
    overflow: hidden;
}

.uvzh_collega .uv_foto_bg{
    z-index: 1;
    background-size: cover;
    background-position: center;
    background-image: url("/wp-content/uploads/2026/10/blur-auditorium.webp");
}
.uvzh_collega .uv_foto_fade::after{
    z-index: 2;
    background: linear-gradient(to top, #54166E, #62088839);
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    transition-duration: 0.3s;
}

.uvzh_collega:hover > .uv_foto_fade::after{
    height: 200%;
    backdrop-filter: brightness(150%);
}


/* REKENEN GRID : [uvzh_rekenen_grid] (ACF repeater 'zekerheden') */
.uvzh_rekenen_grid {
    --uvzh_rekenen_gap: var(--rmnb_gap-md);
    --uvzh_rekenen_radius: 16px;
    --uvzh_rekenen_padding: clamp(20px, 2.2vw, 30px);
    display: flex;
    gap: var(--uvzh_rekenen_gap);
    width: 100%;
}

/* Kolommen : kaartjes lopen verticaal onder elkaar. Elke kolom staat los van de andere, dus de tweede
   kaartjes beginnen niet op ÃƒÆ’Ã‚Â©ÃƒÆ’Ã‚Â©n lijn zoals in een grid, maar alle kolommen eindigen wel op dezelfde plek. */
.uvzh_rekenen_grid_kolommen {
    flex-direction: row;
}

.uvzh_rekenen_grid_kolommen > .uvzh_rekenen_groep {
    display: flex;
    flex: 1 1 0;
    flex-direction: column;
    gap: var(--uvzh_rekenen_gap);
    min-width: 0;
}

/* Het onderste kaartje in elke kolom rekt mee, zodat alle kolommen op dezelfde plek eindigen. */
.uvzh_rekenen_grid_kolommen > .uvzh_rekenen_groep > .uvzh_rekenen_item:last-child {
    flex-grow: 1;
}

/* Rijen (5 en 7 kaartjes) : volle rijen, kaartjes binnen een rij zijn even hoog */
.uvzh_rekenen_grid_rijen {
    flex-direction: column;
}

.uvzh_rekenen_grid_rijen > .uvzh_rekenen_groep {
    display: grid;
    grid-template-columns: repeat(var(--uvzh_rekenen_aantal), minmax(0, 1fr));
    gap: var(--uvzh_rekenen_gap);
}

/* Kaartje */
.uvzh_rekenen_item {
    display: flex;
    flex-direction: column;
    gap: 8px;
    box-sizing: border-box;
    padding: var(--uvzh_rekenen_padding);
    background-color: var(--rmnb_color-white);
    border-radius: var(--uvzh_rekenen_radius);
}

.uvzh_rekenen_grid .uvzh_rekenen_titel {
    margin: 0;
    padding: 0;
    font-family: var(--headerfont);
    font-size: clamp(1.25rem, 1.1rem + 0.5vw, 1.5rem);
    font-weight: 800;
    line-height: var(--rmnb_line-height-heading);
    color: var(--gcid-heading-color);
    overflow-wrap: break-word;
    hyphens: auto;
}

.uvzh_rekenen_grid .uvzh_rekenen_tekst {
    margin: 0;
    padding: 0;
    font-family: var(--bodyfont);
    font-size: 16px;
    line-height: var(--rmnb_line-height-text);
    color: var(--gcid-body-color);
}

/* Smalle schermen : de kolommen / rijen worden losgelaten en de kaartjes lopen in leesvolgorde
   (inline 'order' per kaartje) door in een grid. Een oneven laatste kaartje loopt over de volle breedte. */
@media (max-width: 1200px) {
    .uvzh_rekenen_grid_n7,
    .uvzh_rekenen_grid_n8 {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .uvzh_rekenen_grid_n7 > .uvzh_rekenen_groep,
    .uvzh_rekenen_grid_n8 > .uvzh_rekenen_groep {
        display: contents;
    }

    .uvzh_rekenen_grid_n7 .uvzh_rekenen_item_laatste {
        grid-column: 1 / -1;
    }
}

@media (max-width: 820px) {
    .uvzh_rekenen_grid {
        display: grid;
        align-items: stretch;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .uvzh_rekenen_grid > .uvzh_rekenen_groep {
        display: contents;
    }

    .uvzh_rekenen_grid_oneven .uvzh_rekenen_item_laatste {
        grid-column: 1 / -1;
    }
}

@media (max-width: 600px) {
    .uvzh_rekenen_grid {
        grid-template-columns: minmax(0, 1fr);
    }
}


/* FILTER KNOPPEN : [uzhw_filter_btns] (filtert .uv_post in .uv_posts_container op data-categorie) */
.uzhw_filter_btns {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 7px;
    width: 100%;
}

.uzhw_filter_btns:empty {
    display: none;
}

.uzhw_filter_btn {
    appearance: none;
    margin: 0;
    padding: 7px 20px;
    border: 2px solid var(--rmnb_color-white);
    border-radius: 999px;
    background-color: var(--rmnb_color-white);
    color: var(--gcid-secondary-color);
    font-family: var(--bodyfont);
    font-size: 17px;
    font-weight: 400;
    line-height: 1.3;
    letter-spacing: -0.02rem;
    cursor: pointer;
    transition: background-color var(--rmnb_transition-speed), border-color var(--rmnb_transition-speed), color var(--rmnb_transition-speed);
}

.uzhw_filter_btn:hover {
    border-color: var(--gcid-secondary-color);
}

.uzhw_filter_btn:focus-visible {
    outline: 3px solid var(--gcid-secondary-color);
    outline-offset: 3px;
}

.uzhw_filter_btn.uzhw_filter_btn_active,
.uzhw_filter_btn.uzhw_filter_btn_active:hover {
    background-color: var(--gcid-primary-color);
    border-color: color-mix(in srgb, var(--gcid-primary-color), #000 21%);
    color: var(--rmnb_color-white);
    /* box-shadow: inset 0 0 0px 1px black; */
}

.uzhw_hidden {
    display: none !important;
}

/* Mobiel : de pill-knoppen worden een select in dezelfde stijl */
.uzhw_filter_select {
    display: none;
}

@media (max-width: 700px) {
    .uzhw_filter_btn {
        display: none;
    }

    .uzhw_filter_select {
        display: block;
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
        margin: 0;
        padding: 7px 46px 7px 20px;
        border: 2px solid var(--rmnb_color-white);
        border-radius: 999px;
        background-color: var(--rmnb_color-white);
        background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%2354166e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M3 6l5 5 5-5'/%3E%3C/svg%3E");
        background-repeat: no-repeat;
        background-position: right 18px center;
        background-size: 14px 14px;
        color: var(--gcid-secondary-color);
        font-family: var(--bodyfont);
        font-size: 17px;
        font-weight: 400;
        line-height: 1.3;
        letter-spacing: -0.02rem;
        cursor: pointer;
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
    }

    .uzhw_filter_select:focus-visible {
        outline: 3px solid var(--gcid-secondary-color);
        outline-offset: 3px;
    }
}


/* DYNAMISCHE MASONRY : .uvzh_dynamic_masonry_col3
   De JS in bericht-content.php (wp_footer) zet de class uvzh_masonry_ready, het aantal kolommen
   (--uvzh_masonry_cols) en per kaartje grid-column / grid-row-end (rijen van 1px). */
.uvzh_dynamic_masonry_col3.uvzh_masonry_ready {
    display: grid !important;
    grid-template-columns: repeat(var(--uvzh_masonry_cols, 3), minmax(0, 1fr)) !important;
    grid-auto-rows: 1px !important;
    grid-auto-flow: row dense !important;
    column-gap: var(--uvzh_masonry_gap, 20px) !important;
    row-gap: 0 !important;
    /* elk kaartje telt de afstand eronder mee, ook het laatste : die halen we er hier weer af */
    margin-bottom: calc(var(--uvzh_masonry_gap, 20px) * -1) !important;
}

/* De losse groepen (de kaartjes) houden hun eigen hoogte, de JS bepaalt hoeveel ruimte ze krijgen */
.uvzh_dynamic_masonry_col3.uvzh_masonry_ready > * {
    align-self: start;
    box-sizing: border-box;
    min-width: 0;
}

/* STERREN : [uvzh_sterren] (stars/1.svg t/m 5.svg, het aantal komt uit data-sterren van de parent) */
.uvzh_stars_img {
    display: block;
    width: 100%;
    max-width: 180px;
    height: auto;
    /* de svg's zijn 900 x 200 : de ruimte blijft vrij tot het script de afbeelding heeft gezet */
    aspect-ratio: 9 / 2;
    margin: 0 auto;
}
