/*
Theme Name: EU Projekt Kadence Child
Theme URI: https://example.local/
Description: Child theme for a calm university and EU-funded project website based on Kadence.
Author: Codex
Template: kadence
Version: 1.0.0
Text Domain: eu-kadence-child
*/

:root {
	--eu-navy: #12324a;
	--eu-blue: #1d5f8f;
	--eu-gold: #b98b2f;
	--eu-ink: rgba(0, 0, 0, 0.8);
	--eu-muted: #64727f;
	--eu-line: #d9e0e6;
	--eu-soft: #f5f8fa;
}

body {
	color: var(--eu-ink);
}

.site,
.entry-content,
.entry-content p,
.entry-content li,
.main-navigation a,
.mobile-navigation a {
	color: var(--eu-ink);
}

#masthead .main-navigation a,
#mobile-header a {
	color: var(--eu-ink);
}

#masthead.site-header,
header#masthead.site-header {
	background: rgba(255, 255, 255, 0.96);
	box-shadow: 0 8px 24px rgba(18, 50, 74, 0.08);
	position: sticky !important;
	top: 0 !important;
	z-index: 999 !important;
}

.site-branding .custom-logo,
.site-branding img {
	height: auto;
	max-height: 76px;
	width: auto;
}

.site-branding a.brand {
	align-items: center;
	display: flex;
}

.site-branding .site-title {
	display: none;
}

.admin-bar #masthead.site-header {
	top: 32px !important;
}

.home .entry-hero,
.home .entry-header {
	display: none;
}

.home #primary.content-area {
	margin-top: 0 !important;
}

.home .content-container,
.home .content-container.site-container,
.home .entry-content-wrap,
.home .site-main {
	padding-top: 0 !important;
}

.home .entry-content > .eu-hero:first-child {
	margin-top: 0;
}

a {
	text-underline-offset: 0.18em;
}

.site .entry-content h1,
.site .entry-content h2,
.site .entry-content h3 {
	letter-spacing: 0;
}

.page-id-1201 .entry-hero.page-hero-section .entry-hero-container-inner,
.page-id-1203 .entry-hero.page-hero-section .entry-hero-container-inner,
.page-id-1205 .entry-hero.page-hero-section .entry-hero-container-inner,
.page-id-1207 .entry-hero.page-hero-section .entry-hero-container-inner,
.page-id-1209 .entry-hero.page-hero-section .entry-hero-container-inner,
.page-id-1211 .entry-hero.page-hero-section .entry-hero-container-inner {
	background-image:
		linear-gradient(rgba(43, 108, 176, 0.82), rgba(43, 108, 176, 0.82)),
		url("assets/header-16x9.jpg");
	background-attachment: fixed;
	background-position: center calc(50% - 220px);
	background-size: cover;
}

.page-id-1201 .entry-hero .entry-title,
.page-id-1203 .entry-hero .entry-title,
.page-id-1205 .entry-hero .entry-title,
.page-id-1207 .entry-hero .entry-title,
.page-id-1209 .entry-hero .entry-title,
.page-id-1211 .entry-hero .entry-title {
	color: #fff;
}

.page-id-1201 .entry-hero.page-hero-section .entry-header,
.page-id-1203 .entry-hero.page-hero-section .entry-header,
.page-id-1205 .entry-hero.page-hero-section .entry-header,
.page-id-1207 .entry-hero.page-hero-section .entry-header,
.page-id-1209 .entry-hero.page-hero-section .entry-header,
.page-id-1211 .entry-hero.page-hero-section .entry-header {
	min-height: clamp(300px, 24vw, 360px) !important;
}

.eu-hero {
	background-image:
		linear-gradient(90deg, rgba(8, 22, 36, 0.78) 0%, rgba(8, 22, 36, 0.55) 42%, rgba(8, 22, 36, 0.22) 100%),
		url("assets/header-16x9.jpg");
	background-position: center center;
	background-size: cover;
	border-bottom: 1px solid var(--eu-line);
	box-sizing: border-box;
	color: #fff;
	display: flex;
	flex-direction: column;
	--hero-text-gap: clamp(1rem, 2.7vh, 2rem);
	left: 50%;
	margin-left: -50vw;
	margin-right: -50vw;
	min-height: clamp(347px, 48vh, 507px);
	gap: var(--hero-text-gap);
	padding-bottom: 6.7vh;
	padding-left: 10vw;
	padding-right: 10vw;
	padding-top: 6.7vh;
	position: relative;
	right: 50%;
	width: 100vw;
}

.eu-hero > .wp-block-spacer {
	display: none;
}

