/* Header en footer letterlijk ontleend aan outputs/teamprogramma.html (16 september 2026).
   Klassen zijn afgeschermd van bestaande pagina-CSS. */
.site-shell { --black:#080a09; --green:#00b050; font:450 16px/1.65 'Inter',Arial,sans-serif; text-align:start; flex-shrink:0; }
.site-shell *, .site-shell *::before, .site-shell *::after { box-sizing:border-box; }
.site-shell a { color:inherit; text-decoration:none; }
.site-shell p { margin:0; }
.site-shell button { font:inherit; cursor:pointer; }
.site-shell :is(a,button) { -webkit-tap-highlight-color:transparent; -webkit-touch-callout:default; }
.site-shell .shell-menu-toggle { padding:1px 6px; }
.site-shell .shell-container {width:min(1280px,calc(100% - 104px));margin-inline:auto}
.site-shell.site-header {position:sticky;top:0;z-index:30;background:rgba(8,10,9,.97);color:white;border-bottom:1px solid #252c27}
.site-shell .shell-header-inner {height:84px;display:flex;align-items:center;justify-content:space-between;gap:32px}
.site-shell .shell-wordmark {font-size:1.7rem;line-height:1;font-weight:900;letter-spacing:-.09em;white-space:nowrap}
.site-shell .shell-wordmark span {color:var(--green)}
.site-shell .shell-wordmark sup {font-size:.55rem;vertical-align:top;margin-left:3px;letter-spacing:0;display:inline-block;margin-top:4px}
.site-shell .shell-desktop-nav {display:flex;gap:32px;margin-left:auto;margin-right:20px}
.site-shell .shell-desktop-nav a {font-size:.8rem;color:#c4cdc6;transition:color .2s}
.site-shell .shell-desktop-nav a:hover {color:white}
.site-shell .shell-menu-toggle {display:none;width:44px;height:44px;border:1px solid #414941;background:none;border-radius:6px;align-items:center;justify-content:center;flex-direction:column;gap:7px}
.site-shell .shell-menu-toggle span {height:1px;width:18px;background:white}
.site-shell .shell-mobile-nav {background:#101612;padding:12px 24px 22px}
.site-shell .shell-mobile-nav:not([hidden]) {display:grid;gap:4px}
.site-shell .shell-mobile-nav a {padding:12px;font-size:.95rem}
@media(max-width:1100px) {
.site-shell .shell-container {width:calc(100% - 64px)}
.site-shell .shell-desktop-nav {gap:20px;margin-right:0}
}
@media(max-width:800px) {
.site-shell .shell-container {width:calc(100% - 48px)}
.site-shell .shell-desktop-nav {display:none}
.site-shell .shell-header-inner {height:76px;gap:20px}
.site-shell .shell-menu-toggle {display:flex}
}
@media(max-width:480px) {
.site-shell .shell-container {width:calc(100% - 36px)}
.site-shell .shell-header-inner {height:70px;gap:14px}
.site-shell .shell-wordmark {font-size:1.45rem}
.site-shell .shell-menu-toggle {width:38px;height:38px;flex-shrink:0}
}
.site-shell.site-footer {background:var(--black);color:#b3c0b7;padding-block:43px 23px}
.site-shell .footer-top .shell-wordmark {color:white;font-size:1.55rem}
.site-shell .shell-footer-bottom {display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #26322a;padding-top:22px;font-size:.7rem;color:#a0afa4}
.site-shell .shell-footer-bottom a:hover {text-decoration:underline}
.site-shell .shell-footer-bottom {font-size:max(.75rem,12px)}
@media(max-width:550px) {
.site-shell .shell-footer-bottom {align-items:flex-start;flex-direction:column;gap:10px}
}
@media(max-width:380px) {
.site-shell .shell-menu-toggle {margin-left:auto}
}
@media(min-width:801px) {
.site-shell .shell-mobile-nav {display:none!important}
}
.site-shell .shell-container {width:min(1280px,calc(100% - 88px))}
.site-shell .shell-desktop-nav {gap:35px;margin-right:0}
.site-shell .shell-desktop-nav a {font-size:.95rem;font-weight:600}
.site-shell .shell-header-inner {height:86px}
.site-shell.site-header {top:4px}
.site-shell.site-header:before {content:'';height:4px;position:absolute;bottom:100%;left:0;right:0;background:var(--black)}
.site-shell.site-footer {position:relative;padding-top:65px}
.site-shell .shell-footer-bottom {font-size:.875rem;font-weight:500}
@media(max-width:1100px) {
.site-shell .shell-container {width:calc(100% - 64px)}
.site-shell .shell-desktop-nav {gap:26px}
}
@media(max-width:800px) {
.site-shell .shell-container {width:calc(100% - 48px)}
.site-shell .shell-header-inner {height:76px}
.site-shell .shell-menu-toggle {margin-left:auto}
.site-shell.site-footer {padding-top:55px}
}
@media(max-width:550px) {
.site-shell .shell-container {width:calc(100% - 40px)}
.site-shell .shell-footer-bottom {font-size:.875rem}
}
@media(max-width:360px) {
.site-shell .shell-container {width:calc(100% - 32px)}
}
.site-shell .shell-menu-toggle {border-radius:999px}
.site-shell .shell-header-inner {gap:22px}
.site-shell .shell-desktop-nav {align-items:center;gap:18px}
.site-shell .shell-desktop-nav>a {font-size:.875rem;font-weight:600;white-space:nowrap}
.site-shell .shell-desktop-nav>a[aria-current="page"] {color:#fff;text-decoration:underline;text-decoration-color:#00b050;text-decoration-thickness:2px;text-underline-offset:8px}
.site-shell .shell-nav-booking {display:inline-flex;align-items:center;justify-content:center;background:#00b050;color:#062713!important;min-height:44px;padding:11px 18px;border-radius:999px;font-weight:750!important;line-height:1.4}
.site-shell .shell-nav-booking:hover {background:#06c95e}
.site-shell .shell-footer-grid {display:grid;grid-template-columns:1.45fr .85fr 1fr;gap:70px;padding-bottom:40px;align-items:start}
.site-shell .shell-footer-brand .shell-wordmark {display:inline-block;color:white;margin-bottom:24px}
.site-shell .shell-footer-brand p {font-size:.95rem;line-height:1.8;max-width:440px;color:#aebbb2}
.site-shell .shell-footer-column {display:flex;flex-direction:column;align-items:flex-start;gap:12px;min-width:0}
.site-shell .shell-footer-heading {font-size:.9rem;font-weight:750;color:white;margin-bottom:8px}
.site-shell .shell-footer-column>a {font-size:.95rem;line-height:1.5;overflow-wrap:anywhere}
.site-shell .shell-footer-column>a:hover, .site-shell .shell-footer-legal>a:hover {color:white;text-decoration:underline;text-underline-offset:4px}
.site-shell .shell-footer-column>a[aria-current="page"] {color:#00d361;font-weight:700}
.site-shell .shell-footer-social {display:flex;gap:10px;margin-top:9px;flex-wrap:wrap}
.site-shell .shell-footer-social a {display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:8px 15px;border:1px solid #415247;border-radius:999px;font-size:.875rem;font-weight:650;color:white}
.site-shell .shell-footer-social a:hover {border-color:#00b050;background:#14291c}
.site-shell .shell-footer-legal {display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.site-shell .shell-footer-legal button {font:inherit;color:inherit;background:none;border:0;padding:5px 0;cursor:pointer;text-align:left}
.site-shell .shell-footer-legal button:hover {text-decoration:underline;text-underline-offset:4px;color:white}
@media(max-width:1180px) {
.site-shell .shell-desktop-nav {display:none}
.site-shell .shell-menu-toggle {display:flex;margin-left:auto}
.site-shell .shell-mobile-nav:not([hidden]) {display:grid!important;gap:5px;max-height:calc(100dvh - 80px);overflow-y:auto}
.site-shell .shell-mobile-nav[hidden] {display:none!important}
.site-shell .shell-mobile-nav a[aria-current="page"] {color:#00d361;font-weight:750}
.site-shell .shell-mobile-nav .shell-nav-booking {margin-top:8px;justify-self:start;padding-inline:20px}
.site-shell .shell-footer-grid {gap:35px;grid-template-columns:1.25fr .8fr 1fr}
}
@media(min-width:1181px) {
.site-shell .shell-mobile-nav {display:none!important}
}
@media(max-width:800px) {
.site-shell .shell-footer-grid {grid-template-columns:1fr 1fr;gap:35px}
.site-shell .shell-footer-brand {grid-column:1/-1}
.site-shell .shell-footer-brand p {max-width:620px}
.site-shell .shell-footer-bottom {align-items:flex-start;flex-direction:column;gap:18px}
}
@media(max-width:550px) {
.site-shell .shell-footer-grid {grid-template-columns:1fr;gap:32px}
.site-shell .shell-footer-brand {grid-column:auto}
.site-shell .shell-footer-grid .shell-wordmark {margin-bottom:20px}
.site-shell .shell-footer-legal {gap:20px}
.site-shell .shell-footer-brand p, .site-shell .shell-footer-column>a {font-size:.95rem}
}
/* Pagina-integratie: sticky header neemt zijn eigen ruimte in. */
.site-shell.site-header { width:100%; flex-shrink:0; }
.site-shell.site-footer { width:100%; margin:0; border:0; padding-inline:0; }
.site-shell :is(a,button):focus-visible { outline:3px solid #00b050; outline-offset:5px; }
body.ff-brand.ff-error-page { display:block; padding:0; text-align:left; }
.ff-error-page .error-content { position:relative; padding:68px 24px 90px; width:100%; max-width:760px; min-height:60vh; margin:auto; text-align:center; }
.ff-error-page #ff-cookie-banner p { max-width:none; margin:0; font-size:inherit; }
body.ff-brand .resource-hero { padding-top:68px; }
@media(max-width:768px) { body.ff-brand .resource-hero { padding-top:48px; } }
@media(prefers-reduced-motion:reduce) { .site-shell * { transition:none; } }

/* Selectieve tekstnadruk: vet, met extra contrast op donkere achtergronden. */
main strong { font-weight:750; }
.ff-brand .article-body strong { font-weight:750; }
main :is(.brand-hero,.page-hero,.brand-dark,.section-dark,.service-card,.cta-banner) :is(p,li) strong { color:#fafafa; }
main :is(.price-card,.trainer-strip) :is(p,li) strong { color:#09090b; }
.site-shell .shell-footer-brand p strong { color:#fff; font-weight:700; }
