:root {
    --enka-navy-950: #031d37;
    --enka-navy-900: #062f57;
    --enka-navy-800: #084571;
    --enka-blue-700: #006f9f;
    --enka-blue-600: #007eb6;
    --enka-blue-500: #159acb;
    --enka-sky-100: #e7f6fb;
    --enka-sky-50: #f5fbfd;
    --enka-orange: #f47a20;
    --enka-orange-dark: #d85f0d;
    --enka-ink: #10253f;
    --enka-muted: #5a6b7e;
    --enka-line: #d9e5ec;
    --enka-bg: #f6f9fb;
    --white: #fff;
    --shadow-sm: 0 10px 30px rgba(6, 47, 87, .08);
    --shadow-md: 0 20px 55px rgba(6, 47, 87, .13);
    --radius-sm: 12px;
    --radius-md: 20px;
    --radius-lg: 30px;
    --shell: min(1180px, calc(100vw - 40px));
    --font-heading: "Montserrat", Arial, sans-serif;
    --font-body: "PT Sans", Arial, sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    color: var(--enka-ink);
    background: var(--white);
    font-family: var(--font-body);
    font-size: 18px;
    line-height: 1.6;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
}
body.menu-open { overflow: hidden; }
img { max-width: 100%; height: auto; display: block; }
a { color: var(--enka-blue-700); text-decoration: none; }
a:hover { color: var(--enka-navy-900); }
button, input, textarea, select { font: inherit; }
h1, h2, h3, h4, h5, h6 {
    margin: 0 0 .55em;
    color: var(--enka-navy-950);
    font-family: var(--font-heading);
    line-height: 1.12;
    letter-spacing: -.035em;
}
h1 { font-size: clamp(2.6rem, 5vw, 5.2rem); }
h2 { font-size: clamp(2rem, 3vw, 3rem); }
h3 { font-size: clamp(1.2rem, 2vw, 1.45rem); }
p { margin: 0 0 1.15em; }
ul, ol { padding-left: 1.25em; }
::selection { color: #fff; background: var(--enka-blue-600); }

.site-shell { width: var(--shell); margin-inline: auto; }
.screen-reader-text {
    position: absolute !important;
    width: 1px; height: 1px; padding: 0; margin: -1px;
    overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
.screen-reader-text:focus, .skip-link:focus {
    z-index: 99999; top: 12px; left: 12px; width: auto; height: auto;
    padding: 10px 16px; clip: auto; background: #fff; color: var(--enka-navy-900);
    border-radius: 8px; box-shadow: var(--shadow-md);
}

.icon, .quick-route__arrow {
    display: inline-flex;
    width: 1.15em;
    height: 1.15em;
    flex: 0 0 auto;
}
.icon svg, .quick-route__arrow svg {
    width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 1.8;
    stroke-linecap: round; stroke-linejoin: round;
}

.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 52px;
    padding: 13px 22px;
    border: 1px solid transparent;
    border-radius: 9px;
    font-family: var(--font-heading);
    font-size: .88rem;
    font-weight: 700;
    letter-spacing: -.01em;
    transition: transform .2s ease, box-shadow .2s ease, background .2s ease, color .2s ease, border-color .2s ease;
}
.button:hover { transform: translateY(-2px); }
.button--accent { color: #fff; background: var(--enka-orange); box-shadow: 0 12px 28px rgba(244, 122, 32, .25); }
.button--accent:hover { color: #fff; background: var(--enka-orange-dark); box-shadow: 0 15px 34px rgba(216, 95, 13, .3); }
.button--outline { color: var(--enka-blue-700); border-color: rgba(0, 126, 182, .45); background: #fff; }
.button--outline:hover { color: #fff; border-color: var(--enka-blue-700); background: var(--enka-blue-700); }
.button--ghost { color: #fff; border-color: rgba(255,255,255,.55); background: rgba(3,29,55,.3); backdrop-filter: blur(12px); }
.button--ghost:hover { color: #fff; border-color: #fff; background: rgba(255,255,255,.12); }
.button--members {
    min-height: 42px;
    padding: 9px 15px;
    color: var(--enka-blue-700);
    border-color: rgba(0, 126, 182, .5);
    background: #fff;
    border-radius: 8px;
}
.button--members:hover { color: #fff; background: var(--enka-blue-700); border-color: var(--enka-blue-700); }
.button--footer { color: #fff; border-color: rgba(255,255,255,.35); background: rgba(255,255,255,.08); }
.button--footer:hover { color: var(--enka-navy-950); background: #fff; }

.site-header {
    position: sticky;
    z-index: 1000;
    top: 0;
    height: 78px;
    background: rgba(255, 255, 255, .94);
    border-bottom: 1px solid rgba(6, 47, 87, .08);
    backdrop-filter: blur(18px);
    transition: box-shadow .25s ease, background .25s ease;
}
.site-header.is-scrolled { box-shadow: 0 10px 35px rgba(6, 47, 87, .11); background: rgba(255,255,255,.98); }
body.admin-bar .site-header { top: 32px; }
.site-header__inner { height: 100%; display: flex; align-items: center; }
.site-branding {
    position: relative;
    z-index: 3;
    display: flex;
    align-items: center;
    align-self: flex-start;
    width: 126px;
    height: 126px;
    margin-right: 48px;
    border-radius: 50%;
    filter: drop-shadow(0 12px 24px rgba(3,29,55,.22));
}
.site-logo { width: 126px; height: 126px; object-fit: contain; }
.site-logo--text { width: auto; height: auto; font: 800 18px/1 var(--font-heading); color: var(--enka-navy-900); }
.site-header__navigation { flex: 1; display: flex; align-items: center; justify-content: flex-end; gap: 28px; }
.primary-nav .menu { display: flex; align-items: center; gap: 29px; margin: 0; padding: 0; list-style: none; }
.primary-nav .menu-item { position: relative; margin: 0; }
.primary-nav a {
    display: inline-flex;
    align-items: center;
    min-height: 42px;
    color: var(--enka-navy-950);
    font-family: var(--font-heading);
    font-size: .83rem;
    font-weight: 680;
    letter-spacing: -.02em;
}
.primary-nav a:hover, .primary-nav .current-menu-item > a, .primary-nav .current-menu-ancestor > a { color: var(--enka-blue-600); }
.primary-nav .menu-item-has-children > a::after { content: ""; width: 6px; height: 6px; margin-left: 8px; border-right: 1.5px solid; border-bottom: 1.5px solid; transform: translateY(-2px) rotate(45deg); }
.primary-nav .sub-menu {
    position: absolute;
    top: calc(100% + 10px);
    left: -20px;
    min-width: 230px;
    margin: 0;
    padding: 10px;
    list-style: none;
    background: #fff;
    border: 1px solid var(--enka-line);
    border-radius: 12px;
    box-shadow: var(--shadow-md);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-6px);
    transition: .2s ease;
}
.primary-nav .menu-item:hover > .sub-menu, .primary-nav .menu-item:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: translateY(0); }
.primary-nav .sub-menu a { width: 100%; min-height: 38px; padding: 7px 10px; border-radius: 7px; }
.primary-nav .sub-menu a:hover { background: var(--enka-sky-50); }
.menu-toggle { display: none; width: 44px; height: 44px; padding: 9px; margin-left: auto; color: var(--enka-navy-900); background: transparent; border: 0; }
.menu-toggle .icon { width: 26px; height: 26px; }
.menu-toggle__close { display: none; }
.menu-toggle[aria-expanded="true"] .menu-toggle__open { display: none; }
.menu-toggle[aria-expanded="true"] .menu-toggle__close { display: inline-flex; }

.site-main { min-height: 60vh; }
.section-kicker, .eyebrow {
    margin: 0 0 12px;
    color: var(--enka-orange);
    font-family: var(--font-heading);
    font-size: .76rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.text-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--enka-blue-700);
    font-family: var(--font-heading);
    font-size: .86rem;
    font-weight: 730;
}
.text-link:hover { gap: 12px; color: var(--enka-navy-900); }
.text-link, .text-link .icon { transition: .2s ease; }
.prose { color: #34485d; }
.prose > *:first-child { margin-top: 0; }
.prose > *:last-child { margin-bottom: 0; }
.prose a { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.prose h2, .prose h3, .prose h4 { margin-top: 1.6em; }
.prose blockquote { margin: 2em 0; padding: 1.2em 1.4em; color: var(--enka-navy-900); background: var(--enka-sky-50); border-left: 4px solid var(--enka-blue-600); border-radius: 0 12px 12px 0; }
.prose table { width: 100%; border-collapse: collapse; }
.prose th, .prose td { padding: 12px; text-align: left; border-bottom: 1px solid var(--enka-line); }
.prose iframe { max-width: 100%; }

.interior-main { padding: 88px 0 110px; background: linear-gradient(180deg, var(--enka-sky-50), #fff 280px); }
.interior-shell { max-width: 1180px; }
.interior-shell--narrow { max-width: 900px; }
.breadcrumbs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 34px; color: var(--enka-muted); font-size: .82rem; }
.breadcrumbs a { color: var(--enka-blue-700); }
.content-article { padding: clamp(28px, 5vw, 70px); background: #fff; border: 1px solid var(--enka-line); border-radius: var(--radius-md); box-shadow: var(--shadow-sm); }
.content-header { max-width: 900px; margin-bottom: 38px; }
.content-header h1 { font-size: clamp(2.3rem, 5vw, 4.6rem); }
.content-hero-image { margin: 0 0 40px; overflow: hidden; border-radius: var(--radius-sm); }
.content-hero-image img { width: 100%; max-height: 620px; object-fit: cover; }
.entry-content { max-width: 900px; }
.legacy-content .fusion-fullwidth, .legacy-content .fusion-builder-row, .legacy-content .fusion-row { max-width: 100% !important; width: 100% !important; }
.legacy-content .fusion-layout-column { margin-inline: 0 !important; }

.archive-header { margin-bottom: 40px; }
.archive-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 24px; }
.archive-card { overflow: hidden; background: #fff; border: 1px solid var(--enka-line); border-radius: var(--radius-sm); box-shadow: var(--shadow-sm); }
.archive-card__image { display: block; aspect-ratio: 16/10; overflow: hidden; }
.archive-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.archive-card:hover .archive-card__image img { transform: scale(1.04); }
.archive-card__body { padding: 24px; }
.archive-card time { color: var(--enka-muted); font-size: .78rem; }
.archive-card h2 { margin-top: 8px; font-size: 1.25rem; }
.archive-card h2 a { color: inherit; }
.archive-card p { color: var(--enka-muted); font-size: .94rem; }
.pagination { margin-top: 50px; }
.nav-links { display: flex; gap: 8px; }
.page-numbers { min-width: 42px; height: 42px; display: inline-grid; place-items: center; padding: 0 12px; border: 1px solid var(--enka-line); border-radius: 8px; background: #fff; }
.page-numbers.current { color: #fff; background: var(--enka-blue-700); border-color: var(--enka-blue-700); }
.empty-state, .error-panel { text-align: center; padding: 90px 30px; background: #fff; border: 1px solid var(--enka-line); border-radius: var(--radius-md); box-shadow: var(--shadow-sm); }
.error-main { padding: 100px 0; background: var(--enka-sky-50); }
.error-panel { max-width: 820px; }
.error-panel h1 { font-size: clamp(2.6rem, 5vw, 5rem); }
.error-panel p { max-width: 620px; margin-inline: auto; color: var(--enka-muted); }
.error-panel__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 28px; }

.site-footer { color: rgba(255,255,255,.82); background: radial-gradient(circle at 80% 0%, rgba(0,126,182,.35), transparent 30%), var(--enka-navy-950); }
.site-footer__grid { display: grid; grid-template-columns: 1.35fr 1fr 1fr 1.1fr; gap: 44px; padding: 70px 0 55px; }
.site-footer__grid--no-menu { grid-template-columns: 1.35fr 1fr 1.1fr; }
.site-footer__brand p, .site-footer__newsletter p { font-size: .9rem; }
.site-footer__logo { display: inline-flex; width: 86px; height: 86px; margin-bottom: 18px; }
.site-footer__logo-image { width: 86px; height: 86px; object-fit: contain; }
.site-footer__heading { margin-bottom: 18px; color: #fff; font-size: .92rem; letter-spacing: 0; }
.site-footer__links, .site-footer__contact { margin: 0; padding: 0; list-style: none; }
.site-footer__links li { margin-bottom: 7px; }
.site-footer__links a, .site-footer__contact a { color: rgba(255,255,255,.78); font-size: .87rem; }
.site-footer__links a:hover, .site-footer__contact a:hover { color: #fff; }
.site-footer__contact li { display: flex; align-items: flex-start; gap: 9px; margin-bottom: 10px; font-size: .87rem; }
.site-footer__contact .icon { margin-top: 4px; color: #8dd8f3; }
.social-links { display: flex; flex-wrap: wrap; gap: 9px; }
.social-links a { display: grid; place-items: center; width: 36px; height: 36px; color: #fff; border: 1px solid rgba(255,255,255,.35); border-radius: 50%; font-family: var(--font-heading); font-size: .8rem; }
.social-links a:hover { color: var(--enka-navy-950); background: #fff; }
.social-links .icon { width: 16px; height: 16px; }
.site-footer__bottom { display: flex; justify-content: space-between; gap: 20px; padding: 22px 0; border-top: 1px solid rgba(255,255,255,.12); font-size: .78rem; }
.site-footer__bottom p { margin: 0; }
.site-footer__bottom a { color: rgba(255,255,255,.75); }

/* DP Events */
.single-event__header { max-width: 980px; margin-bottom: 38px; }
.single-event__header h1 { max-width: 920px; }
.single-event__meta { display: flex; flex-wrap: wrap; gap: 11px 24px; margin: 24px 0 0; color: var(--enka-muted); }
.single-event__meta span { display: inline-flex; align-items: center; gap: 8px; }
.single-event__meta .icon { color: var(--enka-blue-600); }
.single-event__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.single-event__notice { display: inline-flex; margin-top: 24px; padding: 10px 14px; color: var(--enka-navy-900); background: var(--enka-sky-100); border-radius: 8px; }
.single-event__notice--cancelled { color: #7b251d; background: #fff0ed; }
.single-event__image img { width: 100%; max-height: 620px; object-fit: cover; }
.single-event__content-grid { display: grid; grid-template-columns: minmax(0, 1fr) 300px; align-items: start; gap: clamp(40px, 6vw, 76px); }
.single-event .entry-content { max-width: none; font-size: 1.05rem; }
.single-event__location { position: sticky; top: 120px; padding: 26px; background: var(--enka-sky-50); border: 1px solid var(--enka-line); border-radius: var(--radius-sm); }
.single-event__location h2 { margin-bottom: 14px; font-size: 1.45rem; }
.single-event__location p { color: var(--enka-muted); }
.concert-archive-section { margin-top: 50px; }
.concert-archive-section[id] { scroll-margin-top: 120px; }
.concert-archive-section--past { padding-top: 70px; border-top: 1px solid var(--enka-line); }

.js [data-reveal] { opacity: 0; transform: translateY(18px); transition: opacity .6s ease, transform .6s cubic-bezier(.2,.7,.2,1); }
.js [data-reveal].is-visible { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
    .js [data-reveal] { opacity: 1; transform: none; }
}

@media (max-width: 1100px) {
    .site-branding { width: 108px; height: 108px; margin-right: 25px; }
    .site-logo { width: 108px; height: 108px; }
    .site-header__navigation { gap: 16px; }
    .primary-nav .menu { gap: 18px; }
    .primary-nav a { font-size: .77rem; }
    .site-footer__grid { grid-template-columns: 1.3fr repeat(2, 1fr); }
    .site-footer__newsletter { grid-column: 2 / -1; }
    .site-footer__grid--no-menu { grid-template-columns: 1.3fr 1fr 1.1fr; }
    .site-footer__grid--no-menu .site-footer__newsletter { grid-column: auto; }
}

@media (max-width: 860px) {
    :root { --shell: min(100% - 28px, 1180px); }
    body { font-size: 17px; }
    body.admin-bar .site-header { top: 46px; }
    .site-header { height: 70px; }
    .site-branding { width: 92px; height: 92px; margin-right: 0; }
    .site-logo { width: 92px; height: 92px; }
    .menu-toggle { display: inline-grid; place-items: center; }
    .site-header__navigation {
        position: fixed;
        inset: 70px 0 auto;
        display: grid;
        align-content: start;
        gap: 20px;
        max-height: calc(100dvh - 70px);
        padding: 30px 20px 36px;
        overflow-y: auto;
        background: rgba(255,255,255,.99);
        border-top: 1px solid var(--enka-line);
        box-shadow: var(--shadow-md);
        opacity: 0;
        visibility: hidden;
        transform: translateY(-12px);
        transition: .22s ease;
    }
    body.admin-bar .site-header__navigation { inset-block-start: 116px; max-height: calc(100dvh - 116px); }
    .site-header__navigation.is-open { opacity: 1; visibility: visible; transform: none; }
    .primary-nav .menu { display: grid; gap: 0; }
    .primary-nav a { width: 100%; min-height: 48px; padding: 8px 2px; font-size: 1rem; border-bottom: 1px solid var(--enka-line); }
    .primary-nav .sub-menu { position: static; display: block; min-width: 0; padding: 0 0 8px 16px; border: 0; box-shadow: none; opacity: 1; visibility: visible; transform: none; }
    .primary-nav .sub-menu a { font-size: .9rem; }
    .button--members { justify-self: start; }
    .archive-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .single-event__content-grid { grid-template-columns: 1fr; }
    .single-event__location { position: static; }
    .site-footer__grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .site-footer__brand { grid-column: 1 / -1; max-width: 560px; }
    .site-footer__newsletter { grid-column: 1 / -1; }
    .site-footer__grid--no-menu .site-footer__newsletter { grid-column: auto; }
}

@media (max-width: 600px) {
    .archive-grid { grid-template-columns: 1fr; }
    .content-article { padding: 26px 20px; }
    .site-footer__grid { grid-template-columns: 1fr 1fr; gap: 34px 22px; padding-top: 58px; }
    .site-footer__brand, .site-footer__newsletter { grid-column: 1 / -1; }
    .site-footer__bottom { display: block; text-align: center; }
    .site-footer__bottom a { display: inline-block; margin-top: 7px; }
}


/* =========================================================
   ENKA 0.11 — sitebrede leesbaarheids- en afwerkingsronde
   ========================================================= */
:root {
    --focus-ring: 0 0 0 4px rgba(21, 154, 203, .24);
    --reading-width: 780px;
}

body {
    font-size: 19px;
    line-height: 1.68;
    background: var(--enka-bg);
}

a, button, input, select, textarea, summary { -webkit-tap-highlight-color: transparent; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible {
    outline: 3px solid var(--enka-blue-500);
    outline-offset: 3px;
    box-shadow: var(--focus-ring);
}

.button {
    min-height: 52px;
    padding: 13px 22px;
    border-radius: 10px;
    font-size: 1rem;
}

/* Groot logo bij de start; compact en volledig in de balk tijdens scrollen. */
.site-header {
    height: 88px;
    overflow: visible;
    transition: height .28s ease, box-shadow .28s ease, background .28s ease;
}
.site-branding,
.site-logo {
    width: 132px;
    height: 132px;
    transition: width .28s ease, height .28s ease, margin .28s ease, filter .28s ease;
}
.site-branding { margin-right: 54px; }
.site-header.is-scrolled { height: 66px; }
.site-header.is-scrolled .site-branding {
    align-self: center;
    width: 64px;
    height: 64px;
    margin-right: 34px;
    filter: drop-shadow(0 7px 14px rgba(3,29,55,.16));
}
.site-header.is-scrolled .site-logo { width: 64px; height: 64px; }
.primary-nav a {
    min-height: 48px;
    font-size: .91rem;
    font-weight: 720;
}
.primary-nav .current-menu-item > a::before,
.primary-nav .current-menu-ancestor > a::before {
    content: "";
    position: absolute;
    right: 0;
    bottom: 4px;
    left: 0;
    height: 3px;
    background: var(--enka-orange);
    border-radius: 99px;
}
.button--members { min-height: 48px; padding-inline: 18px; font-size: .91rem; }

.section-kicker, .eyebrow { font-size: .82rem; }
.text-link { min-height: 42px; font-size: .98rem; }
.breadcrumbs { margin-bottom: 28px; font-size: .94rem; }
.breadcrumbs a { text-decoration: underline; text-underline-offset: 3px; }

.interior-main { padding: 72px 0 105px; }
.interior-shell--narrow { max-width: 980px; }
.content-article {
    padding: clamp(30px, 5vw, 64px);
    border-radius: 22px;
    box-shadow: 0 18px 50px rgba(6, 47, 87, .09);
}
.content-header { max-width: 960px; margin-bottom: 34px; }
.content-header h1 { max-width: 980px; font-size: clamp(2.45rem, 4.8vw, 4.25rem); }
.page-intro {
    max-width: 850px;
    margin: 18px 0 0;
    color: #3e556b;
    font-size: clamp(1.12rem, 2vw, 1.32rem);
    line-height: 1.58;
}
.entry-content { max-width: var(--reading-width); font-size: 1.06rem; line-height: 1.76; }
.entry-content--wide { max-width: none; }
.prose p, .prose li { color: #2f455a; }
.prose p { margin-bottom: 1.3em; }
.prose h2 { margin-top: 1.8em; font-size: clamp(1.65rem, 3vw, 2.25rem); }
.prose h3 { margin-top: 1.65em; font-size: clamp(1.3rem, 2.3vw, 1.65rem); }
.prose ul, .prose ol { padding-left: 1.4em; }
.prose li { margin-bottom: .55em; }
.prose strong { color: var(--enka-navy-950); }
.prose a:not(.button) { font-weight: 700; text-decoration-thickness: 2px; }
.prose .button { margin: .4rem .6rem .4rem 0; text-decoration: none; }
.prose blockquote { font-size: 1.08rem; }
.prose hr { margin: 2.5rem 0; border: 0; border-top: 1px solid var(--enka-line); }
.prose table { display: block; max-width: 100%; overflow-x: auto; font-size: 1rem; }
.prose th { color: var(--enka-navy-950); background: var(--enka-sky-50); }
.prose th, .prose td { min-width: 150px; padding: 15px; }
.prose figure { margin: 2rem 0; }
.prose figcaption { margin-top: .65rem; color: var(--enka-muted); font-size: .94rem; }

input[type="text"], input[type="email"], input[type="tel"], input[type="url"], input[type="search"], input[type="password"], input[type="number"], select, textarea {
    min-height: 52px;
    padding: 12px 14px;
    color: var(--enka-ink);
    background: #fff;
    border: 1px solid #bcd0dd;
    border-radius: 10px;
}
textarea { min-height: 160px; resize: vertical; }
label { color: var(--enka-navy-950); font-weight: 700; }

.archive-header { max-width: 900px; margin-bottom: 38px; }
.archive-grid { gap: 26px; }
.archive-card { border-radius: 16px; transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease; }
.archive-card:hover { transform: translateY(-3px); border-color: #b7d8e8; box-shadow: var(--shadow-md); }
.archive-card__body { padding: 26px; }
.archive-card time { font-size: .88rem; }
.archive-card h2 { font-size: 1.35rem; }
.archive-card p { font-size: 1rem; line-height: 1.58; }
.page-numbers { min-width: 48px; height: 48px; }
.empty-state, .error-panel { padding: 70px 30px; }
.empty-state p { max-width: 620px; margin-inline: auto; }

.single-event__meta { font-size: 1.02rem; }
.single-event__location { top: 92px; font-size: 1rem; }

.site-footer__grid { gap: 40px; }
.site-footer__brand p, .site-footer__newsletter p { font-size: 1rem; line-height: 1.62; }
.site-footer__heading { font-size: 1.03rem; }
.site-footer__links li { margin-bottom: 10px; }
.site-footer__links a, .site-footer__contact a, .site-footer__contact li { font-size: .98rem; }
.site-footer__bottom { font-size: .9rem; }
.social-links a { width: 42px; height: 42px; }

/* Imported legacy content should not carry cramped Avada dimensions forward. */
.legacy-content [style*="font-size"] { line-height: 1.55; }
.legacy-content img.alignleft { margin: .4rem 1.5rem 1rem 0; }
.legacy-content img.alignright { margin: .4rem 0 1rem 1.5rem; }
.legacy-content iframe, .legacy-content object, .legacy-content embed { width: 100%; }

@media (max-width: 1100px) {
    .site-branding, .site-logo { width: 112px; height: 112px; }
    .site-branding { margin-right: 28px; }
    .site-header.is-scrolled .site-branding, .site-header.is-scrolled .site-logo { width: 62px; height: 62px; }
    .primary-nav a { font-size: .84rem; }
}

@media (max-width: 860px) {
    body { font-size: 18px; }
    .site-header, .site-header.is-scrolled { height: 72px; }
    .site-branding, .site-logo { width: 82px; height: 82px; }
    .site-header.is-scrolled .site-branding, .site-header.is-scrolled .site-logo { width: 60px; height: 60px; }
    .site-branding, .site-header.is-scrolled .site-branding { margin-right: 0; }
    .site-header__navigation { inset-block-start: 72px; max-height: calc(100dvh - 72px); padding: 24px 18px 32px; }
    body.admin-bar .site-header__navigation { inset-block-start: 118px; max-height: calc(100dvh - 118px); }
    .primary-nav a { min-height: 54px; font-size: 1.08rem; }
    .button--members { width: 100%; min-height: 54px; }
    .interior-main { padding-top: 54px; }
    .content-article { padding: 34px 28px; }
    .content-header h1 { font-size: clamp(2.2rem, 8vw, 3.5rem); }
    .archive-grid { grid-template-columns: 1fr; }
}

@media (max-width: 600px) {
    :root { --shell: min(100% - 22px, 1180px); }
    body { font-size: 18px; }
    .content-article { padding: 28px 20px; border-radius: 16px; }
    .page-intro { font-size: 1.08rem; }
    .entry-content { font-size: 1rem; line-height: 1.7; }
    .button { width: 100%; min-height: 54px; }
    .error-panel__actions .button { width: 100%; }
    .site-footer__grid { grid-template-columns: 1fr; }
    .site-footer__brand, .site-footer__newsletter { grid-column: auto; }
}


/* =========================================================
   ENKA 0.12 — herkenbaar en royaal ledenportaal
   ========================================================= */
.member-portal-nav {
    position: relative;
    z-index: 3;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 18px;
    margin: 0 0 18px;
    padding: 12px 14px;
    background: rgba(255,255,255,.94);
    border: 1px solid #cfe0ea;
    border-radius: 16px;
    box-shadow: 0 10px 30px rgba(6,47,87,.07);
    backdrop-filter: blur(10px);
}
.member-portal-nav__label {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    min-height: 44px;
    padding: 0 10px;
    color: var(--enka-navy-950);
    font-family: var(--font-heading);
    font-size: .9rem;
    font-weight: 800;
    white-space: nowrap;
}
.member-portal-nav__label .icon { color: var(--enka-orange); }
.member-portal-nav__items { display: flex; justify-content: flex-end; gap: 7px; min-width: 0; overflow-x: auto; scrollbar-width: thin; }
.member-portal-nav__item {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 46px;
    padding: 9px 13px;
    color: #164a74;
    background: #f3f9fc;
    border: 1px solid transparent;
    border-radius: 10px;
    font-family: var(--font-heading);
    font-size: .88rem;
    font-weight: 750;
    text-decoration: none;
}
.member-portal-nav__item .icon { width: 19px; height: 19px; color: #1672aa; }
.member-portal-nav__item:hover { color: var(--enka-navy-950); background: #e9f5fa; border-color: #bcd9e7; }
.member-portal-nav__item.is-active { color: #fff; background: var(--enka-blue-700); border-color: var(--enka-blue-700); box-shadow: 0 7px 18px rgba(8,91,145,.2); }
.member-portal-nav__item.is-active .icon { color: #fff; }

.content-article--members {
    overflow: hidden;
    border-color: #c7deea;
    background:
        radial-gradient(circle at 95% 3%, rgba(117,199,230,.16), transparent 270px),
        #fff;
}
.content-header--with-icon {
    display: grid;
    grid-template-columns: 78px minmax(0,1fr);
    gap: 24px;
    align-items: start;
    max-width: none;
    padding-bottom: 30px;
    border-bottom: 1px solid #d9e7ee;
}
.content-header__icon {
    display: grid;
    place-items: center;
    width: 78px;
    height: 78px;
    color: #fff;
    background: linear-gradient(145deg, var(--enka-blue-600), var(--enka-navy-900));
    border: 5px solid #eaf6fb;
    border-radius: 22px;
    box-shadow: 0 12px 28px rgba(6,65,105,.17);
}
.content-header__icon .icon { width: 37px; height: 37px; }
.content-header__copy { min-width: 0; }
.content-header--with-icon h1 { margin-top: .1rem; font-size: clamp(2.25rem,4.5vw,3.8rem); }
.content-article--members .entry-content { margin-top: 30px; }
.content-article--members .entry-content > h2:first-child { margin-top: 0; }
.content-article--members .prose > p:first-child:not(:last-child) { font-size: 1.08rem; }

@media (min-width: 1080px) {
    .member-portal-nav { position: sticky; top: 78px; }
    body.admin-bar .member-portal-nav { top: 110px; }
}
@media (max-width: 860px) {
    .member-portal-nav { grid-template-columns: 1fr; gap: 7px; padding: 10px; }
    .member-portal-nav__label { display: none; }
    .member-portal-nav__items { justify-content: flex-start; }
    .content-header--with-icon { grid-template-columns: 62px minmax(0,1fr); gap: 17px; }
    .content-header__icon { width: 62px; height: 62px; border-radius: 18px; }
    .content-header__icon .icon { width: 29px; height: 29px; }
}
@media (max-width: 600px) {
    .member-portal-nav__item { min-height: 48px; padding-inline: 12px; font-size: .92rem; }
    .content-header--with-icon { grid-template-columns: 1fr; }
    .content-header__icon { width: 58px; height: 58px; }
    .content-header--with-icon h1 { font-size: clamp(2rem,11vw,3rem); }
}

/* =========================================================
   ENKA 0.13 — full-width interior heroes and sectioned pages
   ========================================================= */
.interior-main--hero {
    padding: 0 0 110px;
    background: linear-gradient(180deg, #edf7fb 0, #f7fafc 520px, #fff 100%);
}
.interior-hero {
    position: relative;
    min-height: clamp(350px, 42vw, 510px);
    display: grid;
    align-items: end;
    overflow: hidden;
    color: #fff;
    background-color: var(--enka-navy-900);
    background-image: var(--interior-hero-image);
    background-size: cover;
    background-position: center 38%;
}
.interior-hero__shade {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(3,29,55,.98) 0%, rgba(3,29,55,.88) 48%, rgba(3,29,55,.35) 100%),
        linear-gradient(0deg, rgba(3,29,55,.72), transparent 60%);
}
.interior-hero__inner {
    position: relative;
    z-index: 2;
    padding-top: 62px;
    padding-bottom: 78px;
}
.interior-hero .breadcrumbs {
    margin: 0 0 34px;
    color: rgba(255,255,255,.72);
}
.interior-hero .breadcrumbs a { color: #fff; }
.interior-hero__heading {
    display: grid;
    grid-template-columns: 76px minmax(0, 1fr);
    align-items: start;
    gap: 24px;
    max-width: 940px;
}
.interior-hero__icon {
    display: grid;
    place-items: center;
    width: 76px;
    height: 76px;
    color: #fff;
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.32);
    border-radius: 22px;
    box-shadow: 0 16px 35px rgba(0,0,0,.18);
    backdrop-filter: blur(14px);
}
.interior-hero__icon .icon { width: 38px; height: 38px; }
.interior-hero .section-kicker { color: #ff9a57; }
.interior-hero h1 {
    max-width: 920px;
    margin: 0;
    color: #fff;
    font-size: clamp(3rem, 7vw, 5.7rem);
    overflow-wrap: anywhere;
    hyphens: auto;
    text-wrap: balance;
    text-shadow: 0 5px 22px rgba(0,0,0,.24);
}
.interior-hero .page-intro {
    max-width: 820px;
    margin-top: 20px;
    color: rgba(255,255,255,.87);
    font-size: clamp(1.12rem, 2vw, 1.38rem);
    line-height: 1.55;
}
.interior-hero--members {
    min-height: clamp(330px, 36vw, 440px);
    background-position: center 42%;
}
.interior-hero--members .interior-hero__shade {
    background:
        linear-gradient(100deg, rgba(3,29,55,.99) 0%, rgba(4,55,91,.94) 52%, rgba(0,111,159,.66) 100%),
        linear-gradient(0deg, rgba(3,29,55,.66), transparent 60%);
}
.interior-hero__watermark {
    position: absolute;
    z-index: 1;
    right: max(4vw, calc((100vw - 1180px) / 2));
    bottom: -82px;
    width: 300px;
    height: 300px;
    opacity: .11;
    filter: grayscale(1) brightness(4);
    pointer-events: none;
}
.interior-hero__watermark-logo { width: 100%; height: 100%; object-fit: contain; }
.interior-shell--below-hero {
    position: relative;
    z-index: 4;
    margin-top: -36px;
}
.interior-shell--below-hero .member-portal-nav { margin-bottom: 20px; }
.content-article--sectioned {
    padding: clamp(30px, 4.5vw, 58px);
    border-radius: 22px;
    box-shadow: 0 20px 55px rgba(6,47,87,.10);
}
.content-article--sectioned:not(.content-article--wide) .entry-content {
    max-width: 820px;
    margin-inline: auto;
}
.content-article--sectioned .entry-content > .alignwide,
.content-article--sectioned .entry-content > .alignfull {
    width: auto;
    max-width: none;
    margin-inline: 0;
}
.content-article--sectioned .entry-content > h2:first-child { margin-top: 0; }
.content-article--sectioned .entry-content > h2 {
    padding-top: .2em;
}
.content-article--sectioned .entry-content > hr {
    margin-block: 3rem;
}

@media (max-width: 860px) {
    .interior-hero { min-height: 410px; background-position: 62% center; }
    .interior-hero__shade {
        background: linear-gradient(90deg, rgba(3,29,55,.97) 0%, rgba(3,29,55,.87) 66%, rgba(3,29,55,.45) 100%);
    }
    .interior-hero__inner { padding-top: 48px; padding-bottom: 66px; }
    .interior-hero__heading { grid-template-columns: 62px minmax(0,1fr); gap: 18px; }
    .interior-hero__icon { width: 62px; height: 62px; border-radius: 18px; }
    .interior-hero__icon .icon { width: 31px; height: 31px; }
    .interior-hero h1 { font-size: clamp(2.6rem, 10vw, 4.5rem); }
    .interior-shell--below-hero { margin-top: -24px; }
}
@media (max-width: 600px) {
    .interior-main--hero { padding-bottom: 75px; }
    .interior-hero {
        min-height: 440px;
        align-items: end;
        background-position: 68% center;
    }
    .interior-hero__shade {
        background: linear-gradient(180deg, rgba(3,29,55,.30) 0%, rgba(3,29,55,.80) 42%, rgba(3,29,55,.98) 100%);
    }
    .interior-hero__inner { padding-top: 120px; padding-bottom: 62px; }
    .interior-hero .breadcrumbs { margin-bottom: 22px; }
    .interior-hero__heading { grid-template-columns: 1fr; gap: 15px; }
    .interior-hero__icon { width: 58px; height: 58px; }
    .interior-hero h1 { font-size: clamp(2.15rem, 11vw, 3.3rem); }
    .interior-hero .page-intro { font-size: 1.08rem; }
    .interior-hero__watermark { width: 210px; height: 210px; right: -35px; bottom: -55px; }
    .content-article--sectioned { padding: 28px 20px; border-radius: 17px; }
}
.single-event__meta--hero { margin:22px 0 0; color:rgba(255,255,255,.9); }
.single-event__meta--hero span { display:inline-flex; align-items:center; gap:8px; margin:0 18px 8px 0; }
.single-event__meta--hero .icon { color:#ff9a57; }
.interior-hero .single-event__actions { margin-top:22px; }

/* 0.15.0 — koorledenmodus en beheermodus visueel uit elkaar. */
.interior-hero--management{min-height:280px;background:#062f53}.interior-hero--management .interior-hero__shade{background:linear-gradient(90deg,rgba(4,34,61,.96),rgba(4,72,108,.88))}.interior-hero--management .interior-hero__watermark{opacity:.06}.interior-hero--management .interior-hero__icon{background:rgba(237,113,34,.18);border-color:rgba(255,174,117,.45);color:#ffae75}.content-article--management{padding:0;background:transparent;border:0;box-shadow:none}.content-article--management>.entry-content{max-width:none}.member-manager-switch{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin:.8rem 0 1rem;padding:.75rem 1rem;color:#714019;background:#fff8f1;border:1px solid #efc49f;border-radius:12px}.member-manager-switch div{display:grid;gap:.15rem}.member-manager-switch span{color:#765f4d;font-size:.92rem}.member-manager-switch a{display:inline-flex;min-height:44px;align-items:center;padding:.55rem .8rem;color:#fff;background:#d86216;border-radius:9px;text-decoration:none;font-weight:800}.member-manager-switch a:hover{background:#bf4f0a;color:#fff}
@media(max-width:700px){.interior-hero--management{min-height:240px}.member-manager-switch{align-items:flex-start;flex-direction:column}.member-manager-switch a{width:100%;justify-content:center}}

/* ENKA contact page */
.contact-section {
    padding: clamp(3.5rem, 7vw, 6rem) 0;
    background:
        radial-gradient(circle at 85% 8%, rgba(21,154,203,.10), transparent 28rem),
        var(--enka-bg);
}
.contact-section__inner {
    display: grid;
    grid-template-columns: minmax(0, .82fr) minmax(500px, 1.18fr);
    gap: clamp(2rem, 5vw, 4.75rem);
    align-items: start;
}
.contact-intro {
    position: sticky;
    top: 120px;
}
.contact-intro > h2,
.contact-editorial > h2 {
    max-width: 12ch;
    margin-bottom: .7rem;
}
.contact-intro > p:not(.section-kicker),
.contact-editorial__intro {
    max-width: 34rem;
    color: var(--enka-muted);
    font-size: 1.08rem;
}
.entry-content.prose .contact-editorial > .section-kicker {
    color: var(--enka-copper);
    line-height: 1.68;
}
.entry-content.prose .contact-editorial > h2 {
    max-width: 12ch;
    margin: 0 0 .7rem;
    color: var(--enka-navy-950);
    font-size: clamp(2rem, 3vw, 2.4rem);
    line-height: 1.12;
    letter-spacing: -.025em;
}
.entry-content.prose .contact-editorial > .contact-editorial__intro {
    margin: 0 0 1.15rem;
    color: var(--enka-muted);
    font-size: 1.08rem;
    line-height: 1.68;
}
.contact-routes {
    display: grid;
    gap: .55rem;
    margin-top: 2rem;
}
.contact-routes > .contact-route + .contact-route { margin-block-start: 0 !important; }
.contact-page .entry-content.prose .contact-editorial,
.contact-page .entry-content.prose .contact-routes,
.contact-page .entry-content.prose .contact-route {
    width: 100%;
    max-width: none;
    margin-right: 0 !important;
    margin-left: 0 !important;
}
.contact-page .entry-content.prose .contact-editorial > *,
.contact-page .entry-content.prose .contact-routes > *,
.contact-page .entry-content.prose .contact-route > *,
.contact-page .entry-content.prose .contact-route__copy > * {
    max-width: none;
    margin-right: 0 !important;
    margin-left: 0 !important;
}
.contact-route {
    position: relative;
    display: grid;
    grid-template-columns: 46px minmax(0, 1fr) auto;
    gap: .9rem;
    align-items: center;
    min-height: 78px;
    padding: .8rem .95rem;
    color: var(--enka-ink);
    background: rgba(255,255,255,.88);
    border: 1px solid var(--enka-line);
    border-radius: 14px;
    box-shadow: 0 8px 24px rgba(6,47,87,.05);
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.wp-block-group.contact-route::before {
    width: 46px;
    height: 46px;
    content: "";
    background-color: var(--enka-petrol-soft);
    background-image: var(--contact-route-icon);
    background-position: center;
    background-repeat: no-repeat;
    background-size: 23px 23px;
    border-radius: 12px;
}
.wp-block-group.contact-route::after {
    color: var(--enka-copper);
    content: "→";
    font-size: 1.25rem;
    font-weight: 700;
}
.contact-route--general { --contact-route-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b6f6d' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m4 7 8 6 8-6'/%3E%3C/svg%3E"); }
.contact-route--singing { --contact-route-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b6f6d' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='3'/%3E%3Ccircle cx='17' cy='9' r='2.4'/%3E%3Cpath d='M3.5 20v-2a5.5 5.5 0 0 1 11 0v2M14 14a4.5 4.5 0 0 1 6.5 4v2'/%3E%3C/svg%3E"); }
.contact-route--concert { --contact-route-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b6f6d' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 6h16v4a2 2 0 0 0 0 4v4H4v-4a2 2 0 0 0 0-4V6Z'/%3E%3Cpath d='M12 7v10'/%3E%3C/svg%3E"); }
.contact-route--support { --contact-route-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b6f6d' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.8 5.7a5 5 0 0 0-7.1 0L12 7.4l-1.7-1.7a5 5 0 1 0-7.1 7.1L12 21l8.8-8.2a5 5 0 0 0 0-7.1Z'/%3E%3C/svg%3E"); }
.contact-route--website { --contact-route-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b6f6d' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M9.7 9a2.5 2.5 0 1 1 3.8 2.1c-1 .6-1.5 1.1-1.5 2.4M12 17h.01'/%3E%3C/svg%3E"); }
.entry-content.prose .contact-route__copy { min-width: 0; margin: 0; }
.entry-content.prose .contact-route__title { margin: 0; font-family: var(--font-heading); font-size: .98rem; line-height: 1.68; letter-spacing: normal; }
.entry-content.prose .contact-route__title a { color: var(--enka-navy-950); text-decoration: none; }
.contact-route__title a::after { position: absolute; inset: 0; content: ""; }
.entry-content.prose .contact-route__description { margin: .15rem 0 0; color: var(--enka-muted); font-size: .88rem; line-height: 1.35; }
.contact-route:hover {
    color: var(--enka-ink);
    border-color: rgba(0,126,182,.48);
    box-shadow: 0 13px 32px rgba(6,47,87,.10);
    transform: translateY(-2px);
}
.contact-route__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    color: var(--enka-blue-700);
    background: var(--enka-sky-100);
    border-radius: 12px;
}
.contact-route__icon .icon { width: 23px; height: 23px; }
.contact-route strong,
.contact-route small { display: block; }
.contact-route strong { color: var(--enka-navy-950); font-family: var(--font-heading); font-size: .98rem; }
.contact-route small { margin-top: .15rem; color: var(--enka-muted); font-size: .88rem; line-height: 1.35; }
.contact-route__arrow { color: var(--enka-orange); font-size: 1.25rem; font-weight: 700; }
.contact-form-panel {
    padding: clamp(1.35rem, 3vw, 2.2rem);
    background: rgba(255,255,255,.96);
    border: 1px solid var(--enka-line);
    border-radius: 22px;
    box-shadow: var(--shadow-md);
}
.contact-form-panel__header {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
    margin-bottom: 1.65rem;
    padding-bottom: 1.35rem;
    border-bottom: 1px solid var(--enka-line);
}
.contact-form-panel__header h2 { margin-bottom: .35rem; font-size: clamp(1.7rem, 3vw, 2.35rem); }
.contact-form-panel__header p:last-child { margin: 0; color: var(--enka-muted); }
.contact-form-panel__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 54px;
    height: 54px;
    flex: 0 0 auto;
    color: #fff;
    background: linear-gradient(145deg, var(--enka-blue-600), var(--enka-navy-800));
    border-radius: 14px;
    box-shadow: 0 10px 24px rgba(0,126,182,.22);
}
.contact-form-panel__icon .icon { width: 27px; height: 27px; }
.contact-form-missing { padding: 1rem; color: #7a2921; background: #fff2ef; border: 1px solid #e0aaa4; border-radius: 12px; }
.contact-form-missing p { margin: .35rem 0 0; }
@media (max-width: 980px) {
    .contact-section__inner { grid-template-columns: 1fr; }
    .contact-intro { position: static; }
    .contact-intro > h2,
    .contact-editorial > h2,
    .entry-content.prose .contact-editorial > h2 { max-width: none; }
    .contact-routes { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 680px) {
    .contact-section { padding: 2.75rem 0; }
    .contact-routes { grid-template-columns: 1fr; }
    .contact-route { min-height: 72px; }
    .contact-form-panel { padding: 1.1rem; border-radius: 16px; }
    .contact-form-panel__header { align-items: center; }
    .contact-form-panel__header .section-kicker { margin-bottom: .2rem; }
}

/* v0.18.3 — alle binnenpagina-hero's delen het warme petrol-, koper- en zandpalet. */
body .interior-hero,
body .interior-hero--management {
    background-color: var(--enka-petrol-800);
}
body .interior-hero__shade,
body .interior-hero--members .interior-hero__shade,
body .interior-hero--management .interior-hero__shade {
    background:
        radial-gradient(circle at 20% 42%, rgba(185, 83, 47, .24), transparent 32%),
        linear-gradient(90deg,
            rgba(12, 43, 54, .985) 0%,
            rgba(18, 61, 81, .95) 42%,
            rgba(46, 64, 57, .76) 72%,
            rgba(50, 42, 34, .62) 100%),
        linear-gradient(0deg, rgba(45, 31, 24, .58), transparent 64%);
}

@media (max-width: 860px) {
    body .interior-hero__shade,
    body .interior-hero--members .interior-hero__shade,
    body .interior-hero--management .interior-hero__shade {
        background:
            radial-gradient(circle at 18% 34%, rgba(185, 83, 47, .22), transparent 34%),
            linear-gradient(90deg, rgba(12, 43, 54, .98), rgba(18, 61, 81, .93) 68%, rgba(50, 42, 34, .70));
    }
}

@media (max-width: 600px) {
    body .interior-hero__shade,
    body .interior-hero--members .interior-hero__shade,
    body .interior-hero--management .interior-hero__shade {
        background:
            radial-gradient(circle at 72% 18%, rgba(185, 83, 47, .20), transparent 35%),
            linear-gradient(180deg, rgba(18, 61, 81, .48), rgba(12, 43, 54, .90) 46%, rgba(45, 31, 24, .98));
    }
}

/* =========================================================
   ENKA 0.17 — warm, vertrouwd en klaar voor een nieuwe eeuw
   ========================================================= */
:root {
    --enka-cream-50: #fffaf2;
    --enka-cream-100: #f8efdf;
    --enka-sand-200: #ead9be;
    --enka-gold: #c69b4b;
    --enka-copper: #b9532f;
    --enka-copper-dark: #943d24;
    --enka-warm-ink: #25302e;
    --font-display: Georgia, "Times New Roman", serif;
    --shadow-sm: 0 12px 32px rgba(54, 43, 31, .08);
    --shadow-md: 0 22px 58px rgba(54, 43, 31, .14);
}

body {
    color: var(--enka-warm-ink);
    background: var(--enka-cream-50);
}

h1, h2 {
    font-family: var(--font-display);
    font-weight: 700;
    letter-spacing: -.025em;
}

h3, h4, h5, h6 { letter-spacing: -.02em; }
a { color: #086a91; }
::selection { background: var(--enka-copper); }

.site-header {
    background: rgba(255, 250, 242, .95);
    border-bottom-color: rgba(198, 155, 75, .28);
}
.site-header::after {
    content: "";
    position: absolute;
    inset: auto 0 0;
    height: 2px;
    background: linear-gradient(90deg, transparent 4%, var(--enka-gold) 30%, var(--enka-copper) 50%, var(--enka-gold) 70%, transparent 96%);
    opacity: .48;
}
.site-header.is-scrolled { background: rgba(255,250,242,.985); }
.primary-nav a { color: #183a50; }
.primary-nav a:hover,
.primary-nav .current-menu-item > a,
.primary-nav .current-menu-ancestor > a { color: var(--enka-copper); }
.primary-nav .current-menu-item > a::before,
.primary-nav .current-menu-ancestor > a::before {
    content: "";
    position: absolute;
    inset: auto 0 4px;
    height: 2px;
    background: var(--enka-gold);
}
.primary-nav .sub-menu { background: var(--enka-cream-50); border-color: var(--enka-sand-200); }
.primary-nav .sub-menu a:hover { background: var(--enka-cream-100); }

.section-kicker, .eyebrow { color: var(--enka-copper); letter-spacing: .14em; }
.section-kicker::before {
    content: "";
    display: inline-block;
    width: 24px;
    height: 1px;
    margin-right: 9px;
    vertical-align: middle;
    background: var(--enka-gold);
}
.text-link { color: #087098; }
.text-link:hover { color: var(--enka-copper-dark); }
.prose { color: #45534f; }
.prose blockquote {
    color: #5d3b2e;
    background: var(--enka-cream-100);
    border-left-color: var(--enka-copper);
}

.button { border-radius: 7px; }
.button--accent {
    background: var(--enka-copper);
    box-shadow: 0 12px 28px rgba(185, 83, 47, .24);
}
.button--accent:hover { background: var(--enka-copper-dark); box-shadow: 0 15px 34px rgba(148,61,36,.28); }
.button--outline { color: #086a91; border-color: rgba(8,106,145,.42); background: rgba(255,250,242,.92); }
.button--outline:hover { border-color: #086a91; background: #086a91; }
.button--members { color: #086a91; border-color: rgba(8,106,145,.45); background: var(--enka-cream-50); }
.button--members:hover { background: #086a91; border-color: #086a91; }

.interior-main,
.interior-main--hero {
    background:
        radial-gradient(circle at 7% 15%, rgba(198,155,75,.10), transparent 26rem),
        linear-gradient(180deg, var(--enka-cream-100), var(--enka-cream-50) 540px, #fff 100%);
}
.interior-hero { min-height: clamp(330px, 38vw, 455px); }
.interior-hero__shade {
    background:
        linear-gradient(90deg, rgba(9,38,56,.98) 0%, rgba(13,58,75,.89) 49%, rgba(72,53,41,.30) 100%),
        linear-gradient(0deg, rgba(45,31,24,.64), transparent 64%);
}
.interior-hero::after {
    content: "";
    position: absolute;
    z-index: 1;
    inset: auto 0 0;
    height: 4px;
    background: linear-gradient(90deg, var(--enka-copper), var(--enka-gold) 42%, var(--enka-copper));
}
.interior-hero__inner { padding-bottom: 64px; }
.interior-hero__icon {
    color: #ffe9c8;
    background: rgba(122,72,44,.30);
    border-color: rgba(232,196,134,.56);
    border-radius: 50%;
}
.interior-hero .section-kicker { color: #efbd71; }
.interior-hero .page-intro { color: rgba(255,247,233,.91); }
.content-article--sectioned,
.content-article {
    background: rgba(255,253,248,.97);
    border-color: var(--enka-sand-200);
    border-radius: 14px;
}
.content-article--sectioned { box-shadow: 0 20px 55px rgba(75,55,34,.10); }
.content-article--sectioned .entry-content > h2 {
    padding-bottom: .28em;
    border-bottom: 1px solid var(--enka-sand-200);
}
.archive-card,
.single-event__location,
.empty-state,
.error-panel { background: #fffdf8; border-color: var(--enka-sand-200); border-radius: 12px; }
.archive-card time { color: var(--enka-copper-dark); }
.single-event__location { background: var(--enka-cream-100); }

.site-footer {
    position: relative;
    color: rgba(255,248,236,.84);
    background:
        radial-gradient(circle at 84% 4%, rgba(185,83,47,.28), transparent 30%),
        radial-gradient(circle at 18% 100%, rgba(198,155,75,.12), transparent 32%),
        #092d42;
}
.site-footer::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 4px;
    background: linear-gradient(90deg, var(--enka-copper), var(--enka-gold) 45%, var(--enka-copper));
}
.site-footer__heading { color: #fff5e5; }
.site-footer__links a, .site-footer__contact a { color: rgba(255,248,236,.80); }
.site-footer__contact .icon { color: #efbd71; }
.site-footer__bottom { border-top-color: rgba(231,195,133,.22); }
.social-links a { border-color: rgba(231,195,133,.46); }
.social-links a:hover { color: #163a4d; background: #f7e8cf; }

@media (max-width: 860px) {
    .site-header__navigation { background: rgba(255,250,242,.995); border-top-color: var(--enka-sand-200); }
    .primary-nav a { border-bottom-color: var(--enka-sand-200); }
    .primary-nav .current-menu-item > a::before,
    .primary-nav .current-menu-ancestor > a::before { display: none; }
    .interior-hero { min-height: 380px; }
}

@media (max-width: 600px) {
    .interior-hero { min-height: 410px; }
    .interior-hero__inner { padding-bottom: 54px; }
}

/* =========================================================
   ENKA 0.18.2 — één warm palet voor publieke en ledenpagina's
   ========================================================= */
:root {
    --enka-petrol-800: #123d51;
    --enka-petrol-700: #174e64;
    --enka-petrol-600: #246b7c;
    --enka-petrol-soft: #e8f1f0;
    --enka-copper-soft: #f6e8df;
}

/* Contact: dezelfde rustige materialen en kopertint als de overige publieke CTA's. */
body .contact-section { background: linear-gradient(135deg, rgba(248,239,223,.72), rgba(232,241,240,.62)); }
body .contact-route { background: rgba(255,253,248,.94); border-color: var(--enka-sand-200); }
body .contact-route:hover { border-color: rgba(185,83,47,.46); box-shadow: 0 13px 32px rgba(54,43,31,.10); }
body .contact-route__icon { color: var(--enka-petrol-700); background: var(--enka-petrol-soft); }
body .contact-route__arrow { color: var(--enka-copper); }
body .contact-form-panel { background: rgba(255,253,248,.97); border-color: var(--enka-sand-200); }
body .contact-form-panel__header { border-bottom-color: var(--enka-sand-200); }
body .contact-form-panel__icon {
    background: linear-gradient(145deg, var(--enka-petrol-600), var(--enka-petrol-800));
    box-shadow: 0 10px 24px rgba(23,78,100,.20);
}
body .dp-contact-form__submit {
    background: var(--enka-copper);
    box-shadow: 0 12px 28px rgba(185,83,47,.22);
}
body .dp-contact-form__submit:hover {
    background: var(--enka-copper-dark);
    box-shadow: 0 15px 32px rgba(148,61,36,.27);
}
body .dp-contact-form__submit:focus-visible { outline-color: rgba(185,83,47,.34); }

/* Ledenbalk en pagina-omhulsels: ivoor, zand en petrol in plaats van helder portaalblauw. */
body .member-portal-nav { background: rgba(255,253,248,.96); border-color: var(--enka-sand-200); box-shadow: 0 12px 32px rgba(54,43,31,.08); }
body .member-portal-nav__label .icon { color: var(--enka-copper); }
body .member-portal-nav__item { color: var(--enka-petrol-700); background: #f6f2e9; }
body .member-portal-nav__item .icon { color: var(--enka-petrol-600); }
body .member-portal-nav__item:hover { color: var(--enka-petrol-800); background: var(--enka-petrol-soft); border-color: #bfd2d1; }
body .member-portal-nav__item.is-active {
    color: #fff;
    background: linear-gradient(135deg, var(--enka-petrol-700), var(--enka-petrol-600));
    border-color: var(--enka-petrol-700);
    box-shadow: 0 8px 20px rgba(23,78,100,.18);
}
body .content-article--members {
    border-color: var(--enka-sand-200);
    background: radial-gradient(circle at 95% 3%, rgba(198,155,75,.10), transparent 270px), #fffdf8;
}
body .content-header--with-icon { border-bottom-color: var(--enka-sand-200); }
body .content-header__icon {
    background: linear-gradient(145deg, var(--enka-petrol-600), var(--enka-petrol-800));
    border-color: #f4ead8;
    box-shadow: 0 12px 28px rgba(23,78,100,.17);
}

/* Core-componenten: functionele acties in petrol, warme accenten uitsluitend als detail. */
body .enka-overline,
body .enka-member-welcome__label { color: var(--enka-copper); }
body .enka-button { color: var(--enka-petrol-700); border-color: #a9c4c5; background: #fffdf8; }
body .enka-button:hover { border-color: var(--enka-petrol-600); box-shadow: 0 9px 22px rgba(23,78,100,.12); }
body .enka-button--accent,
body .enka-archive-card__actions .enka-button--accent,
body .enka-server-search--premium .enka-button--accent {
    color: #fff;
    background: linear-gradient(135deg, var(--enka-petrol-600), var(--enka-petrol-700));
    border-color: var(--enka-petrol-700);
    box-shadow: 0 8px 18px rgba(23,78,100,.16);
}
body .enka-button--accent:hover,
body .enka-button--accent:focus-visible,
body .enka-archive-card__actions .enka-button--accent:hover {
    color: #fff;
    background: linear-gradient(135deg, var(--enka-petrol-700), var(--enka-petrol-800));
    border-color: var(--enka-petrol-800);
}
body .enka-button--quiet { color: var(--enka-petrol-700); background: #f5f1e9; border-color: #d8cdbb; }
body .enka-library-tabs,
body .enka-program-switcher,
body .enka-archive-controls { background: #f7f4ee; border-color: #ded8cd; }
body .enka-library-tabs a { color: var(--enka-petrol-700); }
body .enka-library-tabs a.is-active,
body .enka-library-tabs--hero a.is-active {
    color: #fff;
    background: linear-gradient(135deg, var(--enka-petrol-700), var(--enka-petrol-600));
    box-shadow: 0 7px 18px rgba(23,78,100,.17);
}
body .enka-library-intro {
    background: radial-gradient(circle at 90% 8%, rgba(198,155,75,.17), transparent 34%), linear-gradient(135deg, var(--enka-petrol-800), var(--enka-petrol-600));
    box-shadow: 0 18px 42px rgba(18,61,81,.15);
}
body .enka-library-intro .enka-overline { color: #e6b780; }

/* 0.18.4 — rustige premium hiërarchie en consistente navigatie. */
body .section-kicker,
body .eyebrow,
body .enka-overline {
    margin-bottom: .55rem;
}
body .section-kicker + h1,
body .section-kicker + h2,
body .section-kicker + h3,
body .eyebrow + h1,
body .eyebrow + h2,
body .eyebrow + h3,
body .enka-overline + h1,
body .enka-overline + h2,
body .enka-overline + h3 {
    margin-top: 0 !important;
}
body .enka-preparation-intro {
    display: block !important;
}
body .enka-preparation-intro > .enka-overline {
    margin: 0 0 .55rem !important;
}
body .enka-preparation-intro > .enka-overline + h2 {
    margin: 0 0 .65rem !important;
}

body .member-portal-nav__item.is-active {
    color: #164f5d;
    background: #fffdf8;
    border: 1px solid #d8c39b;
    box-shadow: inset 0 -3px #b86a43, 0 7px 18px rgba(23,63,76,.08);
}
body .member-portal-nav__item.is-active svg { color: #1f6a76; }
.member-manager-switch {
    color: #284c54;
    background: #f7f3e9;
    border-color: #ded2bb;
}
.member-manager-switch span { color: #6b6b61; }
.member-manager-switch a {
    color: #fffdf8;
    background: #c45532;
    box-shadow: 0 7px 18px rgba(196,85,50,.22);
}
.member-manager-switch a:hover { color: #fff; background: #a94429; }

.concert-family-nav {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .55rem;
    margin: 0 0 1rem;
    padding: .55rem;
    background: #f5f0e5;
    border: 1px solid #e3d7c2;
    border-radius: 14px;
    box-shadow: 0 12px 32px rgba(45,55,50,.07);
}
.concert-family-nav__item {
    display: flex;
    min-height: 52px;
    align-items: center;
    justify-content: center;
    gap: .55rem;
    padding: .7rem .85rem;
    color: #245766;
    border: 1px solid transparent;
    border-radius: 10px;
    text-decoration: none;
    font-weight: 800;
}
.concert-family-nav__item .icon,
.concert-family-nav__item svg { width: 20px; height: 20px; }
.concert-family-nav__item:hover { color: #143f49; background: #fffdf9; }
.concert-family-nav__item.is-active {
    color: #fffdf8;
    background: linear-gradient(135deg, #143f4d, #246d72);
    box-shadow: 0 8px 20px rgba(16,61,70,.17);
}

.content-article--inviting .entry-content > h2:not(:first-child),
.content-article--concert-family .entry-content > h2:not(:first-child) {
    margin-top: 2.4rem;
    padding-top: 1.65rem;
    border-top: 1px solid #e7dac2;
}
.content-article--inviting .entry-content > h2::before {
    display: inline-block;
    width: .52rem;
    height: .52rem;
    margin: 0 .65rem .12em 0;
    background: #b86a43;
    border-radius: 50%;
    content: '';
}
.conductor-profile {
    display: grid;
    grid-template-columns: minmax(220px, .8fr) minmax(260px, 1fr);
    gap: clamp(1.2rem, 3vw, 2.4rem);
    align-items: center;
    margin: 2rem 0 0;
    padding: clamp(1rem, 2vw, 1.5rem);
    background: #f6f1e8;
    border: 1px solid #e1d2ba;
    border-radius: 20px;
    box-shadow: 0 18px 42px rgba(31, 52, 63, .11);
}
.conductor-profile__image { overflow: hidden; aspect-ratio: 4 / 5; border-radius: 15px; }
.conductor-profile__image img { width: 100%; height: 100%; object-fit: cover; }
.conductor-profile figcaption { display: grid; gap: .3rem; }
.conductor-profile figcaption strong { color: #123f4e; font-family: var(--font-display, Georgia, serif); font-size: clamp(1.8rem, 4vw, 3rem); }
.conductor-profile figcaption > span:last-child { color: #5e6b69; line-height: 1.55; }

.content-article--history .entry-content > figure.wp-block-image,
.single-event .entry-content > figure.wp-block-image {
    width: fit-content;
    max-width: 100%;
    margin: clamp(1.6rem, 4vw, 2.6rem) auto !important;
    padding: .45rem;
    overflow: hidden;
    background: #f6f1e8;
    border: 1px solid #e1d2ba;
    border-radius: 18px;
    box-shadow: 0 16px 38px rgba(31, 52, 63, .10);
}
.content-article--history .entry-content > figure.wp-block-image img,
.single-event .entry-content > figure.wp-block-image img {
    display: block;
    max-width: 100%;
    height: auto;
    border-radius: 12px;
}
.single-event__flyer {
    width: fit-content;
    max-width: min(100%, 760px);
    margin: 0 auto clamp(38px, 6vw, 66px);
    padding: clamp(10px, 1.6vw, 18px);
    background: #fffdf9;
    border: 1px solid var(--enka-sand-200);
    border-radius: 20px;
    box-shadow: 0 18px 50px rgba(7, 46, 69, .12);
}
.single-event__flyer a { display: block; }
.single-event__flyer img { display: block; width: auto; max-width: 100%; max-height: 820px; object-fit: contain; border-radius: 13px; }
.single-event__flyer figcaption { padding: 10px 8px 2px; color: var(--enka-muted); font-size: .9rem; text-align: center; }
.single-event__gallery { margin-top: clamp(54px, 8vw, 92px); padding-top: clamp(42px, 6vw, 68px); border-top: 1px solid var(--enka-line); scroll-margin-top: 120px; }
.single-event__gallery > h2 { margin-bottom: 28px; }
.single-event__gallery-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(14px, 2vw, 24px); }
.single-event__gallery-grid figure { margin: 0; }
.single-event__gallery-grid a { display: block; aspect-ratio: 4 / 3; overflow: hidden; background: var(--enka-cream-100); border: 1px solid var(--enka-sand-200); border-radius: 16px; box-shadow: 0 10px 28px rgba(7, 46, 69, .09); }
.single-event__gallery-grid img { width: 100%; height: 100%; object-fit: cover; transition: transform .25s ease; }
.single-event__gallery-grid a:hover img { transform: scale(1.025); }
.single-event__gallery-grid figcaption { padding: 8px 4px 0; color: var(--enka-muted); font-size: .88rem; }

.enka-event-item.has-image {
    grid-template-columns: 104px minmax(190px, .72fr) minmax(260px, 1.35fr);
}
.enka-event-item__image {
    display: block;
    align-self: stretch;
    min-height: 132px;
    overflow: hidden;
    background: #f2eadc;
    border: 1px solid #e1d2ba;
    border-radius: 15px;
    box-shadow: 0 12px 28px rgba(31, 52, 63, .10);
}
.enka-event-item__image img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 132px;
    object-fit: cover;
    border-radius: 14px;
    transition: transform .28s ease;
}
.enka-event-item.has-flyer .enka-event-item__image { background: #fffdf9; }
.enka-event-item.has-flyer .enka-event-item__image img { object-fit: contain; padding: 5px; }
.enka-event-item.has-image:hover .enka-event-item__image img { transform: scale(1.025); }

@media (max-width: 820px) {
    .enka-event-item.has-image { grid-template-columns: 82px minmax(0, 1fr); }
    .enka-event-item.has-image time { grid-row: 1 / span 2; }
    .enka-event-item__image,
    .enka-event-item.has-image .enka-event-item__content { grid-column: 2; }
    .enka-event-item__image { min-height: 170px; }
    .single-event__gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 540px) {
    .single-event__gallery-grid { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
    .enka-event-item__image img { transition: none; }
    .single-event__gallery-grid img { transition: none; }
}

.site-footer__contact a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: .2em; }
.footer-news-link {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    margin-top: .25rem;
    color: #f4ead5;
    text-decoration: none;
    font-weight: 800;
}
.footer-news-link::after { content: '→'; transition: transform .18s ease; }
.footer-news-link:hover { color: #fff; }
.footer-news-link:hover::after { transform: translateX(3px); }

@media (max-width: 720px) {
    .concert-family-nav { grid-template-columns: 1fr; }
    .concert-family-nav__item { justify-content: flex-start; }
    .conductor-profile { grid-template-columns: 1fr; }
    .conductor-profile__image { aspect-ratio: 4 / 3; }
}
body .enka-server-search--premium .enka-search-field__icon { color: var(--enka-petrol-600); }
body .enka-availability-filter button { color: var(--enka-petrol-700); border-color: #c7d6d2; background: #fffdf8; }
body .enka-availability-filter button:hover,
body .enka-availability-filter button.is-active,
body .enka-az-index--premium a:hover,
body .enka-az-index--premium a:focus-visible,
body .enka-az-index--premium a.is-active { color: #fff; background: var(--enka-petrol-700); border-color: var(--enka-petrol-700); }
body .enka-az-index--premium,
body .enka-archive-card,
body .enka-repertoire-card,
body .enka-document-card,
body .enka-dashboard-card { background: #fffdf8; border-color: #ded8cd; box-shadow: 0 9px 26px rgba(54,43,31,.055); }
body .enka-archive-card__mark,
body .enka-file-badge,
body .enka-empty-state__icon,
body .enka-program-admin-card__icon,
body .enka-piece-row__icon,
body .enka-dashboard-card__icon { color: var(--enka-petrol-700); background: var(--enka-petrol-soft); }
body .enka-dashboard-card::before { background: var(--enka-petrol-600); }
body .enka-dashboard-card--orange::before { background: var(--enka-copper); }
body .enka-dashboard-card--orange .enka-dashboard-card__icon { color: var(--enka-copper-dark); background: var(--enka-copper-soft); }
body .enka-member-welcome__icon { background: linear-gradient(145deg, var(--enka-petrol-600), var(--enka-petrol-800)); box-shadow: 0 12px 25px rgba(23,78,100,.20); }
body .enka-login-callout { background: #f7f4ee; border-color: #ded8cd; }

/* v0.16.0 — portaalpagina's gebruiken de volle breedte zonder dubbele witte kaart. */
body.dp-enka-portal-library .interior-main,
body.dp-enka-portal-management .interior-main,
body.dp-enka-portal-documents .interior-main {
    background: linear-gradient(180deg, #eef8fc 0, #f8fbfd 360px, #fff 100%);
}
body.dp-enka-portal-library .content-article,
body.dp-enka-portal-management .content-article,
body.dp-enka-portal-documents .content-article {
    padding: 0;
    background: transparent;
    border: 0;
    box-shadow: none;
}
body.dp-enka-portal-library .entry-content,
body.dp-enka-portal-management .entry-content,
body.dp-enka-portal-documents .entry-content {
    max-width: none;
}
body.dp-enka-portal-library .entry-content > p:empty,
body.dp-enka-portal-management .entry-content > p:empty,
body.dp-enka-portal-documents .entry-content > p:empty {
    display: none;
}
body.dp-enka-portal-library .interior-shell--below-hero,
body.dp-enka-portal-management .interior-shell--below-hero,
body.dp-enka-portal-documents .interior-shell--below-hero {
    padding-top: 34px;
}
body.dp-enka-portal-library .member-portal-nav,
body.dp-enka-portal-management .member-portal-nav,
body.dp-enka-portal-documents .member-portal-nav {
    margin-bottom: 28px;
}
@media (max-width: 680px) {
    body.dp-enka-portal-library .interior-shell--below-hero,
    body.dp-enka-portal-management .interior-shell--below-hero,
    body.dp-enka-portal-documents .interior-shell--below-hero {
        padding-top: 22px;
    }
}