.eu-hero > * {
	margin-left: 0 !important;
	margin-right: auto !important;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

.eu-hero > .eu-kicker {
	align-self: flex-start;
}

.eu-hero > h1,
.eu-hero > .wp-block-heading {
	align-self: flex-start;
}

.eu-hero > .eu-lead {
	align-self: start;
}

.eu-hero > .eu-button-row {
	align-self: start;
	margin-top: calc(var(--hero-text-gap) * 0.25) !important;
}

.eu-hero > .eu-button-row .wp-block-button:nth-child(2) .wp-block-button__link {
	background: transparent !important;
	border: 2px solid #fff !important;
	color: #fff !important;
}

.eu-hero > .eu-button-row .wp-block-button:nth-child(2) .wp-block-button__link:hover,
.eu-hero > .eu-button-row .wp-block-button:nth-child(2) .wp-block-button__link:focus {
	background: #f28c28 !important;
	border-color: #f28c28 !important;
	color: #fff !important;
}

.eu-hero .wp-block-heading,
.eu-hero .eu-lead,
.eu-hero p:not(.eu-kicker),
.eu-hero .eu-kicker {
	max-width: none;
	width: 100%;
}

.eu-hero h1,
.eu-hero p:not(.eu-kicker),
.eu-hero .eu-lead {
	text-align: left;
	text-wrap: pretty;
}

.eu-hero h1 {
	color: #fff !important;
	font-size: clamp(2.35rem, 5vw, 4.8rem);
	line-height: 1.06;
	text-shadow: 0 2px 18px rgba(0, 0, 0, 0.35);
}

.eu-kicker {
	color: #f5c46b;
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.eu-hero .eu-kicker {
	color: #f5c46b;
}

.eu-lead {
	color: rgba(255, 255, 255, 0.92);
	font-size: clamp(1.08rem, 1.5vw, 1.22rem);
	line-height: 1.7;
}

.eu-hero .eu-lead {
	color: rgba(255, 255, 255, 0.92);
}

.eu-hero p:not(.eu-kicker) {
	color: rgba(255, 255, 255, 0.92);
	font-size: clamp(1.08rem, 1.5vw, 1.22rem);
	line-height: 1.7;
}

.eu-section {
	padding-block: clamp(2.5rem, 6vw, 5rem);
}

.eu-section-alt {
	background: var(--eu-soft);
	border-block: 1px solid var(--eu-line);
}

.eu-section__inner {
	margin-inline: auto;
	max-width: 1180px;
	padding-inline: clamp(1.25rem, 4vw, 2rem);
}

.iucip-content-section {
	margin: clamp(2.2rem, 5vw, 4.2rem) auto;
	max-width: 1040px;
	padding-inline: clamp(1.25rem, 4vw, 2rem);
}

.home .entry-content > .iucip-content-section {
	border-block: 1px solid transparent;
	box-shadow: 0 0 0 100vmax #f7fafc;
	clip-path: inset(0 -100vmax);
	margin-block: 0;
	padding-block: clamp(3rem, 6vw, 5rem);
}

.home .entry-content > .iucip-content-section:nth-of-type(1) {
	background: #f7fafc;
	border-color: #e0e8ef;
	box-shadow: 0 0 0 100vmax #f7fafc;
}

.home .entry-content > .iucip-content-section:nth-of-type(2) {
	background: #edf5f7;
	border-color: #d5e5eb;
	box-shadow: 0 0 0 100vmax #edf5f7;
}

.home .entry-content > .iucip-home-latest {
	background: #fff;
	border-block: 1px solid var(--eu-line);
	box-shadow: 0 0 0 100vmax #fff;
	clip-path: inset(0 -100vmax);
	margin-block: 0;
	padding-block: clamp(3rem, 6vw, 5rem);
}

.iucip-content-section:first-child {
	margin-top: 0;
}

.iucip-content-section h2 {
	color: var(--eu-navy);
	font-size: clamp(1.85rem, 3vw, 2.55rem);
	line-height: 1.15;
	margin-bottom: 1rem;
}

.iucip-content-section h3 {
	color: var(--eu-navy);
	font-size: clamp(1.15rem, 2vw, 1.45rem);
	line-height: 1.25;
	margin: 1.6rem 0 0.6rem;
}

.iucip-content-section p,
.iucip-content-section li {
	color: rgba(0, 0, 0, 0.8);
	line-height: 1.72;
}

.iucip-content-section a:not(.wp-element-button),
.iucip-facts a:not(.wp-element-button),
.iucip-more a:not(.wp-element-button) {
	color: var(--eu-navy);
	font-weight: 700;
	text-decoration: none;
}

.iucip-content-section a:not(.wp-element-button):hover,
.iucip-content-section a:not(.wp-element-button):focus,
.iucip-facts a:not(.wp-element-button):hover,
.iucip-facts a:not(.wp-element-button):focus,
.iucip-more a:not(.wp-element-button):hover,
.iucip-more a:not(.wp-element-button):focus {
	color: #f28c28;
}

.iucip-content-section ul {
	display: grid;
	gap: 0.45rem;
	margin: 1rem 0 1.5rem;
	padding-left: 1.25rem;
}

.iucip-more {
	background: var(--eu-soft);
	border: 1px solid var(--eu-line);
	border-radius: 8px;
	margin-top: 1.2rem;
	padding: 1rem 1.1rem;
}

.iucip-more summary {
	color: var(--eu-blue);
	cursor: pointer;
	font-weight: 800;
}

.iucip-more[open] summary {
	margin-bottom: 0.75rem;
}

.iucip-home-latest {
	display: grid;
	gap: clamp(2rem, 4vw, 3rem);
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	margin: clamp(2.5rem, 6vw, 5rem) auto;
	max-width: 1180px;
	padding-inline: clamp(1.25rem, 4vw, 2rem);
}

@media (min-width: 1025px) {
	.home .iucip-home-latest .eu-latest-news,
	.home .iucip-home-latest .eu-news-card-grid--list {
		gap: 1rem;
		margin-top: 1rem;
	}

	.home .iucip-home-latest .eu-latest-news__item,
	.home .iucip-home-latest .eu-news-card-grid--list .eu-news-card {
		box-sizing: border-box;
		height: clamp(170px, 18vw, 220px);
		min-height: 0;
	}

	.home .iucip-home-latest .eu-latest-news__excerpt {
		display: -webkit-box;
		overflow: hidden;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
	}
}

.iucip-home-latest > div > h2 {
	color: var(--eu-navy);
	font-size: clamp(1.85rem, 3vw, 2.5rem);
	line-height: 1.15;
}

.eu-card {
	background: #fff;
	border: 1px solid var(--eu-line);
	border-radius: 8px;
	box-shadow: 0 10px 28px rgba(18, 50, 74, 0.06);
	padding: clamp(1rem, 2vw, 1.35rem);
}

.eu-card h3 {
	margin-top: 0;
}

.eu-meta {
	color: var(--eu-muted);
	font-size: 0.92rem;
}

.eu-button-row {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin-top: 1.5rem;
}

.eu-button-row .wp-block-button__link {
	border-radius: 6px;
	font-weight: 700;
}

.wp-block-button__link:hover,
.wp-block-button__link:focus,
button:hover,
button:focus,
input[type="button"]:hover,
input[type="button"]:focus,
input[type="submit"]:hover,
input[type="submit"]:focus,
.button:hover,
.button:focus,
.wp-element-button:hover,
.wp-element-button:focus {
	background: #f28c28 !important;
	border-color: #f28c28 !important;
	color: #fff !important;
}

.wp-block-button.is-style-outline .wp-block-button__link:hover,
.wp-block-button.is-style-outline .wp-block-button__link:focus {
	background: #f28c28 !important;
	border-color: #f28c28 !important;
	color: #fff !important;
}

.eu-logos-note {
	color: var(--eu-muted);
	font-size: 0.9rem;
}

.eu-list-clean {
	list-style: none;
	padding-left: 0;
}

.eu-list-clean li {
	border-top: 1px solid var(--eu-line);
	padding-block: 0.9rem;
}

.eu-document-list {
	display: grid;
	gap: 1rem;
	margin-top: 1.5rem;
}

.eu-document-card {
	align-items: center;
	background: #fff;
	border: 1px solid var(--eu-line);
	border-radius: 8px;
	box-shadow: 0 10px 28px rgba(18, 50, 74, 0.06);
	display: grid;
	gap: 1rem;
	grid-template-columns: auto minmax(0, 1fr) auto;
	padding: clamp(1rem, 2vw, 1.4rem);
}

.eu-document-card__icon {
	align-items: center;
	background: #f28c28;
	border-radius: 7px;
	color: #fff;
	display: inline-flex;
	font-size: 0.82rem;
	font-weight: 800;
	height: 3rem;
	justify-content: center;
	letter-spacing: 0.04em;
	width: 3rem;
}

.eu-document-card__title {
	color: var(--eu-navy);
	font-size: clamp(1.05rem, 1.5vw, 1.22rem);
	font-weight: 700;
	line-height: 1.25;
	margin: 0;
}

.eu-document-card__meta {
	color: var(--eu-muted);
	font-size: 0.92rem;
	margin: 0.35rem 0 0;
}

.eu-document-card__button {
	border-radius: 6px;
	white-space: nowrap;
}

.eu-document-card__button--disabled {
	background: #eef2f5;
	color: var(--eu-muted);
	display: inline-flex;
	font-weight: 700;
	padding: 0.75em 1.15em;
}

.eu-post-gallery {
	border-top: 1px solid var(--eu-line);
	margin-top: clamp(2rem, 5vw, 3.5rem);
	padding-top: clamp(1.5rem, 4vw, 2.5rem);
}

.eu-post-gallery__title {
	color: var(--eu-navy);
	font-size: clamp(1.35rem, 2vw, 1.8rem);
	line-height: 1.25;
	margin: 0 0 1rem;
}

.eu-post-gallery__grid {
	display: grid;
	gap: clamp(0.8rem, 2vw, 1.25rem);
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.eu-post-gallery__item {
	border-radius: 8px;
	display: block;
	overflow: hidden;
	position: relative;
}

.eu-post-gallery__image {
	aspect-ratio: 4 / 3;
	display: block;
	height: 100%;
	object-fit: cover;
	transition: transform 220ms ease;
	width: 100%;
}

.eu-post-gallery__item:hover .eu-post-gallery__image,
.eu-post-gallery__item:focus .eu-post-gallery__image {
	transform: scale(1.035);
}

.eu-post-gallery__caption {
	background: rgba(0, 0, 0, 0.62);
	bottom: 0;
	box-sizing: border-box;
	color: #fff;
	font-size: 0.9rem;
	left: 0;
	line-height: 1.35;
	padding: 0.65rem 0.75rem;
	position: absolute;
	right: 0;
	z-index: 1;
}

.eu-gallery-lightbox-open {
	overflow: hidden;
}

.eu-gallery-lightbox {
	align-items: center;
	background: rgba(4, 12, 20, 0.94);
	box-sizing: border-box;
	display: grid;
	inset: 0;
	justify-items: center;
	padding: clamp(1rem, 4vw, 3rem);
	position: fixed;
	z-index: 10000;
}

.eu-gallery-lightbox[hidden] {
	display: none;
}

.eu-gallery-lightbox__figure {
	align-items: center;
	display: grid;
	gap: 0.9rem;
	justify-items: center;
	margin: 0;
	max-height: 92vh;
	max-width: min(1180px, 88vw);
}

.eu-gallery-lightbox__image {
	box-shadow: 0 24px 80px rgba(0, 0, 0, 0.36);
	display: block;
	max-height: 82vh;
	max-width: 100%;
	object-fit: contain;
	width: auto;
}

.eu-gallery-lightbox__caption {
	color: rgba(255, 255, 255, 0.84);
	font-size: clamp(0.95rem, 1.3vw, 1.08rem);
	line-height: 1.45;
	max-width: min(860px, 86vw);
	text-align: center;
}

.eu-gallery-lightbox__close,
.eu-gallery-lightbox__nav {
	align-items: center;
	background: rgba(255, 255, 255, 0.12);
	border: 1px solid rgba(255, 255, 255, 0.28);
	border-radius: 999px;
	color: #fff;
	cursor: pointer;
	display: inline-flex;
	font-weight: 700;
	justify-content: center;
	line-height: 1;
	position: fixed;
}

.eu-gallery-lightbox__close {
	font-size: 2rem;
	height: 3rem;
	right: clamp(1rem, 3vw, 2rem);
	top: clamp(1rem, 3vw, 2rem);
	width: 3rem;
}

.eu-gallery-lightbox__nav {
	font-size: 3rem;
	height: 4rem;
	top: 50%;
	transform: translateY(-50%);
	width: 4rem;
}

.eu-gallery-lightbox__nav--prev {
	left: clamp(0.75rem, 3vw, 2rem);
}

.eu-gallery-lightbox__nav--next {
	right: clamp(0.75rem, 3vw, 2rem);
}

.eu-gallery-lightbox__close:hover,
.eu-gallery-lightbox__close:focus,
.eu-gallery-lightbox__nav:hover,
.eu-gallery-lightbox__nav:focus {
	background: #f28c28;
	border-color: #f28c28;
	color: #fff;
}

.eu-post-gallery-admin-preview {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 0.75rem 0;
}

.eu-post-gallery-admin-preview img {
	border: 1px solid #dcdcde;
	border-radius: 4px;
	height: 72px;
	object-fit: cover;
	width: 72px;
}

.eu-latest-news {
	display: grid;
	gap: 0;
	margin-top: 1rem;
}

.eu-latest-news__item {
	border-top: 1px solid var(--eu-line);
	display: grid;
	gap: 0.45rem 1rem;
	grid-template-columns: minmax(0, 1fr) auto;
	padding: 1rem 0 clamp(1rem, 2vw, 1.35rem);
}

.eu-post-date {
	color: var(--eu-muted);
	display: block;
	font-size: 0.82rem;
	font-weight: 700;
	grid-column: 1 / -1;
	letter-spacing: 0.04em;
	line-height: 1.3;
	margin: 0 0 0.08rem;
	text-transform: uppercase;
}

.eu-latest-news__title {
	font-size: clamp(1.05rem, 1.5vw, 1.25rem);
	grid-column: 1;
	line-height: 1.25;
	margin: 0;
}

.eu-latest-news__title a {
	color: var(--eu-navy);
	text-decoration: none;
}

.eu-latest-news__title a:hover,
.eu-latest-news__title a:focus {
	color: #f28c28;
}

.eu-latest-news__excerpt {
	color: var(--eu-ink);
	grid-column: 1;
	line-height: 1.55;
	margin: 0.25rem 0 0;
}

.entry-content .eu-latest-news__button.wp-element-button,
.eu-latest-news__button.wp-element-button {
	align-items: center;
	align-self: end;
	background: transparent !important;
	border: 2px solid var(--eu-blue) !important;
	border-radius: 6px;
	color: var(--eu-blue) !important;
	display: inline-flex;
	font-weight: 700;
	grid-column: 2;
	grid-row: 2 / 4;
	line-height: 1.2;
	margin-top: 0.35rem;
	padding: 0.55rem 0.9rem;
	text-decoration: none;
}

.entry-content .eu-latest-news__button.wp-element-button:hover,
.entry-content .eu-latest-news__button.wp-element-button:focus,
.eu-latest-news__button.wp-element-button:hover,
.eu-latest-news__button.wp-element-button:focus {
	background: #f28c28 !important;
	border-color: #f28c28 !important;
	color: #fff !important;
}

.eu-news-card-grid {
	align-items: stretch;
	display: grid;
	gap: clamp(1.25rem, 3vw, 2rem);
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-top: 2rem;
}

.eu-news-card-grid--list {
	gap: 1rem;
	grid-template-columns: 1fr;
	margin-top: 1.25rem;
}

.eu-news-card {
	background: #fff;
	border: 1px solid var(--eu-line);
	border-radius: 8px;
	box-shadow: 0 10px 28px rgba(18, 50, 74, 0.06);
	display: flex;
	flex-direction: column;
	height: 100%;
	overflow: hidden;
}

.eu-news-card-grid--list .eu-news-card {
	display: grid;
	grid-template-columns: minmax(120px, 38%) minmax(0, 1fr);
	height: clamp(170px, 18vw, 220px);
	min-height: 0;
}

.eu-news-card__media {
	display: block;
	overflow: hidden;
}

.eu-news-card-grid--list .eu-news-card__media {
	aspect-ratio: auto;
	height: 100%;
}

.eu-news-card__image {
	aspect-ratio: 16 / 10;
	display: block;
	height: auto;
	object-fit: cover;
	transition: transform 260ms ease;
	width: 100%;
}

.eu-news-card-grid--list .eu-news-card__image {
	aspect-ratio: auto;
	height: 100%;
}

.eu-news-card-grid--list + .eu-button-row,
.eu-news-card-grid--list + .wp-block-buttons.eu-button-row {
	justify-content: flex-end;
	margin-top: clamp(1.75rem, 4vw, 2.75rem);
}

.eu-news-card__media:hover .eu-news-card__image,
.eu-news-card__media:focus .eu-news-card__image {
	transform: scale(1.035);
}

.eu-news-card__image--placeholder {
	background:
		linear-gradient(135deg, rgba(18, 50, 74, 0.9), rgba(29, 95, 143, 0.78)),
		url("assets/header-16x9.jpg");
	background-position: center;
	background-size: cover;
}

.eu-news-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: clamp(1rem, 2vw, 1.35rem);
}

.eu-news-card-grid--list .eu-news-card__body {
	align-self: stretch;
	min-height: 0;
	padding-bottom: clamp(4.75rem, 7vw, 5.5rem);
	position: relative;
}

.eu-news-card__title {
	font-size: clamp(1.05rem, 1.5vw, 1.25rem);
	line-height: 1.25;
	margin: 0;
}

.eu-news-card__title a {
	color: var(--eu-navy);
	text-decoration: none;
}

.eu-news-card__title a:hover,
.eu-news-card__title a:focus {
	color: #f28c28;
}

.eu-news-card__excerpt {
	color: var(--eu-ink);
	line-height: 1.55;
	margin: 0.65rem 0 1.2rem;
}

.eu-news-card__button {
	align-self: flex-start;
	border-radius: 6px;
	margin-top: auto;
}

.eu-news-card-grid--list .eu-news-card__button {
	bottom: clamp(1rem, 2vw, 1.35rem);
	margin-left: 0;
	position: absolute;
	right: clamp(1rem, 2vw, 1.35rem);
}

.eu-news-card__excerpt + .eu-news-card__button {
	margin-top: auto;
}

.eu-team-carousel {
	margin-top: 2rem;
	position: relative;
}

.eu-team-carousel__viewport {
	overflow: hidden;
}

.eu-team-carousel__track {
	display: flex;
	transition: transform 280ms ease;
	will-change: transform;
}

.eu-team-card {
	box-sizing: border-box;
	flex: 0 0 calc(100% / var(--eu-team-per-view, 3));
	padding: 0.4rem clamp(0.6rem, 1.5vw, 1rem);
	text-align: center;
}

.eu-team-card__portrait {
	align-items: center;
	aspect-ratio: 1;
	background:
		radial-gradient(circle at 50% 34%, rgba(255, 255, 255, 0.95) 0 18%, transparent 19%),
		radial-gradient(circle at 50% 72%, rgba(255, 255, 255, 0.9) 0 34%, transparent 35%),
		linear-gradient(145deg, #12324a, #1d5f8f 58%, #f28c28);
	border: 5px solid #fff;
	border-radius: 999px;
	box-shadow: 0 14px 32px rgba(18, 50, 74, 0.16);
	display: flex;
	justify-content: center;
	margin: 0 auto 1rem;
	max-width: 220px;
	position: relative;
	width: min(72%, 220px);
}

.eu-team-card__portrait-img {
	aspect-ratio: 1;
	border: 5px solid #fff;
	border-radius: 999px;
	box-shadow: 0 14px 32px rgba(18, 50, 74, 0.16);
	display: block;
	height: auto;
	margin: 0 auto 1rem;
	max-width: 220px;
	object-fit: cover;
	width: min(72%, 220px);
}

.eu-team-card__portrait-link {
	display: block;
	text-decoration: none;
}

.eu-team-card__portrait-link:hover .eu-team-card__portrait-img,
.eu-team-card__portrait-link:focus .eu-team-card__portrait-img,
.eu-team-card__portrait-link:hover .eu-team-card__portrait,
.eu-team-card__portrait-link:focus .eu-team-card__portrait {
	box-shadow: 0 16px 34px rgba(242, 140, 40, 0.24);
}

.eu-team-card__initials {
	align-items: center;
	background: rgba(18, 50, 74, 0.82);
	border: 1px solid rgba(255, 255, 255, 0.36);
	border-radius: 999px;
	bottom: 10%;
	color: #fff;
	display: flex;
	font-size: 0.92rem;
	font-weight: 700;
	height: 2.4rem;
	justify-content: center;
	position: absolute;
	right: 8%;
	width: 2.4rem;
}

.eu-team-card__name {
	color: var(--eu-navy);
	font-size: clamp(1.05rem, 1.4vw, 1.2rem);
	font-weight: 700;
	line-height: 1.25;
	margin: 0;
}

.entry-content .eu-news-card .eu-news-card__title,
.entry-content .eu-team-card .eu-team-card__name,
.content-area .eu-news-card .eu-news-card__title,
.content-area .eu-team-card .eu-team-card__name {
	font-size: clamp(1.05rem, 1.5vw, 1.25rem) !important;
	line-height: 1.25 !important;
}

.eu-team-card__name a {
	color: inherit;
	text-decoration: none;
}

.eu-team-card__name a:hover,
.eu-team-card__name a:focus {
	color: #f28c28;
}

.eu-team-card__role {
	color: var(--eu-muted);
	font-size: 0.95rem;
	line-height: 1.45;
	margin: 0.4rem auto 1.2rem;
	max-width: 24ch;
}

.eu-team-grid {
	display: grid;
	gap: clamp(1.5rem, 3vw, 2.5rem);
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-top: 2rem;
}

.eu-team-grid__card {
	align-items: center;
	background: #fff;
	border: 1px solid var(--eu-line);
	border-radius: 8px;
	box-shadow: 0 10px 28px rgba(18, 50, 74, 0.06);
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: clamp(1.25rem, 2.4vw, 2rem);
}

.eu-team-card__button {
	border-radius: 6px;
	display: inline-flex;
	font-weight: 700;
	margin-top: auto;
	text-decoration: none;
}

.eu-team-single {
	margin-inline: auto;
	max-width: 1180px;
	padding: clamp(2.5rem, 6vw, 5rem) clamp(1.25rem, 4vw, 2rem);
}

.eu-team-single__article {
	background: #fff;
	border: 1px solid var(--eu-line);
	border-radius: 8px;
	box-shadow: 0 10px 28px rgba(18, 50, 74, 0.06);
	padding: clamp(1.5rem, 4vw, 3rem);
}

.eu-team-single__header {
	align-items: center;
	display: grid;
	gap: clamp(1.5rem, 4vw, 3rem);
	grid-template-columns: minmax(180px, 280px) minmax(0, 1fr);
}

.eu-team-single__portrait .eu-team-card__portrait,
.eu-team-single__portrait .eu-team-card__portrait-img {
	margin-bottom: 0;
	width: min(100%, 280px);
}

.eu-team-single__intro h1 {
	margin: 0.2rem 0 0;
}

.eu-team-single__role {
	color: var(--eu-muted);
	font-size: clamp(1.05rem, 1.5vw, 1.2rem);
	margin: 0.65rem 0 0;
}

.eu-team-single__content {
	border-top: 1px solid var(--eu-line);
	margin-top: clamp(1.5rem, 4vw, 3rem);
	padding-top: clamp(1.25rem, 3vw, 2rem);
}

.eu-team-single__back {
	margin: 2rem 0 0;
}

.eu-team-carousel__controls {
	display: flex;
	gap: 0.75rem;
	justify-content: center;
	margin: 1.4rem 0 1.8rem;
}

.eu-team-carousel__button {
	align-items: center;
	background: var(--eu-navy);
	border: 1px solid var(--eu-navy);
	border-radius: 999px;
	color: #fff;
	cursor: pointer;
	display: inline-flex;
	font-size: 1.35rem;
	font-weight: 700;
	height: 2.75rem;
	justify-content: center;
	line-height: 1;
	width: 2.75rem;
}

.eu-team-carousel__button:disabled {
	cursor: default;
	opacity: 0.35;
}

#colophon.site-footer {
	display: none;
}

.eu-funding-footer {
	background-image:
		linear-gradient(90deg, rgba(9, 28, 44, 0.9), rgba(9, 28, 44, 0.78)),
		url("assets/header-16x9.jpg");
	background-position: center;
	background-size: cover;
	border-top: 1px solid rgba(255, 255, 255, 0.16);
	color: rgba(255, 255, 255, 0.9);
	padding: clamp(2rem, 4vw, 3.25rem) clamp(1.5rem, 5vw, 3rem) clamp(1rem, 2.25vw, 1.5rem);
}

.eu-funding-footer__inner {
	align-items: start;
	display: grid;
	gap: clamp(1.5rem, 5vw, 4.75rem);
	grid-template-columns: minmax(0, 1.15fr) auto minmax(0, 1fr);
	margin-inline: auto;
	max-width: 1180px;
	min-width: 0;
}

.eu-funding-footer__project,
.eu-funding-footer__contact {
	min-width: 0;
}

.eu-funding-footer__contact {
	text-align: right;
}

.eu-funding-footer__title {
	color: #fff;
	font-size: clamp(1.05rem, 1.55vw, 1.35rem);
	line-height: 1.18;
	margin: 0 0 0.7rem;
}

.eu-funding-footer__logo {
	display: block;
	height: auto;
	max-width: 100%;
	min-width: 0;
	width: 100%;
}

.eu-funding-footer__logo--eu {
	background: #fff;
	margin-top: clamp(1rem, 2.5vw, 1.7rem);
	max-width: 280px;
}

.eu-funding-footer__logo--seal {
	background: #fff;
	max-height: 215px;
	padding: 0.35rem;
	width: auto;
}

.eu-funding-footer__note {
	color: rgba(255, 255, 255, 0.9);
	font-size: clamp(0.9rem, 1.15vw, 1.05rem);
	line-height: 1.48;
	margin: 0;
	max-width: 520px;
}

.eu-funding-footer__note p {
	margin: 0;
}

.eu-funding-footer__note p + p {
	margin-top: 0.65rem;
}

.eu-funding-footer__contact-text {
	color: rgba(255, 255, 255, 0.9);
	font-size: clamp(0.9rem, 1.15vw, 1.05rem);
	line-height: 1.48;
}

.eu-funding-footer__contact-text p {
	margin: 0;
}

.eu-funding-footer__contact-text p + p {
	margin-top: 0.8rem;
}

.eu-funding-footer__bottom {
	align-items: center;
	border-top: 1px solid rgba(255, 255, 255, 0.18);
	color: rgba(255, 255, 255, 0.76);
	display: flex;
	font-size: 0.84rem;
	gap: 1rem;
	justify-content: space-between;
	margin: clamp(1.6rem, 4vw, 2.75rem) auto 0;
	max-width: 1180px;
	padding-top: 0.8rem;
}

.eu-funding-footer__bottom a {
	color: inherit;
	text-decoration: none;
}

.eu-funding-footer__bottom a:hover,
.eu-funding-footer__bottom a:focus {
	color: #f5c46b;
}

@media (max-width: 1024px) {
	.eu-hero {
		background-position: 48% center;
		min-height: clamp(373px, 44vh, 480px);
		padding-left: 10vw;
		padding-right: 10vw;
	}

	.eu-hero h1 {
		font-size: clamp(2.25rem, 5vw, 3.4rem);
	}

	.eu-hero .wp-block-heading,
	.eu-hero .eu-lead,
	.eu-hero .eu-kicker {
		max-width: 680px;
	}

	.eu-funding-footer__inner {
		gap: clamp(1.5rem, 4vw, 2.5rem);
		grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
	}

	.eu-team-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.eu-news-card-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.eu-post-gallery__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.eu-news-card-grid--list {
		grid-template-columns: 1fr;
	}

	.iucip-home-latest {
		grid-template-columns: 1fr;
	}

}

@media (max-width: 720px) {
	.admin-bar #masthead.site-header {
		top: 46px !important;
	}

	.page-id-1201 .entry-hero.page-hero-section .entry-header,
	.page-id-1203 .entry-hero.page-hero-section .entry-header,
	.page-id-1205 .entry-hero.page-hero-section .entry-header,
	.page-id-1207 .entry-hero.page-hero-section .entry-header,
	.page-id-1209 .entry-hero.page-hero-section .entry-header,
	.page-id-1211 .entry-hero.page-hero-section .entry-header {
		min-height: clamp(230px, 45vw, 310px) !important;
	}

	.page-id-1201 .entry-hero.page-hero-section .entry-hero-container-inner,
	.page-id-1203 .entry-hero.page-hero-section .entry-hero-container-inner,
	.page-id-1205 .entry-hero.page-hero-section .entry-hero-container-inner,
	.page-id-1207 .entry-hero.page-hero-section .entry-hero-container-inner,
	.page-id-1209 .entry-hero.page-hero-section .entry-hero-container-inner,
	.page-id-1211 .entry-hero.page-hero-section .entry-hero-container-inner {
		background-attachment: scroll;
		background-position: center center;
	}

	.eu-hero {
		background-position: 42% center;
		min-height: clamp(373px, 51vh, 453px);
		padding-left: 10vw;
		padding-right: 10vw;
	}

	.site-branding .custom-logo,
	.site-branding img {
		max-height: 54px;
	}

	.mobile-site-branding .custom-logo,
	.mobile-site-branding img,
	#mobile-header .custom-logo {
		height: auto;
		max-height: 54px;
		width: auto;
	}

	.eu-hero h1 {
		font-size: clamp(2rem, 9vw, 2.55rem);
		line-height: 1.12;
	}

	.eu-lead {
		font-size: 1rem;
		line-height: 1.58;
	}

	.eu-kicker {
		font-size: 0.74rem;
		line-height: 1.45;
	}

	.eu-hero > .wp-block-spacer {
		height: clamp(2rem, 8vw, 3rem) !important;
	}

	.eu-section {
		padding-block: 2.2rem;
	}

	.eu-button-row {
		display: grid;
	}

	.eu-latest-news__item {
		grid-template-columns: 1fr;
	}

	.entry-content .eu-latest-news__button.wp-element-button,
	.eu-latest-news__button.wp-element-button {
		grid-column: 1;
		grid-row: auto;
		justify-self: flex-start;
	}

	.eu-funding-footer__inner {
		column-gap: 1rem;
		grid-template-columns: minmax(0, 1fr) auto;
		row-gap: 1.5rem;
		text-align: left;
	}

	.eu-funding-footer__project {
		display: contents;
	}

	.eu-funding-footer__project > .eu-funding-footer__title,
	.eu-funding-footer__project > .eu-funding-footer__note {
		grid-column: 1 / -1;
	}

	.eu-funding-footer__project > .eu-funding-footer__logo--eu {
		align-self: center;
		grid-column: 1;
		margin-top: 0;
		max-width: 270px;
	}

	.eu-funding-footer__mark {
		align-self: center;
		grid-column: 2;
		justify-self: end;
	}

	.eu-funding-footer__contact {
		grid-column: 1 / -1;
		text-align: left;
	}

	.eu-team-carousel {
		margin-bottom: 2rem;
	}

	.eu-team-carousel__controls {
		margin: 1.6rem 0 2.4rem;
	}

	.eu-funding-footer__logo--seal {
		max-height: 150px;
		width: auto;
	}
}

