/*
 * Zalecenia SEO 2026-10 (Seolit).
 *
 * Nagłówki o zmienionym poziomie wyglądają tak samo jak wcześniej: reguły
 * w main.css rozszerzono o selektory o identycznej specyficzności. Ten plik
 * zawiera tylko elementy nowe oraz wyrównanie stylów bazowych znaczników.
 */

/* Strona główna: nagłówek H1 nad sloganem (slogan jest teraz akapitem). */
.ujw-home-hero h1:where(.ujw-home-hero__seo-title) {
	max-width: 620px;
	margin: 0 0 14px;
	color: var(--ujw-color-accent);
	font-size: 0.875rem;
	font-weight: 750;
	letter-spacing: 0.1em;
	line-height: 1.4;
	text-transform: uppercase;
}

/* Kierunek: rodzaj studiów i nazwa kierunku w jednym nagłówku H1. */
.ujw-program-hero h1 .ujw-program-hero__level {
	display: block;
	font-weight: 400;
	letter-spacing: normal;
}

.ujw-program-hero h1 .ujw-program-hero__name {
	display: block;
}

/* Kierunek: odnośnik do programu studiów w nagłówku H3 (układ przycisku bez zmian). */
.ujw-program-document-links h3:where(.ujw-program-document-links__heading) {
	display: contents;
	margin: 0;
	color: inherit;
	font: inherit;
	letter-spacing: inherit;
	text-transform: inherit;
}

/* Kierunek: nazwa specjalności w nagłówku H4 (wcześniej pogrubienie). */
.ujw-program-specialization-card h4:where(.ujw-program-specialization-card__title) {
	margin: 0;
	font-size: inherit;
	font-weight: 700;
	line-height: inherit;
}

/* Kierunek: sekcja rekrutacji. */
.ujw-program-recruitment__layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 24px 48px;
	align-items: center;
}

.ujw-program-recruitment .ujw-program-recruitment__content h2 {
	margin-bottom: 14px;
}

.ujw-program-recruitment__content p {
	max-width: 660px;
	margin: 0;
	color: var(--ujw-color-muted);
	font-size: 1.0625rem;
	line-height: 1.65;
}

.ujw-program-recruitment__actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 12px;
}

.ujw-program-recruitment__actions .ujw-button {
	gap: 10px;
	min-height: 50px;
	white-space: nowrap;
}

.ujw-program-recruitment__actions svg {
	width: 20px;
	height: 20px;
	fill: none;
	stroke: currentcolor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.8;
}

@media (max-width: 960px) {
	.ujw-program-recruitment__layout {
		grid-template-columns: minmax(0, 1fr);
	}

	.ujw-program-recruitment__actions {
		justify-content: flex-start;
	}
}

@media (max-width: 600px) {
	.ujw-program-recruitment__actions .ujw-button {
		width: 100%;
		justify-content: center;
	}
}

/* -------------------------------------------------------------------------
 * Nagłówki treści podniesione o poziom (struktura bez przeskoków H1 -> H3).
 * Klasa ujw-hl-N przechowuje poprzedni poziom i zachowuje jego wygląd.
 * ---------------------------------------------------------------------- */
.ujw-rich-content .ujw-hl-3 {
	font-size: clamp(1.5rem, 2.5vw, 2rem);
}

.ujw-rich-content .ujw-hl-4 {
	font-size: 1.3rem;
}

.ujw-rich-content .ujw-hl-5 {
	font-size: 20px;
}

/* Organizacja studiów podyplomowych - styl dotychczasowych H3. */
.ujw-postgraduate__content--organizacja > h2.ujw-hl-3,
.ujw-postgraduate__content--organizacja > h2.ujw-hl-3:not(:first-child) {
	counter-increment: none;
	position: relative;
	margin: 38px 0 12px;
	padding: 0 0 0 18px;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: var(--ujw-color-navy-900);
	font-size: clamp(1.35rem, 2vw, 1.7rem);
	font-weight: 400;
	line-height: 1.2em;
	box-shadow: none;
}

