:root {
    --kleur-rood: #e53935;
    --kleur-wit: #ffffff;
    --kleur-lichtrood: #ffcdd2;
    --kleur-lichtrood2: #ffebee;
    --border-radius: 0px;
    --box-shadow: none;
    --arrow-size: 56px;
    --arrow-shadow: none;
    --arrow-hover-shadow: none;
    --max-width: 900px;
    --padding: 40px 0;
    --gap: 20px;
}

.kz-post-doorscroll-swiper-container {
    max-width: var(--max-width);
    margin: 0 auto 40px auto;
    position: relative;
}

.kz-post-doorscroll-swiper-container .swiper {
    width: 100%;
    padding: var(--padding);
    position: relative;
    mask-image: linear-gradient(to right, transparent 0%, black 12%, black 88%, transparent 100%);
    -webkit-mask-image: linear-gradient(to right, transparent 0%, black 12%, black 88%, transparent 100%);
}

.kz-post-doorscroll-swiper-container .swiper-slide {
    display: flex;
    justify-content: center;
    align-items: center;
    transition: transform 0.3s ease;
}

.kz-post-doorscroll-swiper-container .swiper-slide img {
    border-radius: var(--border-radius);
    display: block;
    width: 100%;
    height: auto;
    box-shadow: var(--box-shadow);
    max-width: 100%;
}

/* Pijlen styling (gescoped) */
.kz-post-doorscroll-swiper-container .swiper-button-next,
.kz-post-doorscroll-swiper-container .swiper-button-prev,
.kz-post-doorscroll-swiper-container + .mobile-navigation .swiper-button-next,
.kz-post-doorscroll-swiper-container + .mobile-navigation .swiper-button-prev {
    background: #fff;
    border-radius: 50%;
    width: var(--arrow-size);
    height: var(--arrow-size);
    min-width: var(--arrow-size);
    min-height: var(--arrow-size);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: none;
    color: var(--kleur-rood);
    cursor: pointer;
    z-index: 1000;
    border: none;
    top: 50%;
    transform: translateY(-50%);
    padding: 0;
    opacity: 1;
    filter: none;
    transition: box-shadow 0.2s ease, opacity 0.2s ease;
    mix-blend-mode: normal;
}