@media (max-width: 430px) {
	.eu-hero {
		background-position: 39% center;
		min-height: clamp(360px, 49vh, 427px);
	}

	.eu-hero h1 {
		font-size: clamp(1.85rem, 8.5vw, 2.25rem);
	}

	.eu-button-row .wp-block-button,
	.eu-button-row .wp-block-button__link {
		width: 100%;
	}

	.eu-document-card {
		align-items: start;
		grid-template-columns: auto minmax(0, 1fr);
	}

	.eu-document-card__button {
		grid-column: 1 / -1;
		text-align: center;
		width: 100%;
	}

	.eu-team-carousel + .eu-button-row {
		margin-top: 0;
	}

	.eu-team-grid {
		grid-template-columns: 1fr;
	}

	.eu-news-card-grid {
		grid-template-columns: 1fr;
	}

	.eu-post-gallery__grid {
		grid-template-columns: 1fr;
	}

	.eu-gallery-lightbox {
		padding: 4rem 0.75rem 1rem;
	}

	.eu-gallery-lightbox__figure {
		max-width: 100%;
	}

	.eu-gallery-lightbox__image {
		max-height: 76vh;
	}

	.eu-gallery-lightbox__nav {
		font-size: 2.2rem;
		height: 3rem;
		width: 3rem;
	}

	.eu-news-card-grid--list .eu-news-card {
		grid-template-columns: 1fr;
		height: auto;
	}

	.eu-news-card-grid--list .eu-news-card__media {
		aspect-ratio: 16 / 10;
		height: auto;
	}

	.eu-news-card-grid--list .eu-news-card__image {
		aspect-ratio: 16 / 10;
		height: auto;
	}

	.eu-news-card-grid--list .eu-news-card__body {
		min-height: 180px;
	}

	.eu-team-single__header {
		grid-template-columns: 1fr;
		text-align: center;
	}

	.eu-team-single__portrait .eu-team-card__portrait,
	.eu-team-single__portrait .eu-team-card__portrait-img {
		margin-inline: auto;
	}

	.eu-funding-footer {
		padding-left: 1rem;
		padding-right: 1rem;
	}

	.eu-funding-footer__inner {
		column-gap: 0.75rem;
		grid-template-columns: minmax(0, 1fr) auto;
	}

	.eu-funding-footer__project > .eu-funding-footer__logo--eu {
		max-width: 230px;
	}

	.eu-funding-footer__logo--seal {
		max-height: 132px;
	}

	.eu-funding-footer__bottom {
		align-items: flex-start;
		flex-direction: column;
	}
}

