@charset "utf-8";
/* CSS Document */
/* =========================================================
   THE SHROUD CODES - INDEX.HTML
   Geconsolideerde inline CSS
   Responsief + vaste navigatie-opzet + hero + Vimeo + footer
   ========================================================= */


/* =========================================================
   1. GLOBALE RESPONSIVE BASIS
   ========================================================= */

html,
body {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow-x: hidden !important;
    box-sizing: border-box !important;
}

*,
*::before,
*::after {
    box-sizing: border-box !important;
}

body {
    min-width: 0 !important;
    line-height: 1.6;
}

img,
iframe,
video {
    max-width: 100% !important;
}

img {
    height: auto !important;
    display: block;
}


/* =========================================================
   2. DESKTOP NAVIGATIE - LOGO LINKS / MENU HORIZONTAAL
   ========================================================= */

body > .logo {
    position: absolute !important;
    top: 12px !important;
    left: clamp(30px, 4.5vw, 70px) !important;
    width: 46px !important;
    height: 46px !important;
    max-width: 46px !important;
    max-height: 46px !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 0 !important;
    background: transparent !important;
    overflow: visible !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    z-index: 999999 !important;
}

body > .logo a,
body > .logo a.hslogo {
    display: block !important;
    width: 46px !important;
    height: 46px !important;
    max-width: 46px !important;
    max-height: 46px !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    line-height: 0 !important;
}

body > .logo img,
body > .logo img.hslogo {
    display: block !important;
    width: 46px !important;
    height: 46px !important;
    max-width: 46px !important;
    max-height: 46px !important;
    margin: 0 !important;
    padding: 0 !important;
    object-fit: contain !important;
    background: transparent !important;
    visibility: visible !important;
    opacity: 1 !important;
}

nav,
#nav {
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 74px !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #000a1f !important;
    overflow: visible !important;
    z-index: 9999 !important;
}

.topnav {
    width: 100% !important;
    max-width: 1280px !important;
    min-height: 74px !important;
    margin: 0 auto !important;
    padding: 0 34px 0 122px !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: clamp(14px, 1.7vw, 24px) !important;
    background: transparent !important;
    overflow: visible !important;
}

.topnav a {
    display: inline-flex !important;
    align-items: center !important;
    width: auto !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    background: transparent !important;
    font-size: clamp(15px, 1.35vw, 18px) !important;
    line-height: 1.2 !important;
    text-align: left !important;
    text-decoration: none !important;
    white-space: nowrap !important;
}

.topnav a:hover {
    color: #d6b36a !important;
    -webkit-text-fill-color: #d6b36a !important;
    background: transparent !important;
}


/* =========================================================
   3. DESKTOP TAALMENU
   ========================================================= */

.dropdown {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    width: auto !important;
    max-width: none !important;
    float: none !important;
    margin-left: auto !important;
    padding: 0 !important;
    overflow: visible !important;
}

.dropbtn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-width: 310px !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 16px 21px !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    background: transparent !important;
    border: 1px solid #b98558 !important;
    border-radius: 0 !important;
    font-size: clamp(18px, 1.6vw, 22px) !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    text-align: center !important;
    white-space: nowrap !important;
    cursor: pointer !important;
}

/* Hover taalknop: leesbare donkere tekst */
.dropdown:hover .dropbtn,
.dropbtn:hover {
    background: #c0934b !important;
    color: #00112d !important;
    -webkit-text-fill-color: #00112d !important;
    border-color: #c0934b !important;
}

/* Uitklapmenu gecentreerd onder de taalknop */
.dropdown-content {
    display: none !important;
    position: absolute !important;
    top: 100% !important;
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
    width: 260px !important;
    min-width: 260px !important;
    max-width: 90vw !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #000a1f !important;
    border: 1px solid #b98558 !important;
    box-shadow: 0 8px 18px rgba(0,0,0,0.35) !important;
    z-index: 999999 !important;
    overflow: visible !important;
}

.dropdown:hover .dropdown-content {
    display: block !important;
}

.dropdown-content a {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 14px 20px !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    background: #000a1f !important;
    font-size: 17px !important;
    line-height: 1.3 !important;
    text-align: left !important;
    text-decoration: none !important;
    white-space: nowrap !important;
}

.dropdown-content a:hover {
    background: #c0934b !important;
    color: #00112d !important;
    -webkit-text-fill-color: #00112d !important;
}

/* Hamburger standaard verbergen op desktop */
.topnav .icon {
    display: none !important;
}


/* =========================================================
   4. HERO IMAGE + TITELBLOK HOMEPAGE
   ========================================================= */

.containfullwidth {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
    overflow-x: hidden !important;
}

.full-width-image,
.shroud-hero {
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
    overflow: hidden !important;
    line-height: 0 !important;
}

.shroud-hero img,
.full-width-image img,
img.holychurch {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    object-fit: cover !important;
}

