/* Base */
body { margin: 0; background: #FFFFFF; color: #0B1F33; font-family: Onest, 'Helvetica Neue', Arial, sans-serif; font-size: 17px; line-height: 1.55; }
a { color: #0B1F33; }
a:hover { color: #8A6A2F; }
img { max-width: 100%; }
.wp-site-blocks { padding: 0; }
.wp-site-blocks > * { margin-block-start: 0; }
:where(.wp-site-blocks) > main { margin: 0; }

/* Visible focus everywhere (WCAG 2.2) */
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: 3px solid #C8A15A;
	outline-offset: 2px;
	border-radius: 4px;
}
.zfat-on-light :where(a, button, input, select, textarea, summary):focus-visible { outline-color: #8A6A2F; }

.screen-reader-text, .zfat-sr {
	position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
.zfat-skip { position: absolute; left: 12px; top: -60px; z-index: 1000; background: #C8A15A; color: #0B1F33; padding: 10px 16px; border-radius: 6px; font-weight: 600; text-decoration: none; }
.zfat-skip:focus { top: 12px; }

/* FAQ accordion */
summary::-webkit-details-marker { display: none; }
details[open] .pl { transform: rotate(45deg); }
.pl { transition: transform .15s ease; }

/* Header */
.zfat-header__inner { max-width: 1200px; margin: 0 auto; padding: 18px 24px; display: flex; flex-wrap: wrap; gap: 16px 32px; align-items: center; justify-content: space-between; }
.zfat-nav { display: flex; flex-wrap: wrap; gap: 8px 28px; font-size: 15.2px; font-weight: 500; }
.zfat-nav a { color: #D5DEE7; text-decoration: none; padding-bottom: 4px; border-bottom: 2px solid transparent; }
.zfat-nav a:hover { color: #FFFFFF; }
.zfat-nav a[aria-current="page"] { color: #FFFFFF; border-bottom-color: #C8A15A; }
.zfat-header__cta { background: #C8A15A; color: #0B1F33 !important; text-decoration: none; font-weight: 600; padding: 12px 22px; border-radius: 6px; min-height: 44px; box-sizing: border-box; display: inline-flex; align-items: center; font-size: 15.2px; }
.zfat-menu-toggle { display: none; font: inherit; font-size: 15.2px; font-weight: 600; background: transparent; color: #FFFFFF; border: 1px solid #3A5573; border-radius: 6px; padding: 10px 16px; min-height: 44px; min-width: 44px; cursor: pointer; align-items: center; gap: 8px; }
.zfat-menu-toggle svg { display: block; }

@media (max-width: 900px) {
	.zfat-menu-toggle { display: inline-flex; }
	.zfat-header__panel { display: none; width: 100%; flex-direction: column; gap: 20px; padding: 8px 0 12px; }
	.zfat-header__panel.is-open { display: flex; }
	.zfat-nav { flex-direction: column; gap: 4px; font-size: 17px; }
	.zfat-nav a { display: flex; align-items: center; min-height: 44px; padding: 0; border-bottom: 0; border-left: 3px solid transparent; padding-left: 12px; }
	.zfat-nav a[aria-current="page"] { border-left-color: #C8A15A; }
	.zfat-header__cta { align-self: flex-start; }
}
@media (min-width: 901px) {
	.zfat-header__panel { display: contents; }
}

/* Forms */
.zfat-field-error { color: #A12A1B; font-size: 14px; font-weight: 600; }
[aria-invalid="true"] { border-color: #A12A1B !important; box-shadow: 0 0 0 1px #A12A1B; }
.zfat-choice:has(input:checked) { border-color: #0B1F33 !important; box-shadow: 0 0 0 1px #0B1F33; }
.zfat-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
[hidden] { display: none !important; }

/* Cohort filter */
.zfat-chip[aria-pressed="true"] { background: #0B1F33 !important; color: #FFFFFF !important; border-color: #0B1F33 !important; }

@media (max-width: 600px) {
	.zfat-hide-sm { display: none !important; }
}
@media (prefers-reduced-motion: reduce) {
	* { transition: none !important; scroll-behavior: auto !important; }
}