/* Ucenicki radovi: use the project page-header photograph. */
.page-id-1412 .entry-hero.page-hero-section .entry-hero-container-inner {
	background-image:
		linear-gradient(rgba(43, 108, 176, 0.82), rgba(43, 108, 176, 0.82)),
		url("assets/header-16x9.jpg");
	background-attachment: fixed;
	background-position: center calc(50% - 220px);
	background-size: cover;
}

.page-id-1412 .entry-hero .entry-title {
	color: #fff;
}

.page-id-1412 .entry-hero.page-hero-section .entry-header {
	min-height: clamp(300px, 24vw, 360px) !important;
}

/* Desktop Radovi submenu. */
@media (min-width: 1025px) {
	#primary-menu .sub-menu,
	#primary-menu .sub-menu li,
	#primary-menu .sub-menu a {
		background-color: #1f5f98;
	}

	#primary-menu .sub-menu a {
		color: #fff !important;
	}

	#primary-menu .sub-menu a:hover,
	#primary-menu .sub-menu a:focus {
		background-color: #164a78;
		color: #fff !important;
	}
}

@media (max-width: 720px) {
	.page-id-1412 .entry-hero.page-hero-section .entry-hero-container-inner {
		background-attachment: scroll;
		background-position: center center;
	}

	.page-id-1412 .entry-hero.page-hero-section .entry-header {
		min-height: clamp(230px, 45vw, 310px) !important;
	}
}