.shroud-hero h5 {
    position: absolute !important;
    left: 50% !important;
    bottom: 8% !important;
    transform: translateX(-50%) !important;
    width: 94% !important;
    margin: 0 !important;
    padding: 0 12px !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    text-align: center !important;
    text-shadow: 2px 2px 8px rgba(0, 0, 0, 0.9) !important;
    z-index: 2 !important;
    font-size: clamp(18px, 5vw, 90px) !important;
    line-height: 1.15 !important;
    white-space: nowrap !important;
}

.page-container.shroud-introduction,
.shroud-introduction {
    width: 100% !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 0 18px !important;
    text-align: center !important;
    overflow-x: hidden !important;
}

.shroud-introduction h1 {
    font-size: clamp(32px, 6vw, 100px) !important;
    line-height: 1.05 !important;
    margin: 16px 0 8px !important;
    padding: 0 12px !important;
    letter-spacing: 0.06em !important;
    color: #C59977 !important;
    -webkit-text-fill-color: #C59977 !important;
    text-align: center !important;
    overflow-wrap: break-word !important;
    text-shadow:
        1px 1px 0 #777777,
        2px 2px 0 #555555,
        3px 3px 0 #333333,
        5px 6px 10px rgba(0, 0, 0, 0.75) !important;
}

.shroud-introduction h2 {
    font-size: clamp(17px, 2.4vw, 34px) !important;
    line-height: 1.25 !important;
    margin: 0 0 16px !important;
    padding: 0 12px !important;
    text-align: center !important;
    overflow-wrap: break-word !important;
}


/* =========================================================
   5. VIMEO TRAILER FULL WIDTH
   ========================================================= */

.promo-highlight {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
    overflow-x: hidden !important;
}

.promo-video {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
    overflow: visible !important;
}

.booktrailer {
    position: relative !important;
    width: 100% !important;
    max-width: 1200px !important;
    margin: 18px auto 0 !important;
    padding-top: 56.25% !important;
    overflow: hidden !important;
    background-color: #000000 !important;
}

.booktrailer iframe {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    border: 0 !important;
}

.vimeo-fullwidth {
    position: relative !important;
    width: 100vw !important;
    max-width: 100vw !important;
    min-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 56.25% !important;
    overflow: hidden !important;
    background: #000000 !important;
}

.vimeo-fullwidth iframe {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    border: 0 !important;
}

.promo-cta {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 24px 16px 10px !important;
    text-align: center !important;
}


/* =========================================================
   6. KNOPPEN / BANNERS / HORIZONTALE LIJNEN
   ========================================================= */

.cta-button-gold,
.excloffer3,
.responsive-banner {
    display: inline-block !important;
    max-width: calc(100vw - 36px) !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
    text-align: center !important;
}

.hrline,
hr.hrline,
hr {
    width: min(1100px, calc(100% - 36px)) !important;
    max-width: calc(100% - 36px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
}


/* =========================================================
   7. MEDIA LOGO-CAROUSEL
   ========================================================= */

.logo-carousel {
    width: 100% !important;
    max-width: 100% !important;
    margin: 20px auto !important;
    padding: 0 !important;
    overflow: hidden !important;
}

.logo-track {
    display: flex !important;
    align-items: center !important;
    gap: 24px !important;
    width: max-content !important;
    max-width: none !important;
}

.logo-track a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 auto !important;
}

.logo-track img {
    width: auto !important;
    max-width: 180px !important;
    max-height: 70px !important;
    height: auto !important;
    object-fit: contain !important;
}


/* =========================================================
   8. BOEKSECTIES / TEKSTCONTAINER
   ========================================================= */

.text-container {
    width: min(100%, 1200px) !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
    overflow-x: hidden !important;
}

.text-container p,
.text-right p {
    max-width: 100% !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
}

.text-right {
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-x: hidden !important;
}

.center-image,
.center-image2,
img.center-image,
img.center-image2,
img.media {
    max-width: 100% !important;
    height: auto !important;
}

h4.pope,
.pope {
    max-width: 100% !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
    overflow-wrap: break-word !important;
    text-align: center !important;
}

h5.stc,
h5.tmcil,
.text-container h5 {
    max-width: 100% !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
    overflow-wrap: break-word !important;
}


/* =========================================================
   9. FOOTER + SOCIAL ICONS
   ========================================================= */

footer,
footer.text-center,
.text-center {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
}

footer .container {
    width: 100% !important;
    max-width: 1100px !important;
    margin: 0 auto !important;
    padding: 25px 18px !important;
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 25px !important;
}

.footer-column {
    flex: 1 1 240px !important;
    max-width: 330px !important;
    min-width: 0 !important;
}