.ujw-postgraduate__content--organizacja > h2.ujw-hl-3:not(:first-child) {
	padding-top: 34px;
	border-top: 1px solid var(--ujw-color-border);
}

.ujw-postgraduate__content--organizacja > h2.ujw-hl-3::before,
.ujw-postgraduate__content--organizacja > h2.ujw-hl-3:nth-of-type(even)::before {
	position: absolute;
	top: 3px;
	bottom: 3px;
	left: 0;
	width: 4px;
	height: auto;
	border-radius: 0;
	background: var(--ujw-color-orange);
	content: "";
}

.ujw-postgraduate__content--organizacja > h2.ujw-hl-3:not(:first-child)::before {
	top: 37px;
}

.ujw-postgraduate__content--organizacja > h2.ujw-hl-3 + p,
.ujw-postgraduate__content--organizacja > h2.ujw-hl-3 + p + p {
	max-width: 900px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: var(--ujw-color-muted);
	line-height: 1.78;
	box-shadow: none;
}

.ujw-postgraduate__content--organizacja > h2.ujw-hl-3 + p + ul {
	max-width: 900px;
	margin: 12px 0 0;
	padding: 0 0 0 22px;
	border: 0;
	border-radius: 0;
	background: transparent;
}

/* Blog Akademickiej Poradni Psychologicznej - tytuły kart jako H2, wygląd bez zmian. */
.ujw-app-aggregator .ujw-app-blog-card h2.ujw-app-blog-card__title {
	margin: 14px 0 18px;
	font-size: 1.2rem;
	font-weight: 400;
	line-height: 1.45;
}