/* Keep desktop submenu type the same size as the primary navigation. */
@media (min-width: 1025px) {
	#primary-menu .sub-menu,
	#primary-menu .sub-menu a {
		font-size: inherit !important;
	}
}

/* All current and future child pages of Za skole. */
.parent-pageid-1209 .entry-hero.page-hero-section .entry-hero-container-inner {
	background-image:
		linear-gradient(rgba(43, 108, 176, 0.82), rgba(43, 108, 176, 0.82)),
		url("assets/header-16x9.jpg");
	background-attachment: fixed;
	background-position: center calc(50% - 220px);
	background-size: cover;
}

.parent-pageid-1209 .entry-hero .entry-title {
	color: #fff;
}

.parent-pageid-1209 .entry-hero.page-hero-section .entry-header {
	min-height: clamp(300px, 24vw, 360px) !important;
}

@media (max-width: 720px) {
	.parent-pageid-1209 .entry-hero.page-hero-section .entry-hero-container-inner {
		background-attachment: scroll;
		background-position: center center;
	}

	.parent-pageid-1209 .entry-hero.page-hero-section .entry-header {
		min-height: clamp(230px, 45vw, 310px) !important;
	}
}

/* EU page-header subtitle. */
.entry-hero .eu-page-header-subtitle {
	max-width: 760px;
	margin: 0.65rem auto 0;
	color: #fff;
	font-size: clamp(1.1rem, 1.4vw, 1.35rem);
	line-height: 1.45;
	text-align: center;
}