.footer-menu {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.footer-menu li,
.footer-menu p {
    margin: 8px 0 !important;
    padding: 0 !important;
    text-align: center !important;
}

.footer-menu a {
    overflow-wrap: break-word !important;
}

.copyright {
    font-size: 14px !important;
    text-align: center !important;
}

.social-icons {
    width: 100% !important;
    max-width: 100% !important;
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 16px !important;
    padding: 20px 10px 35px 10px !important;
    overflow-x: hidden !important;
}

.social-icons img {
    width: 36px !important;
    max-width: 36px !important;
    height: auto !important;
}


/* =========================================================
   10. HAMBURGERSTAND
   Index heeft extra menu-item, daarom eerder omschakelen
   ========================================================= */

@media screen and (max-width: 1100px) {

    body > .logo {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
        width: 0 !important;
        height: 0 !important;
        max-width: 0 !important;
        max-height: 0 !important;
        overflow: hidden !important;
    }

    nav,
    #nav {
        min-height: 72px !important;
        height: auto !important;
        background: #000a1f !important;
        overflow: visible !important;
    }

    .topnav {
        position: relative !important;
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-height: 72px !important;
        margin: 0 !important;
        padding: 0 !important;
        background: #000a1f !important;
        overflow: visible !important;
    }

    .topnav a,
    .topnav .dropdown,
    .topnav .dropbtn {
        display: none !important;
    }

    /* Hamburger centraal boven het uitklapmenu */
    .topnav a.icon {
        display: block !important;
        position: absolute !important;
        top: 15px !important;
        left: 50% !important;
        right: auto !important;
        transform: translateX(-50%) !important;
        width: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        color: #ffffff !important;
        -webkit-text-fill-color: #ffffff !important;
        background: transparent !important;
        border: none !important;
        font-size: 34px !important;
        line-height: 1 !important;
        text-align: center !important;
        text-decoration: none !important;
        z-index: 999999 !important;
    }

    .topnav a.icon:hover {
        color: #d6b36a !important;
        -webkit-text-fill-color: #d6b36a !important;
        background: transparent !important;
    }

    /* Opengeklapt hamburgermenu */
    .topnav.responsive {
        padding-top: 72px !important;
        background: #000a1f !important;
    }

    .topnav.responsive a {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 15px 20px !important;
        color: #ffffff !important;
        -webkit-text-fill-color: #ffffff !important;
        background: #000a1f !important;
        border-top: 1px solid rgba(255,255,255,0.12) !important;
        font-size: 18px !important;
        line-height: 1.3 !important;
        text-align: center !important;
        text-decoration: none !important;
        white-space: normal !important;
    }

    .topnav.responsive a:hover {
        background: #c0934b !important;
        color: #00112d !important;
        -webkit-text-fill-color: #00112d !important;
    }

    .topnav.responsive a.icon {
        display: block !important;
        position: absolute !important;
        top: 15px !important;
        left: 50% !important;
        right: auto !important;
        transform: translateX(-50%) !important;
        width: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        color: #ffffff !important;
        -webkit-text-fill-color: #ffffff !important;
        background: transparent !important;
        border: none !important;
        font-size: 34px !important;
        line-height: 1 !important;
        z-index: 999999 !important;
    }

    .topnav.responsive a.icon:hover {
        color: #d6b36a !important;
        -webkit-text-fill-color: #d6b36a !important;
        background: transparent !important;
    }

    .topnav.responsive .dropdown {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        position: relative !important;
        overflow: visible !important;
    }

    .topnav.responsive .dropbtn {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 15px 20px !important;
        color: #ffffff !important;
        -webkit-text-fill-color: #ffffff !important;
        background: #000a1f !important;
        border: none !important;
        border-top: 1px solid rgba(255,255,255,0.12) !important;
        font-size: 18px !important;
        font-weight: 700 !important;
        line-height: 1.3 !important;
        text-align: center !important;
        white-space: normal !important;
    }

    .topnav.responsive .dropbtn:hover {
        background: #c0934b !important;
        color: #00112d !important;
        -webkit-text-fill-color: #00112d !important;
    }

    .topnav.responsive .dropdown-content {
        display: block !important;
        position: relative !important;
        top: auto !important;
        left: auto !important;
        right: auto !important;
        transform: none !important;
        width: 100% !important;
        min-width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        background: #000a1f !important;
        border: none !important;
        box-shadow: none !important;
        overflow: visible !important;
    }

    .topnav.responsive .dropdown-content a {
        display: block !important;
        width: 100% !important;
        padding: 13px 20px !important;
        color: #ffffff !important;
        -webkit-text-fill-color: #ffffff !important;
        background: #071733 !important;
        text-align: center !important;
        font-size: 17px !important;
        line-height: 1.3 !important;
        border-top: 1px solid rgba(255,255,255,0.08) !important;
        white-space: normal !important;
    }

    .topnav.responsive .dropdown-content a:hover {
        background: #c0934b !important;
        color: #00112d !important;
        -webkit-text-fill-color: #00112d !important;
    }
}


/* =========================================================
   11. TABLET / MOBIEL FIJNSLIJPEN
   ========================================================= */

