/* =========================================================================
   Polska Szkoła w Brugge - warstwa wizualna (styl "Heritage").
   Nadaje natywnym blokom wygląd zaprojektowanej strony.
   ========================================================================= */

:root {
	--psb-shadow: 0 18px 44px rgba(20, 30, 60, .10);
	--psb-shadow-sm: 0 8px 22px rgba(20, 30, 60, .07);
	--psb-maxw: 1200px;
}

body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }

/* Nagłówki - mocniejsza hierarchia */
h1, h2, h3, h4 { text-wrap: balance; }
p { text-wrap: pretty; }

/* ---------------------------------------------------------------- KICKER */
.psb-kicker {
	font-size: .8rem !important;
	letter-spacing: .18em;
	text-transform: uppercase;
	font-weight: 600;
	color: var(--wp--preset--color--primary);
	margin-bottom: .5rem;
}

/* ----------------------------------------------------- SEPARATOR WYCINANKA */
.psb-folk {
	height: 20px;
	border: 0;
	background-repeat: repeat-x;
	background-size: 30px 20px;
	background-position: center;
	opacity: .6;
	max-width: 220px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='34' height='22'%3E%3Cpath d='M17 2 L21 9 L29 9 L23 14 L25 21 L17 17 L9 21 L11 14 L5 9 L13 9 Z' fill='%23a51d2d'/%3E%3C/svg%3E");
}
.psb-folk.is-light {
	max-width: 160px;
	margin-left: auto; margin-right: auto;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='34' height='22'%3E%3Cpath d='M17 2 L21 9 L29 9 L23 14 L25 21 L17 17 L9 21 L11 14 L5 9 L13 9 Z' fill='%23ffffff'/%3E%3C/svg%3E");
}

/* ============================================================== NAGŁÓWEK */
.psb-site-header { position: sticky; top: 0; z-index: 100; backdrop-filter: saturate(1.1) blur(6px); }
.psb-site-header .custom-logo,
.psb-site-header .wp-block-site-logo img,
.psb-site-header .psb-logo img { height: 78px !important; width: auto !important; display: block; }
.psb-site-header .psb-logo { margin: 0 !important; }

/* Linki nawigacji */
.psb-site-header .wp-block-navigation { gap: clamp(1rem, 2vw, 1.9rem); flex-wrap: nowrap; align-items: center; }
.psb-site-header .wp-block-navigation__container { flex-wrap: nowrap; align-items: center; }
.psb-site-header .wp-block-navigation a {
	color: var(--wp--preset--color--contrast);
	font-weight: 500;
	text-decoration: none;
}
.psb-site-header .wp-block-navigation a:hover { color: var(--wp--preset--color--primary); }

/* Przycisk "Zapisz dziecko" w menu */
.psb-site-header .psb-nav-cta a,
.wp-block-navigation .psb-nav-cta a {
	background: var(--wp--preset--color--primary);
	color: #fff !important;
	border-radius: 2px;
	padding: .6rem 1.25rem;
	font-weight: 600;
	transition: background-color .2s ease, transform .2s ease;
}
.psb-site-header .psb-nav-cta a:hover { background: var(--wp--preset--color--secondary); transform: translateY(-1px); }

/* Nawigacja: poziomo na desktopie, nakładka tylko na mobile.
   (Defensywnie wymuszamy poprawne zachowanie bloku Nawigacja.) */
@media (min-width: 782px) {
	.wp-block-navigation__responsive-container-open,
	.wp-block-navigation__responsive-container-close { display: none !important; }
	.wp-block-navigation .wp-block-navigation__responsive-container {
		position: static !important;
		display: flex !important;
		background: transparent !important;
		width: auto !important; height: auto !important;
		visibility: visible !important; opacity: 1 !important;
	}
	.wp-block-navigation .wp-block-navigation__responsive-container .wp-block-navigation__container {
		flex-direction: row;
		align-items: center;
		gap: clamp(1rem, 2vw, 1.9rem);
	}
}
@media (max-width: 781px) {
	.psb-site-header .wp-block-navigation__responsive-container-open { display: flex; color: var(--wp--preset--color--contrast); }
}