/* EU published-work cards */
.eu-document-card__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem;
	justify-content: flex-end;
}

.eu-document-card__button--download {
	background: #f28c28;
	border-color: #f28c28;
	color: #fff;
}

.eu-document-card__button--download:hover,
.eu-document-card__button--download:focus {
	background: #d97013;
	border-color: #d97013;
	color: #fff;
}

.eu-document-card__button--more {
	background: #1f5f98;
	border: 1px solid #1f5f98;
	color: #fff;
	cursor: pointer;
	font: inherit;
	font-weight: 700;
	padding: 0.75em 1.15em;
}

.eu-document-card__button--more:hover,
.eu-document-card__button--more:focus {
	background: #164a78;
	border-color: #164a78;
	color: #fff;
}

.eu-document-card__details {
	background: #f5f8fa;
	border-top: 1px solid var(--eu-line);
	grid-column: 1 / -1;
	margin-top: 0.15rem;
	padding: 1.15rem;
}

.eu-document-card__details > div + div {
	border-top: 1px solid var(--eu-line);
	margin-top: 0.85rem;
	padding-top: 0.85rem;
}

.eu-document-card__details h4 {
	color: var(--eu-navy);
	font-size: 0.95rem;
	margin: 0;
}

.eu-document-card__details p {
	color: var(--eu-muted);
	margin: 0.3rem 0 0;
}