.ujw-app-aggregator .ujw-app-blog-card h2.ujw-app-blog-card__title a {
	color: var(--app-primary, #004996);
	text-decoration: none;
}

.ujw-app-aggregator .ujw-app-blog-card h2.ujw-app-blog-card__title a:hover {
	text-decoration: underline;
}

/* -------------------------------------------------------------------------
 * Konferencje: pełne tytuły zamiast ucinania do 3 linii z „…”.
 * Dotyczy nagłówka H1 strony konferencji, kart aktualnych konferencji
 * i listy archiwum.
 * ---------------------------------------------------------------------- */
body .ujw-standard-page .ujw-conference-hero h1.ujw-conference-hero__title,
body .ujw-conference-card__body > strong,
body .ujw-conference-list-item__main > strong {
	display: block;
	overflow: visible;
	-webkit-line-clamp: unset;
	line-clamp: none;
}

/* -------------------------------------------------------------------------
 * Nagłówek: „Zapisz się na studia” i „Wirtualny Dziekanat” w jednym stylu
 * (granatowe koło z ikoną + dwuwierszowy napis wielkimi literami; WD z biretem jak w logo).
 * Na telefonie oba są na końcu rozwijanego menu, po połowie szerokości.
 * ---------------------------------------------------------------------- */
.ujw-header-signup {
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	gap: 8px;
	padding: 3px 6px 3px 3px;
	border-radius: 999px;
	color: #054586;
	text-decoration: none;
	transition: background-color .15s ease;
}

.ujw-header-signup__icon {
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: #054586;
	color: #fff;
}

.ujw-header-signup__icon svg {
	width: 22px;
	height: 22px;
}

.ujw-header-signup__text {
	display: flex;
	flex-direction: column;
	font-size: 0.8125rem;
	font-weight: 800;
	letter-spacing: .03em;
	line-height: 1.08;
	text-transform: uppercase;
	white-space: nowrap;
}

.ujw-header-signup:hover,
.ujw-header-signup:focus-visible {
	background: #e9f0f8;
	color: #054586;
}

.ujw-header-signup:hover .ujw-header-signup__icon,
.ujw-header-signup:focus-visible .ujw-header-signup__icon {
	background: var(--ujw-color-navy-900, #08264f);
}

.ujw-header-signup:focus-visible {
	outline: 3px solid var(--ujw-color-orange, #e97817);
	outline-offset: 2px;
}

/* Granatowy nagłówek kierunków i specjalności: wersja odwrócona (białe koło, biały napis).
 * :where() obniża specyficzność, żeby tryby wysokiego kontrastu niżej miały pierwszeństwo. */
.ujw-site-header--dark :where(.ujw-site-header__actions) .ujw-header-signup {
	color: #fff;
}

.ujw-site-header--dark :where(.ujw-site-header__actions) .ujw-header-signup__icon {
	background: #fff;
	color: var(--ujw-color-navy-950, #002a57);
}

.ujw-site-header--dark :where(.ujw-site-header__actions) .ujw-header-signup:hover,
.ujw-site-header--dark :where(.ujw-site-header__actions) .ujw-header-signup:focus-visible {
	background: rgb(255 255 255 / 12%);
	color: #fff;
}

.ujw-site-header--dark :where(.ujw-site-header__actions) .ujw-header-signup:hover .ujw-header-signup__icon,
.ujw-site-header--dark :where(.ujw-site-header__actions) .ujw-header-signup:focus-visible .ujw-header-signup__icon {
	background: #e9f0f8;
	color: var(--ujw-color-navy-950, #002a57);
}

.ujw-header-signup--menu,
.ujw-header-menu-actions {
	display: none;
}

@media (max-width: 48.875rem) {
	.ujw-site-header__actions .ujw-header-signup {
		display: none;
	}

	.ujw-primary-navigation .ujw-header-signup--menu {
		display: inline-flex;
		margin: 18px 0 0;
	}

	.ujw-primary-navigation .ujw-header-signup--menu .ujw-header-signup__icon {
		width: 46px;
		height: 46px;
	}

	.ujw-primary-navigation .ujw-header-signup--menu .ujw-header-signup__text {
		font-size: 0.9375rem;
	}

	/* Telefon: oba przyciski w jednym rzędzie, każdy na połowę szerokości menu. */
	.ujw-primary-navigation .ujw-header-menu-actions {
		display: flex;
		gap: 10px;
		margin-top: 18px;
	}

	.ujw-primary-navigation .ujw-header-menu-actions > a {
		display: flex;
		flex: 1 1 0;
		min-width: 0;
		min-height: 64px;
		align-items: center;
		justify-content: center;
		box-sizing: border-box;
		margin: 0;
		padding: 8px 6px;
		border: 1px solid #c9d8e8;
		border-radius: 12px;
		background: #fff;
		box-shadow: 0 2px 6px rgba(5, 69, 134, .08);
	}

	.ujw-primary-navigation .ujw-header-menu-actions .ujw-header-signup__icon {
		width: 40px;
		height: 40px;
	}

	.ujw-primary-navigation .ujw-header-menu-actions .ujw-header-signup__text {
		font-size: 0.8125rem;
	}
}

/* Tryby wysokiego kontrastu panelu dostępności. */
html.ujw-a11y-high-contrast .ujw-header-signup,
html.ujw-a11y-yellow-on-black .ujw-header-signup {
	color: #ff0;
}

html.ujw-a11y-high-contrast .ujw-header-signup__icon,
html.ujw-a11y-yellow-on-black .ujw-header-signup__icon {
	background: #000;
	color: #ff0;
	outline: 2px solid #ff0;
}

html.ujw-a11y-black-on-yellow .ujw-header-signup {
	color: #000;
}

html.ujw-a11y-black-on-yellow .ujw-header-signup__icon {
	background: #000;
	color: #ff0;
}

/* Specjalności: podpisy źródeł pod statystykami - kontrast 5,9:1 zamiast 4,0:1 (WCAG 1.4.3). */
.ujw-specialization-stats p small {
	color: rgb(255 255 255 / 78%);
}
