/* ---------- Header ---------- */
.site-header { position: relative; z-index: 100; width: 100%; background: rgba(255, 255, 255, .94); border-bottom: 1px solid rgba(0, 101, 177, .14); box-shadow: 0 10px 32px rgba(0, 45, 79, .06); }
.site-header .site-container { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 36px; min-height: 88px; }
.site-branding { position: relative; z-index: 2; display: flex; flex: 0 0 auto; align-items: center; }
.site-logo, .custom-logo-link { display: inline-flex; align-items: center; text-decoration: none; }
.site-logo__image, .site-logo img, .custom-logo { display: block; width: 210px; max-width: min(210px, 42vw); max-height: 58px; object-fit: contain; }
.site-title { margin: 0; font-size: 24px; line-height: 1.1; font-weight: 700; letter-spacing: -.025em; }
.site-title a { color: var(--fa-color-text); text-decoration: none; }
.site-title a:hover { color: var(--fa-color-primary); text-decoration: none; }
.header-actions { display: flex; align-items: center; gap: 12px; }
.header-buttons { display: flex; align-items: center; gap: 10px; }
.header-button { --button-color: var(--fa-color-primary); position: relative; gap: .8rem; min-height: 48px; padding: .3rem .35rem .3rem 1.15rem; color: var(--fa-color-background); background: var(--button-color); border-color: var(--button-color); border-radius: 999px; box-shadow: 0 10px 22px rgba(0, 101, 177, .16); font-size: .95rem; transition: color .25s ease, background-color .25s ease, border-color .25s ease, box-shadow .25s ease, transform .25s ease, filter .25s ease; }
.header-button::after { display: none; }
.header-button__arrow { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 36px; width: 36px; height: 36px; color: var(--button-color); background: var(--fa-color-background); border-radius: 50%; }
.header-button__arrow-icon { display: block; width: 16px; height: 16px; background: currentColor; -webkit-mask: url("../images/right-arrow.svg") center / contain no-repeat; mask: url("../images/right-arrow.svg") center / contain no-repeat; transform: rotate(-45deg); transition: transform .25s ease; }
.header-button:hover { color: var(--fa-color-background); box-shadow: 0 14px 28px rgba(0, 101, 177, .24); filter: brightness(.94); transform: translateY(-2px); }
.header-button:hover .header-button__arrow-icon { transform: rotate(0deg); }
.header-button svg, .header-button .btn-icon { display: block; width: 15px; height: 15px; }
.header-language-switcher { position: relative; z-index: 20; display: inline-grid; grid-template-columns: repeat(2, 40px); flex: 0 0 88px; align-items: center; width: 88px; height: 48px; padding: 4px; overflow: hidden; background: var(--fa-color-primary-very-light); border: 1px solid rgba(0, 101, 177, .22); border-radius: 999px; box-shadow: 0 10px 22px rgba(0, 45, 79, .09); text-decoration: none; transition: border-color .25s ease, box-shadow .25s ease, transform .25s ease; }
.header-language-switcher::before { position: absolute; z-index: 0; top: 3px; left: 3px; width: 40px; height: 40px; content: ""; background: #fff; border: 1px solid rgba(0, 101, 177, .16); border-radius: 50%; box-shadow: 0 5px 13px rgba(0, 45, 79, .14); transition: transform .38s cubic-bezier(.34, 1.56, .64, 1), box-shadow .25s ease; }
.header-language-switcher[data-current-language="en"]::before { transform: translateX(40px); }
.header-language-switcher:hover { border-color: var(--fa-color-primary); box-shadow: 0 14px 28px rgba(0, 101, 177, .16); text-decoration: none; transform: translateY(-2px); }
.header-language-switcher.is-switching { pointer-events: none; }
.header-language-switcher.is-switching::before { box-shadow: 0 7px 18px rgba(0, 101, 177, .24); }
.header-language-switcher__option { position: relative; z-index: 1; display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; opacity: .48; filter: saturate(.7); transition: opacity .3s ease, filter .3s ease, transform .38s cubic-bezier(.34, 1.56, .64, 1); }
.header-language-switcher[data-current-language="nl"] .header-language-switcher__option--nl, .header-language-switcher[data-current-language="en"] .header-language-switcher__option--en { opacity: 1; filter: none; transform: scale(1.08); }
.header-language-switcher__flag { display: block; width: 24px; height: 18px; object-fit: cover; border-radius: 3px; box-shadow: 0 0 0 1px rgba(0, 45, 79, .12); }
body .trp-floating-switcher { display: none !important; }
@media (max-width:900px) {
	.site-header .site-container { gap: 20px; width: 100%; min-height: 74px; padding: 0 20px; }
	.site-logo__image, .site-logo img, .custom-logo { width: 170px; max-width: min(170px, 42vw); max-height: 48px; }
	.header-actions { display: grid; grid-template-columns: minmax(0, 1fr) 92px; gap: 10px; align-items: center; width: 100%; margin: 18px 0 0; padding: 18px 0 0; border-top: 1px solid rgba(0, 101, 177, .16); }
	.header-buttons { display: flex; flex-direction: row; align-items: center; gap: 10px; width: 100%; }
	.header-button { flex: 1; justify-content: space-between; width: 100%; min-height: 52px; padding-left: 20px; }
	.header-language-switcher { grid-template-columns: repeat(2, 42px); flex-basis: 92px; width: 92px; height: 52px; margin: 0; }
	.header-language-switcher::before { width: 42px; height: 42px; }
	.header-language-switcher[data-current-language="en"]::before { transform: translateX(42px); }
	.header-language-switcher__option { width: 42px; height: 42px; }
}
@media (max-width:600px) {
	.header-buttons { flex-direction: column; }
	.header-button { width: 100%; }
}
@media (max-width:500px) {
	.site-header .site-container { min-height: 80px; padding-right: 16px; padding-left: 16px; }
	.site-logo__image, .site-logo img, .custom-logo { width: 170px; max-width: min(170px, 48vw); max-height: 50px; }
}
@media (prefers-reduced-motion:reduce) {
	.header-button__arrow-icon, .header-language-switcher, .header-language-switcher::before, .header-language-switcher__option { transition: none; }
}