/* ================================================================== HERO */
.psb-hero.wp-block-cover {
	min-height: clamp(440px, 76vh, 760px);
	align-items: center;
	justify-content: center;
	padding: var(--wp--preset--spacing--60) var(--wp--preset--spacing--30);
}
/* Defensywnie wymuszamy poprawne nakładanie tła/obrazu/treści */
.psb-hero .wp-block-cover__background { position: absolute; inset: 0; }
.psb-hero .wp-block-cover__image-background {
	position: absolute; inset: 0;
	width: 100%; height: 100%;
	object-fit: cover; object-position: center;
}
.psb-hero .wp-block-cover__inner-container {
	position: relative; z-index: 1;
	max-width: 820px; width: 100%;
}
.psb-hero h1 { color: #fff; font-weight: 500; margin: .2em 0 .3em; }
.psb-hero p { color: rgba(255, 255, 255, .92); }
.psb-hero .psb-kicker { color: var(--wp--preset--color--accent) !important; }
.psb-hero .psb-facts {
	display: inline-block;
	margin-top: var(--wp--preset--spacing--30);
	padding: .5rem 1.1rem;
	border: 1px solid rgba(255, 255, 255, .35);
	border-radius: 2px;
	color: #fff !important;
	backdrop-filter: blur(2px);
}

/* ============================================================== PRZYCISKI */
.wp-block-button__link {
	padding: .9rem 1.7rem !important;
	box-shadow: var(--psb-shadow-sm);
	transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease;
}
.wp-block-button__link:hover { transform: translateY(-2px); box-shadow: var(--psb-shadow); }
.is-style-outline .wp-block-button__link {
	border: 1.5px solid currentColor;
	box-shadow: none;
	background: transparent;
}

/* ================================================================= KARTY */
.psb-card {
	background: var(--wp--preset--color--card);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 12px;
	box-shadow: var(--psb-shadow-sm);
	transition: transform .22s ease, box-shadow .22s ease;
}
.psb-card:hover { transform: translateY(-5px); box-shadow: var(--psb-shadow); }
.psb-card.has-bar { border-top: 4px solid var(--wp--preset--color--primary); }
.psb-card.has-bar.bar-2 { border-top-color: var(--wp--preset--color--accent); }
.psb-card.has-bar.bar-3 { border-top-color: var(--wp--preset--color--secondary); }
.psb-card h3 { margin-top: .2rem; }
.psb-num {
	font-family: var(--wp--preset--font-family--heading);
	font-style: italic;
	color: var(--wp--preset--color--primary);
	font-size: 1.3rem !important;
	margin-bottom: .2rem !important;
}

/* Sekcje na karcie (card bg) - delikatne linie oddzielające */
.has-card-background-color { border-top: 1px solid var(--wp--preset--color--line); border-bottom: 1px solid var(--wp--preset--color--line); }

/* ================================================================= KADRA */
.psb-team .wp-block-column { flex-basis: 0; }
.psb-team img {
	aspect-ratio: 3 / 4;
	object-fit: cover;
	width: 100%;
	border-radius: 10px;
	border: 1px solid var(--wp--preset--color--line);
	box-shadow: var(--psb-shadow-sm);
}
.psb-team strong { font-family: var(--wp--preset--font-family--heading); font-weight: 600; }

/* ============================================================ AKTUALNOŚCI */
.psb-meta { font-size: .82rem; letter-spacing: .05em; text-transform: uppercase; color: var(--wp--preset--color--muted); }
.wp-block-post-title a { text-decoration: none; }
.wp-block-post-title a:hover { color: var(--wp--preset--color--primary); }

/* ============================================================= FORMULARZE */
.wp-block-group input[type="text"],
.wp-block-group input[type="email"],
.wp-block-group input[type="tel"],
.wp-block-group textarea,
.fluentform input, .fluentform textarea, .fluentform select {
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 8px;
}

/* ============================================================ DETAILS/FAQ */
.wp-block-details {
	background: var(--wp--preset--color--card);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 10px;
	padding: 1rem 1.25rem;
	margin-bottom: .6rem;
}
.wp-block-details summary { font-weight: 600; cursor: pointer; font-family: var(--wp--preset--font-family--heading); }

/* ================================================================= MAPA */
.psb-map iframe {
	width: 100%; min-height: 380px;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 12px;
}

/* ================================================================ STOPKA */
.psb-site-footer a { text-decoration: none; }
.psb-site-footer a:hover { text-decoration: underline; }

/* ============================================================ DOSTĘPNOŚĆ */
a:focus-visible, button:focus-visible, .wp-block-button__link:focus-visible,
input:focus-visible, textarea:focus-visible, summary:focus-visible {
	outline: 3px solid var(--wp--preset--color--accent);
	outline-offset: 2px;
}

/* Obrazy w treści */
.wp-block-post-content img, .entry-content img { border-radius: 8px; }

/* ====================================================== POWIETRZE / ODSTĘPY */
/* Więcej przestrzeni wokół nagłówków sekcji */
.psb-kicker { margin-bottom: .9rem; }
h2.wp-block-heading { margin-top: .2em; margin-bottom: .9rem; line-height: 1.12; }
h3.wp-block-heading { margin-bottom: .6rem; }
/* Odstęp między nagłówkiem sekcji a siatką pod nim */
.wp-block-columns { margin-top: var(--wp--preset--spacing--40); }
/* Luźniejsze wnętrze kart */
.psb-card { line-height: 1.6; }

/* ============================================================== RESPONSIVE */
@media (max-width: 781px) {
	.psb-hero.wp-block-cover { min-height: 70vh; }
	.psb-team .wp-block-columns { flex-wrap: wrap !important; }
	.psb-team .wp-block-column { flex-basis: 40% !important; }
}