/* Forceer display none als het via JavaScript is ingesteld (gescoped) */
.kz-post-doorscroll-swiper-container .swiper-button-next[style*="display: none"],
.kz-post-doorscroll-swiper-container .swiper-button-prev[style*="display: none"],
.kz-post-doorscroll-swiper-container .swiper-button-next.mobile-hidden[style*="display: none"],
.kz-post-doorscroll-swiper-container .swiper-button-prev.mobile-hidden[style*="display: none"],
.kz-post-doorscroll-swiper-container .swiper-button-next.force-hidden,
.kz-post-doorscroll-swiper-container .swiper-button-prev.force-hidden,
.kz-post-doorscroll-swiper-container + .mobile-navigation .swiper-button-next[style*="display: none"],
.kz-post-doorscroll-swiper-container + .mobile-navigation .swiper-button-prev[style*="display: none"],
.kz-post-doorscroll-swiper-container + .mobile-navigation .swiper-button-next.force-hidden,
.kz-post-doorscroll-swiper-container + .mobile-navigation .swiper-button-prev.force-hidden {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.kz-post-doorscroll-swiper-container .swiper-button-next:hover,
.kz-post-doorscroll-swiper-container .swiper-button-prev:hover,
.kz-post-doorscroll-swiper-container + .mobile-navigation .swiper-button-next:hover,
.kz-post-doorscroll-swiper-container + .mobile-navigation .swiper-button-prev:hover {
    box-shadow: var(--arrow-hover-shadow);
    opacity: 0.8;
}

.kz-post-doorscroll-swiper-container .swiper-button-next:after,
.kz-post-doorscroll-swiper-container .swiper-button-prev:after,
.kz-post-doorscroll-swiper-container + .mobile-navigation .swiper-button-next:after,
.kz-post-doorscroll-swiper-container + .mobile-navigation .swiper-button-prev:after {
    content: '';
}

.kz-post-doorscroll-swiper-container .swiper-button-next svg,
.kz-post-doorscroll-swiper-container .swiper-button-prev svg,
.kz-post-doorscroll-swiper-container + .mobile-navigation .swiper-button-next svg,
.kz-post-doorscroll-swiper-container + .mobile-navigation .swiper-button-prev svg {
    width: 22px;
    height: 22px;
    stroke: var(--kleur-rood);
    stroke-width: 4px;
    fill: none;
    display: block;
}

.kz-post-doorscroll-swiper-container .swiper-button-next {
    right: 10px;
}

.kz-post-doorscroll-swiper-container .swiper-button-prev {
    left: 10px;
}

/* Desktop pijlen - verberg op mobiel */
.kz-post-doorscroll-swiper-container .mobile-hidden {
    display: flex;
}

.kz-post-doorscroll-swiper-container + .mobile-navigation .mobile-only {
    display: none;
}

/* Mobiele navigatie container (alleen naast de container) */
.kz-post-doorscroll-swiper-container + .mobile-navigation {
    display: none;
    justify-content: center;
    align-items: center;
    gap: 20px;
    margin-top: 20px;
    padding-bottom: 20px;
}

/* Media query voor kleine schermen - pijlen onder de afbeeldingen */
@media (max-width: 700px) {
    .kz-post-doorscroll-swiper-container {
        max-width: 100vw;
    }
    
    /* Verberg desktop pijlen */
    .kz-post-doorscroll-swiper-container .mobile-hidden {
        display: none;
    }
    
    /* Toon mobiele pijlen */
    .kz-post-doorscroll-swiper-container + .mobile-navigation .mobile-only {
        display: flex;
    }
    
    /* Toon mobiele navigatie */
    .kz-post-doorscroll-swiper-container + .mobile-navigation {
        display: flex;
    }
    
    /* Mobiele pijlen styling */
    .kz-post-doorscroll-swiper-container + .mobile-navigation .swiper-button-next,
    .kz-post-doorscroll-swiper-container + .mobile-navigation .swiper-button-prev {
        position: static;
        top: auto;
        bottom: auto;
        left: auto;
        right: auto;
        transform: none;
        margin: 0;
    }
    
    /* Zorg ervoor dat de hele container inclusief pijlen als één element wordt gezien */
    .kz-post-doorscroll-swiper-container {
        margin-bottom: 20px;
    }
    
    /* Voeg ruimte toe aan de onderkant van de mobiele navigatie */
    .kz-post-doorscroll-swiper-container + .mobile-navigation {
        margin-bottom: 20px;
    }
}

/* Fallback voor oudere browsers die CSS custom properties niet ondersteunen */
@supports not (--custom: property) {
    .kz-post-doorscroll-swiper-container {
        max-width: 900px;
    }
    
    .kz-post-doorscroll-swiper-container .swiper {
        padding: 40px 0;
    }
    
    .kz-post-doorscroll-swiper-container .swiper-button-next,
    .kz-post-doorscroll-swiper-container .swiper-button-prev,
    .kz-post-doorscroll-swiper-container + .mobile-navigation .swiper-button-next,
    .kz-post-doorscroll-swiper-container + .mobile-navigation .swiper-button-prev {
        width: 56px;
        height: 56px;
        min-width: 56px;
        min-height: 56px;
        color: #e53935;
    }
    
    .kz-post-doorscroll-swiper-container .swiper-button-next svg,
    .kz-post-doorscroll-swiper-container .swiper-button-prev svg,
    .kz-post-doorscroll-swiper-container + .mobile-navigation .swiper-button-next svg,
    .kz-post-doorscroll-swiper-container + .mobile-navigation .swiper-button-prev svg {
        stroke: #e53935;
    }
}

/* Verbeterde toegankelijkheid */
.kz-post-doorscroll-swiper-container .swiper-button-next:focus,
.kz-post-doorscroll-swiper-container .swiper-button-prev:focus,
.kz-post-doorscroll-swiper-container + .mobile-navigation .swiper-button-next:focus,
.kz-post-doorscroll-swiper-container + .mobile-navigation .swiper-button-prev:focus {
    outline: 2px solid var(--kleur-rood);
    outline-offset: 2px;
}

/* KZ Knoppen */
.KZ-KNOP-ROOD,
.KZ-KNOP-WIT {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 20px;
    font-family: 'Roboto Condensed', sans-serif;
    font-weight: 800;
    font-size: 20px;
    line-height: 1.2;
    max-width: 100%;
    box-sizing: border-box;
    text-decoration: none;
    text-transform: uppercase;
    cursor: pointer;
    user-select: none;
    transition: all 0.2s ease-in-out;
    border: none;
}

.KZ-KNOP-ROOD {
    background-color: var(--kleur-rood);
    color: var(--kleur-wit);
}

.KZ-KNOP-WIT {
    background-color: var(--kleur-wit);
    color: var(--kleur-rood);
}

.KZ-KNOP-ROOD:hover,
.KZ-KNOP-WIT:hover {
    transform: scale(1.03);
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
}

/* Print styles */
@media print {
    .kz-post-doorscroll-swiper-container .swiper-button-next,
    .kz-post-doorscroll-swiper-container .swiper-button-prev,
    .kz-post-doorscroll-swiper-container + .mobile-navigation,
    .kz-button-wrapper {
        display: none !important;
    }
    
    .kz-post-doorscroll-swiper-container .swiper {
        mask-image: none;
        -webkit-mask-image: none;
    }
}

/* ===================================
   KZ-Event Home
   Dit is voor het lijstje met evenementen op de home-page.
   =================================== */
.KZ-EVENTHOME-BLOK {
    background-color: var(--kleur-rood);
    display: flex;
    align-items: center;
    padding: 10px 20px;
    color: var(--kleur-wit);
    max-width: 100%;
    box-sizing: border-box;
    text-decoration: none;
}

.KZ-EVENTHOME-BLOK:hover {
    transform: scale(1.03);
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
}

.KZ-EVENTHOME-DATUM {
    background-color: var(--kleur-wit);
    color: var(--kleur-rood);
    font-family: 'Roboto Condensed', sans-serif;
    font-weight: 800;
    font-size: 15px;
    text-align: center;
    padding: 10px;
    min-width: auto;
    min-height: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
}

.KZ-EVENTHOME-TITEL {
    font-family: 'Roboto Condensed', sans-serif;
    font-weight: 800;
    font-size: 20px;
    margin-left: 30px;
    line-height: 1.2;
}

.KZ-EVENTHOME--licht {
    background-color: var(--kleur-lichtrood);
    color: var(--kleur-rood);
}

.KZ-EVENTHOME--licht .KZ-EVENTHOME-DATUM {
    background-color: var(--kleur-lichtrood2);
    color: var(--kleur-rood);
}

/* ===================================
   KZ-Header Link
   Dit is voor header links zoals "NIEUWS", "CONTACT", etc.
   =================================== */
.KZ-HEADER-LINK {
    text-align: center;
    font-family: 'Roboto Condensed', sans-serif;
    font-size: 48px;
    font-weight: 800;
    text-transform: uppercase;
    margin: 20px auto;
}

.KZ-HEADER-LINK a {
    text-decoration: none;
    transition: transform 0.3s ease;
    display: inline-block;
}

.KZ-HEADER-LINK:hover a {
    transform: scale(1.05);
}

/* Kleurvarianten */
.KZ-HEADER-LINK.rood a {
    color: var(--kleur-rood);
}

.KZ-HEADER-LINK.wit a {
    color: var(--kleur-wit);
}

/* Responsive styling */
@media (max-width: 768px) {
    .KZ-HEADER-LINK {
        font-size: 36px;
    }
}

@media (max-width: 480px) {
    .KZ-HEADER-LINK {
        font-size: 28px;
    }
}

/* ===================================
   KZ-Hover Afbeelding
   Dit is voor afbeeldingen met een hover-effect.
   =================================== */
.KZ-HOVERAFBEELDING {
    display: inline-block;
    overflow: hidden;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

.KZ-HOVERAFBEELDING img {
    transition: transform 0.3s ease;
    display: block;
    width: 100%;
    height: auto;
}

.KZ-HOVERAFBEELDING:hover img {
    transform: scale(1.05);
}

.KZ-HOVERAFBEELDING a {
    display: block;
    text-decoration: none;
}

/* Responsive styling */
@media (max-width: 768px) {
    .KZ-HOVERAFBEELDING {
        max-width: 100%;
    }
}

/* ===================================
   KZ-Tab Widget
   Dit is voor tab widgets zoals uitslagen.
   =================================== */
.uitslagen-widget {
    font-family: 'Roboto Condensed', sans-serif;
    background: white;
    color: var(--kleur-rood);
    padding: 20px;
}

.uitslagen-widget .tabs {
    display: flex;
    gap: 10px;
    margin-bottom: 30px;
}

.uitslagen-widget .subtabs {
    display: flex;
    gap: 10px;
    margin-bottom: 0;
}

.uitslagen-widget .tabs button {
    background: white;
    color: var(--kleur-rood);
    border: 2px solid var(--kleur-rood);
    padding: 10px 20px;
    font-weight: bold;
    cursor: pointer;
    border-radius: 20px;
}

.uitslagen-widget .tabs button.active {
    background: var(--kleur-rood);
    color: white;
}

.uitslagen-widget .subtabs button {
    background: white;
    color: var(--kleur-rood);
    border: 2px solid transparent;
    padding: 10px 20px;
    font-weight: bold;
    cursor: pointer;
    border-radius: 8px 8px 0 0;
}

.uitslagen-widget .subtabs button.active {
    background: var(--kleur-rood);
    color: white;
    border: 2px solid var(--kleur-rood);
    border-bottom: none;
    position: relative;
    z-index: 2;
}

.uitslagen-widget .content {
    background: var(--kleur-rood);
    color: white;
    padding: 20px;
    border: 2px solid var(--kleur-rood);
    border-top: none;
    border-radius: 0 0 8px 8px;
    position: relative;
    z-index: 1;
}

.uitslagen-widget .row {
    display: flex;
    justify-content: space-between;
    padding: 5px 0;
}

.uitslagen-widget .row:first-child {
    font-weight: bold;
    font-size: 1.3em;
}

/* Responsive styling voor tab widget */
@media (max-width: 768px) {
    .uitslagen-widget .tabs,
    .uitslagen-widget .subtabs {
        flex-wrap: wrap;
        gap: 5px;
    }
    
    .uitslagen-widget .tabs button,
    .uitslagen-widget .subtabs button {
        padding: 8px 15px;
        font-size: 14px;
    }
    
    .uitslagen-widget .content {
        padding: 15px;
    }
    
    .uitslagen-widget .row {
        flex-direction: column;
        gap: 5px;
    }
}
