.elementor-4278 .elementor-element.elementor-element-1b4fdf1{--display:flex;--min-height:450px;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:flex-start;--gap:24px 24px;--row-gap:24px;--column-gap:24px;--overlay-opacity:0.6;--padding-top:0px;--padding-bottom:0px;--padding-left:24px;--padding-right:24px;}.elementor-4278 .elementor-element.elementor-element-1b4fdf1:not(.elementor-motion-effects-element-type-background), .elementor-4278 .elementor-element.elementor-element-1b4fdf1 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://www.mozaiekwijchen.nl/wp-content/uploads/2026/02/Mozaiek-default-header.jpg");background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-4278 .elementor-element.elementor-element-1b4fdf1::before, .elementor-4278 .elementor-element.elementor-element-1b4fdf1 > .elementor-background-video-container::before, .elementor-4278 .elementor-element.elementor-element-1b4fdf1 > .e-con-inner > .elementor-background-video-container::before, .elementor-4278 .elementor-element.elementor-element-1b4fdf1 > .elementor-background-slideshow::before, .elementor-4278 .elementor-element.elementor-element-1b4fdf1 > .e-con-inner > .elementor-background-slideshow::before, .elementor-4278 .elementor-element.elementor-element-1b4fdf1 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:var( --e-global-color-secondary );--background-overlay:'';}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-4278 .elementor-element.elementor-element-dbc33d8 .elementor-heading-title{font-family:var( --e-global-typography-heading_l-font-family ), Sans-serif;font-size:var( --e-global-typography-heading_l-font-size );font-weight:var( --e-global-typography-heading_l-font-weight );line-height:var( --e-global-typography-heading_l-line-height );color:var( --e-global-color-background );}.elementor-4278 .elementor-element.elementor-element-ee87827{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-4278 .elementor-element.elementor-element-0d85e5a{--spacer-size:50px;}.elementor-4278 .elementor-element.elementor-element-d3baf51{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-4278 .elementor-element.elementor-element-187c060{text-align:start;font-family:"Work Sans", Sans-serif;font-size:19px;font-weight:400;line-height:1.5em;}.elementor-4278 .elementor-element.elementor-element-1fbacf2{--display:flex;}.elementor-4278 .elementor-element.elementor-element-73aff8d{--spacer-size:50px;}.elementor-4278 .elementor-element.elementor-element-8a0b299{--spacer-size:50px;}@media(max-width:1024px){.elementor-4278 .elementor-element.elementor-element-1b4fdf1{--gap:24px 24px;--row-gap:24px;--column-gap:24px;--padding-top:0px;--padding-bottom:0px;--padding-left:16px;--padding-right:16px;}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}.elementor-4278 .elementor-element.elementor-element-dbc33d8 .elementor-heading-title{font-size:var( --e-global-typography-heading_l-font-size );line-height:var( --e-global-typography-heading_l-line-height );}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}}@media(min-width:768px){.elementor-4278 .elementor-element.elementor-element-1b4fdf1{--content-width:1280px;}}@media(max-width:767px){.elementor-4278 .elementor-element.elementor-element-1b4fdf1{--min-height:0px;--gap:16px 16px;--row-gap:16px;--column-gap:16px;--padding-top:48px;--padding-bottom:48px;--padding-left:16px;--padding-right:16px;}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}.elementor-4278 .elementor-element.elementor-element-dbc33d8 .elementor-heading-title{font-size:var( --e-global-typography-heading_l-font-size );line-height:var( --e-global-typography-heading_l-line-height );}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}}/* Start custom CSS for shortcode, class: .elementor-element-b80ab92 *//* =====================
   ALGEMEEN
   ===================== */
.voorstellingen-lijst,
.voorstellingen-lijst * {
    font-family: 'Work Sans', sans-serif;
}

.voorstellingen-lijst {
    display: flex;
    flex-direction: column;
    gap: 15px;
    font-family: 'Work Sans', sans-serif;
}