@media screen and (max-width: 768px) {

    .shroud-hero h5 {
        white-space: normal !important;
        width: 94% !important;
        font-size: clamp(24px, 8vw, 54px) !important;
    }

    .shroud-introduction h1 {
        font-size: clamp(30px, 11vw, 70px) !important;
        letter-spacing: 0.04em !important;
    }

    .shroud-introduction h2 {
        font-size: clamp(18px, 5vw, 28px) !important;
    }

    .text-container {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }

    .center-image,
    .center-image2,
    img.center-image,
    img.center-image2,
    img.media {
        float: none !important;
        clear: both !important;
        display: block !important;
        width: min(100%, 320px) !important;
        max-width: 320px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        margin-bottom: 22px !important;
    }

    .text-right {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        text-align: left !important;
    }

    h4.pope,
    .pope {
        white-space: normal !important;
        width: 100% !important;
        font-size: clamp(19px, 5vw, 28px) !important;
    }

    .logo-track {
        gap: 18px !important;
    }

    .logo-track img {
        max-width: 140px !important;
        max-height: 56px !important;
    }

    footer .container {
        display: block !important;
        padding-left: 18px !important;
        padding-right: 18px !important;
    }

    .footer-column {
        max-width: 100% !important;
        margin-bottom: 20px !important;
    }
}


@media screen and (max-width: 480px) {

    .topnav a.icon,
    .topnav.responsive a.icon {
        font-size: 32px !important;
        top: 16px !important;
    }

    .shroud-hero h5 {
        bottom: 7% !important;
        font-size: clamp(22px, 8vw, 42px) !important;
        line-height: 1.15 !important;
    }

    .shroud-introduction h1 {
        font-size: clamp(32px, 12vw, 54px) !important;
        letter-spacing: 0.025em !important;
        text-shadow:
            1px 1px 0 #555555,
            2px 2px 0 #333333,
            4px 5px 8px rgba(0, 0, 0, 0.7) !important;
    }

    .shroud-introduction h2 {
        font-size: clamp(17px, 5.4vw, 24px) !important;
    }

    .center-image,
    .center-image2,
    img.center-image,
    img.center-image2,
    img.media {
        width: min(100%, 285px) !important;
        max-width: 285px !important;
    }

    .logo-track img {
        max-width: 120px !important;
        max-height: 48px !important;
    }

    .social-icons img {
        width: 34px !important;
        max-width: 34px !important;
    }
}
/* =========================================================
   FIX: MEDIA LOGO-CAROUSEL BLIJFT ZICHTBAAR OP KLEIN SCHERM
   Voorkomt witte overgang / verdwijnende scrollbalk
   ========================================================= */

.logo-carousel,
.logo-track,
.text-container {
    background: transparent!important;
}

.logo-carousel {
    display: block !important;
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 95px !important;
    margin: 20px auto !important;
    padding: 12px 0 !important;
    overflow: hidden !important;
    background-color: transparent !important;
}

.logo-track {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    width: max-content !important;
    min-width: max-content !important;
    max-width: none !important;
    gap: 24px !important;
    background-color: transparent !important;
}

.logo-track a {
    display: inline-flex !important;
    flex: 0 0 auto !important;
    align-items: center !important;
    justify-content: center !important;
    background: transparent !important;
}