@media (max-width: 700px) {
	.eu-document-card__actions {
		grid-column: 1 / -1;
		justify-content: stretch;
	}

	.eu-document-card__actions .eu-document-card__button {
		flex: 1 1 12rem;
		text-align: center;
	}
}

/* EU PDF icon download states */
.eu-document-card__icon--download {
	background: #f28c28;
	color: #fff;
	cursor: pointer;
	text-decoration: none;
}

.eu-document-card__icon--download:hover,
.eu-document-card__icon--download:focus {
	background: #1f5f98;
	color: #fff;
	outline: 3px solid rgba(31, 95, 152, 0.25);
	outline-offset: 2px;
}

.eu-document-card__icon--unavailable {
	background: #9aa7b2;
	color: #fff;
	cursor: not-allowed;
}

/* EU work status badges and title button */
.eu-document-card__title button {
	background: transparent;
	border: 0;
	color: inherit;
	cursor: pointer;
	font: inherit;
	font-weight: inherit;
	padding: 0;
	text-align: left;
}

.eu-document-card__title button:hover,
.eu-document-card__title button:focus {
	color: #1f5f98;
	text-decoration: underline;
}

.eu-work-status {
	border-radius: 999px;
	color: #fff;
	display: inline-block;
	font-size: 0.78rem;
	font-weight: 700;
	line-height: 1.2;
	margin-top: 0.55rem;
	padding: 0.3rem 0.6rem;
}

