@import url("https://fonts.googleapis.com/css2?family=Bodoni+Moda:opsz,wght@6..96,500;6..96,600&family=Inter:wght@400;500;600;700&display=swap");

:root {
	--fores-navy: #23395d;
	--fores-navy-deep: #172b4a;
	--fores-orange: #cf8935;
	--fores-orange-light: #e4aa65;
	--fores-cream: #f1eadf;
	--fores-paper: #fbf9f5;
	--fores-ink: #18243a;
	--fores-muted: #687286;
	--fores-green: #546e63;
	--fores-red: #e60012;
	--fores-line: rgba(35, 57, 93, .16);
	--fores-page: clamp(22px, 6.4vw, 104px);
	--fores-max: 1860px;
	--fores-serif: "Bodoni Moda", "Ibarra Real Nova", "Bodoni 72", Didot, Georgia, serif;
	--fores-sans: "Inter", Arial, sans-serif;
}

/* Aktualizacja 3.1: kolorowe warsztaty, HelpDesk, profile i lista rezerwowa. */
.fores-event-card {
	border-top: 6px solid var(--fores-event-color, var(--fores-orange));
}

.fores-calendar__event {
	border-left: 5px solid var(--fores-event-color, var(--fores-orange));
	background: color-mix(in srgb, var(--fores-event-color, #e16f3d) 12%, #fff);
}

.fores-event-facts {
	border-top: 7px solid var(--fores-event-color, var(--fores-orange));
}

.fores-event-facts a {
	display: inline-block;
	margin-top: .45rem;
	font-size: .78rem;
	font-weight: 800;
}

.fores-workshop-catalog__item,
.fores-profile-card {
	overflow: hidden;
}

.fores-workshop-catalog__item .fores-media-slot,
.fores-profile-card .fores-media-slot {
	margin: -1.5rem -1.5rem 1.25rem;
}

.fores-workshop-catalog__item .fores-gallery-slot,
.fores-profile-card .fores-gallery-slot {
	margin: 0;
}

.fores-workshop-catalog__item .fores-gallery-slot img,
.fores-profile-card .fores-gallery-slot img {
	width: 100%;
	height: 240px;
	object-fit: cover;
}

.fores-media-slot:has(.fores-gallery-slot:empty) { display:none; }
.editor-styles-wrapper .fores-media-slot:has(.fores-gallery-slot:empty) { display:block; }

.fores-contact-choice {
	border: 1px solid rgba(12, 35, 64, .2);
	border-radius: 14px;
	padding: 1rem;
}

.fores-contact-choice legend {
	font-weight: 800;
	padding: 0 .35rem;
}

.fores-contact-choice label {
	display: inline-flex;
	align-items: center;
	gap: .45rem;
	margin-right: 1.5rem;
}

[data-fores-contact-field] {
	opacity: .55;
}

[data-fores-contact-field].is-selected {
	opacity: 1;
}

.fores-waitlist-dialog {
	width: min(620px, calc(100vw - 2rem));
	max-height: calc(100vh - 2rem);
	padding: clamp(1.25rem, 4vw, 2.5rem);
	border: 0;
	border-top: 7px solid var(--fores-orange);
	border-radius: 18px;
	box-shadow: 0 24px 80px rgba(4, 20, 40, .32);
}

.fores-waitlist-dialog::backdrop {
	background: rgba(4, 20, 40, .72);
}

.fores-waitlist-dialog__close {
	position: absolute;
	right: 1rem;
	top: .8rem;
	border: 0;
	background: transparent;
	font-size: 2rem;
	cursor: pointer;
}

@supports not (background: color-mix(in srgb, #000 10%, #fff)) {
	.fores-calendar__event { background: #fff7f1; }
}

html,
body { overflow-x: clip; }

/* Pełny, edytowalny nagłówek Gutenberga FORES. */
.fores-site-header,
.fores-site-header * { box-sizing: border-box; }
.fores-site-header {
	position: relative;
	z-index: 40;
	width: 100%;
	margin: 0 !important;
	background: var(--fores-paper);
	color: var(--fores-navy);
	font-family: var(--fores-sans);
}
.fores-site-header > .wp-block-group,
.fores-site-header .wp-block-group { margin-block-start: 0; }
.fores-support-strip,
.fores-header-main,
.fores-reach-bar { padding-left: var(--fores-page) !important; padding-right: var(--fores-page) !important; }
.fores-support-strip__inner,
.fores-header-main__inner,
.fores-reach-bar__inner { width: 100%; max-width: 1770px; margin: 0 auto !important; }
.fores-support-strip {
	min-height: 46px;
	padding-top: 11px !important;
	padding-bottom: 11px !important;
	background: var(--fores-navy-deep);
	color: rgba(255,255,255,.92);
}
.fores-support-strip__inner { gap: clamp(18px, 2.2vw, 36px); }
.fores-support-strip p { margin: 0; font-size: 12px; line-height: 1.4; letter-spacing: .035em; }
.fores-support-strip a { color: #fff; text-decoration: none; }
.fores-support-strip__prompt { color: rgba(255,255,255,.6); }
.fores-support-strip__helpdesk a { color: var(--fores-orange-light); }
.fores-header-main {
	min-height: 104px;
	padding-top: 18px !important;
	padding-bottom: 18px !important;
	background: var(--fores-paper);
	border-bottom: 1px solid var(--fores-line);
}
.fores-header-main__inner { gap: clamp(14px, 1.4vw, 24px); }
.fores-brand-lockup { flex: 0 1 465px; min-width: 300px; }
.fores-brand { width: 100%; display: flex; align-items: center; gap: 16px; color: var(--fores-navy); text-decoration: none; }
.fores-brand-logo { flex: 0 0 auto; display: block; width: auto; max-width: 82px; color: var(--fores-navy); text-decoration: none; }
.fores-brand-logo__image { display: block; width: auto; max-width: 82px; height: auto; max-height: 82px; object-fit: contain; object-position: left center; }
.fores-brand-fallback { color: var(--fores-navy); text-decoration: none; }
.fores-brand-mark { margin: 0 !important; }
.fores-brand-mark,
.fores-brand-mark a {
	width: 61px;
	height: 61px;
	display: grid;
	place-items: center;
	border: 1.5px solid var(--fores-navy);
	border-radius: 999px;
	color: var(--fores-navy);
	font: 500 31px/1 var(--fores-serif);
	text-decoration: none;
}
.fores-brand-copy { min-width: 0; display: grid !important; grid-template-columns: auto minmax(0,1fr); align-items: center; gap: 16px; }
.fores-brand-name { margin: 0 !important; padding-right: 16px; border-right: 1px solid var(--fores-line); color: var(--fores-navy); font: 500 28px/1 var(--fores-serif); letter-spacing: .03em; }
.fores-brand-name a { color: var(--fores-navy); font: inherit; text-decoration: none; }
.fores-brand-tagline { margin: 0 !important; color: var(--fores-muted); font: 500 13px/1.25 var(--fores-serif); letter-spacing: .01em; text-transform: none; white-space: nowrap; }
.fores-header-navigation { flex: 1 1 auto; min-width: 0; gap: clamp(8px, .8vw, 14px); }
.fores-main-navigation { flex: 1 1 auto; }
.fores-main-navigation .wp-block-navigation__container { column-gap: clamp(10px, .9vw, 16px); }
.fores-main-navigation .wp-block-navigation-item__content { color: var(--fores-navy) !important; font-size: 11px; font-weight: 700; text-decoration: none; white-space: nowrap; }
.fores-main-navigation .wp-block-navigation__submenu-icon { width: 8px; height: 8px; margin-left: 5px; color: var(--fores-orange); }
.fores-main-navigation .fores-menu-section::after { content: ""; position: absolute; top: 100%; right: 0; left: 0; height: 28px; }
.fores-main-navigation .fores-menu-section > .wp-block-navigation__submenu-container {
	position: absolute !important;
	top: calc(100% + 20px) !important;
	left: 0 !important;
	width: min(720px, calc(100vw - 32px)) !important;
	min-width: 620px !important;
	min-height: 304px !important;
	padding: 18px 18px 18px 224px !important;
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	align-content: stretch;
	gap: 0 !important;
	border: 1px solid var(--fores-line) !important;
	border-radius: 3px;
	background: var(--fores-paper) !important;
	box-shadow: 0 28px 70px rgba(23,43,74,.2);
}
.fores-main-navigation .fores-menu-section:nth-last-child(-n+4) > .wp-block-navigation__submenu-container { right: 0 !important; left: auto !important; }
.fores-main-navigation .fores-menu-section > .wp-block-navigation__submenu-container::before {
	content: "";
	position: absolute;
	top: 18px;
	bottom: 18px;
	left: 18px;
	width: 186px;
	background: var(--fores-navy);
}
.fores-main-navigation .fores-menu-section > .wp-block-navigation__submenu-container::after {
	content: "POZNAJ DZIAŁ\A\A FORES\A\A Zobacz wszystkie możliwości →";
	position: absolute;
	top: 44px;
	left: 44px;
	width: 136px;
	color: #fff;
	font: 500 21px/1.08 var(--fores-serif);
	white-space: pre-line;
	pointer-events: none;
}
.fores-main-navigation .fores-menu-section--wsparcie > .wp-block-navigation__submenu-container::after { content: "ZNAJDŹ WŁAŚCIWY\A PIERWSZY KROK\A\A Wsparcie i\A konsultacje\A\A Zobacz cały dział →"; }
.fores-main-navigation .fores-menu-section--programy > .wp-block-navigation__submenu-container::after { content: "DZIAŁANIA FORES\A\A Programy i\A projekty\A\A Zobacz cały dział →"; }
.fores-main-navigation .fores-menu-section--warsztaty > .wp-block-navigation__submenu-container::after { content: "SPOTKAJMY SIĘ\A\A Wydarzenia\A FORES\A\A Zobacz kalendarz →"; }
.fores-main-navigation .fores-menu-section--centrum > .wp-block-navigation__submenu-container::after { content: "MIEJSCE BLISKO LUDZI\A\A Centrum\A Wsparcia\A\A Poznaj etapy →"; }
.fores-main-navigation .fores-menu-section--wiedza > .wp-block-navigation__submenu-container::after { content: "WIEDZA DO UŻYCIA\A\A Materiały i\A poradniki\A\A Przejdź do bazy →"; }
.fores-main-navigation .fores-menu-section--wspolpraca > .wp-block-navigation__submenu-container::after { content: "DZIAŁAJMY RAZEM\A\A Współpraca\A z FORES\A\A Poznaj możliwości →"; }
.fores-main-navigation .fores-menu-section--o-nas > .wp-block-navigation__submenu-container::after { content: "POZNAJ FORES\A\A Fundacja,\A ludzie i misja\A\A Dowiedz się więcej →"; }
.fores-main-navigation .fores-menu-section > .wp-block-navigation__submenu-container > .wp-block-navigation-item {
	width: auto !important;
	min-width: 0 !important;
	border-right: 1px solid var(--fores-line);
	border-bottom: 1px solid var(--fores-line);
}
.fores-main-navigation .fores-menu-section > .wp-block-navigation__submenu-container > .wp-block-navigation-item:nth-child(even) { border-right: 0; }
.fores-main-navigation .fores-menu-section > .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	width: 100%;
	height: 100%;
	min-height: 82px;
	padding: 17px 18px !important;
	display: flex;
	align-items: center;
	font-size: 12px;
	font-weight: 700;
	white-space: normal;
}
.fores-main-navigation .fores-menu-section > .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background: var(--fores-cream); color: var(--fores-orange) !important; }
.fores-header-actions { flex: 0 0 auto; gap: 9px; }
.fores-header-actions .wp-block-button__link {
	min-height: 42px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 10px 15px !important;
	border-radius: 999px !important;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
	white-space: nowrap;
}
.fores-header-appointment .wp-block-button__link { background: var(--fores-navy-deep) !important; color: #fff !important; }
.fores-header-support .wp-block-button__link { border: 1px solid var(--fores-line) !important; background: transparent !important; color: var(--fores-navy) !important; }
.fores-reach-bar {
	min-height: 60px;
	padding-top: 17px !important;
	padding-bottom: 17px !important;
	background: var(--fores-cream);
	border-bottom: 1px solid var(--fores-line);
}
.fores-reach-bar__inner { gap: clamp(24px, 5vw, 80px); }
.fores-reach-bar p { margin: 0; color: #7b8596; font-size: 11px; line-height: 1.45; }
.fores-reach-bar__lead { color: var(--fores-navy) !important; font-weight: 700; }
.fores-reach-bar strong { color: var(--fores-orange); font-weight: 700; }
.fores-site-header a:focus-visible { outline: 3px solid var(--fores-orange); outline-offset: 3px; }

body.fores-site-kit-page .wp-block-post-title,
body.fores-site-kit-page .entry-title { display: none; }
body.fores-site-kit-page main,
body.fores-site-kit-page .site-main { margin-block-start: 0; padding-top: 0; }

.fores-page,
.fores-page * { box-sizing: border-box; }
.fores-page { background: var(--fores-paper); color: var(--fores-ink); font-family: var(--fores-sans); font-size: 16px; line-height: 1.65; overflow: clip; }
.fores-page h1,
.fores-page h2,
.fores-page h3,
.fores-page p { text-wrap: pretty; }
.fores-page a:focus-visible,
.fores-page button:focus-visible { outline: 3px solid var(--fores-orange); outline-offset: 4px; }
.fores-page section[id],
.fores-page div[id] { scroll-margin-top: 125px; }
.fores-page > .wp-block-group { margin-block-start: 0; }

.fores-hero,
.fores-section,
.fores-note,
.fores-cta,
.fores-site-footer { padding-left: var(--fores-page) !important; padding-right: var(--fores-page) !important; }
.fores-hero > *,
.fores-section > *,
.fores-note > *,
.fores-cta > *,
.fores-site-footer > * { max-width: 1240px; margin-left: auto; margin-right: auto; }

.fores-hero {
	position: relative;
	min-height: min(720px, 82vh);
	padding-top: clamp(90px, 12vw, 154px) !important;
	padding-bottom: clamp(76px, 10vw, 122px) !important;
	display: flex;
	flex-direction: column;
	justify-content: center;
	overflow: hidden;
	background: radial-gradient(circle at 77% 28%, rgba(207, 137, 53, .22), transparent 28%), linear-gradient(135deg, var(--fores-navy-deep), var(--fores-navy));
	color: #fff;
}
.fores-hero--orange { background: radial-gradient(circle at 78% 20%, rgba(255,255,255,.17), transparent 26%), var(--fores-orange); color: var(--fores-navy-deep); }
.fores-hero--green { background: radial-gradient(circle at 78% 20%, rgba(255,255,255,.11), transparent 27%), linear-gradient(135deg, #344b43, var(--fores-green)); }
.fores-hero--dkms { background: radial-gradient(circle at 78% 24%, rgba(230, 0, 18, .26), transparent 25%), linear-gradient(135deg, var(--fores-navy-deep), var(--fores-navy)); border-bottom: 5px solid var(--fores-red); }
.fores-hero .fores-eyebrow { color: var(--fores-orange-light); }
.fores-hero--orange .fores-eyebrow { color: var(--fores-navy); }
.fores-hero--dkms .fores-eyebrow { color: #ff8b95; }
.fores-hero h1 {
	max-width: 980px;
	margin-top: 0;
	margin-bottom: 0;
	font-family: var(--fores-serif);
	font-size: clamp(58px, 8.8vw, 132px);
	font-weight: 500;
	letter-spacing: -.055em;
	line-height: .88;
}
.fores-hero h1 em { color: var(--fores-orange-light); font-weight: inherit; }
.fores-hero--orange h1 em { color: #fff7ed; }
.fores-hero--dkms h1 em { color: #ff5361; }
.fores-lead { max-width: 760px !important; margin: 38px auto 0 0 !important; color: rgba(255,255,255,.72); font-size: clamp(16px, 1.45vw, 21px); line-height: 1.75; }
.fores-hero--orange .fores-lead { color: rgba(24,36,58,.78); }
.fores-orbit { position: absolute; box-sizing: border-box; flex: 0 0 auto; max-width: none !important; aspect-ratio: 1 / 1; border: 1px solid rgba(255,255,255,.13); border-radius: 50%; pointer-events: none; }
.fores-orbit--one { width: 380px !important; height: auto !important; right: 5vw; top: 13%; }
.fores-orbit--two { width: 205px !important; height: auto !important; right: 18vw; top: 49%; border-color: rgba(207,137,53,.42); }
.fores-hero--dkms .fores-orbit--two { border-color: rgba(230,0,18,.65); }

.fores-eyebrow { margin: 0 0 20px; color: var(--fores-orange); font-size: 10px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.fores-section { padding-top: clamp(76px, 9vw, 118px); padding-bottom: clamp(76px, 9vw, 118px); }
.fores-section--paper { background: var(--fores-paper); }
.fores-section--cream { background: var(--fores-cream); }
.fores-section--navy { background: var(--fores-navy); color: #fff; }
.fores-section--orange { background: var(--fores-orange); color: var(--fores-navy-deep); }
.wp-block-group.is-style-fores-paper { padding: clamp(54px,7vw,96px) var(--fores-page); background: var(--fores-paper); color: var(--fores-navy); }
.wp-block-group.is-style-fores-cream { padding: clamp(54px,7vw,96px) var(--fores-page); background: var(--fores-cream); color: var(--fores-navy); }
.wp-block-group.is-style-fores-navy { padding: clamp(54px,7vw,96px) var(--fores-page); background: var(--fores-navy); color: #fff; }
.wp-block-group.is-style-fores-orange { padding: clamp(54px,7vw,96px) var(--fores-page); background: var(--fores-orange); color: var(--fores-navy-deep); }
.wp-block-group.is-style-fores-navy h1,
.wp-block-group.is-style-fores-navy h2,
.wp-block-group.is-style-fores-navy h3,
.wp-block-group.is-style-fores-navy h4,
.wp-block-group.is-style-fores-navy a { color: #fff; }
.wp-block-group.is-style-fores-orange h1,
.wp-block-group.is-style-fores-orange h2,
.wp-block-group.is-style-fores-orange h3,
.wp-block-group.is-style-fores-orange h4,
.wp-block-group.is-style-fores-orange a { color: var(--fores-navy-deep); }
.wp-block-group.is-style-fores-card { min-height: 280px; padding: clamp(26px,3vw,44px); border: 1px solid var(--fores-line); background: rgba(255,255,255,.6); }
.wp-block-image.is-style-fores-image { overflow: hidden; background: var(--fores-cream); }
.wp-block-image.is-style-fores-image img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.fores-section--green { background: var(--fores-green); color: #fff; }
.fores-section h2,
.fores-cta h2 {
	max-width: 900px;
	margin: 0;
	font-family: var(--fores-serif);
	font-size: clamp(42px, 5.4vw, 78px);
	font-weight: 500;
	letter-spacing: -.045em;
	line-height: 1;
	color: var(--fores-navy);
}
.fores-section--navy h2,
.fores-section--green h2 { color: #fff; }
.fores-section-lead { max-width: 760px; margin: 28px 0 48px !important; color: var(--fores-muted); font-size: 15px; line-height: 1.85; }
.fores-section--navy .fores-section-lead,
.fores-section--green .fores-section-lead { color: rgba(255,255,255,.65); }
.fores-section#partner h2 { max-width: 760px; font-size: clamp(42px,4.6vw,70px); }

.fores-card-grid { margin-top: 52px; display: grid !important; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)) !important; gap: 1px; background: var(--fores-line); border: 1px solid var(--fores-line); }
.fores-card { min-height: 300px; margin: 0 !important; padding: 30px !important; display: flex; flex-direction: column; align-items: flex-start; background: var(--fores-paper); transition: background .2s ease, border-color .2s ease; }
.fores-card:hover { position: relative; z-index: 2; transform: none; background: #fff; box-shadow: inset 0 0 0 1px rgba(207,137,53,.42); }
.fores-section--cream .fores-card { background: rgba(255,255,255,.58); }
.fores-section--navy .fores-card,
.fores-section--green .fores-card { background: rgba(255,255,255,.06); }
.fores-section--orange .fores-card { background: rgba(255,255,255,.22); }
.fores-card-number { margin: 0 !important; color: var(--fores-orange); font-family: var(--fores-serif); font-size: 13px; letter-spacing: .05em; text-transform: uppercase; }
.fores-section--navy .fores-card-number,
.fores-section--green .fores-card-number { color: var(--fores-orange-light); }
.fores-card h3 { margin: auto 0 15px; font-family: var(--fores-serif); color: var(--fores-navy); font-size: clamp(25px, 2.2vw, 33px); font-weight: 500; line-height: 1.08; }
.fores-section--navy .fores-card h3,
.fores-section--green .fores-card h3 { color: #fff; }
.fores-card > p:not(.fores-card-number):not(.fores-card-link) { margin: 0; color: var(--fores-muted); font-size: 12px; line-height: 1.75; }
.fores-section--navy .fores-card > p:not(.fores-card-number):not(.fores-card-link),
.fores-section--green .fores-card > p:not(.fores-card-number):not(.fores-card-link) { color: rgba(255,255,255,.6); }
.fores-card-link { margin: 22px 0 0 !important; }
.fores-card-link a { color: var(--fores-navy); font-size: 11px; font-weight: 700; text-decoration: none; border-bottom: 1px solid currentColor; }
.fores-section--navy .fores-card-link a,
.fores-section--green .fores-card-link a { color: var(--fores-orange-light); }

.fores-actions { margin-top: 34px; gap: 14px; }
.fores-actions .wp-block-button__link,
.fores-inline-button { border-radius: 999px !important; padding: 14px 22px !important; font-family: var(--fores-sans); font-size: 11px; font-weight: 700; line-height: 1.3; text-decoration: none; transition: transform .2s ease, background .2s ease; }
.fores-actions .wp-block-button__link:hover,
.fores-inline-button:hover { transform: translateY(-2px); }
.fores-button-primary .wp-block-button__link,
.fores-inline-button { background: var(--fores-orange); color: var(--fores-navy-deep); }
.fores-button-secondary .wp-block-button__link { background: transparent; color: currentColor; border: 1px solid currentColor; }
.fores-hero--dkms .fores-button-primary .wp-block-button__link { background: var(--fores-red); color: #fff; }

.fores-choice { margin-top: 50px; display: grid; grid-template-columns: .82fr 1.18fr; min-height: 500px; border: 1px solid var(--fores-line); background: var(--fores-paper); }
.fores-choice__buttons { display: flex; flex-direction: column; border-right: 1px solid var(--fores-line); }
.fores-choice__buttons button { flex: 1; min-height: 84px; padding: 20px 26px; border: 0; border-bottom: 1px solid var(--fores-line); background: transparent; color: var(--fores-navy); text-align: left; font: 600 12px/1.4 var(--fores-sans); cursor: pointer; }
.fores-choice__buttons button:last-child { border-bottom: 0; }
.fores-choice__buttons button:hover,
.fores-choice__buttons button[aria-selected="true"] { background: var(--fores-navy); color: #fff; }
.fores-choice__panels { min-width: 0; background: var(--fores-cream); }
.fores-choice__panel { height: 100%; padding: clamp(38px, 6vw, 82px); animation: fores-fade .3s ease; }
.fores-choice__panel[hidden] { display: none; }
.fores-choice__kicker { margin: 0 0 22px; color: var(--fores-orange); font-size: 10px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.fores-choice__panel h3 { max-width: 650px; margin: 0; color: var(--fores-navy); font-family: var(--fores-serif); font-size: clamp(34px, 4.5vw, 58px); font-weight: 500; line-height: 1.05; }
.fores-choice__panel > p:not(.fores-choice__kicker) { max-width: 650px; margin: 26px 0 32px; color: var(--fores-muted); font-size: 14px; line-height: 1.85; }
@keyframes fores-fade { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }

/* Modułowy odpowiednik interaktywnego wyboru — treść każdego kafelka jest edytowalna. */
.fores-modular-choice { position: relative; grid-template-columns: .82fr 1.18fr; grid-auto-rows: minmax(84px,auto); }
.fores-modular-choice__item { display: contents; }
.fores-modular-choice__item > [data-fores-modular-tab] {
	grid-column: 1;
	min-height: 84px;
	padding: 20px 26px;
	border: 0;
	border-right: 1px solid var(--fores-line);
	border-bottom: 1px solid var(--fores-line);
	background: transparent;
	color: var(--fores-navy);
	text-align: left;
	font: 600 12px/1.4 var(--fores-sans);
	cursor: pointer;
}
.fores-modular-choice__item:last-child > [data-fores-modular-tab] { border-bottom: 0; }
.fores-modular-choice__item > [data-fores-modular-tab]:hover,
.fores-modular-choice__item > [data-fores-modular-tab][aria-selected="true"] { background: var(--fores-navy); color: #fff; }
.fores-modular-choice__panel {
	grid-column: 2;
	grid-row: 1 / span 30;
	min-width: 0;
	padding: clamp(38px,6vw,82px);
	background: var(--fores-cream);
	animation: fores-fade .3s ease;
}
.fores-modular-choice__panel[hidden] { display: none; }
.fores-modular-choice__panel h3 { max-width: 650px; margin: 0; color: var(--fores-navy); font: 500 clamp(34px,4.5vw,58px)/1.05 var(--fores-serif); }
.fores-modular-choice__panel > p:not(.fores-choice__kicker) { max-width: 650px; margin: 26px 0 32px; color: var(--fores-muted); font-size: 14px; line-height: 1.85; }
.fores-media-text { margin-top: 44px; gap: clamp(30px,5vw,84px); align-items: center !important; }
.fores-media-text .wp-block-image:empty,
.fores-media-text .wp-block-image:not(:has(img)) { min-height: 360px; border: 1px dashed rgba(35,57,93,.35); background: var(--fores-cream); }

/* Czytelny podgląd modułów w edytorze Gutenberg. */
.editor-styles-wrapper .fores-modular-choice-editor { padding: 22px; border: 2px solid var(--fores-orange); background: var(--fores-paper); }
.editor-styles-wrapper .fores-modular-choice-editor__hint { margin: 0 0 18px; padding: 12px 14px; background: var(--fores-cream); color: var(--fores-navy); font: 600 12px/1.5 var(--fores-sans); }
.editor-styles-wrapper .fores-modular-choice-item-editor { margin: 10px 0; padding: 24px; border: 1px solid var(--fores-line); background: #fff; color: var(--fores-navy); }
.editor-styles-wrapper .fores-modular-choice-item-editor__label { margin: 0 0 24px; padding: 12px 14px; background: var(--fores-navy); color: #fff; font-weight: 700; }

.fores-integration-placeholder,
.fores-empty { margin-top: 42px; padding: clamp(34px, 5vw, 62px); border: 1px dashed rgba(35,57,93,.35); background: rgba(255,255,255,.5); }
.fores-integration-placeholder > span { color: var(--fores-orange); font-size: 9px; font-weight: 700; letter-spacing: .13em; }
.fores-integration-placeholder h3,
.fores-empty h3 { margin: 14px 0 12px; color: var(--fores-navy); font-family: var(--fores-serif); font-size: clamp(27px, 3vw, 40px); font-weight: 500; }
.fores-integration-placeholder p,
.fores-empty p { max-width: 700px; margin: 0 0 26px; color: var(--fores-muted); }
.fores-admin-only { display: none !important; }
.editor-styles-wrapper .fores-admin-only { display: block !important; margin-top: 22px !important; padding: 12px 15px; border-left: 3px solid var(--fores-orange); background: #fff8ea; color: #58472f !important; font-size: 12px !important; }

.fores-progress { margin-top: 28px; padding: clamp(28px, 4vw, 46px); background: var(--fores-paper); border: 1px solid var(--fores-line); box-shadow: 0 12px 38px rgba(23,43,74,.07); }
.fores-progress__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; }
.fores-progress__status { color: var(--fores-orange); font-size: 9px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.fores-progress h3 { margin: 8px 0 0; color: var(--fores-navy); font-family: var(--fores-serif); font-size: clamp(26px, 3vw, 42px); font-weight: 500; }
.fores-progress__head > strong { color: var(--fores-navy); font-family: var(--fores-serif); font-size: clamp(35px, 5vw, 64px); font-weight: 500; }
.fores-progress__track { height: 12px; margin: 26px 0 16px; overflow: hidden; background: var(--fores-cream); border-radius: 999px; }
.fores-progress__track span { display: block; width: var(--fores-progress); height: 100%; background: linear-gradient(90deg, var(--fores-orange), var(--fores-orange-light)); border-radius: inherit; transition: width .8s ease; }
.fores-progress > p { margin: 0 0 22px; color: var(--fores-muted); font-size: 12px; }
.fores-progress > p strong { color: var(--fores-navy); }

.fores-download-grid,
.fores-post-grid { margin-top: 50px; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 285px), 1fr)); gap: 14px; }
.fores-download,
.fores-download-card,
.fores-post-grid article { min-height: 310px; padding: 28px; display: flex; flex-direction: column; align-items: flex-start; border: 1px solid var(--fores-line); border-top: 4px solid var(--fores-orange); background: var(--fores-paper); }
.fores-download > span,
.fores-post-grid article > span { color: var(--fores-orange); font-size: 9px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.fores-download h3,
.fores-download-card h3,
.fores-post-grid h3 { margin: auto 0 12px; color: var(--fores-navy); font-family: var(--fores-serif); font-size: 28px; font-weight: 500; line-height: 1.1; }
.fores-download p,
.fores-post-grid p { margin: 0 0 24px; color: var(--fores-muted); font-size: 12px; line-height: 1.7; }
.fores-post-grid h3 a { color: inherit; text-decoration: none; }
.fores-post-card__image { width: calc(100% + 56px); max-width: none; height: 210px; margin: -28px -28px 26px; object-fit: cover; }
.fores-post-card__meta { margin: 0 0 14px !important; color: var(--fores-orange) !important; font-size: 10px !important; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.fores-post-grid article .fores-inline-button { margin-top: auto; }

.fores-giving-box { margin-top: 42px; border: 1px solid var(--fores-line); background: #fff; box-shadow: 0 20px 60px rgba(23,43,74,.07); }
.fores-giving-box__intro { padding: clamp(30px,5vw,62px); border-bottom: 1px solid var(--fores-line); }
.fores-giving-box__intro h3 { max-width: 860px; margin: 12px 0 18px; color: var(--fores-navy); font: 500 clamp(34px,4vw,58px)/1.03 var(--fores-serif); }
.fores-giving-box__intro > p:last-child { max-width: 820px; margin: 0; color: var(--fores-muted); }
.fores-giving-methods { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); }
.fores-giving-methods article { min-height: 270px; padding: clamp(26px,3vw,42px); display: flex; flex-direction: column; border-right: 1px solid var(--fores-line); }
.fores-giving-methods article:last-child { border-right: 0; }
.fores-giving-methods article > span { color: var(--fores-orange); font-size: 9px; font-weight: 800; letter-spacing: .13em; }
.fores-giving-methods h4 { margin: auto 0 14px; overflow-wrap: anywhere; color: var(--fores-navy); font: 500 clamp(25px,2.3vw,38px)/1.1 var(--fores-serif); }
.fores-giving-methods p { margin: 0 0 18px; color: var(--fores-muted); font-size: 12px; }
.fores-copy-button { align-self: flex-start; margin-top: auto; padding: 10px 14px; border: 1px solid var(--fores-navy); border-radius: 999px; background: transparent; color: var(--fores-navy); font: 700 10px/1.2 var(--fores-sans); cursor: pointer; }
.fores-giving-trust { margin: 0 !important; padding: 18px clamp(26px,3vw,42px); border-top: 1px solid var(--fores-line); color: var(--fores-muted); font-size: 11px; }

.fores-newsletter-form { max-width: 920px; padding: clamp(30px,5vw,58px); border: 1px solid var(--fores-line); border-top: 4px solid var(--fores-orange); background: #fff; }
.fores-newsletter-form > span { color: var(--fores-orange); font-size: 9px; font-weight: 800; letter-spacing: .14em; }
.fores-newsletter-form h3 { margin: 18px 0; color: var(--fores-navy); font: 500 clamp(34px,4vw,58px)/1.04 var(--fores-serif); }
.fores-newsletter-form p { max-width: 700px; color: var(--fores-muted); }
.fores-newsletter-form--jetpack form,
.fores-download-gate__newsletter form { display: flex; flex-wrap: wrap; gap: 10px; align-items: end; margin-top: 22px; }
.fores-newsletter-form--jetpack input[type="email"],
.fores-download-gate__newsletter input[type="email"] { min-width: min(100%, 290px); min-height: 48px; padding: 10px 14px; border: 1px solid var(--fores-line); border-radius: 999px; font: 500 14px/1.2 var(--fores-sans); }
.fores-newsletter-form--jetpack button,
.fores-newsletter-form--jetpack input[type="submit"],
.fores-download-gate__newsletter button,
.fores-download-gate__newsletter input[type="submit"] { min-height: 48px; padding: 10px 22px; border: 0; border-radius: 999px; background: var(--fores-navy); color: #fff; font: 700 12px/1.2 var(--fores-sans); cursor: pointer; }

.fores-social-links { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
.fores-social-links a { min-height: 40px; padding: 8px 13px; display: inline-flex; align-items: center; gap: 8px; border: 1px solid rgba(255,255,255,.2); border-radius: 999px; color: #fff !important; font-size: 10px; text-decoration: none; }
.fores-social-links svg { width: 20px; height: 20px; fill: currentColor; }
.fores-social-links rect,
.fores-social-links circle { fill: none; stroke: currentColor; stroke-width: 2; }
.fores-social-links .fores-social-play { fill: var(--fores-navy-deep); }

.fores-video { position: relative; width: 100%; margin-top: 36px; overflow: hidden; aspect-ratio: 16/9; background: var(--fores-navy-deep); box-shadow: 0 22px 68px rgba(23,43,74,.14); }
.fores-video iframe { position: absolute; inset: 0; width: 100% !important; height: 100% !important; border: 0; }

.fores-download-gate { width: 100%; margin-top: auto; }
.fores-download-gate form { display: grid; gap: 12px; width: 100%; padding-top: 12px; }
.fores-download-gate form[hidden] { display: none !important; }
.fores-download-gate label { display: grid; gap: 6px; color: var(--fores-navy); font-size: 11px; font-weight: 700; }
.fores-download-gate input[type="email"] { min-height: 44px; padding: 9px 12px; border: 1px solid var(--fores-line); border-radius: 2px; font: 400 14px/1.2 var(--fores-sans); }
.fores-download-gate .fores-consent { display: grid; grid-template-columns: auto 1fr; align-items: start; font-weight: 400; line-height: 1.5; }
.fores-download-gate__panel[hidden],
.fores-download-gate__download[hidden] { display: none !important; }
.fores-download-gate__panel { display: grid; gap: 14px; padding: 18px; border: 1px solid var(--fores-line); background: #fff; }
.fores-download-gate__panel > p { margin: 0; color: var(--fores-muted); font-size: 13px; line-height: 1.55; }
.fores-download-gate__newsletter form { margin-top: 0; }
.fores-download-gate__download { display: grid; gap: 10px; padding-top: 14px; border-top: 1px solid var(--fores-line); }
.fores-download-gate__download p { margin: 0; }

.fores-program-image { margin: 34px 0 0 !important; overflow: hidden; border-radius: 2px; background: var(--fores-navy); }
.fores-program-image img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.fores-program-image figcaption { margin: 0; padding: 10px 14px; background: var(--fores-navy); color: rgba(255,255,255,.72); font-size: 10px; line-height: 1.45; }
.fores-program-image--hero img { min-height: 360px; }
.fores-gate-message { margin: 0 !important; color: var(--fores-red) !important; font-size: 11px !important; }

.fores-dkms-partnership { position: relative; margin: 46px 0 0; padding: clamp(32px, 5vw, 64px); overflow: hidden; border: 1px solid rgba(230,0,18,.17); background: linear-gradient(135deg,#fff 0%,#fff 72%,rgba(230,0,18,.045) 100%); box-shadow: 0 22px 70px rgba(23,43,74,.08); }
.fores-dkms-partnership::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 5px; background: var(--fores-red); }
.fores-dkms-partnership__copy { max-width: 900px; }
.fores-dkms-partnership__eyebrow { margin: 0 0 16px !important; color: var(--fores-red) !important; font-size: 10px !important; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.fores-dkms-partnership__copy h3 { max-width: 820px; margin: 0; color: var(--fores-navy); font-family: var(--fores-serif); font-size: clamp(34px,4vw,58px); font-weight: 500; line-height: 1.02; }
.fores-dkms-partnership__copy > p:last-child { max-width: 760px; margin: 22px 0 0; color: var(--fores-muted); font-size: 13px; line-height: 1.8; }
.fores-dkms-partnership__logos { margin-top: 42px; padding-top: 32px; display: grid; grid-template-columns: minmax(180px,1fr) auto minmax(180px,1fr); gap: clamp(22px,4vw,56px); align-items: center; border-top: 1px solid var(--fores-line); }
.fores-dkms-partnership__logo { min-height: 112px; padding: 18px; display: grid; place-items: center; border: 1px solid var(--fores-line); background: #fff; }
.fores-dkms-partnership__logo-image { display: block; width: auto; max-width: 100%; height: auto; max-height: 94px; object-fit: contain; }
.fores-dkms-partnership__logo--fallback span { color: var(--fores-navy); font: 500 clamp(34px,5vw,62px)/1 var(--fores-serif); letter-spacing: .02em; }
.fores-dkms-partnership__logo--dkms.fores-dkms-partnership__logo--fallback span { color: var(--fores-red); font-family: var(--fores-sans); font-weight: 800; letter-spacing: -.04em; }
.fores-dkms-partnership__connector { color: var(--fores-muted); font-size: 10px; font-weight: 700; letter-spacing: .08em; text-align: center; text-transform: uppercase; }

.fores-note { padding-top: 42px !important; padding-bottom: 42px !important; display: grid; grid-template-columns: minmax(180px, .35fr) 1fr; gap: 30px; align-items: start; background: #e9e1d7; color: var(--fores-navy); border-left: 5px solid var(--fores-orange); }
.fores-note h3 { margin: 0; font-family: var(--fores-serif); font-size: 26px; font-weight: 500; }
.fores-note p { margin: 0; max-width: 860px; color: var(--fores-muted); }
.fores-cta { padding-top: clamp(58px, 7vw, 90px) !important; padding-bottom: clamp(58px, 7vw, 90px) !important; background: var(--fores-orange); color: var(--fores-navy-deep); }
.fores-cta .fores-eyebrow { color: var(--fores-navy); }
.fores-photo-placeholder { margin-top: 42px; min-height: 300px; padding: 42px !important; display: grid; place-items: center; border: 1px dashed rgba(35,57,93,.35); background: linear-gradient(135deg, rgba(35,57,93,.06), rgba(207,137,53,.12)); color: var(--fores-muted); text-align: center; }

/* Wskazówki edycyjne nie są treścią publiczną. */
.fores-editor-helper { display: none !important; }
.fores-academy-cover:not(:has(img)) { display: none; }
.editor-styles-wrapper .fores-editor-helper {
	display: block !important;
	margin: 22px 0 !important;
	padding: 14px 18px;
	border-left: 4px solid var(--fores-orange);
	background: #fff8ea;
	color: #58472f;
	font: 600 13px/1.6 var(--fores-sans);
}
.editor-styles-wrapper .fores-academy-cover:not(:has(img)) { display: flex; }
.fores-media-slot { margin-top: 36px !important; }
.fores-gallery-slot:empty { display: none !important; }
.editor-styles-wrapper .fores-gallery-slot:empty {
	display: flex !important;
	min-height: 240px;
	border: 1px dashed rgba(35,57,93,.35);
	background: linear-gradient(135deg, rgba(35,57,93,.05), rgba(207,137,53,.11));
}

/* Dni Otwarte — czytelna oś programu, która nie zamienia strony w tabelę. */
.fores-open-days-timeline {
	margin-top: 52px !important;
	border-top: 1px solid var(--fores-line);
}
.fores-open-days-timeline__item {
	margin: 0 !important;
	padding: clamp(26px, 4vw, 48px) 0 !important;
	display: grid !important;
	grid-template-columns: minmax(180px, .34fr) minmax(0, 1fr);
	gap: clamp(26px, 5vw, 76px);
	border-bottom: 1px solid var(--fores-line);
}
.fores-open-days-timeline__when,
.fores-open-days-timeline__copy { margin: 0 !important; }
.fores-open-days-timeline__time {
	margin: 0 !important;
	color: var(--fores-orange);
	font: 600 clamp(20px, 2.2vw, 30px)/1.08 var(--fores-serif);
}
.fores-open-days-timeline__tag {
	margin: 12px 0 0 !important;
	color: var(--fores-muted);
	font: 700 9px/1.5 var(--fores-sans);
	letter-spacing: .12em;
	text-transform: uppercase;
}
.fores-open-days-timeline__copy h3 {
	margin: 0;
	color: var(--fores-navy);
	font: 500 clamp(27px, 3vw, 43px)/1.04 var(--fores-serif);
}
.fores-open-days-timeline__copy p {
	max-width: 760px;
	margin: 16px 0 0;
	color: var(--fores-muted);
	font-size: 13px;
	line-height: 1.8;
}
.fores-section--cream .fores-open-days-timeline__item,
.fores-section--cream .fores-open-days-timeline { border-color: rgba(35,57,93,.14); }

/* Centrum — dokładnie sześć równych pól na szerokim ekranie. */
body .fores-card-grid.fores-centre-path-grid {
	grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
	gap: 0 !important;
}
.fores-centre-path-grid .fores-card { min-height: 360px; }

/* Sekcja danych Fundacji odpowiada dwukolumnowemu układowi prototypu. */
.fores-fact-panel {
	padding: clamp(80px, 9vw, 150px) var(--fores-page) !important;
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) minmax(420px, 1fr);
	gap: clamp(70px, 10vw, 190px);
	background: var(--fores-paper);
}
.fores-fact-intro h2 {
	max-width: 780px;
	margin: 38px 0 0;
	color: var(--fores-navy);
	font-family: var(--fores-serif);
	font-size: clamp(62px, 6.7vw, 118px);
	font-weight: 500;
	letter-spacing: -.055em;
	line-height: .94;
}
.fores-fact-rows { border-top: 1px solid var(--fores-line); }
.fores-fact-row {
	padding: 26px 0 !important;
	display: grid !important;
	grid-template-columns: minmax(130px, .38fr) 1fr;
	gap: 30px;
	border-bottom: 1px solid var(--fores-line);
}
.fores-fact-label { margin: 0 !important; color: var(--fores-muted); font-size: 10px; letter-spacing: .14em; text-transform: uppercase; }
.fores-fact-value { margin: 0 !important; color: var(--fores-navy); font-size: 16px; line-height: 1.6; }

/* Dokumenty prawne — czytelna długość linii i spokojna hierarchia. */
.fores-legal-copy { max-width: 960px !important; margin-top: 42px !important; }
.fores-legal-copy p,
.fores-legal-copy li { color: var(--fores-muted); font-size: 15px; line-height: 1.9; }
.fores-legal-copy li + li { margin-top: 9px; }
.fores-legal-copy a { color: var(--fores-navy); }

.fores-faq { margin-top: 42px; border-top: 1px solid var(--fores-line); }
.fores-faq details { border-bottom: 1px solid var(--fores-line); }
.fores-faq summary { padding: 24px 4px; color: var(--fores-navy); font-family: var(--fores-serif); font-size: clamp(20px, 2.2vw, 28px); cursor: pointer; }
.fores-faq details p { max-width: 820px; margin: 0 0 28px; color: var(--fores-muted); }

.fores-site-footer { padding: 78px var(--fores-page) 30px !important; background: var(--fores-navy-deep); color: rgba(255,255,255,.7); }
.fores-site-footer h3,
.fores-site-footer h4 { color: #fff; font-family: var(--fores-serif); font-weight: 500; }
.fores-site-footer a { color: var(--fores-orange-light); }
.fores-footer-grid { width: 100%; max-width: var(--fores-max); margin: 0 auto !important; display: grid !important; grid-template-columns: 1.25fr repeat(4, minmax(150px,.65fr)); gap: clamp(32px,4vw,76px); }
.fores-footer-title { margin: 0; color: #fff; font: 500 clamp(38px,4vw,68px)/1 var(--fores-serif); }
.fores-footer-kicker { color: var(--fores-orange-light); font-size: 10px; letter-spacing: .16em; text-transform: uppercase; }
.fores-footer-heading { margin: 0 0 18px; color: #fff; font: 500 22px/1.1 var(--fores-serif); }
.fores-footer-links { margin: 0; padding: 0; list-style: none; }
.fores-footer-links li { margin: 9px 0; }
.fores-footer-links a { color: rgba(255,255,255,.72); font-size: 12px; text-decoration: none; }
.fores-footer-links a:hover { color: var(--fores-orange-light); }
.fores-footer-meta { width: 100%; max-width: var(--fores-max); margin: 58px auto 0 !important; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.14); color: rgba(255,255,255,.48); font-size: 10px; }

/* Autorska strona główna — układy odpowiadają prototypowi FORES. */
.fores-home-pillars,
.fores-home-campaign,
.fores-home-pillars *,
.fores-home-campaign * { box-sizing: border-box; }
.fores-home-pillars {
	padding: clamp(82px, 8vw, 126px) var(--fores-page) clamp(62px, 7vw, 104px) !important;
	background: var(--fores-navy);
	color: #fff;
}
.fores-home-pillars__intro,
.fores-home-pillars__grid { width: 100%; max-width: 1860px; margin-left: auto !important; margin-right: auto !important; }
.fores-home-pillars__intro {
	display: grid !important;
	grid-template-columns: minmax(0, 1.2fr) minmax(300px, .8fr);
	gap: clamp(54px, 8vw, 154px);
	align-items: end;
	padding-bottom: clamp(62px, 7vw, 104px);
	border-bottom: 1px solid rgba(255,255,255,.18);
}
.fores-home-pillars .fores-eyebrow { color: var(--fores-orange-light); }
.fores-home-pillars h2 {
	max-width: 900px;
	margin: 0;
	color: #fff;
	font-family: var(--fores-serif);
	font-size: clamp(60px, 6.25vw, 112px);
	font-weight: 500;
	letter-spacing: -.055em;
	line-height: .96;
}
.fores-home-pillars__lead {
	max-width: 700px;
	margin: 0 0 10px !important;
	color: rgba(255,255,255,.59);
	font-size: clamp(16px, 1.25vw, 22px);
	line-height: 1.75;
}
body .fores-home-pillars .fores-home-pillars__grid {
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	gap: 0;
	margin-top: 0;
	background: transparent;
	border: 0;
}
.fores-home-pillars .fores-card {
	min-height: 450px;
	padding: 44px 40px !important;
	background: transparent;
	border-right: 1px solid rgba(255,255,255,.18);
	border-bottom: 1px solid rgba(255,255,255,.18);
	box-shadow: none;
}
.fores-home-pillars .fores-card:first-child { border-left: 1px solid rgba(255,255,255,.18); }
.fores-home-pillars .fores-card:hover { transform: none; background: rgba(255,255,255,.045); box-shadow: none; }
.fores-home-pillars .fores-card h3 { margin-top: auto; color: #fff; font-size: clamp(28px, 2.15vw, 40px); }
.fores-home-pillars .fores-card > p:not(.fores-card-number):not(.fores-card-link) { color: rgba(255,255,255,.58); font-size: 14px; }
.fores-home-pillars .fores-card-link a { color: var(--fores-orange-light); }

.fores-home-campaign {
	min-height: min(980px, 94vh);
	display: grid !important;
	grid-template-columns: 1fr 1fr;
	background: var(--fores-paper);
}
.fores-home-campaign__panel {
	position: relative;
	min-width: 0;
	margin: 0 !important;
	padding: clamp(72px, 7vw, 134px) clamp(52px, 8vw, 164px) !important;
	overflow: hidden;
}
.fores-home-campaign__panel--brand {
	display: flex !important;
	flex-direction: column;
	justify-content: center;
	background: var(--fores-navy);
	color: #fff;
}
.fores-home-campaign__overline {
	position: absolute;
	top: 0;
	left: clamp(52px, 8vw, 164px);
	margin: 0 !important;
	color: #fff;
	font-size: 11px;
	letter-spacing: .2em;
	text-transform: uppercase;
}
.fores-home-campaign__name {
	position: relative;
	z-index: 2;
	max-width: 760px;
	margin: 0 !important;
	color: #fff;
	font-family: var(--fores-serif);
	font-size: clamp(104px, 10.4vw, 196px);
	font-weight: 500;
	letter-spacing: -.065em;
	line-height: .82;
}
.fores-home-campaign__name em { color: #eea449; font-weight: inherit; }
.fores-home-campaign__orbit { position: absolute; z-index: 1; box-sizing: border-box; max-width: none !important; aspect-ratio: 1 / 1; border: 1px solid rgba(255,255,255,.15); border-radius: 50%; pointer-events: none; }
.fores-home-campaign__orbit--one { width: 390px; height: auto; right: -34px; bottom: -92px; }
.fores-home-campaign__orbit--two { width: 250px; height: auto; right: 21%; bottom: 15%; border-color: rgba(238,164,73,.7); }
.fores-home-campaign__panel--content {
	display: flex !important;
	flex-direction: column;
	justify-content: center;
	background: var(--fores-paper);
	color: var(--fores-navy);
}
.fores-home-campaign__panel--content .fores-eyebrow { position: relative; padding-left: 64px; color: #d57f25; }
.fores-home-campaign__panel--content .fores-eyebrow::before { content: ""; position: absolute; left: 0; top: 50%; width: 48px; border-top: 1px solid currentColor; }
.fores-home-campaign__panel--content h2 {
	max-width: 760px;
	margin: 22px 0 0;
	color: var(--fores-navy);
	font-family: var(--fores-serif);
	font-size: clamp(60px, 5.5vw, 104px);
	font-weight: 500;
	letter-spacing: -.055em;
	line-height: .98;
}
.fores-home-campaign__lead { max-width: 690px; margin: 42px 0 0 !important; color: var(--fores-muted); font-size: clamp(15px, 1.2vw, 20px); line-height: 1.8; }
.fores-home-campaign__list { margin: 35px 0 0 !important; padding: 0 !important; list-style: none; color: var(--fores-navy); font-size: 15px; line-height: 1.8; }
.fores-home-campaign__list li { position: relative; padding-left: 18px; }
.fores-home-campaign__list li::before { content: "✓"; position: absolute; left: 0; color: var(--fores-navy); }
.fores-home-campaign .fores-actions { margin-top: 38px; }
.fores-home-campaign .fores-button-primary .wp-block-button__link { min-width: 255px; padding: 19px 30px !important; background: var(--fores-navy) !important; color: #fff !important; }

/* Tydzień z FORES — edytowalne karty programu i natywny formularz zapisów. */
.fores-week-workshop-grid {
	margin-top: 46px;
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr)) !important;
	gap: 18px !important;
}
.fores-week-workshop-card {
	min-height: 470px;
	margin: 0 !important;
	padding: clamp(26px, 3.2vw, 42px) !important;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	border: 1px solid var(--fores-line);
	background: rgba(255,255,255,.76);
}
.fores-week-workshop-card__date,
.fores-week-workshop-card__facts,
.fores-week-workshop-card__price { font-family: var(--fores-sans); }
.fores-week-workshop-card__date {
	margin: 0 0 28px !important;
	color: var(--fores-orange);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
}
.fores-week-workshop-card h3 {
	margin: 0 0 18px;
	color: var(--fores-navy);
	font-family: var(--fores-serif);
	font-size: clamp(29px, 2.8vw, 42px);
	font-weight: 500;
	line-height: 1.04;
}
.fores-week-workshop-card__facts {
	margin: 0 0 22px !important;
	color: var(--fores-navy) !important;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.6;
}
.fores-week-workshop-card > p:not(.fores-week-workshop-card__date):not(.fores-week-workshop-card__facts):not(.fores-week-workshop-card__price) {
	margin: 0;
	color: var(--fores-muted);
	font-size: 13px;
	line-height: 1.75;
}
.fores-week-workshop-card__price {
	margin: auto 0 0 !important;
	padding-top: 30px;
	color: var(--fores-navy);
	font-size: 16px;
	font-weight: 700;
}
.fores-week-workshop-card .fores-actions { margin-top: 20px; }
.fores-week-days .fores-card,
.fores-week-open-grid .fores-card { min-height: 330px; }
.fores-week-registration {
	max-width: 1000px;
	margin-top: 46px;
}
.fores-week-registration__form {
	padding: clamp(26px, 4vw, 54px);
	border: 1px solid var(--fores-line);
	background: #fff;
}
.fores-week-form-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px 26px;
}
.fores-week-registration label,
.fores-week-registration legend {
	color: var(--fores-navy);
	font-family: var(--fores-sans);
	font-size: 12px;
	font-weight: 700;
	line-height: 1.55;
}
.fores-week-registration input[type="text"],
.fores-week-registration input[type="email"],
.fores-week-registration input[type="tel"],
.fores-week-registration input[type="number"],
.fores-week-registration textarea {
	box-sizing: border-box;
	width: 100%;
	margin-top: 8px;
	padding: 14px 16px;
	border: 1px solid var(--fores-line);
	border-radius: 0;
	background: var(--fores-paper);
	color: var(--fores-ink);
	font: 400 14px/1.5 var(--fores-sans);
}
.fores-week-registration input:focus,
.fores-week-registration textarea:focus { outline: 3px solid rgba(207,137,53,.28); border-color: var(--fores-orange); }
.fores-week-registration small {
	display: block;
	margin-top: 7px;
	color: var(--fores-muted);
	font-size: 10px;
	font-weight: 400;
}
.fores-week-form-choices {
	margin: 34px 0;
	padding: 0;
	border: 0;
}
.fores-week-form-choices legend { margin-bottom: 8px; font-size: 16px; }
.fores-week-form-choices > p { margin: 0 0 18px; color: var(--fores-muted); font-size: 12px; }
.fores-week-form-choices > label,
.fores-week-form-consents > label {
	display: flex;
	gap: 11px;
	align-items: flex-start;
	padding: 15px 0;
	border-top: 1px solid var(--fores-line);
	cursor: pointer;
}
.fores-week-form-choices input,
.fores-week-form-consents input { flex: 0 0 auto; width: 18px; height: 18px; margin-top: 1px; accent-color: var(--fores-orange); }
.fores-week-form-consents { margin-top: 28px; }
.fores-week-form-consents a { color: var(--fores-navy); text-decoration: underline; }
.fores-week-form-submit { margin: 32px 0 0; }
.fores-week-form-submit button {
	padding: 15px 24px;
	border: 0;
	border-radius: 999px;
	background: var(--fores-orange);
	color: var(--fores-navy-deep);
	font: 700 12px/1.3 var(--fores-sans);
	cursor: pointer;
}
.fores-week-form-submit button:hover { transform: translateY(-2px); }
.fores-week-form-message {
	margin-bottom: 24px;
	padding: 20px 24px;
	border-left: 4px solid var(--fores-orange);
	background: var(--fores-cream);
	color: var(--fores-navy);
}
.fores-week-form-message--success { border-left-color: var(--fores-green); }
.fores-week-form-message--error { border-left-color: #b43a3a; }
.fores-week-form-message p { margin: 8px 0 0; color: var(--fores-muted); }
.fores-week-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }

/* Menu tworzone przez pakiet. Motyw YUNA może nadpisać detale, ale hierarchia pozostaje. */
.wp-block-navigation .wp-block-navigation__submenu-container,
.menu-item-has-children > .sub-menu { border: 1px solid var(--fores-line) !important; background: var(--fores-paper) !important; box-shadow: 0 20px 55px rgba(23,43,74,.16); }
.wp-block-navigation .wp-block-navigation__submenu-container a,
.menu-item-has-children > .sub-menu a { color: var(--fores-navy) !important; font-family: var(--fores-sans); font-size: 12px; }
.wp-block-navigation .wp-block-navigation__submenu-container a:hover,
.menu-item-has-children > .sub-menu a:hover { background: var(--fores-cream); }

@media (max-width: 1290px) {
	.fores-brand-lockup { flex-basis: 420px; min-width: 310px; }
	.fores-main-navigation .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none !important; }
	.fores-main-navigation .wp-block-navigation__responsive-container-open { display: flex !important; color: var(--fores-navy); }
	.fores-main-navigation .wp-block-navigation__responsive-container.is-menu-open { display: flex !important; padding: 32px var(--fores-page); background: var(--fores-paper); color: var(--fores-navy); }
	.fores-main-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { align-items: flex-start; gap: 14px; }
	.fores-main-navigation .wp-block-navigation__responsive-container.is-menu-open .fores-menu-section > .wp-block-navigation__submenu-container { position: static !important; width: 100% !important; min-width: 0 !important; min-height: 0 !important; padding: 8px 0 8px 14px !important; display: flex !important; border: 0 !important; box-shadow: none; }
	.fores-main-navigation .fores-menu-section > .wp-block-navigation__submenu-container::before,
	.fores-main-navigation .fores-menu-section > .wp-block-navigation__submenu-container::after { display: none; }
	.fores-main-navigation .fores-menu-section::after { display: none; }
	.fores-main-navigation .fores-menu-section > .wp-block-navigation__submenu-container > .wp-block-navigation-item { width: 100% !important; border: 0; }
	.fores-main-navigation .fores-menu-section > .wp-block-navigation__submenu-container .wp-block-navigation-item__content { min-height: 0; padding: 10px 12px !important; font-size: 12px; }
}

@media (max-width: 900px) {
	.fores-brand-lockup { flex-basis: 220px; min-width: 170px; }
	body .fores-card-grid.fores-centre-path-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
	.fores-fact-panel { grid-template-columns: 1fr; gap: 58px; }
	.fores-footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.fores-home-pillars__intro { grid-template-columns: 1fr; }
	body .fores-home-pillars .fores-home-pillars__grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
	.fores-home-pillars .fores-card:nth-child(odd) { border-left: 1px solid rgba(255,255,255,.18); }
	.fores-home-campaign { min-height: 0; grid-template-columns: 1fr; }
	.fores-home-campaign__panel--brand { min-height: 720px; }
	.fores-home-campaign__panel--content { min-height: 720px; }
	.fores-header-main { min-height: 96px; }
	.fores-brand-tagline { display: none; }
	.fores-brand-copy { grid-template-columns: auto; }
	.fores-brand-name { padding-right: 0; border-right: 0; }
	.fores-header-navigation { margin-left: auto; }
	.fores-main-navigation { flex: 0 0 auto; }
	.fores-main-navigation .wp-block-navigation__responsive-container-open { color: var(--fores-navy); }
	.fores-main-navigation .wp-block-navigation__responsive-container.is-menu-open {
		padding: 32px var(--fores-page);
		background: var(--fores-paper);
		color: var(--fores-navy);
	}
	.fores-main-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { align-items: flex-start; gap: 14px; }
	.fores-main-navigation .wp-block-navigation__responsive-container.is-menu-open .fores-menu-section > .wp-block-navigation__submenu-container {
		position: static !important;
		width: 100% !important;
		min-width: 0 !important;
		min-height: 0 !important;
		padding: 8px 0 8px 14px !important;
		display: flex !important;
		border: 0 !important;
		box-shadow: none;
	}
	.fores-main-navigation .fores-menu-section > .wp-block-navigation__submenu-container::before,
	.fores-main-navigation .fores-menu-section > .wp-block-navigation__submenu-container::after { display: none; }
	.fores-main-navigation .fores-menu-section::after { display: none; }
	.fores-main-navigation .fores-menu-section > .wp-block-navigation__submenu-container > .wp-block-navigation-item { width: 100% !important; border: 0; }
	.fores-main-navigation .fores-menu-section > .wp-block-navigation__submenu-container .wp-block-navigation-item__content { min-height: 0; padding: 10px 12px !important; font-size: 12px; }
	.fores-hero { min-height: 620px; }
	.fores-orbit { opacity: .55; }
	.fores-choice { grid-template-columns: 1fr; }
	.fores-choice__buttons { border-right: 0; border-bottom: 1px solid var(--fores-line); }
	.fores-choice__buttons { display: grid; grid-template-columns: 1fr 1fr; }
	.fores-choice__buttons button { min-height: 76px; border-right: 1px solid var(--fores-line); }
	.fores-modular-choice { grid-template-columns: 1fr; grid-auto-rows: auto; }
	.fores-modular-choice__item { display: block; }
	.fores-modular-choice__item > [data-fores-modular-tab] { width: 100%; border-right: 0; }
	.fores-modular-choice__panel { grid-column: 1; grid-row: auto; }
	.fores-note { grid-template-columns: 1fr; }
	.fores-dkms-partnership__logos { grid-template-columns: 1fr; }
	.fores-dkms-partnership__connector { padding: 2px 0; }
	.fores-giving-methods { grid-template-columns: 1fr; }
	.fores-giving-methods article { min-height: 220px; border-right: 0; border-bottom: 1px solid var(--fores-line); }
	.fores-giving-methods article:last-child { border-bottom: 0; }
	.fores-open-days-timeline__item { grid-template-columns: 1fr; gap: 18px; }
}

.fores-managed-resources {
	background: var(--fores-paper, #f7f3ed);
	border-top: 1px solid var(--fores-line, #d6d9de);
	margin-top: clamp(44px, 7vw, 92px);
	padding: clamp(34px, 5vw, 68px);
}

.fores-managed-resources h2 {
	margin-top: 8px;
}

.fores-managed-resources .fores-video {
	margin-top: 28px;
}

@media (max-width: 600px) {
	:root { --fores-page: 20px; }
	body .fores-home-pillars .fores-home-pillars__grid { grid-template-columns: 1fr !important; }
	.fores-home-pillars .fores-card { min-height: 320px; border-left: 1px solid rgba(255,255,255,.18); }
	.fores-home-campaign__panel { padding: 68px 28px !important; }
	.fores-home-campaign__overline { left: 28px; }
	.fores-home-campaign__panel--brand { min-height: 560px; }
	.fores-home-campaign__panel--content { min-height: 0; }
	.fores-home-campaign__name { font-size: clamp(82px, 28vw, 122px); }
	.fores-home-campaign__panel--content h2 { font-size: 54px; }
	.fores-support-strip__inner { justify-content: space-between; gap: 12px; }
	.fores-support-strip__prompt { display: none; }
	.fores-support-strip p { font-size: 12px; }
	.fores-header-main { min-height: 82px; padding-top: 15px !important; padding-bottom: 15px !important; }
	.fores-brand-mark a { width: 50px; height: 50px; font-size: 26px; }
	.fores-brand-fallback .fores-brand-mark { width: 50px; height: 50px; font-size: 26px; }
	.fores-brand-name,
	.fores-brand-name a { font-size: 23px; }
	.fores-brand-fallback .fores-brand-name { padding-right: 0; border-right: 0; font-size: 23px; }
	.fores-brand-fallback .fores-brand-tagline { display: none; }
	.fores-brand-logo__image { max-height: 54px; }
	.fores-header-navigation { gap: 10px; }
	.fores-header-appointment { display: none; }
	.fores-header-actions .wp-block-button__link { min-height: 42px; padding: 10px 13px !important; font-size: 12px; }
	.fores-reach-bar { padding-top: 13px !important; padding-bottom: 13px !important; }
	.fores-reach-bar__inner { align-items: flex-start; justify-content: flex-start; gap: 4px; }
	.fores-reach-bar p { width: 100%; font-size: 12px; }
	.fores-hero { min-height: 560px; }
	.fores-hero h1 { font-size: clamp(48px, 16vw, 74px); }
	.fores-lead { margin-top: 28px !important; }
	.fores-orbit--one { width: 260px !important; height: auto !important; right: -90px; }
	.fores-orbit--two { width: 150px !important; height: auto !important; right: 25vw; top: 60%; }
	.fores-card { min-height: 270px; }
	body .fores-card-grid.fores-centre-path-grid { grid-template-columns: 1fr !important; }
	.fores-centre-path-grid .fores-card { min-height: 270px; }
	.fores-fact-panel { padding-right: 20px !important; padding-left: 20px !important; }
	.fores-fact-row { grid-template-columns: 1fr; gap: 8px; }
	.fores-footer-grid { grid-template-columns: 1fr; }
	.fores-choice__buttons { grid-template-columns: 1fr; }
	.fores-choice__buttons button { border-right: 0; }
	.fores-progress__head { align-items: flex-start; }
	.fores-progress__head > strong { font-size: 38px; }
	.fores-actions { flex-direction: column; align-items: stretch; }
	.fores-actions .wp-block-button { width: 100%; }
	.fores-actions .wp-block-button__link { width: 100%; }
	.fores-week-form-grid { grid-template-columns: 1fr; }
	.fores-week-registration__form { padding: 24px 18px; }
	.fores-week-workshop-card { min-height: 0; }
}

/* Akademia FORES 3.4 */
.fores-academy-grid,
.fores-workshop-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
}

.fores-academy-card,
.fores-workshop-card {
	display: flex;
	min-width: 0;
	flex-direction: column;
	overflow: hidden;
	border: 1px solid var(--fores-line);
	border-top: 7px solid var(--fores-academy-color, var(--fores-workshop-color, var(--fores-orange)));
	background: var(--fores-paper);
}

.fores-academy-card__image,
.fores-workshop-card__image {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

.fores-academy-card > div,
.fores-workshop-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: clamp(24px, 3vw, 38px);
}

.fores-academy-card h3,
.fores-workshop-card h3 {
	margin: 10px 0 14px;
	font: 400 clamp(29px, 3vw, 45px)/1.02 var(--fores-serif);
}

.fores-workshop-card h3 a { color: inherit; text-decoration: none; }
.fores-workshop-card__meta { color: var(--fores-muted); font-size: 13px; }
.fores-workshop-card__actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: auto; padding-top: 24px; }
.fores-workshop-card__actions a,
.fores-event-card--340 .fores-event-card__actions a {
	display: inline-flex;
	padding: 11px 17px;
	border: 1px solid var(--fores-navy);
	border-radius: 999px;
	color: var(--fores-navy);
	font-weight: 700;
	text-decoration: none;
}
.fores-workshop-card__actions a:last-child,
.fores-event-card--340 .fores-event-card__actions a:last-child { background: var(--fores-orange); border-color: var(--fores-orange); }

.fores-workshop-hero {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(300px, .9fr);
	align-items: stretch;
	background: var(--fores-navy);
	color: #fff;
}
.fores-workshop-hero > div { padding: clamp(38px, 7vw, 110px); }
.fores-workshop-hero h1 { margin: 12px 0 24px; color: #fff; font: 400 clamp(54px, 7vw, 112px)/.93 var(--fores-serif); }
.fores-workshop-hero .fores-lead { max-width: 760px; color: #d3dbe7; }
.fores-workshop-hero img { width: 100%; height: 100%; min-height: 520px; object-fit: cover; }
.fores-workshop-page { width: min(100%, 1680px); margin-inline: auto; background: var(--fores-paper); }
.fores-workshop-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border: 1px solid var(--fores-line); border-top: 7px solid var(--fores-orange); }
.fores-workshop-facts > div { padding: 24px; border-right: 1px solid var(--fores-line); border-bottom: 1px solid var(--fores-line); }
.fores-workshop-facts span,
.fores-workshop-facts strong { display: block; }
.fores-workshop-facts span { color: var(--fores-orange); font: 700 10px/1.3 var(--fores-sans); letter-spacing: .08em; text-transform: uppercase; }
.fores-workshop-facts strong { margin-top: 14px; }
.fores-workshop-frequency { margin: 0; padding: 24px clamp(24px, 6vw, 90px); background: var(--fores-cream); }
.fores-workshop-content,
.fores-workshop-dynamic,
.fores-workshop-related { padding: clamp(42px, 7vw, 110px); }
.fores-workshop-dynamic { background: var(--fores-cream); }

.fores-event-card--340 { border-top: 7px solid var(--fores-event-color); }
.fores-event-card--340 .fores-event-card__top span { color: var(--fores-event-color); }
.fores-calendar--central .fores-calendar__event { background: var(--fores-event-color) !important; color: var(--fores-event-contrast) !important; }
.fores-calendar--central .fores-calendar__event small { color: inherit; opacity: .8; }
.fores-calendar--central .fores-calendar__event div { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.fores-calendar--central .fores-calendar__event a { padding: 4px 7px; border: 1px solid currentColor; color: inherit !important; text-decoration: none; }
.fores-calendar-filter-panel { margin: 20px 0; border: 1px solid var(--fores-line); background: var(--fores-paper); }
.fores-calendar-filter-panel summary { padding: 16px 20px; color: var(--fores-navy); font-weight: 700; cursor: pointer; }
.fores-calendar-filter-panel .fores-calendar__filters { padding: 0 20px 16px; }
.fores-calendar__secondary { display: flex; flex-wrap: wrap; gap: 14px; align-items: end; padding: 18px 20px; border-top: 1px solid var(--fores-line); }
.fores-calendar__secondary label { display: grid; gap: 6px; font-size: 12px; font-weight: 700; }
.fores-calendar__secondary select { min-width: 170px; padding: 10px; border: 1px solid var(--fores-line); background: #fff; }
.fores-calendar__secondary button { padding: 11px 18px; border: 0; border-radius: 999px; background: var(--fores-orange); color: var(--fores-navy); font-weight: 700; }

.fores-centre-timeline { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border: 1px solid var(--fores-line); }
.fores-centre-timeline article { position: relative; padding: 30px; border-right: 1px solid var(--fores-line); }
.fores-centre-timeline article:last-child { border-right: 0; }
.fores-centre-timeline article::before { content: ""; display: block; width: 15px; height: 15px; margin-bottom: 28px; border: 3px solid var(--fores-orange); border-radius: 50%; background: var(--fores-paper); }
.fores-centre-timeline .is-done::before { background: var(--fores-green); border-color: var(--fores-green); }
.fores-centre-timeline .is-current { background: var(--fores-navy); color: #fff; }
.fores-centre-timeline .is-current h3,
.fores-centre-timeline .is-current a { color: #fff; }

#formularz-helpdesk .fores-helpdesk-form { width: min(100%, 980px) !important; margin-inline: auto !important; }
#formularz-helpdesk .fores-helpdesk-form form { width: 100% !important; }

@media (max-width: 1050px) {
	.fores-academy-grid,
	.fores-workshop-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.fores-centre-timeline { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
	.fores-academy-grid,
	.fores-workshop-grid,
	.fores-workshop-hero,
	.fores-workshop-facts,
	.fores-centre-timeline { grid-template-columns: 1fr; }
	.fores-workshop-hero img { min-height: 320px; }
	.fores-centre-timeline article { border-right: 0; border-bottom: 1px solid var(--fores-line); }
	.fores-calendar-filter-panel:not([open]) .fores-calendar__filters,
	.fores-calendar-filter-panel:not([open]) .fores-calendar__secondary { display: none; }
	.fores-calendar__secondary { display: grid; align-items: stretch; }
	.fores-calendar__secondary select { width: 100%; }
}

/* Aktualizacja 3.3: miesięczny kalendarz specjalistów i pełne strony zapisów. */
.fores-specialist-filters a {
	border-bottom: 4px solid var(--fores-specialist-color, var(--fores-orange)) !important;
}

.fores-calendar__legend {
	display: flex;
	flex-wrap: wrap;
	gap: 18px;
	margin: 0 0 18px;
	font: 700 12px/1.4 var(--fores-sans);
}

.fores-calendar__legend span { display: inline-flex; align-items: center; gap: 8px; }
.fores-calendar__legend i { width: 15px; height: 15px; border-radius: 50%; background: var(--fores-orange); }
.fores-calendar__legend .is-reserved i { background: #737b89; }
.fores-calendar__legend .is-dkms i { background: var(--fores-green); }

.fores-consultation-kind-filters { margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--fores-line); }
.fores-consultation-kind-filters .is-dkms-filter { border-color: var(--fores-green); }
.fores-consultation-kind-filters .is-dkms-filter.is-active { background: var(--fores-green); color: #fff; }

.fores-calendar__event-card,
.fores-calendar__appointment {
	color: #fff !important;
}

.fores-calendar__event-card > div,
.fores-calendar__appointment > div {
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
	margin-top: 7px;
}

.fores-calendar__event-card a,
.fores-calendar__appointment button {
	display: inline-flex;
	min-height: 27px;
	align-items: center;
	justify-content: center;
	padding: 5px 8px;
	border: 1px solid rgba(255,255,255,.55);
	border-radius: 999px;
	background: transparent;
	color: #fff !important;
	font: 700 9px/1 var(--fores-sans);
	text-decoration: none !important;
	cursor: pointer;
}

.fores-calendar__appointment.is-reserved { opacity: .78; background: #737b89 !important; border-left-color: #737b89 !important; }
.fores-calendar__appointment.is-dkms:not(.is-reserved) { background: color-mix(in srgb, #58766b 72%, var(--fores-navy)) !important; border-left-color: #58766b !important; box-shadow: inset 0 -4px 0 #90aa9a; }

.fores-appointment-dialog {
	width: min(1040px, calc(100vw - 32px));
	max-height: calc(100vh - 32px);
	padding: 0;
	border: 0;
	border-top: 7px solid var(--fores-orange);
	background: var(--fores-paper);
	box-shadow: 0 30px 100px rgba(4,20,40,.36);
}

.fores-appointment-dialog::backdrop { background: rgba(4,20,40,.74); }
.fores-appointment-dialog__close { position: absolute; z-index: 4; top: 10px; right: 16px; border: 0; background: transparent; color: #fff; font-size: 32px; cursor: pointer; }
.fores-appointment-dialog .fores-appointment-form { border: 0; }
.fores-booking-payment { margin: 24px 0; padding: 20px; border-left: 5px solid var(--fores-orange); background: var(--fores-cream); }
.fores-booking-payment--free { border-left-color: var(--fores-green); }

.fores-registration-success { grid-column: 1 / -1; padding: clamp(24px,5vw,70px); background: var(--fores-cream); }
.fores-registration-success .fores-form-message { max-width: 1180px; margin: 0 auto; padding: clamp(28px,5vw,64px); border: 1px solid var(--fores-line); border-top: 7px solid var(--fores-green); background: var(--fores-paper); }
.fores-registration-success .fores-form-message > strong { display: block; margin: 10px 0 20px; color: var(--fores-navy); font: 500 clamp(36px,5vw,70px)/1.02 var(--fores-serif); }
.fores-registration-success__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }

.fores-event-top-action { display: flex; justify-content: flex-start; padding: 22px var(--fores-page); background: var(--fores-paper); border-bottom: 1px solid var(--fores-line); }

body.single-fores_event main,
body.single-fores_event .entry-content,
body.single-fores_event .wp-block-post-content {
	width: 100% !important;
	max-width: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

body.single-fores_event .fores-event-facts,
body.single-fores_event .fores-event-booking,
body.single-fores_event .fores-event-top-action {
	width: 100%;
	max-width: none;
}

#cele .fores-card-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

#cele .fores-card { min-width: 0; overflow-wrap: anywhere; }
#cele .fores-card h3 { font-size: clamp(28px,2.4vw,43px); }

#formularz-helpdesk .fores-helpdesk-form {
	width: min(960px, 100%);
	margin-right: auto !important;
	margin-left: auto !important;
}

#formularz-helpdesk .fores-helpdesk-form form {
	width: 100%;
	max-width: 820px;
	margin: 0 auto;
}

.fores-logo-strip .wp-block-gallery,
#partnerzy .fores-gallery-slot:first-of-type {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 30px;
}

#partnerzy .fores-gallery-slot:first-of-type img {
	width: auto;
	height: 86px;
	max-width: 220px;
	object-fit: contain;
}

@media (max-width: 980px) {
	#cele .fores-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

@media (max-width: 600px) {
	#cele .fores-card-grid { grid-template-columns: 1fr !important; }
	.fores-appointment-dialog__close { color: var(--fores-navy); }
	.fores-event-top-action { padding-right: 20px; padding-left: 20px; }
}

@media (prefers-reduced-motion: reduce) {
	.fores-page *,
	.fores-page *::before,
	.fores-page *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

/* Kalendarze, zapisy i karty wydarzeń — wersja 3.0. */
.fores-event-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.fores-event-card { display:flex; min-width:0; flex-direction:column; overflow:hidden; border:1px solid var(--fores-line); background:var(--fores-paper); color:var(--fores-navy); }
.fores-event-card__media { display:block; aspect-ratio:16/10; overflow:hidden; background:var(--fores-cream); }
.fores-event-card__image { display:block; width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
.fores-event-card:hover .fores-event-card__image { transform:scale(1.025); }
.fores-event-card__body { display:flex; flex:1; flex-direction:column; padding:26px; }
.fores-event-card__top { display:flex; gap:12px; justify-content:space-between; color:var(--fores-orange); font:700 10px/1.4 var(--fores-sans); letter-spacing:.08em; text-transform:uppercase; }
.fores-event-card__top strong { color:var(--fores-navy); text-align:right; }
.fores-event-card__date,.fores-event-card__meta { color:var(--fores-muted); font:500 12px/1.55 var(--fores-sans); }
.fores-event-card h3 { margin:12px 0 6px; font:400 clamp(27px,2.4vw,39px)/1.02 var(--fores-serif); }
.fores-event-card h3 a { color:inherit; text-decoration:none; }
.fores-event-card__excerpt { margin:12px 0 24px; color:var(--fores-muted); }
.fores-event-card__actions { display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin-top:auto; }
.fores-inline-button { display:inline-flex; min-height:43px; align-items:center; justify-content:center; padding:10px 18px; border:1px solid var(--fores-orange); border-radius:999px; background:var(--fores-orange); color:var(--fores-navy-deep)!important; font:700 11px/1.2 var(--fores-sans); text-decoration:none!important; }
.fores-inline-button--ghost { background:transparent; border-color:var(--fores-line); }
.fores-event-card__more { width:100%; color:var(--fores-navy); font:700 11px/1.4 var(--fores-sans); }
.fores-empty { padding:34px; border:1px solid var(--fores-line); background:var(--fores-cream); }
.fores-calendar { color:var(--fores-navy); }
.fores-calendar__tools { display:flex; gap:24px; align-items:flex-end; justify-content:space-between; margin-bottom:20px; }
.fores-calendar__tools h2 { margin:2px 0 0; }
.fores-calendar__tools nav,.fores-calendar__filters { display:flex; flex-wrap:wrap; gap:9px; }
.fores-calendar__tools a,.fores-calendar__filters a { padding:9px 14px; border:1px solid var(--fores-line); color:var(--fores-navy); font:700 10px/1.2 var(--fores-sans); text-decoration:none; }
.fores-calendar__filters { margin:0 0 14px; }
.fores-calendar__filters a.is-active { border-color:var(--fores-orange); background:var(--fores-orange); }
.fores-calendar__weekdays,.fores-calendar__grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); }
.fores-calendar__weekdays span { padding:10px; border:1px solid var(--fores-line); border-bottom:0; font:700 10px/1.2 var(--fores-sans); text-align:center; }
.fores-calendar__day { min-height:142px; padding:9px; border:1px solid var(--fores-line); background:var(--fores-paper); }
.fores-calendar__day.is-empty { background:rgba(255,255,255,.25); }
.fores-calendar__number { display:block; margin-bottom:7px; color:var(--fores-orange); font:700 11px/1 var(--fores-sans); }
.fores-calendar__event { display:block; margin:0 0 7px; padding:8px; background:var(--fores-navy); color:#fff!important; font:600 10px/1.35 var(--fores-sans); text-decoration:none!important; }
.fores-calendar__event time,.fores-calendar__event span,.fores-calendar__event small { display:block; }
.fores-calendar__event small { margin-top:4px; color:#c9d2df; font-size:9px; }
.fores-calendar__list { margin-top:30px; }
.fores-registration,.fores-appointment-form { display:grid; grid-template-columns:minmax(250px,.7fr) minmax(0,1.3fr); border:1px solid var(--fores-line); background:var(--fores-paper); }
.fores-registration__summary { padding:32px; background:var(--fores-navy); color:#fff; }
.fores-registration__summary h3 { margin:10px 0; color:#fff; font:400 40px/1.05 var(--fores-serif); }
.fores-registration__summary p { color:#c9d2df; }
.fores-registration__form { padding:32px; }
.fores-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.fores-form-grid p { margin:0; }
.fores-form-wide { grid-column:1/-1; }
.fores-registration label,.fores-appointment-form label { display:block; color:var(--fores-navy); font:700 11px/1.4 var(--fores-sans); }
.fores-registration input:not([type=checkbox]),.fores-registration select,.fores-registration textarea,.fores-appointment-form input:not([type=checkbox]),.fores-appointment-form select,.fores-appointment-form textarea { box-sizing:border-box; width:100%; margin-top:7px; padding:13px 14px; border:1px solid var(--fores-line); background:#fff; color:var(--fores-navy); font:400 14px/1.4 var(--fores-sans); }
.fores-registration .fores-check { display:flex; gap:9px; align-items:flex-start; }
.fores-registration button { padding:14px 22px; border:0; border-radius:999px; background:var(--fores-orange); color:var(--fores-navy); font-weight:700; cursor:pointer; }
.fores-honeypot { position:absolute!important; left:-10000px!important; }
.fores-payment-options { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border:1px solid var(--fores-line); }
.fores-payment-options article { min-height:190px; padding:28px; border-right:1px solid var(--fores-line); }
.fores-payment-options article:last-child { border-right:0; }
.fores-payment-options span { color:var(--fores-orange); font:700 10px/1.2 var(--fores-sans); text-transform:uppercase; letter-spacing:.1em; }
.fores-payment-options h3 { overflow-wrap:anywhere; font:400 clamp(25px,2.3vw,37px)/1.05 var(--fores-serif); }
.fores-specialist-calendar__tools,.fores-specialist-calendar__head { display:flex; gap:14px; align-items:flex-end; justify-content:space-between; margin-bottom:24px; }
.fores-specialist-calendar__grid,.fores-slot-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.fores-slot-card { padding:24px; border:1px solid var(--fores-line); background:var(--fores-paper); }
.fores-slot-card h3 { margin:8px 0; font:400 31px/1.05 var(--fores-serif); }
.fores-slot-card__date { color:var(--fores-orange); font-weight:700; }
.fores-event-facts { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border:1px solid var(--fores-line); background:var(--fores-paper); }
.fores-event-facts>div { min-height:130px; padding:24px; border-right:1px solid var(--fores-line); }
.fores-event-facts>div:last-child { border-right:0; }
.fores-event-facts span,.fores-event-facts strong { display:block; }
.fores-event-facts span { color:var(--fores-orange); font:700 10px/1.2 var(--fores-sans); text-transform:uppercase; }
.fores-event-facts strong { margin-top:30px; font:600 14px/1.5 var(--fores-sans); }
.fores-event-booking { padding:clamp(30px,5vw,70px); background:var(--fores-cream); }
.fores-week-form-choices .is-sold-out { opacity:.55; cursor:not-allowed; }

@media (max-width:900px) {
	.fores-event-grid,.fores-specialist-calendar__grid,.fores-slot-grid { grid-template-columns:1fr 1fr; }
	.fores-calendar__weekdays,.fores-calendar__grid { min-width:820px; }
	.fores-calendar { overflow-x:auto; padding-bottom:10px; }
	.fores-registration,.fores-appointment-form { grid-template-columns:1fr; }
	.fores-payment-options { grid-template-columns:1fr; }
	.fores-payment-options article { border-right:0; border-bottom:1px solid var(--fores-line); }
	.fores-event-facts { grid-template-columns:1fr 1fr; }
}
@media (max-width:600px) {
	.fores-event-grid,.fores-specialist-calendar__grid,.fores-slot-grid,.fores-form-grid,.fores-event-facts { grid-template-columns:1fr; }
	.fores-calendar__tools,.fores-specialist-calendar__tools,.fores-specialist-calendar__head { align-items:flex-start; flex-direction:column; }
	.fores-event-facts>div { min-height:0; border-right:0; border-bottom:1px solid var(--fores-line); }
}

/* Kolor przypisany w edytorze wydarzenia ma pierwszeństwo przed bazowym stylem. */
.fores-page .fores-event-card { border-top:6px solid var(--fores-event-color, var(--fores-orange)); }
.fores-page .fores-calendar__event {
	border-left:5px solid var(--fores-event-color, var(--fores-orange));
	background:color-mix(in srgb, var(--fores-event-color, #e16f3d) 22%, var(--fores-navy));
}
.fores-event-facts { border-top:7px solid var(--fores-event-color, var(--fores-orange)); }

/* Audyt 3.2: czytelność treści, pierwsza droga pomocy i zdjęcia. */
.fores-page {
	font-size: 16px;
}

.fores-page .fores-section-lead {
	max-width: 850px;
	font-size: clamp(16px, 1.15vw, 18px);
	line-height: 1.75;
}

.fores-page .fores-card > p:not(.fores-card-number):not(.fores-card-link),
.fores-page .fores-download p,
.fores-page .fores-post-grid p,
.fores-page .fores-event-card__excerpt {
	font-size: 15px;
	line-height: 1.7;
}

.fores-page .fores-card-link a,
.fores-page .fores-event-card__more,
.fores-page .fores-inline-button,
.fores-page .fores-actions .wp-block-button__link,
.fores-page .fores-week-form-submit button {
	font-size: 14px;
}

.fores-page .fores-choice__buttons button,
.fores-page .fores-modular-choice__item > [data-fores-modular-tab] {
	font-size: 14px;
}

.fores-page .fores-choice__panel > p:not(.fores-choice__kicker),
.fores-page .fores-modular-choice__panel > p:not(.fores-choice__kicker),
.fores-page .fores-registration__summary p {
	font-size: 16px;
	line-height: 1.7;
}

.fores-page .fores-registration label,
.fores-page .fores-appointment-form label,
.fores-page .fores-calendar__tools a,
.fores-page .fores-calendar__filters a {
	font-size: 13px;
}

.fores-page .fores-eyebrow {
	color: #985710;
}

.fores-page .fores-hero--navy .fores-eyebrow,
.fores-page .fores-section--navy .fores-eyebrow,
.fores-page .fores-section--green .fores-eyebrow {
	color: var(--fores-orange-light);
}

.fores-phone-hero {
	min-height: 760px;
}

.fores-phone-hero h1 {
	max-width: 1050px;
	font-size: clamp(54px, 7.7vw, 118px);
}

.fores-phone-hero .fores-lead {
	max-width: 850px;
	font-size: clamp(17px, 1.35vw, 21px);
}

.fores-phone-direct {
	position: relative;
	z-index: 3;
	max-width: 880px;
	margin: 40px 0 0 !important;
	padding: clamp(24px, 3.5vw, 42px) !important;
	border: 1px solid rgba(255, 255, 255, .26);
	border-left: 7px solid var(--fores-orange-light);
	background: rgba(255, 255, 255, .09);
	box-shadow: 0 22px 60px rgba(4, 20, 40, .22);
}

.fores-phone-direct > p:first-child {
	margin: 0 0 8px;
	color: rgba(255, 255, 255, .82);
	font-size: 15px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.fores-phone-direct__number {
	display: inline-block;
	color: #fff !important;
	font: 600 clamp(42px, 6.2vw, 82px)/1 var(--fores-serif);
	letter-spacing: -.035em;
	text-decoration: none !important;
}

.fores-phone-direct__number:hover,
.fores-phone-direct__number:focus-visible {
	color: var(--fores-orange-light) !important;
}

.fores-phone-direct__hours {
	max-width: 760px;
	margin: 18px 0 0 !important;
	color: rgba(255, 255, 255, .84) !important;
	font-size: 16px;
	line-height: 1.65;
}

.fores-workshop-catalog,
.fores-profile-grid--team {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 24px;
	margin-top: 46px;
}

.fores-workshop-catalog__item,
.fores-profile-grid--team .fores-profile-card {
	min-height: 0;
	padding: 32px !important;
	border: 1px solid var(--fores-line);
	background: var(--fores-paper);
}

.fores-workshop-catalog__item .fores-media-slot,
.fores-profile-grid--team .fores-media-slot {
	margin: -32px -32px 28px;
}

.fores-workshop-catalog__item .fores-gallery-slot img,
.fores-profile-grid--team .fores-gallery-slot img {
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

.fores-workshop-catalog__item h3,
.fores-profile-grid--team .fores-profile-card h3 {
	margin-top: 12px;
}

.fores-workshop-catalog__item .fores-actions {
	margin-top: auto;
	padding-top: 26px;
}

.fores-support-strip a:focus-visible,
.fores-phone-direct__number:focus-visible,
.fores-page a:focus-visible,
.fores-page button:focus-visible {
	outline: 3px solid var(--fores-orange-light);
	outline-offset: 4px;
}

@media (max-width: 900px) {
	.fores-workshop-catalog,
	.fores-profile-grid--team {
		grid-template-columns: 1fr !important;
	}

	.fores-phone-hero {
		min-height: 680px;
	}
}

@media (max-width: 600px) {
	.fores-phone-hero h1 {
		font-size: clamp(48px, 15vw, 70px);
	}

	.fores-phone-direct {
		margin-top: 30px !important;
		padding: 24px 20px !important;
	}

	.fores-phone-direct__number {
		font-size: clamp(39px, 12vw, 55px);
	}

	.fores-phone-direct__hours {
		font-size: 15px;
	}

	.fores-workshop-catalog__item,
	.fores-profile-grid--team .fores-profile-card {
		padding: 24px !important;
	}

	.fores-workshop-catalog__item .fores-media-slot,
	.fores-profile-grid--team .fores-media-slot {
		margin: -24px -24px 24px;
	}
}