/* =====================
   KAART
   ===================== */
.vs-kaart {
    display: flex;
    align-items: stretch;
    gap: 0;
    border-bottom: 1px solid #e0e0e0;
    background: #fff;
    transition: background 0.2s ease;
    min-height: 120px;
    padding: 12px 0;
}

.vs-kaart:hover {
    background: #f7f7f7;
}

/* =====================
   AFBEELDING LINKS
   ===================== */
.vs-afbeelding {
    width: 280px;
    min-width: 280px;
    padding: 12px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
}

.vs-afbeelding-inner {
    width: 100%;
    height: 180px;
    background-size: cover;
    background-position: center;
    border-radius: 10px;
}

.vs-afbeelding-placeholder {
    background-color: #e0e0e0;
}

/* =====================
   INHOUD MIDDEN
   ===================== */
.vs-inhoud {
    flex: 1;
    padding: 15px 20px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.vs-datum {
    margin: 0 0 4px 0;
    font-size: 18px;
    font-weight: 600;
    color: #C81161;
    letter-spacing: 0.5px;
}

.vs-titel {
    margin: 0 0 4px 0;
    font-size: 23px;
    font-weight: 700;
    color: #111;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.vs-ondertitel {
    margin: 0 0 8px 0;
    font-size: 18px;
    font-weight: 400;
    color: #444;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.vs-labels {
    display: flex;
    gap: 15px;
    flex-wrap: wrap;
}

.vs-label {
    font-size: 16px;
    color: #666;
    font-weight: 400;
}

/* =====================
   KNOPPEN RECHTS
   ===================== */
.vs-actie {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: center;
    gap: 8px;
    padding: 15px 20px;
    flex-shrink: 0;
}

.tickets-knop {
    display: inline-block;
    padding: 10px 20px;
    background-color: #C81161;
    color: #fff !important;
    text-decoration: none;
    border-radius: 10px;
    text-transform: uppercase;
    font-family: 'Work Sans', sans-serif;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.5px;
    transition: transform 0.3s ease;
    white-space: nowrap;
    width: fit-content;
    align-self: flex-end;
}

.tickets-knop:hover,
.tickets-knop:active,
.tickets-knop:focus {
    background-color: #C81161;
    color: #fff !important;
    transform: scale(1.05);
    text-decoration: none;
}

.uitverkocht-knop {
    display: inline-block;
    padding: 10px 20px;
    background-color: #999;
    color: #fff !important;
    border-radius: 10px;
    text-transform: uppercase;
    font-family: 'Work Sans', sans-serif;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.5px;
    white-space: nowrap;
    cursor: default;
    text-align: center;
}

.uitverkocht-knop:hover {
    transform: none !important;
    background-color: #999 !important;
}

.vs-actie a.bekijk-knop,
.vs-actie a.bekijk-knop:hover,
.vs-actie a.bekijk-knop:focus,
.vs-actie a.bekijk-knop:active {
    background-color: #C81161 !important;
    color: #ffffff !important;
    text-decoration: none !important;
    display: block !important;
    padding: 10px 20px !important;
    border-radius: 10px !important;
    text-transform: uppercase !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    letter-spacing: 0.5px !important;
    text-align: center !important;
    white-space: nowrap !important;
    transition: transform 0.3s ease !important;
    width: fit-content;
    align-self: flex-end;
}

.vs-actie a.bekijk-knop:hover {
    transform: scale(1.05) !important;
}

/* =====================
   FILTER BALK
   ===================== */
.vs-filters {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 28px;
}

.vs-filter-rij1 {
    width: 100%;
}

.vs-filter-rij1 input[type="text"] {
    width: 100%;
    box-sizing: border-box;
    padding: 10px 16px;
    font-size: 1rem;
    border: 2px solid #ddd;
    border-radius: 8px;
    font-family: 'Work Sans', sans-serif;
    outline: none;
    transition: border-color 0.2s;
}

.vs-filter-rij1 input[type="text"]:focus {
    border-color: #C81160;
}

.vs-filter-rij2 {
    display: flex;
    gap: 10px;
}

.vs-filter-blok {
    flex: 1;
    position: relative;
}

.vs-filter-blok input[type="date"] {
    width: 100%;
    box-sizing: border-box;
    padding: 10px 16px;
    font-size: 1rem;
    border: 2px solid #ddd;
    border-radius: 8px;
    font-family: 'Work Sans', sans-serif;
    outline: none;
    cursor: pointer;
    transition: border-color 0.2s;
    color: #333;
}

.vs-filter-blok input[type="date"]:focus {
    border-color: #C81160;
}

/* =====================
   GENRE KNOP & DROPDOWN
   ===================== */
.vs-genre-knop {
    width: 100%;
    padding: 10px 16px;
    font-size: 1rem;
    border: 2px solid #ddd;
    border-radius: 8px;
    font-family: 'Work Sans', sans-serif;
    background: #fff;
    color: #333;
    cursor: pointer;
    text-align: left;
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: border-color 0.2s, background 0.2s, color 0.2s;
    box-sizing: border-box;
}

.vs-genre-knop:hover {
    border-color: #C81160;
    background: #C81160;
    color: #fff;
}

.vs-genre-knop.actief {
    border-color: #C81160;
    color: #C81160;
}

.vs-genre-knop.actief:hover {
    background: #C81160;
    color: #fff;
}

.vs-genre-chevron {
    font-size: 1rem;
    transition: transform 0.2s;
}

.vs-genre-knop.open .vs-genre-chevron {
    transform: rotate(180deg);
}

.vs-genre-dropdown {
    display: none;
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    right: 0;
    background: #fff;
    border: 2px solid #ddd;
    border-radius: 10px;
    padding: 12px;
    z-index: 100;
    box-shadow: 0 8px 24px rgba(0,0,0,0.1);
    flex-wrap: wrap;
    gap: 8px;
}

.vs-genre-dropdown.open {
    display: flex;
}

.vs-genre-optie {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #f7f7f7;
    border: 2px solid #ddd;
    border-radius: 20px;
    padding: 5px 12px;
    font-size: 0.88rem;
    color: #333;
    cursor: pointer;
    transition: border-color 0.2s, background 0.2s;
    user-select: none;
    white-space: nowrap;
    font-family: 'Work Sans', sans-serif;
}

.vs-genre-optie:hover {
    border-color: #C81160;
    color: #C81160;
}

.vs-genre-optie:has(input:checked) {
    border-color: #C81160;
    background: #fdf0f6;
    color: #C81160;
}

.vs-genre-optie input[type="checkbox"] {
    display: none;
}

/* =====================
   GEEN RESULTAAT
   ===================== */
.vs-geen-resultaat {
    padding: 20px;
    text-align: center;
    color: #666;
}

/* =====================
   RESPONSIVE
   ===================== */
@media (max-width: 600px) {
    .vs-kaart {
        flex-wrap: wrap;
    }

    .vs-afbeelding {
        width: 100%;
        min-width: 100%;
        padding: 12px 12px 0 12px;
    }

    .vs-afbeelding-inner {
        height: 200px;
    }

    .vs-actie {
        width: 100%;
        padding-top: 0;
        padding-bottom: 15px;
    }

    .vs-filter-rij2 {
        flex-direction: column;
    }
}

.vs-kaart.verborgen {
    display: none !important;
}

.vs-toon-meer-wrap {
    text-align: center;
    margin-top: 24px;
}

.vs-toon-meer-knop {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #fff;
    border: 2px solid #C81160;
    color: #C81160;
    border-radius: 10px;
    padding: 12px 28px;
    font-family: 'Work Sans', sans-serif;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.2s, color 0.2s;
}

.vs-toon-meer-knop:hover {
    background: #C81160;
    color: #fff;
}/* End custom CSS */