.logo-track img {
    display: block !important;
    width: auto !important;
    max-width: 180px !important;
    max-height: 70px !important;
    height: auto !important;
    object-fit: contain !important;
    background: transparent !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* Mobiel: iets compacter, maar niet laten verdwijnen */
@media screen and (max-width: 768px) {
    .logo-carousel {
        min-height: 80px !important;
        padding: 10px 0 !important;
        background-color: transparent !important;
    }

    .logo-track {
        display: flex !important;
        flex-wrap: nowrap !important;
        width: max-content !important;
        min-width: max-content !important;
        gap: 18px !important;
    }

    .logo-track img {
        max-width: 140px !important;
        max-height: 56px !important;
    }
}

@media screen and (max-width: 480px) {
    .logo-carousel {
        min-height: 72px !important;
    }

    .logo-track img {
        max-width: 120px !important;
        max-height: 48px !important;
    }
}
/* =========================================================
   DEFINITIEVE FIX: LOGO-CAROUSEL ZICHTBAAR OP MOBIEL
   + DONKERE ACHTERGROND
   ========================================================= */

.logo-carousel {
    display: block !important;
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 105px !important;
    margin: 22px auto !important;
    padding: 16px 0 !important;
    overflow: hidden !important;
    background: #000a1f !important;
    border-top: 1px solid rgba(201, 153, 119, 0.35) !important;
    border-bottom: 1px solid rgba(201, 153, 119, 0.35) !important;
}

.logo-track {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 28px !important;
    width: max-content !important;
    min-width: max-content !important;
    max-width: none !important;
    background: transparent !important;
    animation: logoScrollIndex 55s linear infinite !important;
    will-change: transform !important;
}

.logo-track a {
    display: inline-flex !important;
    flex: 0 0 auto !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 130px !important;
    background: transparent !important;
}

.logo-track img {
    display: block !important;
    width: auto !important;
    max-width: 180px !important;
    max-height: 70px !important;
    height: auto !important;
    object-fit: contain !important;
    opacity: 1 !important;
    visibility: visible !important;
    background: transparent !important;
}

/* Eigen animatie, zodat externe CSS de carousel niet kan laten verdwijnen */
@keyframes logoScrollIndex {
    from {
        transform: translateX(0);
    }
    to {
        transform: translateX(-50%);
    }
}

/* Kritieke zone rond 665px: expliciet zichtbaar houden */
@media screen and (max-width: 700px) {
    .logo-carousel {
        display: block !important;
        min-height: 92px !important;
        padding: 14px 0 !important;
        margin: 20px auto !important;
        background: #000a1f !important;
        overflow: hidden !important;
    }

    .logo-track {
        display: flex !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        gap: 22px !important;
        width: max-content !important;
        min-width: max-content !important;
        max-width: none !important;
        animation: logoScrollIndex 48s linear infinite !important;
    }

    .logo-track a {
        display: inline-flex !important;
        flex: 0 0 auto !important;
        min-width: 115px !important;
    }

    .logo-track img {
        display: block !important;
        width: auto !important;
        max-width: 135px !important;
        max-height: 54px !important;
        height: auto !important;
        opacity: 1 !important;
        visibility: visible !important;
    }
}

@media screen and (max-width: 480px) {
    .logo-carousel {
        min-height: 82px !important;
        padding: 12px 0 !important;
        background: #000a1f !important;
    }

    .logo-track {
        gap: 18px !important;
        animation-duration: 44s !important;
    }

    .logo-track a {
        min-width: 100px !important;
    }

    .logo-track img {
        max-width: 118px !important;
        max-height: 46px !important;
    }
}
			/* =========================================================
   HARD FIX: LOGO-CAROUSEL VERDWIJNT ONDER 665PX
   + LICHTE ACHTERGROND VOOR BETERE LOGO-ZICHTBAARHEID
   ========================================================= */

/* Algemene zichtbare carousel-band */
.logo-carousel {
    display: block !important;
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 112px !important;
    margin: 22px auto !important;
    padding: 18px 0 !important;
    overflow: hidden !important;

    /* lichte achtergrond, beter voor donkere perslogo's */
    background: #f3eadb !important;
    border-top: 2px solid #c59977 !important;
    border-bottom: 2px solid #c59977 !important;
}

.logo-track {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 30px !important;
    width: max-content !important;
    min-width: max-content !important;
    max-width: none !important;
    height: auto !important;
    min-height: 76px !important;
    opacity: 1 !important;
    visibility: visible !important;
    overflow: visible !important;
    background: transparent !important;
    animation: logoScrollIndexFixed 58s linear infinite !important;
    transform: translate3d(0, 0, 0);
    will-change: transform !important;
}

.logo-track a {
    display: inline-flex !important;
    flex: 0 0 auto !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 140px !important;
    height: 74px !important;
    opacity: 1 !important;
    visibility: visible !important;
    overflow: visible !important;
    background: transparent !important;
}

.logo-track img {
    display: block !important;
    width: auto !important;
    min-width: 70px !important;
    max-width: 180px !important;
    height: auto !important;
    max-height: 66px !important;
    object-fit: contain !important;
    opacity: 1 !important;
    visibility: visible !important;
    background: transparent !important;
    filter: none !important;
}

/* Betrouwbare scrollanimatie */
@keyframes logoScrollIndexFixed {
    0% {
        transform: translate3d(0, 0, 0);
    }
    100% {
        transform: translate3d(-50%, 0, 0);
    }
}


/* =========================================================
   KRITIEKE BREEDTE: 665PX EN LAGER
   Hier verdwijnen de logo's nu; daarom extra hard overrulen
   ========================================================= */

@media screen and (max-width: 665px) {

    .logo-carousel {
        display: block !important;
        position: relative !important;
        width: 100% !important;
        max-width: 100% !important;
        min-height: 96px !important;
        height: auto !important;
        margin: 20px auto !important;
        padding: 14px 0 !important;
        overflow: hidden !important;
        background: #f3eadb !important;
        border-top: 2px solid #c59977 !important;
        border-bottom: 2px solid #c59977 !important;
        opacity: 1 !important;
        visibility: visible !important;
    }

    .logo-track {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        gap: 22px !important;
        width: max-content !important;
        min-width: max-content !important;
        max-width: none !important;
        min-height: 64px !important;
        height: auto !important;
        opacity: 1 !important;
        visibility: visible !important;
        overflow: visible !important;
        background: transparent !important;
        animation: logoScrollIndexFixed 46s linear infinite !important;
        transform: translate3d(0, 0, 0);
        will-change: transform !important;
    }

    .logo-track a {
        display: inline-flex !important;
        flex: 0 0 auto !important;
        align-items: center !important;
        justify-content: center !important;
        min-width: 112px !important;
        width: auto !important;
        height: 62px !important;
        opacity: 1 !important;
        visibility: visible !important;
        overflow: visible !important;
        background: transparent !important;
    }

    .logo-track img {
        display: block !important;
        width: auto !important;
        min-width: 60px !important;
        max-width: 128px !important;
        height: auto !important;
        max-height: 52px !important;
        object-fit: contain !important;
        opacity: 1 !important;
        visibility: visible !important;
        background: transparent !important;
        filter: none !important;
    }
}


/* Extra kleine schermen */
@media screen and (max-width: 480px) {

    .logo-carousel {
        min-height: 86px !important;
        padding: 12px 0 !important;
        background: #f3eadb !important;
    }

    .logo-track {
        gap: 18px !important;
        min-height: 58px !important;
        animation-duration: 42s !important;
    }

    .logo-track a {
        min-width: 98px !important;
        height: 56px !important;
    }

    .logo-track img {
        max-width: 112px !important;
        max-height: 46px !important;
    }
}
/* =========================================================
   FINAL HARD FIX: LOGO-CAROUSEL ONDER 700PX
   Voorkomt verdwijnen rond 670px
   Achtergrond aangepast voor betere logo-zichtbaarheid
   ========================================================= */

body .logo-carousel {
    display: block !important;
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 118px !important;
    height: auto !important;
    margin: 22px auto !important;
    padding: 18px 0 !important;
    overflow: hidden !important;
    background: #f5ead8 !important;
    border-top: 2px solid #c59977 !important;
    border-bottom: 2px solid #c59977 !important;
    opacity: 1 !important;
    visibility: visible !important;
}

body .logo-carousel .logo-track {
    display: flex !important;
    position: relative !important;
    left: 0 !important;
    top: 0 !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 30px !important;
    width: max-content !important;
    min-width: max-content !important;
    max-width: none !important;
    min-height: 78px !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
    overflow: visible !important;
    background: transparent !important;
    animation: logoCarouselVisibleFinal 56s linear infinite !important;
    will-change: transform !important;
}

body .logo-carousel .logo-track a {
    display: inline-flex !important;
    position: relative !important;
    flex: 0 0 auto !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-width: 145px !important;
    max-width: none !important;
    height: 76px !important;
    margin: 0 !important;
    padding: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
    overflow: visible !important;
    background: transparent !important;
}

body .logo-carousel .logo-track a img {
    display: block !important;
    position: relative !important;
    width: auto !important;
    min-width: 70px !important;
    max-width: 180px !important;
    height: auto !important;
    max-height: 68px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    object-fit: contain !important;
    opacity: 1 !important;
    visibility: visible !important;
    background: transparent !important;
    filter: none !important;
}

@keyframes logoCarouselVisibleFinal {
    0% {
        transform: translate3d(0, 0, 0);
    }
    100% {
        transform: translate3d(-50%, 0, 0);
    }
}


/* =========================================================
   KRITIEKE MOBIELE ZONE: 700PX EN LAGER
   Hier verdween de carousel rond 670px
   ========================================================= */

@media screen and (max-width: 700px) {

    body .logo-carousel {
        display: block !important;
        min-height: 104px !important;
        height: auto !important;
        margin: 20px auto !important;
        padding: 16px 0 !important;
        overflow: hidden !important;
        background: #f5ead8 !important;
        border-top: 2px solid #c59977 !important;
        border-bottom: 2px solid #c59977 !important;
        opacity: 1 !important;
        visibility: visible !important;
    }

    body .logo-carousel .logo-track {
        display: flex !important;
        position: relative !important;
        left: 0 !important;
        top: 0 !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        gap: 24px !important;
        width: max-content !important;
        min-width: max-content !important;
        max-width: none !important;
        min-height: 70px !important;
        height: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        opacity: 1 !important;
        visibility: visible !important;
        overflow: visible !important;
        background: transparent !important;
        animation: logoCarouselVisibleFinal 44s linear infinite !important;
        will-change: transform !important;
    }

    body .logo-carousel .logo-track a {
        display: inline-flex !important;
        position: relative !important;
        flex: 0 0 auto !important;
        align-items: center !important;
        justify-content: center !important;
        width: auto !important;
        min-width: 122px !important;
        max-width: none !important;
        height: 66px !important;
        margin: 0 !important;
        padding: 0 !important;
        opacity: 1 !important;
        visibility: visible !important;
        overflow: visible !important;
        background: transparent !important;
    }

    body .logo-carousel .logo-track a img {
        display: block !important;
        position: relative !important;
        width: auto !important;
        min-width: 62px !important;
        max-width: 134px !important;
        height: auto !important;
        max-height: 56px !important;
        margin: 0 auto !important;
        padding: 0 !important;
        object-fit: contain !important;
        opacity: 1 !important;
        visibility: visible !important;
        background: transparent !important;
        filter: none !important;
    }
}


/* Nog compacter voor telefoon */
@media screen and (max-width: 480px) {

    body .logo-carousel {
        min-height: 92px !important;
        padding: 13px 0 !important;
        background: #f5ead8 !important;
    }

    body .logo-carousel .logo-track {
        gap: 20px !important;
        min-height: 62px !important;
        animation-duration: 40s !important;
    }

    body .logo-carousel .logo-track a {
        min-width: 104px !important;
        height: 58px !important;
    }

    body .logo-carousel .logo-track a img {
        min-width: 54px !important;
        max-width: 114px !important;
        max-height: 48px !important;
    }
}
			/* =========================================================
   HARD RESET FOOTER ONDER 600PX
   Voorkomt dat footer-menu's in elkaar schuiven
   ========================================================= */

@media screen and (max-width: 600px) {

    body footer,
    body footer.text-center,
    body .text-center {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 auto !important;
        padding: 32px 0 20px 0 !important;
        overflow: visible !important;
        background: #000a1f !important;
        text-align: center !important;
        clear: both !important;
    }

    body footer .container {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 auto !important;
        padding: 0 22px !important;
        overflow: visible !important;
        clear: both !important;
    }

    body footer .footer-column {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 auto 30px auto !important;
        padding: 0 !important;
        float: none !important;
        clear: both !important;
        overflow: visible !important;
        text-align: center !important;
    }

    body footer .footer-menu {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 auto !important;
        padding: 0 !important;
        list-style: none !important;
        overflow: visible !important;
        text-align: center !important;
    }

    body footer .footer-menu li {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-height: 28px !important;
        margin: 0 0 10px 0 !important;
        padding: 0 !important;
        float: none !important;
        clear: both !important;
        line-height: 1.45 !important;
        text-align: center !important;
        overflow: visible !important;
    }

    body footer .footer-menu li a,
    body footer .footer-menu a,
    body footer a.li {
        display: inline-block !important;
        width: auto !important;
        max-width: 100% !important;
        margin: 0 auto !important;
        padding: 2px 0 !important;
        float: none !important;
        clear: both !important;
        color: #ffffff !important;
        -webkit-text-fill-color: #ffffff !important;
        background: transparent !important;
        font-size: 18px !important;
        line-height: 1.45 !important;
        text-align: center !important;
        text-decoration: none !important;
        white-space: normal !important;
        overflow-wrap: break-word !important;
    }

    body footer .footer-menu li a:hover,
    body footer .footer-menu a:hover,
    body footer a.li:hover {
        color: #d6b36a !important;
        -webkit-text-fill-color: #d6b36a !important;
        background: transparent !important;
    }

    body footer .copyright,
    body footer .copyright a,
    body footer a.copyright {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 28px auto 0 auto !important;
        padding: 0 !important;
        color: #ffff00 !important;
        -webkit-text-fill-color: #ffff00 !important;
        font-size: 17px !important;
        line-height: 1.5 !important;
        text-align: center !important;
        white-space: normal !important;
        overflow-wrap: break-word !important;
    }

    body .social-icons {
        display: flex !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 34px auto 0 auto !important;
        padding: 20px 10px 36px 10px !important;
        justify-content: center !important;
        align-items: center !important;
        gap: 24px !important;
        clear: both !important;
        overflow: visible !important;
        background: #000a1f !important;
    }

    body .social-icons a {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 42px !important;
        height: 42px !important;
        margin: 0 !important;
        padding: 0 !important;
        float: none !important;
    }

    body .social-icons img,
    body .social-icons .social-icon,
    body .social-icons .facebook-icon {
        display: block !important;
        width: 42px !important;
        max-width: 42px !important;
        height: 42px !important;
        max-height: 42px !important;
        object-fit: contain !important;
        opacity: 1 !important;
        visibility: visible !important;
    }
}
			/* =========================================================
   HARD RESET RESPONSIVE H5 INDEX.HTML
   Hero-h5 apart, boek/content-h5 apart
   ========================================================= */

/* HERO H5: overlay op de kerkfoto */
body .shroud-hero h5 {
    position: absolute !important;
    left: 50% !important;
    bottom: 8% !important;
    transform: translateX(-50%) !important;
    width: 94% !important;
    max-width: 1400px !important;
    margin: 0 !important;
    padding: 0 14px !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    text-align: center !important;
    text-shadow: 2px 2px 8px rgba(0,0,0,0.9) !important;
    font-size: clamp(24px, 4.4vw, 64px) !important;
    line-height: 1.12 !important;
    letter-spacing: 0.02em !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    z-index: 2 !important;
}

/* BOEK- EN CONTENT-H5: Sworn To Secrecy, TMCIL, All Offers */
body .text-container h5,
body h5.stc,
body h5.tmcil {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 22px auto 16px auto !important;
    padding: 0 12px !important;
    color: inherit !important;
    text-align: center !important;
    font-size: clamp(24px, 3.2vw, 40px) !important;
    line-height: 1.18 !important;
    letter-spacing: 0.01em !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
}

/* Specifiek: Sworn To Secrecy mag iets krachtiger, maar niet gigantisch */
body h5.stc {
    font-size: clamp(24px, 3vw, 38px) !important;
    line-height: 1.18 !important;
}

/* Specifiek: TMCIL-koppen, vaak langer, dus iets beheerser */
body h5.tmcil {
    font-size: clamp(23px, 2.8vw, 36px) !important;
    line-height: 1.2 !important;
}

/* TABLET */
@media screen and (max-width: 768px) {

    body .shroud-hero h5 {
        bottom: 7% !important;
        width: 94% !important;
        font-size: clamp(22px, 6vw, 42px) !important;
        line-height: 1.12 !important;
        letter-spacing: 0.01em !important;
    }

    body .text-container h5,
    body h5.stc,
    body h5.tmcil {
        font-size: clamp(21px, 5vw, 30px) !important;
        line-height: 1.2 !important;
        margin: 20px auto 14px auto !important;
        padding-left: 10px !important;
        padding-right: 10px !important;
    }
}

/* MOBIEL */
@media screen and (max-width: 480px) {

    body .shroud-hero h5 {
        bottom: 6% !important;
        font-size: clamp(20px, 7vw, 32px) !important;
        line-height: 1.12 !important;
    }

    body .text-container h5,
    body h5.stc,
    body h5.tmcil {
        font-size: clamp(19px, 5.6vw, 25px) !important;
        line-height: 1.22 !important;
        margin: 18px auto 12px auto !important;
        padding-left: 8px !important;
        padding-right: 8px !important;
    }
}
/* =========================================================
   FIX: H5 KLEUREN NAAR GOUD/BRONS
   ========================================================= */

body .text-container h5,
body h5.stc,
body h5.tmcil,
body .shroud-introduction h1,
body .shroud-introduction h2 {
    color: #C59977 !important;
    -webkit-text-fill-color: #C59977 !important;
}
/* =========================================================
   FIX: BUY NOW BUTTON CENTREREN OP KLEINERE SCHERMEN
   class="excloffer3"
   ========================================================= */

@media screen and (max-width: 768px) {

    body .excloffer3,
    body .text-container .excloffer3,
    body .text-right .excloffer3 {
        display: block !important;
        width: fit-content !important;
        max-width: calc(100% - 36px) !important;
        margin: 24px auto 28px auto !important;
        text-align: center !important;
        float: none !important;
        clear: both !important;
    }
}

@media screen and (max-width: 480px) {

    body .excloffer3,
    body .text-container .excloffer3,
    body .text-right .excloffer3 {
        width: min(320px, calc(100% - 36px)) !important;
        margin-left: auto !important;
        margin-right: auto !important;
        text-align: center !important;
    }
}
/* =========================================================
   FINAL FIX: BUY NOW BUTTON NIET TE SMAL TUSSEN 670PX EN 480PX
   class="excloffer3"
   ========================================================= */

@media screen and (max-width: 768px) {

    body a.excloffer3,
    body .excloffer3,
    body .text-container a.excloffer3,
    body .text-right a.excloffer3 {
        display: block !important;
        width: min(72vw, 430px) !important;
        min-width: 320px !important;
        max-width: calc(100% - 36px) !important;
        margin: 26px auto 30px auto !important;
        padding-left: 18px !important;
        padding-right: 18px !important;
        float: none !important;
        clear: both !important;
        text-align: center !important;
        box-sizing: border-box !important;
        white-space: nowrap !important;
    }
}

/* Onder 480px: brede mobiele knop met links/rechts circa 15% ruimte */
@media screen and (max-width: 480px) {

    body a.excloffer3,
    body .excloffer3,
    body .text-container a.excloffer3,
    body .text-right a.excloffer3 {
        width: 70vw !important;
        min-width: 0 !important;
        max-width: 420px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        text-align: center !important;
    }
}

/* Zeer smal scherm: nooit buiten beeld drukken */
@media screen and (max-width: 360px) {

    body a.excloffer3,
    body .excloffer3,
    body .text-container a.excloffer3,
    body .text-right a.excloffer3 {
        width: calc(100% - 36px) !important;
        max-width: calc(100% - 36px) !important;
    }
}
			/* =========================================================
   FINAL FIX: VIMEO NIET MEER VOLLEDIG FULLWIDTH OP DESKTOP
   Meer balans zodat CTA sneller zichtbaar wordt
   ========================================================= */

body .promo-highlight,
body .promo-video {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
    overflow-x: hidden !important;
}

body .vimeo-fullwidth {
    position: relative !important;

    /* De kern: filmisch breed, maar niet dominant full-screen */
    width: 90vw !important;
    max-width: 1120px !important;
    min-width: 0 !important;

    margin: 0 auto !important;
    padding-top: min(56.25%, 630px) !important;

    left: auto !important;
    right: auto !important;
    transform: none !important;

    overflow: hidden !important;
    background: #000000 !important;

    border-top: 1px solid rgba(197, 153, 119, 0.45) !important;
    border-bottom: 1px solid rgba(197, 153, 119, 0.45) !important;
    box-shadow: 0 12px 32px rgba(0,0,0,0.45) !important;
}

body .vimeo-fullwidth iframe {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    border: 0 !important;
}

/* CTA dichter bij de video houden */
body .promo-cta {
    width: 100% !important;
    max-width: 1120px !important;
    margin: 0 auto !important;
    padding: 18px 16px 12px !important;
    text-align: center !important;
}

/* Laptop/tablet: iets ruimer, maar nog steeds begrensd */
@media screen and (max-width: 1100px) {
    body .vimeo-fullwidth {
        width: 94vw !important;
        max-width: 94vw !important;
        padding-top: 52.875vw !important;
    }
}

/* Mobiel: fullwidth mag hier wel, want de hoogte blijft beperkt */
@media screen and (max-width: 600px) {
    body .vimeo-fullwidth {
        width: 100vw !important;
        max-width: 100vw !important;
        margin-left: calc(50% - 50vw) !important;
        margin-right: calc(50% - 50vw) !important;
        padding-top: 56.25vw !important;
        border-left: none !important;
        border-right: none !important;
        box-shadow: none !important;
    }

    body .promo-cta {
        padding-top: 16px !important;
    }
}