.eu-work-status--u-pripremi { background: #b42318; }
.eu-work-status--predano { background: #e47714; }
.eu-work-status--prihvaceno { background: #c99b00; }
.eu-work-status--objavljeno { background: #2e7d32; }

/* EU published-work title hover refinement */
.eu-document-card__title button:hover,
.eu-document-card__title button:focus {
	background: transparent;
	color: #1f5f98;
	text-decoration: none;
}

/* EU published-work title hover priority */
.eu-document-list .eu-document-card .eu-document-card__title button,
.eu-document-list .eu-document-card .eu-document-card__title button:hover,
.eu-document-list .eu-document-card .eu-document-card__title button:focus,
.eu-document-list .eu-document-card .eu-document-card__title button:active {
	background: transparent !important;
	background-color: transparent !important;
	border-color: transparent !important;
	box-shadow: none !important;
	color: #1f5f98 !important;
	text-decoration: none !important;
}

.eu-document-list .eu-document-card .eu-document-card__title button {
	color: var(--eu-navy) !important;
}

/* EU published-work authors display */
.eu-document-card__authors {
	color: var(--eu-muted);
	font-size: 0.92rem;
	margin: 0.35rem 0 0;
}

/* EU published-work heading spacing */
.eu-document-card__heading {
	align-items: flex-start;
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
}

.eu-document-card__heading .eu-document-card__title,
.eu-document-card__heading .eu-document-card__authors,
.eu-document-card__heading .eu-work-status {
	margin: 0;
}

/* EU custom 404 page */
.eu-404 {
	background: var(--eu-soft);
}

.eu-404__hero {
	background-image:
		linear-gradient(rgba(29, 95, 143, 0.88), rgba(18, 50, 74, 0.9)),
		url("assets/header-16x9.jpg");
	background-position: center;
	background-size: cover;
	color: #fff;
	padding: clamp(5rem, 12vw, 8rem) 1.5rem;
}

.eu-404__inner,
.eu-404__links-inner {
	margin: 0 auto;
	max-width: 760px;
}

.eu-404__hero .eu-kicker {
	color: #fff;
	margin: 0 0 0.75rem;
}

.eu-404__hero h1 {
	color: #fff;
	font-size: clamp(2.3rem, 5vw, 4.25rem);
	line-height: 1.08;
	margin: 0;
}

.eu-404__lead {
	font-size: clamp(1.08rem, 2vw, 1.3rem);
	line-height: 1.6;
	margin: 1.25rem 0 0;
	max-width: 620px;
}

.eu-404__actions {
	margin: 2rem 0 0;
}

.eu-404__actions .wp-element-button {
	background: #f28c28;
	border-color: #f28c28;
	color: #fff;
}

.eu-404__actions .wp-element-button:hover,
.eu-404__actions .wp-element-button:focus {
	background: #fff;
	border-color: #fff;
	color: var(--eu-navy);
}

.eu-404__links {
	padding: clamp(2.5rem, 6vw, 4.5rem) 1.5rem;
}

.eu-404__links h2 {
	color: var(--eu-navy);
	font-size: clamp(1.35rem, 2.5vw, 1.8rem);
	margin: 0;
}

.eu-404__links ul {
	display: flex;
	flex-wrap: wrap;
	gap: 0.7rem 1.5rem;
	list-style: none;
	margin: 1.25rem 0 0;
	padding: 0;
}

.eu-404__links a {
	color: var(--eu-blue);
	font-weight: 700;
}
