/* ub.ro – frontend nou (resources/views/v2). Culorile si fontul vin din MIV-ul UBc.
   Clasele proprii au prefixul u- ca sa nu se bata cu bootstrap, timeline.css sau cu HTML-ul din continut. */

@font-face {
	font-family: 'Source Sans 3';
	font-style: normal;
	font-weight: 200 900;
	font-display: swap;
	src: url(../fonts/source-sans-3-latin-ext-normal.woff2) format('woff2-variations');
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
	font-family: 'Source Sans 3';
	font-style: normal;
	font-weight: 200 900;
	font-display: swap;
	src: url(../fonts/source-sans-3-latin-normal.woff2) format('woff2-variations');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: 'Source Sans 3';
	font-style: italic;
	font-weight: 200 900;
	font-display: swap;
	src: url(../fonts/source-sans-3-latin-ext-italic.woff2) format('woff2-variations');
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
	font-family: 'Source Sans 3';
	font-style: italic;
	font-weight: 200 900;
	font-display: swap;
	src: url(../fonts/source-sans-3-latin-italic.woff2) format('woff2-variations');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
	--blue: #1B4E9B;
	--blue-d: #143c79;
	--light: #008CD1;
	--light-t: #006FA6;
	--navy: #0B2547;
	--navy-2: #16345f;
	--red: #A82238;
	--red-d: #8a1a2d;
	--bg: #F3F6FA;
	--surface: #fff;
	--chip: #E6EEF8;
	--text: #0B2547;
	--muted: #5B6472;
	--line: rgba(11, 37, 71, .10);
	--line-2: rgba(11, 37, 71, .18);
	--g: clamp(16px, 3.2vw, 96px);
	--gap: clamp(16px, 1.6vw, 32px);
	--r: 4px;
	--sh: 0 1px 2px rgba(11, 37, 71, .05), 0 4px 14px rgba(11, 37, 71, .06);
	--sh-h: 0 2px 4px rgba(11, 37, 71, .08), 0 14px 34px rgba(11, 37, 71, .13);
	--ease: cubic-bezier(.2, .7, .2, 1);
	--font: 'Source Sans 3', system-ui, -apple-system, 'Segoe UI', sans-serif;
	--hdr: 76px;
}

/* ---------- baza ---------- */

html {
	scroll-behavior: smooth;
	scroll-padding-top: calc(var(--hdr) + 16px);
	-webkit-text-size-adjust: 100%;
}
body {
	margin: 0;
	font-family: var(--font);
	font-size: 1.0625rem;
	line-height: 1.6;
	color: var(--text);
	background: var(--surface);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
h1, h2, h3, h4, h5, h6 {
	font-family: var(--font);
	color: var(--navy);
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: -.01em;
}
a {
	color: var(--blue);
}
a:hover {
	color: var(--blue-d);
}
img {
	max-width: 100%;
	height: auto;
}
:focus-visible {
	outline: 3px solid var(--light);
	outline-offset: 2px;
}
.u-skip {
	position: absolute;
	left: 8px;
	top: -60px;
	z-index: 200;
	padding: 10px 16px;
	background: var(--navy);
	color: #fff;
	border-radius: var(--r);
}
.u-skip:focus {
	top: 8px;
	color: #fff;
}
.u-w {
	padding-inline: var(--g);
}
.u-sr {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

/* butoane */
.u-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .55em;
	min-height: 48px;
	padding: .7em 1.4em;
	border: 1px solid transparent;
	border-radius: var(--r);
	font: 700 1rem/1.2 var(--font);
	text-decoration: none;
	cursor: pointer;
	transition: background-color .2s var(--ease), color .2s var(--ease), border-color .2s var(--ease), transform .2s var(--ease), box-shadow .2s var(--ease);
}
.u-btn i {
	transition: transform .2s var(--ease);
}
.u-btn:hover i.fa-arrow-right {
	transform: translateX(3px);
}
.u-btn--red {
	background: var(--red);
	color: #fff;
}
.u-btn--red:hover {
	background: var(--red-d);
	color: #fff;
	box-shadow: 0 6px 18px rgba(168, 34, 56, .3);
}
.u-btn--blue {
	background: var(--blue);
	color: #fff;
}
.u-btn--blue:hover {
	background: var(--blue-d);
	color: #fff;
}
.u-btn--white {
	background: #fff;
	color: var(--navy);
}
.u-btn--white:hover {
	background: var(--chip);
	color: var(--navy);
}
.u-btn--ghost {
	background: transparent;
	color: var(--blue);
	border-color: var(--line-2);
}
.u-btn--ghost:hover {
	border-color: var(--blue);
	color: var(--blue);
}
.u-more {
	display: inline-flex;
	align-items: center;
	gap: .45em;
	font-weight: 700;
	font-size: .95rem;
	color: var(--blue);
	text-decoration: none;
}
.u-more i {
	font-size: .85em;
	transition: transform .2s var(--ease);
}
.u-more:hover i,
a:hover .u-more i {
	transform: translateX(4px);
}
.u-chip {
	display: inline-flex;
	align-items: center;
	gap: .4em;
	padding: .2em .65em;
	border-radius: var(--r);
	background: var(--chip);
	color: var(--blue);
	font-size: .8125rem;
	font-weight: 600;
	line-height: 1.5;
	text-decoration: none;
	white-space: nowrap;
}
a.u-chip:hover {
	background: var(--blue);
	color: #fff;
}
.u-chip--on {
	background: var(--navy);
	color: #fff;
}

/* aparitie la derulare (site.js pune .u-in); fara JS sau cu miscare redusa, totul e vizibil */
.js .u-reveal {
	opacity: 0;
	transform: translateY(14px);
	transition: opacity .5s var(--ease), transform .5s var(--ease);
}
.js .u-reveal.u-in {
	opacity: 1;
	transform: none;
}
@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}
	*, *::before, *::after {
		transition-duration: .01ms !important;
		animation-duration: .01ms !important;
	}
	.js .u-reveal {
		opacity: 1;
		transform: none;
	}
}

/* ---------- bara de sus ---------- */

.u-top {
	background: var(--navy);
	color: #c9d6ea;
	font-size: .875rem;
}
.u-top .u-w {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px 24px;
	min-height: 44px;
}
.u-top ul {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px 20px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.u-top a,
.u-top button {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 6px 0;
	border: 0;
	background: none;
	color: #dfe8f5;
	font: inherit;
	text-decoration: none;
	cursor: pointer;
}
.u-top a:hover,
.u-top button:hover {
	color: #fff;
}
.u-top i {
	color: #8fb3e3;
	font-size: .85em;
}
.u-top .u-ums {
	padding: 4px 12px;
	border-radius: var(--r);
	background: rgba(255, 255, 255, .1);
	font-weight: 600;
}
.u-top .u-ums:hover {
	background: rgba(255, 255, 255, .18);
}
.u-lang {
	display: inline-flex;
	padding: 2px;
	border: 1px solid rgba(255, 255, 255, .22);
	border-radius: 999px;
}
.u-top .u-lang a {
	padding: 2px 10px;
	border-radius: 999px;
	font-size: .75rem;
	font-weight: 700;
	color: #b9c8de;
}
.u-top .u-lang a[aria-current] {
	background: var(--blue);
	color: #fff;
}
@media (max-width: 899px) {
	.u-top .u-hide-s {
		display: none;
	}
}

/* ---------- antet ---------- */

.u-hdr {
	position: sticky;
	top: 0;
	z-index: 50;
	background: rgba(255, 255, 255, .97);
	border-bottom: 1px solid var(--line);
	transition: box-shadow .2s var(--ease);
}
.u-hdr.u-stuck {
	box-shadow: 0 6px 24px rgba(11, 37, 71, .08);
}
.u-hdr > .u-w {
	display: flex;
	align-items: center;
	gap: clamp(12px, 2vw, 32px);
	min-height: var(--hdr);
}
.u-brand {
	display: flex;
	align-items: center;
	gap: 12px;
	flex: 0 1 auto;
	min-width: 0;
	text-decoration: none;
	color: var(--navy);
}
.u-brand img {
	flex: none;
	width: auto;
	height: 52px;
}
.u-brand span {
	display: flex;
	flex-direction: column;
	font-weight: 700;
	font-size: 1.0625rem;
	line-height: 1.15;
}
.u-brand small {
	margin-top: 3px;
	font-size: .6875rem;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--muted);
}
.u-brand:hover {
	color: var(--navy);
}
.u-nav {
	display: none;
	flex: 1 1 auto;
	justify-content: center;
}
.u-nav > ul {
	display: flex;
	gap: 2px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.u-nav > ul > li > a,
.u-nav > ul > li > button {
	position: relative;
	display: flex;
	align-items: center;
	gap: 6px;
	height: var(--hdr);
	padding: 0 clamp(8px, .8vw, 16px);
	border: 0;
	background: none;
	color: var(--navy);
	font: 600 1.0625rem/1 var(--font);
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
}
.u-nav > ul > li > button i {
	font-size: .65em;
	color: var(--muted);
	transition: transform .2s var(--ease);
}
.u-nav > ul > li > a::after,
.u-nav > ul > li > button::after {
	content: "";
	position: absolute;
	left: clamp(8px, .8vw, 16px);
	right: clamp(8px, .8vw, 16px);
	bottom: 14px;
	height: 2px;
	background: var(--blue);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform .25s var(--ease);
}
.u-nav > ul > li:hover > a::after,
.u-nav > ul > li:hover > button::after,
.u-nav > ul > li.u-open > button::after,
.u-nav > ul > li.u-active > a::after,
.u-nav > ul > li.u-active > button::after {
	transform: scaleX(1);
}
.u-nav > ul > li.u-open > button i {
	transform: rotate(180deg);
}
.u-mega {
	position: absolute;
	left: 0;
	right: 0;
	top: 100%;
	visibility: hidden;
	opacity: 0;
	transform: translateY(-6px);
	background: #fff;
	border-top: 1px solid var(--line);
	box-shadow: 0 24px 48px rgba(11, 37, 71, .14);
	transition: opacity .18s var(--ease), transform .18s var(--ease), visibility 0s .18s;
}
.u-nav li.u-open > .u-mega {
	visibility: visible;
	opacity: 1;
	transform: none;
	transition: opacity .18s var(--ease), transform .18s var(--ease);
}
.u-mega > .u-w {
	display: grid;
	grid-template-columns: minmax(220px, 300px) 1fr;
	gap: var(--gap);
	padding-block: 32px 40px;
	max-height: calc(100vh - var(--hdr) - 60px);
	overflow: auto;
}
.u-mega-intro h2 {
	margin: 0 0 8px;
	font-size: 1.5rem;
}
.u-mega-intro p {
	margin: 0 0 16px;
	color: var(--muted);
	font-size: .95rem;
}
.u-mega-cols {
	columns: 240px 4;
	column-gap: var(--gap);
}
.u-mega-col {
	break-inside: avoid;
	margin-bottom: 20px;
}
.u-mega-col > a {
	display: block;
	padding: 6px 0;
	font-weight: 700;
	color: var(--navy);
	text-decoration: none;
	border-bottom: 1px solid var(--line);
}
.u-mega-col > a:hover {
	color: var(--blue);
}
.u-mega-col ul {
	margin: 6px 0 0;
	padding: 0;
	list-style: none;
}
.u-mega-col li a {
	display: block;
	padding: 4px 0;
	font-size: .95rem;
	color: var(--muted);
	text-decoration: none;
	transition: color .15s, transform .15s var(--ease);
}
.u-mega-col li a:hover {
	color: var(--blue);
	transform: translateX(3px);
}
.u-hdr-tools {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-left: auto;
}
.u-icon-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	border: 1px solid var(--line-2);
	border-radius: var(--r);
	background: #fff;
	color: var(--navy);
	font-size: 1.05rem;
	cursor: pointer;
	transition: border-color .15s, color .15s, background-color .15s;
}
.u-icon-btn:hover {
	border-color: var(--blue);
	color: var(--blue);
}
.u-hdr .u-btn--red {
	min-height: 46px;
	padding-inline: 1.1em;
}
@media (max-width: 599px) {
	.u-brand img {
		height: 42px;
	}
	.u-brand span {
		font-size: .9375rem;
	}
	.u-brand small,
	.u-hdr .u-btn--red span {
		display: none;
	}
	.u-hdr .u-btn--red {
		width: 46px;
		padding: 0;
	}
}
@media (min-width: 1240px) {
	.u-nav {
		display: flex;
	}
	.u-burger {
		display: none;
	}
	.u-hdr-tools {
		margin-left: 0;
	}
}
@media (min-width: 1240px) and (max-width: 1499px) {
	.u-brand small {
		display: none;
	}
	.u-brand span {
		font-size: 1rem;
		max-width: 12em;
	}
}

/* sertarul de pe mobil */
.u-drawer {
	position: fixed;
	inset: 0;
	z-index: 100;
	visibility: hidden;
	transition: visibility 0s .25s;
}
.u-drawer.u-open {
	visibility: visible;
	transition: none;
}
.u-drawer-bg {
	position: absolute;
	inset: 0;
	background: rgba(11, 37, 71, .5);
	opacity: 0;
	transition: opacity .25s var(--ease);
}
.u-drawer.u-open .u-drawer-bg {
	opacity: 1;
}
.u-drawer-panel {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	display: flex;
	flex-direction: column;
	width: min(420px, 92vw);
	background: #fff;
	transform: translateX(100%);
	transition: transform .28s var(--ease);
}
.u-drawer.u-open .u-drawer-panel {
	transform: none;
}
.u-drawer-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 14px 16px;
	border-bottom: 1px solid var(--line);
}
.u-drawer-head strong {
	font-size: 1.125rem;
}
.u-drawer-body {
	flex: 1;
	overflow: auto;
	padding: 8px 0 24px;
}
.u-drawer details {
	border-bottom: 1px solid var(--line);
}
.u-drawer summary,
.u-drawer .u-dlink {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 13px 20px;
	font-weight: 700;
	color: var(--navy);
	text-decoration: none;
	list-style: none;
	cursor: pointer;
}
.u-drawer summary::-webkit-details-marker {
	display: none;
}
.u-drawer summary i {
	color: var(--muted);
	font-size: .8em;
	transition: transform .2s var(--ease);
}
.u-drawer details[open] > summary i {
	transform: rotate(180deg);
}
.u-drawer details details summary,
.u-drawer details .u-dlink {
	padding-left: 32px;
	font-weight: 600;
	font-size: .975rem;
}
.u-drawer details details .u-dlink {
	padding-left: 44px;
	font-weight: 400;
	color: var(--muted);
}
.u-drawer details details {
	border: 0;
}
.u-drawer-body > .u-dlink {
	border-bottom: 1px solid var(--line);
}
.u-drawer-foot {
	display: grid;
	gap: 8px;
	padding: 16px 20px;
	border-top: 1px solid var(--line);
	background: var(--bg);
}

/* cautare */
.u-search {
	width: min(760px, calc(100vw - 32px));
	max-height: calc(100vh - 64px);
	margin: 12vh auto auto;
	padding: 0;
	border: 0;
	border-radius: 8px;
	box-shadow: 0 30px 80px rgba(11, 37, 71, .35);
	color: var(--text);
}
.u-search::backdrop {
	background: rgba(11, 37, 71, .55);
	backdrop-filter: blur(2px);
}
.u-search[open] {
	animation: u-pop .22s var(--ease);
}
@keyframes u-pop {
	from { opacity: 0; transform: translateY(-10px) scale(.98); }
}
.u-search form {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 14px 16px;
	border-bottom: 1px solid var(--line);
}
.u-search form i {
	color: var(--muted);
}
.u-search input {
	flex: 1;
	min-width: 0;
	border: 0;
	font: 400 1.25rem/1.4 var(--font);
	color: var(--navy);
	outline: none;
}
.u-search-hint {
	margin: 0;
	padding: 12px 20px;
	color: var(--muted);
	font-size: .9rem;
}
.u-search-list {
	max-height: 50vh;
	overflow: auto;
	margin: 0;
	padding: 0 0 8px;
	list-style: none;
}
.u-search-list a {
	display: block;
	padding: 10px 20px;
	color: var(--navy);
	text-decoration: none;
}
.u-search-list a:hover,
.u-search-list a:focus {
	background: var(--bg);
	color: var(--blue);
	outline: none;
}

/* ---------- hero ---------- */

.u-hero {
	position: relative;
	isolation: isolate;
	display: flex;
	align-items: flex-end;
	min-height: clamp(440px, 64vh, 760px);
	padding-block: clamp(48px, 8vh, 120px) clamp(32px, 5vh, 64px);
	background: var(--navy);
	color: #fff;
	overflow: hidden;
}
.u-hero-bg {
	position: absolute;
	inset: 0;
	z-index: -2;
	width: 100%;
	height: 100%;
	object-fit: cover;
	animation: u-kenburns 24s ease-out both;
}
@keyframes u-kenburns {
	from { transform: scale(1.08); }
	to { transform: scale(1); }
}
.u-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background:
		linear-gradient(90deg, rgba(11, 37, 71, .94) 0%, rgba(11, 37, 71, .78) 42%, rgba(11, 37, 71, .25) 100%),
		linear-gradient(0deg, rgba(11, 37, 71, .75), transparent 45%);
}
.u-hero .u-w {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 32px;
	width: 100%;
	align-items: end;
}
.u-hero-text {
	max-width: 46rem;
}
.u-kicker {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 22px;
	padding: 6px 14px;
	border: 1px solid rgba(255, 255, 255, .25);
	border-radius: 999px;
	background: rgba(255, 255, 255, .08);
	font-size: .8125rem;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}
.u-kicker::before {
	content: "";
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #5cc3ff;
	box-shadow: 0 0 0 0 rgba(92, 195, 255, .6);
	animation: u-pulse 2.4s infinite;
}
@keyframes u-pulse {
	70% { box-shadow: 0 0 0 10px rgba(92, 195, 255, 0); }
	100% { box-shadow: 0 0 0 0 rgba(92, 195, 255, 0); }
}
.u-hero h1 {
	margin: 0 0 18px;
	color: #fff;
	font-size: clamp(2.4rem, 5.2vw, 5rem);
	font-weight: 800;
	line-height: 1.02;
	letter-spacing: -.02em;
}
.u-hero h1 span {
	display: block;
	color: #a9c8f5;
}
.u-hero-text > p {
	margin: 0 0 30px;
	max-width: 40rem;
	font-size: clamp(1.0625rem, 1.25vw, 1.3rem);
	color: #d5e1f2;
}
.u-hero-cta {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}
.u-hero-side {
	display: grid;
	gap: 14px;
	justify-items: end;
}
.u-hero-65 {
	width: clamp(180px, 18vw, 340px);
	opacity: .95;
}
.u-tv {
	display: flex;
	align-items: center;
	gap: 14px;
	max-width: 360px;
	padding: 12px 16px 12px 12px;
	border: 1px solid rgba(255, 255, 255, .22);
	border-radius: 6px;
	background: rgba(11, 37, 71, .55);
	backdrop-filter: blur(6px);
	color: #fff;
	text-decoration: none;
	transition: background-color .2s, transform .2s var(--ease);
}
.u-tv:hover {
	background: rgba(11, 37, 71, .8);
	color: #fff;
	transform: translateY(-2px);
}
.u-tv-play {
	display: grid;
	place-items: center;
	flex: none;
	width: 52px;
	height: 52px;
	border-radius: 50%;
	background: #fff;
	color: var(--red);
	font-size: 1.1rem;
}
.u-tv strong {
	display: block;
	font-size: 1rem;
}
.u-tv small {
	color: #c9d6ea;
	font-size: .8125rem;
}
@media (min-width: 1100px) {
	.u-hero .u-w {
		grid-template-columns: minmax(0, 1fr) auto;
	}
}
@media (max-width: 1099px) {
	.u-hero-side {
		justify-items: start;
	}
	.u-hero-65 {
		display: none;
	}
}

/* banda de anunturi urgente */
.u-urgent {
	background: var(--red);
	color: #fff;
}
.u-urgent .u-w {
	display: flex;
	align-items: center;
	gap: 12px 28px;
	min-height: 56px;
	padding-block: 10px;
	overflow-x: auto;
	scrollbar-width: none;
}
.u-urgent .u-w::-webkit-scrollbar {
	display: none;
}
.u-urgent-label {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	flex: none;
	font-size: .875rem;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
}
.u-urgent-label::before {
	content: "";
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: #fff;
	animation: u-blink 1.6s ease-in-out infinite;
}
@keyframes u-blink {
	50% { opacity: .35; }
}
.u-urgent a {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	flex: none;
	color: #fff;
	text-decoration: none;
	font-weight: 600;
}
.u-urgent a + a {
	padding-left: 28px;
	border-left: 1px solid rgba(255, 255, 255, .35);
}
.u-urgent a time {
	font-weight: 400;
	opacity: .85;
}
.u-urgent a:hover span {
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* ---------- sectiuni ---------- */

.u-sec {
	padding-block: clamp(48px, 7vw, 104px);
}
.u-sec--alt {
	background: var(--bg);
}
.u-sec-head {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 16px 32px;
	margin-bottom: clamp(24px, 3vw, 40px);
	padding-bottom: 20px;
	border-bottom: 1px solid var(--line);
}
.u-sec-head--plain {
	border: 0;
	padding: 0;
}
.u-sec-head--center {
	flex-direction: column;
	align-items: center;
	text-align: center;
}
.u-eyebrow {
	margin: 0 0 6px;
	font-size: .8125rem;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--blue);
}
.u-sec-head h2 {
	margin: 0;
	font-size: clamp(1.9rem, 2.8vw, 2.75rem);
	font-weight: 800;
}
.u-lead {
	max-width: 52rem;
	margin: 12px 0 0;
	font-size: clamp(1.0625rem, 1.2vw, 1.25rem);
	color: var(--muted);
}
.u-sec-head--center .u-lead {
	margin-inline: auto;
}
.u-filters {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
}
.u-filters .u-chip {
	padding: .45em .9em;
	border: 1px solid var(--line);
	background: #fff;
	color: var(--navy);
	font-size: .875rem;
}
button.u-chip {
	font-family: inherit;
	cursor: pointer;
}
.u-filters .u-chip:hover {
	border-color: var(--blue);
	background: #fff;
	color: var(--blue);
}
.u-filters .u-chip.u-chip--on {
	border-color: var(--navy);
	background: var(--navy);
	color: #fff;
}

/* ---------- galerie de stiri (casete ilustrate) ---------- */

/* grila foloseste doar 1, 2, 3, 4 sau 6 coloane (divizorii lui 12): o pagina de 12 stiri umple mereu randuri complete.
   Numarul de coloane depinde de latimea grilei (container query), nu a ecranului. */
.u-cards-box {
	container-type: inline-size;
}
.u-cards {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--gap);
}
@container (min-width: 600px) { .u-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@container (min-width: 900px) { .u-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@container (min-width: 1300px) { .u-cards { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@container (min-width: 2000px) { .u-cards { grid-template-columns: repeat(6, minmax(0, 1fr)); } }
.u-card {
	position: relative;
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid var(--line);
	border-radius: var(--r);
	box-shadow: var(--sh);
	overflow: hidden;
	transition: transform .25s var(--ease), box-shadow .25s var(--ease), border-color .25s;
}
.u-card:hover {
	transform: translateY(-3px);
	box-shadow: var(--sh-h);
	border-color: var(--line-2);
}
.u-card-img {
	position: relative;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: linear-gradient(135deg, var(--blue), var(--navy));
}
.u-card-img img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .5s var(--ease);
}
.u-card:hover .u-card-img img {
	transform: scale(1.05);
}
.u-card-img--empty {
	display: grid;
	place-items: center;
}
.u-card-img--empty img {
	width: 38%;
	height: auto;
	opacity: .9;
	filter: brightness(0) invert(1);
}
.u-card-img .u-chip {
	position: absolute;
	left: 12px;
	top: 12px;
	z-index: 1;
	background: var(--navy);
	color: #fff;
}
.u-card-body {
	display: flex;
	flex-direction: column;
	flex: 1;
	padding: 18px 20px 20px;
}
.u-card time,
.u-meta {
	font-size: .875rem;
	color: var(--muted);
}
.u-card h3 {
	margin: 6px 0 8px;
	font-size: 1.1875rem;
	line-height: 1.3;
}
.u-card h3 a {
	color: var(--navy);
	text-decoration: none;
}
/* tot cardul e clicabil */
.u-card h3 a::after {
	content: "";
	position: absolute;
	inset: 0;
}
.u-card:hover h3 a {
	color: var(--blue);
}
.u-card p {
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
	margin: 0 0 16px;
	color: var(--muted);
	font-size: .975rem;
}
.u-card .u-more {
	margin-top: auto;
	padding-top: 14px;
	border-top: 1px solid var(--line);
}
/* primul articol e mai mare (2x2) de la 3 coloane in sus */
@container (min-width: 900px) {
	.u-cards--lead > .u-card:first-child {
		grid-column: span 2;
		grid-row: span 2;
	}
	.u-cards--lead > .u-card:first-child h3 {
		font-size: clamp(1.4rem, 1.6vw, 1.9rem);
	}
	.u-cards--lead > .u-card:first-child p {
		-webkit-line-clamp: 5;
		font-size: 1.0625rem;
	}
}

/* acasa (10 stiri, prima 2x2): se afiseaza exact cate umplu randurile */
@container (max-width: 599px) {
	.u-cards--home > :nth-child(n+7) { display: none; }
}
@container (min-width: 900px) {
	.u-cards--home > :nth-child(n+10) { display: none; }
}
/* „Citeste si” (6 articole): 4 pe o coloana si pe 4 coloane, 6 in rest */
@container (max-width: 599px) {
	.u-cards--related > :nth-child(n+5) { display: none; }
}
@container (min-width: 1300px) and (max-width: 1999px) {
	.u-cards--related > :nth-child(n+5) { display: none; }
}

/* ---------- facultati ---------- */

.u-facs {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
	gap: var(--gap);
}
.u-fac {
	--c: var(--blue);
	position: relative;
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid var(--line);
	border-top: 6px solid var(--c);
	border-radius: var(--r);
	box-shadow: var(--sh);
	overflow: hidden;
	transition: transform .25s var(--ease), box-shadow .25s var(--ease);
}
.u-fac:hover {
	transform: translateY(-3px);
	box-shadow: var(--sh-h);
}
.u-fac-art {
	position: relative;
	display: grid;
	place-items: center;
	aspect-ratio: 16 / 9;
	background:
		radial-gradient(circle at 85% 20%, rgba(255, 255, 255, .22), transparent 40%),
		radial-gradient(circle at 10% 110%, rgba(0, 0, 0, .25), transparent 50%),
		var(--c);
	color: #fff;
	overflow: hidden;
}
.u-fac-art::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image: radial-gradient(rgba(255, 255, 255, .16) 1.2px, transparent 1.2px);
	background-size: 16px 16px;
	mask-image: linear-gradient(120deg, transparent 30%, #000);
}
.u-fac-art i {
	position: relative;
	font-size: clamp(2.6rem, 3.2vw, 3.4rem);
	transition: transform .4s var(--ease);
}
.u-fac:hover .u-fac-art i {
	transform: scale(1.1) rotate(-4deg);
}
.u-fac-body {
	display: flex;
	flex-direction: column;
	flex: 1;
	padding: 18px 20px 20px;
}
.u-fac h3 {
	margin: 0 0 8px;
	font-size: 1.25rem;
}
.u-fac h3 a {
	color: var(--navy);
	text-decoration: none;
}
.u-fac h3 a::after {
	content: "";
	position: absolute;
	inset: 0;
}
.u-fac p {
	margin: 0 0 16px;
	color: var(--muted);
	font-size: .95rem;
}
.u-fac .u-more {
	margin-top: auto;
	color: var(--c);
}
.u-fac--ing { --c: #2C4894; }
.u-fac--lit { --c: #882F81; }
.u-fac--sti { --c: #167543; }
.u-fac--eco { --c: #D5292C; }
.u-fac--sport { --c: #0083BA; }
.u-fac--dppd { --c: #A82238; }
.u-wide2 {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr));
	gap: var(--gap);
	margin-top: var(--gap);
}
.u-box {
	--c: var(--blue);
	position: relative;
	display: flex;
	gap: 20px;
	padding: clamp(20px, 2vw, 32px);
	background: var(--bg);
	border: 1px solid var(--line);
	border-radius: var(--r);
	transition: background-color .2s, border-color .2s;
}
.u-box:hover {
	background: #fff;
	border-color: var(--line-2);
}
.u-box-ico {
	display: grid;
	place-items: center;
	flex: none;
	width: 56px;
	height: 56px;
	border-radius: var(--r);
	background: var(--c);
	color: #fff;
	font-size: 1.4rem;
}
.u-box h3 {
	margin: 0 0 6px;
	font-size: 1.25rem;
}
.u-box h3 a {
	color: var(--navy);
	text-decoration: none;
}
.u-box h3 a::after {
	content: "";
	position: absolute;
	inset: 0;
}
.u-box p {
	margin: 0 0 12px;
	color: var(--muted);
}
.u-box .u-more {
	color: var(--c);
}

/* ---------- benzi ilustrate una sub alta (viata de student, admitere, cercetare...) ---------- */

.u-bands {
	display: grid;
	gap: clamp(20px, 2.4vw, 40px);
}
.u-band {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	background: #fff;
	border: 1px solid var(--line);
	border-radius: var(--r);
	box-shadow: var(--sh);
	overflow: hidden;
}
.u-band-img {
	position: relative;
	min-height: 240px;
	margin: 0;
	overflow: hidden;
}
.u-band-img img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .8s var(--ease);
}
.u-band:hover .u-band-img img {
	transform: scale(1.04);
}
.u-band-body {
	padding: clamp(20px, 2.4vw, 40px);
}
.u-band-body h3 {
	margin: 0 0 20px;
	font-size: clamp(1.5rem, 2vw, 2rem);
	font-weight: 800;
}
@media (min-width: 1100px) {
	.u-band {
		grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	}
	/* benzile pare au imaginea in dreapta */
	.u-band:nth-child(even) {
		grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
	}
	.u-band:nth-child(even) .u-band-img {
		order: 2;
	}
}
@media (min-width: 2000px) {
	.u-band {
		grid-template-columns: minmax(0, 4fr) minmax(0, 8fr);
	}
	.u-band:nth-child(even) {
		grid-template-columns: minmax(0, 8fr) minmax(0, 4fr);
	}
}
/* linkurile din blocurile tab-* (HTML din continut: .metro-links > a.link-block) */
.u-band .metro-links {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr));
	gap: 16px;
}
.u-band .metro-links .link-block,
.u-prose .metro-links .link-block {
	position: relative;
	display: flex;
	flex-direction: column;
	padding: 22px 22px 18px;
	background: #fff;
	border: 1px solid var(--line);
	border-radius: var(--r);
	box-shadow: var(--sh);
	color: var(--navy);
	text-decoration: none;
	transition: transform .25s var(--ease), box-shadow .25s var(--ease), border-color .2s;
}
.u-band .metro-links .link-block::before,
.u-prose .metro-links .link-block::before {
	content: "\f19d";
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	margin-bottom: 14px;
	border-radius: var(--r);
	background: var(--chip);
	color: var(--blue);
	font: var(--fa-font-solid);
	font-size: 1.1rem;
	transition: background-color .2s, color .2s;
}
.u-band .metro-links .link-block:hover,
.u-prose .metro-links .link-block:hover {
	transform: translateY(-3px);
	box-shadow: var(--sh-h);
	border-color: var(--line-2);
}
.u-band .metro-links .link-block:hover::before,
.u-prose .metro-links .link-block:hover::before {
	background: var(--blue);
	color: #fff;
}
.metro-links .link-block .title {
	margin: 0 0 6px;
	font-size: 1.1875rem;
	font-weight: 700;
	line-height: 1.25;
}
.metro-links .link-block .description {
	margin: 0 0 14px;
	color: var(--muted);
	font-size: .975rem;
}
.metro-links .link-block .link {
	margin: auto 0 0;
	font-size: .95rem;
	font-weight: 700;
	color: var(--blue);
}
.metro-links .link-block .link::after {
	content: "\f061";
	margin-left: 8px;
	font: var(--fa-font-solid);
	font-size: .8em;
	display: inline-block;
	transition: transform .2s var(--ease);
}
.metro-links .link-block:hover .link::after {
	transform: translateX(4px);
}
/* iconita dupa destinatia linkului */
.metro-links .link-block::before { content: "\f0a9"; }
.metro-links .link-block[href*="camin"]::before,
.metro-links .link-block[href*="cazare"]::before { content: "\f1ad"; }
.metro-links .link-block[href*="erasmus"]::before,
.metro-links .link-block[href*="outgoing"]::before,
.metro-links .link-block[href*="mobilit"]::before { content: "\f5b0"; }
.metro-links .link-block[href*="tabere"]::before { content: "\f6fc"; }
.metro-links .link-block[href*="tax"]::before,
.metro-links .link-block[href*="burs"]::before { content: "\f53a"; }
.metro-links .link-block[href*="noutati"]::before,
.metro-links .link-block[href*="stiri"]::before,
.metro-links .link-block[href*="news"]::before { content: "\f1ea"; }
.metro-links .link-block[href*="liga"]::before { content: "\f0c0"; }
.metro-links .link-block[href*="admitere"]::before { content: "\f501"; }
.metro-links .link-block[href*="doctor"]::before { content: "\f19d"; }
.metro-links .link-block[href*="cercetare"]::before,
.metro-links .link-block[href*="research"]::before { content: "\f0c3"; }
.metro-links .link-block[href*="proiect"]::before { content: "\f542"; }
.metro-links .link-block[href*="international"]::before,
.metro-links .link-block[href*="europe"]::before { content: "\f0ac"; }
.metro-links .link-block[href*="biblioteca"]::before,
.metro-links .link-block[href*="editura"]::before { content: "\f02d"; }
.metro-links .link-block[href*="consiliere"]::before,
.metro-links .link-block[href*="cariera"]::before { content: "\f0b1"; }
.metro-links .link-block[href*="contact"]::before { content: "\f0e0"; }
.metro-links .link-block[href*="document"]::before,
.metro-links .link-block[href*="regulament"]::before { content: "\f15c"; }

/* ---------- cifre ---------- */

.u-stats {
	background: var(--navy);
	color: #fff;
}
.u-stats .u-w {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
	padding-block: clamp(40px, 5vw, 72px);
}
.u-stat {
	padding: 16px clamp(16px, 2vw, 40px);
	text-align: center;
}
.u-stat + .u-stat {
	border-left: 1px solid rgba(255, 255, 255, .14);
}
.u-stat b {
	display: block;
	font-size: clamp(2.6rem, 4vw, 4rem);
	font-weight: 800;
	line-height: 1;
	color: #a9c8f5;
}
.u-stat strong {
	display: block;
	margin: 10px 0 4px;
	font-size: 1.1875rem;
}
.u-stat span {
	color: #b9c8de;
	font-size: .95rem;
}
@media (max-width: 699px) {
	.u-stat + .u-stat {
		border-left: 0;
		border-top: 1px solid rgba(255, 255, 255, .14);
	}
}

/* acces rapid: bannere ilustrate */
.u-quick {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));
	gap: var(--gap);
}
.u-tile {
	position: relative;
	display: flex;
	align-items: flex-end;
	min-height: 220px;
	padding: 22px;
	border-radius: var(--r);
	background: var(--navy);
	color: #fff;
	text-decoration: none;
	overflow: hidden;
	isolation: isolate;
	box-shadow: var(--sh);
	transition: transform .25s var(--ease), box-shadow .25s var(--ease);
}
.u-tile img {
	position: absolute;
	inset: 0;
	z-index: -2;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .6s var(--ease);
}
.u-tile::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(180deg, rgba(11, 37, 71, .05) 20%, rgba(11, 37, 71, .88));
}
.u-tile:hover {
	color: #fff;
	transform: translateY(-3px);
	box-shadow: var(--sh-h);
}
.u-tile:hover img {
	transform: scale(1.06);
}
.u-tile strong {
	display: block;
	font-size: 1.375rem;
	line-height: 1.2;
}
.u-tile span {
	display: block;
	margin-top: 4px;
	color: #d5e1f2;
	font-size: .95rem;
}
.u-tile--contain img {
	object-fit: contain;
	background: #fff;
	padding: 18px 18px 80px;
}

/* ---------- subsol ---------- */

.u-foot {
	background: var(--navy);
	color: #b9c8de;
	font-size: .975rem;
}
.u-foot a {
	color: #dfe8f5;
	text-decoration: none;
}
.u-foot a:hover {
	color: #fff;
	text-decoration: underline;
	text-underline-offset: 3px;
}
.u-foot-top {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding-block: 48px 36px;
	border-bottom: 1px solid rgba(255, 255, 255, .12);
}
.u-foot-brand {
	display: flex;
	align-items: center;
	gap: 16px;
}
.u-foot-brand img {
	width: auto;
	height: 60px;
	padding: 8px;
	background: #fff;
	border-radius: var(--r);
}
.u-foot-brand strong {
	display: block;
	color: #fff;
	font-size: 1.3rem;
}
.u-foot-brand address {
	margin: 2px 0 0;
	font-style: normal;
}
.u-foot-brand address br {
	display: none;
}
.u-foot-contact {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}
.u-foot-contact a {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 10px 16px;
	border-radius: var(--r);
	background: rgba(255, 255, 255, .08);
	font-weight: 600;
}
.u-foot-contact a:hover {
	background: rgba(255, 255, 255, .16);
	text-decoration: none;
}
.u-foot-links {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 200px), 1fr));
	gap: 8px var(--gap);
	padding-block: 40px;
	border-bottom: 1px solid rgba(255, 255, 255, .12);
}
/* pe ecranele late coloanele se distribuie egal pe toata latimea */
@media (min-width: 1100px) {
	.u-foot-links {
		display: flex;
		justify-content: space-between;
		gap: var(--gap);
	}
	.u-foot-links > details {
		flex: 0 1 auto;
		max-width: 300px;
	}
}
.u-foot-links h2 {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 12px;
	color: #fff;
	font-size: 1.125rem;
}
.u-foot-links h2::before {
	content: "";
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #8fb3e3;
}
.u-foot-links ul {
	margin: 0 0 16px;
	padding: 0;
	list-style: none;
}
.u-foot-links li {
	padding: 4px 0;
}
.u-foot-links details summary {
	list-style: none;
	cursor: default;
}
.u-foot-links details summary::-webkit-details-marker {
	display: none;
}
@media (max-width: 599px) {
	.u-foot-links details summary {
		cursor: pointer;
	}
	.u-foot-links details summary h2::after {
		content: "\f078";
		margin-left: auto;
		font: var(--fa-font-solid);
		font-size: .75em;
	}
}
.u-foot-bottom {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 16px 32px;
	padding-block: 24px 32px;
	font-size: .875rem;
}
.u-social ul {
	display: flex;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.u-social a {
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: rgba(255, 255, 255, .08);
	transition: background-color .2s, transform .2s var(--ease);
}
.u-social a:hover {
	background: var(--blue);
	transform: translateY(-2px);
}
.u-foot-legal {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 18px;
	margin: 0;
	padding: 0;
	list-style: none;
}

/* ---------- pagini interioare ---------- */

.u-phead {
	position: relative;
	padding-block: clamp(28px, 4vw, 56px) clamp(24px, 3vw, 40px);
	background:
		radial-gradient(circle at 100% 0%, rgba(0, 140, 209, .12), transparent 45%),
		var(--bg);
	border-bottom: 1px solid var(--line);
}
.u-crumbs {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px 10px;
	margin: 0 0 14px;
	padding: 0;
	list-style: none;
	font-size: .9rem;
	color: var(--muted);
}
.u-crumbs li + li::before {
	content: "\f105";
	margin-right: 10px;
	font: var(--fa-font-solid);
	font-size: .7em;
	color: #9aa6b6;
}
.u-crumbs a {
	color: var(--muted);
	text-decoration: none;
}
.u-crumbs a:hover {
	color: var(--blue);
	text-decoration: underline;
}
.u-crumbs [aria-current] {
	color: var(--navy);
	font-weight: 600;
}
.u-phead h1 {
	max-width: 32ch;
	margin: 0;
	font-size: clamp(1.9rem, 3.2vw, 3.25rem);
	font-weight: 800;
	line-height: 1.1;
}
.u-phead .u-lead {
	margin-top: 14px;
}
.u-phead-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 16px;
	margin-bottom: 14px;
	color: var(--muted);
	font-size: .95rem;
}
.u-phead-meta i {
	margin-right: 6px;
	color: var(--blue);
}

/* grila pagina: meniul sectiunii | continut | coloana laterala */
.u-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: clamp(28px, 3vw, 56px);
	padding-block: clamp(28px, 4vw, 56px) clamp(48px, 6vw, 96px);
}
.u-layout > * {
	min-width: 0;
}
@media (min-width: 1100px) {
	.u-layout {
		grid-template-columns: clamp(240px, 19vw, 320px) minmax(0, 1fr);
	}
	.u-layout--full {
		grid-template-columns: minmax(0, 1fr);
	}
	.u-side {
		order: -1;
	}
}
@media (min-width: 1700px) {
	.u-layout--rail {
		grid-template-columns: clamp(260px, 15vw, 320px) minmax(0, 1fr) clamp(300px, 17vw, 400px);
	}
}
/* pe ecranele inguste meniul sectiunii vine inaintea continutului, restul coloanei dupa el */
@media (max-width: 1099px) {
	.u-side,
	.u-side > .u-sticky {
		display: contents;
	}
	.u-side .u-snav {
		order: -1;
	}
}
.u-rail {
	display: none;
}
@media (min-width: 1700px) {
	.u-rail {
		display: block;
	}
	.u-hide-rail {
		display: none;
	}
}
.u-rail .u-sticky {
	position: sticky;
	top: calc(var(--hdr) + 24px);
	max-height: calc(100vh - var(--hdr) - 48px);
	overflow: auto;
	scrollbar-width: thin;
}
.u-snav {
	border: 1px solid var(--line);
	border-radius: var(--r);
	background: #fff;
	overflow: hidden;
}
.u-snav h2 {
	margin: 0;
	padding: 16px 18px;
	background: var(--navy);
	color: #fff;
	font-size: 1.0625rem;
}
.u-snav h2 a {
	color: #fff;
	text-decoration: none;
}
.u-snav ul {
	margin: 0;
	padding: 6px 0;
	list-style: none;
}
.u-snav li a {
	position: relative;
	display: block;
	padding: 9px 18px 9px 20px;
	color: var(--navy);
	font-size: .975rem;
	text-decoration: none;
	transition: background-color .15s, color .15s;
}
.u-snav li a::before {
	content: "";
	position: absolute;
	left: 0;
	top: 8px;
	bottom: 8px;
	width: 3px;
	background: var(--blue);
	transform: scaleY(0);
	transition: transform .2s var(--ease);
}
.u-snav li a:hover {
	background: var(--bg);
	color: var(--blue);
}
.u-snav li a:hover::before,
.u-snav li a[aria-current]::before {
	transform: scaleY(1);
}
.u-snav li a[aria-current] {
	background: var(--chip);
	color: var(--blue);
	font-weight: 700;
}
.u-snav ul ul {
	padding: 0 0 6px;
}
.u-snav ul ul a {
	padding-left: 34px;
	font-size: .925rem;
	color: var(--muted);
}
.u-snav details > summary {
	display: none;
}
@media (max-width: 1099px) {
	.u-snav details > summary {
		display: flex;
		align-items: center;
		justify-content: space-between;
		padding: 14px 18px;
		font-weight: 700;
		cursor: pointer;
		list-style: none;
	}
	.u-snav details > summary::-webkit-details-marker {
		display: none;
	}
	.u-snav details > summary::after {
		content: "\f078";
		font: var(--fa-font-solid);
		font-size: .8em;
		color: var(--muted);
	}
	.u-snav details[open] > summary::after {
		content: "\f077";
	}
	.u-snav > h2 {
		display: none;
	}
}
.u-side-block + .u-side-block {
	margin-top: 24px;
}
.u-side-title {
	margin: 0 0 12px;
	font-size: 1.125rem;
}
.u-mini {
	margin: 0;
	padding: 0;
	list-style: none;
}
.u-mini li + li {
	border-top: 1px solid var(--line);
}
.u-mini a {
	display: grid;
	grid-template-columns: 72px minmax(0, 1fr);
	gap: 12px;
	align-items: center;
	padding: 12px 0;
	color: var(--navy);
	text-decoration: none;
}
.u-mini a.u-noimg {
	grid-template-columns: minmax(0, 1fr);
}
.u-mini img {
	width: 72px;
	height: 56px;
	object-fit: cover;
	border-radius: var(--r);
}
.u-mini strong {
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
	font-size: .95rem;
	line-height: 1.3;
}
.u-mini time {
	display: block;
	margin-top: 2px;
	color: var(--muted);
	font-size: .8125rem;
}
.u-mini a:hover strong {
	color: var(--blue);
}
.u-alert {
	padding: 18px;
	border: 1px solid rgba(168, 34, 56, .25);
	border-left: 4px solid var(--red);
	border-radius: var(--r);
	background: #fff6f7;
}
.u-alert .u-side-title {
	display: flex;
	align-items: center;
	gap: 8px;
	color: var(--red);
}
.u-alert .u-mini a {
	grid-template-columns: minmax(0, 1fr);
}
.u-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}
.u-side .u-facs-mini {
	display: grid;
	gap: 6px;
}
.u-facs-mini a {
	--c: var(--blue);
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 12px;
	border: 1px solid var(--line);
	border-left: 4px solid var(--c);
	border-radius: var(--r);
	background: #fff;
	color: var(--navy);
	font-size: .925rem;
	font-weight: 600;
	line-height: 1.25;
	text-decoration: none;
	transition: transform .2s var(--ease), border-color .2s;
}
.u-facs-mini a:hover {
	transform: translateX(3px);
	color: var(--c);
}

/* articol */
.u-article {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 24px;
}
@media (min-width: 900px) {
	.u-article {
		grid-template-columns: 52px minmax(0, 1fr);
		gap: clamp(20px, 2.4vw, 40px);
	}
}
.u-share {
	display: flex;
	gap: 8px;
}
@media (min-width: 900px) {
	.u-share {
		position: sticky;
		top: calc(var(--hdr) + 24px);
		flex-direction: column;
		align-self: start;
	}
}
.u-share a,
.u-share button {
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	border: 1px solid var(--line-2);
	border-radius: 50%;
	background: #fff;
	color: var(--navy);
	cursor: pointer;
	transition: background-color .2s, color .2s, border-color .2s, transform .2s var(--ease);
}
.u-share a:hover,
.u-share button:hover {
	border-color: var(--blue);
	background: var(--blue);
	color: #fff;
	transform: translateY(-2px);
}
.u-share button.u-done {
	background: #167543;
	border-color: #167543;
	color: #fff;
}
/* comunicatul de presa atasat articolului */
.u-press {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 16px;
	max-width: 76ch;
	margin: 0 0 28px;
	padding: 16px 18px;
	border: 1px solid var(--line);
	border-left: 4px solid #C62828;
	border-radius: var(--r);
	background: #fff;
	box-shadow: var(--sh);
	color: var(--navy);
	text-decoration: none;
	transition: box-shadow .2s var(--ease), transform .2s var(--ease);
}
.u-press:hover {
	color: var(--navy);
	box-shadow: var(--sh-h);
	transform: translateY(-2px);
}
.u-press-ico {
	display: grid;
	place-items: center;
	flex: none;
	width: 48px;
	height: 48px;
	border-radius: var(--r);
	background: #fdecec;
	color: #C62828;
	font-size: 1.4rem;
}
.u-press-text {
	flex: 1 1 200px;
	min-width: 0;
}
.u-press-text strong {
	display: block;
	font-size: 1.0625rem;
}
.u-press-text small {
	display: block;
	overflow: hidden;
	color: var(--muted);
	font-size: .875rem;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.u-press .u-btn {
	min-height: 42px;
}

.u-figure {
	margin: 0 0 32px;
}
.u-figure img {
	display: block;
	width: 100%;
	max-height: 70vh;
	object-fit: cover;
	border-radius: var(--r);
}

/* paginare */
.u-pager {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 6px;
	margin: 48px 0 0;
	padding: 0;
	list-style: none;
}
.u-pager a,
.u-pager span {
	display: grid;
	place-items: center;
	min-width: 44px;
	height: 44px;
	padding: 0 10px;
	border: 1px solid var(--line);
	border-radius: var(--r);
	background: #fff;
	color: var(--navy);
	font-weight: 600;
	text-decoration: none;
	transition: border-color .15s, color .15s;
}
.u-pager a:hover {
	border-color: var(--blue);
	color: var(--blue);
}
.u-pager [aria-current] {
	border-color: var(--navy);
	background: var(--navy);
	color: #fff;
}
.u-pager .u-gap {
	border: 0;
	background: none;
}

/* rezultate cautare */
.u-search-inline {
	display: flex;
	gap: 8px;
	max-width: 640px;
}
.u-search-inline input {
	flex: 1;
	min-width: 0;
	min-height: 48px;
	padding: 0 16px;
	border: 1px solid var(--line-2);
	border-radius: var(--r);
	font: 400 1.0625rem var(--font);
	color: var(--navy);
}
.u-search-inline input:focus {
	border-color: var(--blue);
	outline: 3px solid rgba(0, 140, 209, .25);
}
.u-results {
	display: grid;
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.u-result {
	position: relative;
	padding: 20px 24px;
	border: 1px solid var(--line);
	border-radius: var(--r);
	background: #fff;
	transition: border-color .2s, box-shadow .2s var(--ease), transform .2s var(--ease);
}
.u-result:hover {
	border-color: var(--line-2);
	box-shadow: var(--sh-h);
	transform: translateY(-2px);
}
.u-result h2 {
	margin: 6px 0;
	font-size: 1.25rem;
}
.u-result h2 a {
	color: var(--navy);
	text-decoration: none;
}
.u-result h2 a::after {
	content: "";
	position: absolute;
	inset: 0;
}
.u-result p {
	margin: 0;
	color: var(--muted);
}
.u-empty {
	padding: 48px 24px;
	border: 1px dashed var(--line-2);
	border-radius: var(--r);
	text-align: center;
	color: var(--muted);
}
.u-empty i {
	display: block;
	margin-bottom: 12px;
	font-size: 2rem;
	color: var(--blue);
}

/* eroare */
.u-error {
	display: grid;
	justify-items: center;
	gap: 12px;
	padding-block: clamp(64px, 10vw, 160px);
	text-align: center;
}
.u-error b {
	font-size: clamp(5rem, 14vw, 11rem);
	font-weight: 800;
	line-height: 1;
	color: var(--chip);
	-webkit-text-stroke: 2px var(--blue);
}
.u-error h1 {
	margin: 0;
	font-size: clamp(1.6rem, 3vw, 2.4rem);
}
.u-error p {
	margin: 0 0 16px;
	color: var(--muted);
}

/* ---------- continutul din editor (paragrafe, documente, tabele, galerii...) ---------- */

.u-prose {
	font-size: 1.0625rem;
	line-height: 1.7;
}
.u-prose > p,
.u-prose > ul,
.u-prose > ol,
.u-prose > blockquote,
.u-prose > h2,
.u-prose > h3,
.u-prose > h4,
.u-prose > h5,
.u-prose > h6 {
	max-width: 76ch;
}
.u-prose p {
	margin: 0 0 1.1em;
}
.u-prose h2,
.u-prose h3,
.u-prose h4,
.u-prose h5,
.u-prose h6 {
	margin: 1.8em 0 .6em;
}
.u-prose > :first-child {
	margin-top: 0;
}
.u-prose h2 { font-size: 1.75rem; }
.u-prose h3 { font-size: 1.4rem; }
.u-prose h4 { font-size: 1.2rem; }
.u-prose h5, .u-prose h6 { font-size: 1.0625rem; }
.u-prose ul,
.u-prose ol {
	margin: 0 0 1.2em;
	padding-left: 1.4em;
}
.u-prose li {
	margin: .3em 0;
}
.u-prose li::marker {
	color: var(--blue);
}
.u-prose a:not([class]) {
	text-decoration: underline;
	text-decoration-color: rgba(27, 78, 155, .35);
	text-underline-offset: 3px;
	transition: text-decoration-color .2s;
}
.u-prose a:not([class]):hover {
	text-decoration-color: currentColor;
}
.u-prose blockquote {
	margin: 1.6em 0;
	padding: 4px 0 4px 24px;
	border-left: 4px solid var(--blue);
	font-size: 1.3rem;
	font-style: italic;
	color: var(--navy);
}
.u-prose img {
	border-radius: var(--r);
}
.u-prose > a.glightbox {
	display: block;
	margin: 1.4em 0;
}
.u-prose .block {
	margin: 0 0 1.4em;
}
.u-prose .delimiter {
	height: 1px;
	margin: 2.4em 0;
	background: var(--line-2);
}
.u-prose pre {
	padding: 16px;
	background: var(--bg);
	border-radius: var(--r);
}

/* documente atasate: liste cu iconita dupa tip */
.u-prose .block:has(> .download-file) {
	margin: 0;
}
.u-prose .block:has(> .download-file) + :not(.block:has(> .download-file)) {
	margin-top: 1.4em;
}
.u-prose .download-file {
	display: grid;
	grid-template-columns: 44px minmax(0, 1fr) auto;
	align-items: center;
	gap: 16px;
	max-width: 76rem;
	padding: 12px 16px;
	border: 1px solid var(--line);
	border-radius: var(--r);
	margin: 0 0 8px;
	background: #fff;
	color: var(--navy);
	text-decoration: none;
	transition: border-color .2s, box-shadow .2s var(--ease), background-color .2s;
}
.u-prose .download-file:hover {
	border-color: var(--line-2);
	background: var(--bg);
	box-shadow: var(--sh);
}
.u-prose .download-file .icon {
	--c: #5B6472;
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	border-radius: var(--r);
	background: color-mix(in srgb, var(--c) 12%, #fff);
	color: var(--c);
	font-size: 1.25rem;
}
.u-prose .download-file .icon.pdf { --c: #C62828; }
.u-prose .download-file .icon.doc,
.u-prose .download-file .icon.docx { --c: #1B4E9B; }
.u-prose .download-file .icon.xls,
.u-prose .download-file .icon.xlsx,
.u-prose .download-file .icon.csv { --c: #167543; }
.u-prose .download-file .icon.pptx { --c: #C2410C; }
.u-prose .download-file .icon.zip,
.u-prose .download-file .icon.rar { --c: #6D4C41; }
.u-prose .download-file .icon.jpg,
.u-prose .download-file .icon.jpeg,
.u-prose .download-file .icon.png { --c: #00838F; }
.u-prose .download-file .info .title {
	margin: 0;
	font-weight: 600;
	line-height: 1.35;
}
.u-prose .download-file .action {
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	color: var(--blue);
	transition: background-color .2s, color .2s, transform .2s var(--ease);
}
.u-prose .download-file:hover .action {
	background: var(--blue);
	color: #fff;
	transform: translateY(2px);
}

/* tabele */
.u-prose .block.table {
	overflow-x: auto;
	border: 1px solid var(--line);
	border-radius: var(--r);
}
.u-prose table {
	width: 100%;
	margin: 0;
	border-collapse: collapse;
	font-size: .975rem;
}
.u-prose .table > :not(caption) > * > * {
	padding: 10px 14px;
	border-color: var(--line);
}
.u-prose table tr:first-child th {
	background: var(--navy);
	color: #fff;
	font-weight: 700;
	text-align: left;
}
.u-prose table tr:nth-child(even) td {
	background: var(--bg);
}
.u-prose .table-bordered > :not(caption) > * > * {
	border-width: 0 0 1px;
}
.u-prose .table-hover > tbody > tr:hover > * {
	--bs-table-accent-bg: var(--chip);
}

/* galerie si carusel */
.u-prose .gallery.grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 220px), 1fr));
	gap: 10px;
}
.u-prose .gallery.grid a {
	display: block;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	border-radius: var(--r);
}
.u-prose .gallery.grid img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 0;
	transition: transform .5s var(--ease), filter .3s;
}
.u-prose .gallery.grid a:hover img {
	transform: scale(1.06);
	filter: brightness(1.05);
}
.embla {
	position: relative;
}
.embla__viewport {
	overflow: hidden;
	border-radius: var(--r);
}
.embla__container {
	display: flex;
}
.embla__slide {
	position: relative;
	flex: 0 0 100%;
	min-width: 0;
}
.embla__slide__img {
	display: block;
	width: 100%;
	max-height: 70vh;
	object-fit: cover;
}
.embla__button {
	position: absolute;
	top: 50%;
	z-index: 1;
	display: grid;
	place-items: center;
	width: 46px;
	height: 46px;
	margin-top: -23px;
	border: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, .92);
	box-shadow: var(--sh);
	cursor: pointer;
}
.embla__button--prev { left: 12px; }
.embla__button--next { right: 12px; }
.embla__button:disabled { opacity: .4; }
.embla__button__svg {
	width: 14px;
	height: 14px;
	fill: var(--navy);
}
.embla__dots {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 12px;
	display: flex;
	justify-content: center;
	gap: 6px;
}
.embla__dot {
	width: 10px;
	height: 10px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, .55);
	cursor: pointer;
}
.embla__dot.is-selected {
	background: #fff;
	width: 26px;
	border-radius: 5px;
}

/* panouri pliabile (bootstrap accordion) */
.u-prose .accordion-item {
	margin-bottom: 8px;
	border: 1px solid var(--line);
	border-radius: var(--r) !important;
	overflow: hidden;
}
.u-prose .accordion-header {
	margin: 0;
}
.u-prose .accordion-button {
	padding: 16px 20px;
	font: 700 1.0625rem/1.3 var(--font);
	color: var(--navy);
	background: #fff;
	box-shadow: none;
}
.u-prose .accordion-button:not(.collapsed) {
	background: var(--chip);
	color: var(--blue);
}
.u-prose .accordion-button:focus {
	box-shadow: 0 0 0 3px rgba(0, 140, 209, .35);
}
.u-prose .accordion-body {
	padding: 18px 20px;
}
.u-prose .component-link-archive .row {
	row-gap: 0;
}

/* link catre alt site */
.u-prose .block-link {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 14px 18px;
	border: 1px solid var(--line);
	border-radius: var(--r);
	color: var(--navy);
	font-weight: 600;
	text-decoration: none;
}
.u-prose .block-link::before {
	content: "\f0c1";
	font: var(--fa-font-solid);
	color: var(--blue);
}
.u-prose .block-link:hover {
	border-color: var(--blue);
	color: var(--blue);
}

/* listele de linkuri din blocurile links-* (pagini statice) */
.u-prose .links-title .title,
.u-links .links-title .title {
	margin: 0 0 12px;
	font-size: 1.25rem;
	font-weight: 700;
	color: var(--navy);
}
.u-links .row {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr));
	gap: var(--gap);
	margin: 0;
}
.u-links .row > [class*="col-"] {
	width: auto;
	max-width: none;
	padding: 0;
}
.u-links .links-title {
	height: 100%;
	padding: 22px 24px;
	border: 1px solid var(--line);
	border-top: 4px solid var(--blue);
	border-radius: var(--r);
	background: #fff;
	box-shadow: var(--sh);
}
.u-links ul {
	margin: 0;
	padding: 0;
	list-style: none;
}
.u-links li a {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 9px 0;
	border-bottom: 1px solid var(--line);
	color: var(--navy);
	text-decoration: none;
	transition: color .15s, padding-left .2s var(--ease);
}
.u-links li a::before {
	content: "\f105";
	font: var(--fa-font-solid);
	font-size: .8em;
	color: var(--blue);
}
.u-links li a:hover {
	padding-left: 4px;
	color: var(--blue);
}

/* facultatile din blocul sidebar-facultati (HTML din continut) */
.u-side .image-cta-list .cta-list {
	display: grid;
	gap: 6px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.u-side .image-cta {
	--c: var(--blue);
	display: block;
	padding: 10px 12px;
	border: 1px solid var(--line);
	border-left: 4px solid var(--c);
	border-radius: var(--r);
	background: #fff;
	color: var(--navy);
	text-decoration: none;
	transition: transform .2s var(--ease);
}
.u-side .image-cta:hover {
	transform: translateX(3px);
	color: var(--c);
}
.u-side .image-cta .title {
	margin: 0;
	font-size: .925rem;
	font-weight: 600;
	line-height: 1.25;
}
.u-side .image-cta.inginerie { --c: #2C4894; }
.u-side .image-cta.litere { --c: #882F81; }
.u-side .image-cta.stiinte { --c: #167543; }
.u-side .image-cta.economie { --c: #D5292C; }
.u-side .image-cta.sport { --c: #0083BA; }
.u-side .cta-list .btn {
	display: block;
	margin-top: 6px;
	padding: 10px 12px;
	border-radius: var(--r);
	background: var(--navy);
	color: #fff;
	font-weight: 700;
	text-align: center;
}

/* ---------- accesibilitate ---------- */

.u-a11y {
	position: fixed;
	right: 16px;
	bottom: 16px;
	z-index: 90;
}
.u-a11y-btn {
	display: grid;
	place-items: center;
	width: 52px;
	height: 52px;
	border: 0;
	border-radius: 50%;
	background: var(--blue);
	color: #fff;
	font-size: 1.4rem;
	box-shadow: 0 8px 24px rgba(11, 37, 71, .3);
	cursor: pointer;
	transition: transform .2s var(--ease), background-color .2s;
}
.u-a11y-btn:hover {
	transform: scale(1.06);
	background: var(--navy);
}
.u-a11y-panel {
	position: absolute;
	right: 0;
	bottom: 64px;
	width: min(320px, calc(100vw - 32px));
	padding: 16px;
	background: #fff;
	border: 1px solid var(--line);
	border-radius: 8px;
	box-shadow: 0 24px 60px rgba(11, 37, 71, .25);
}
.u-a11y-panel[hidden] {
	display: none;
}
.u-a11y-panel h2 {
	margin: 0 0 12px;
	font-size: 1.125rem;
}
.u-a11y-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 8px;
}
.u-a11y-grid button,
.u-a11y-grid a {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	padding: 12px 8px;
	border: 1px solid var(--line);
	border-radius: var(--r);
	background: var(--bg);
	color: var(--navy);
	font: 600 .875rem/1.2 var(--font);
	text-align: center;
	text-decoration: none;
	cursor: pointer;
}
.u-a11y-grid i {
	font-size: 1.15rem;
	color: var(--blue);
}
.u-a11y-grid [aria-pressed="true"] {
	border-color: var(--blue);
	background: var(--chip);
}
body.acc-gray-tones .u-page {
	filter: grayscale(1);
}
body.acc-underline-anchors .u-page a {
	text-decoration: underline !important;
}
body.acc-readable-font,
body.acc-readable-font *:not([class*="fa-"]) {
	font-family: Verdana, Tahoma, sans-serif !important;
	letter-spacing: .01em;
}
body.acc-white-background .u-page,
body.acc-white-background .u-page * {
	background: #fff !important;
	color: #000 !important;
	border-color: #000 !important;
	box-shadow: none !important;
}
body.acc-white-background .u-page img {
	filter: grayscale(.2);
}
body.acc-high-contrast .u-page,
body.acc-high-contrast .u-page * {
	background: #000 !important;
	color: #fff !important;
	border-color: #fff !important;
	box-shadow: none !important;
}
body.acc-high-contrast .u-page a,
body.acc-high-contrast .u-page a * {
	color: #ff0 !important;
}
body.acc-high-contrast .u-page .u-hero::before,
body.acc-high-contrast .u-page .u-tile::before {
	display: none;
}

/* ---------- bara de cookie-uri ---------- */

.u-cookie {
	position: fixed;
	left: 16px;
	bottom: 16px;
	z-index: 95;
	display: none;
	width: min(560px, calc(100vw - 32px));
	padding: 20px;
	background: var(--navy);
	color: #dfe8f5;
	border-radius: 8px;
	box-shadow: 0 24px 60px rgba(11, 37, 71, .4);
	font-size: .925rem;
}
.u-cookie strong {
	display: block;
	margin-bottom: 6px;
	color: #fff;
	font-size: 1.0625rem;
}
.u-cookie p {
	margin: 0 0 14px;
}
.u-cookie a {
	color: #a9c8f5;
}
.u-cookie-actions {
	display: flex;
	gap: 8px;
}
.u-cookie-actions a {
	flex: 1;
	min-height: 44px;
	text-decoration: none;
}
.u-cookie .mitcAccept {
	background: #fff;
	color: var(--navy);
}
.u-cookie .mitcDecline {
	border-color: rgba(255, 255, 255, .4);
	color: #fff;
}
.u-cookie.compact {
	padding: 12px 16px;
}
@keyframes mitcFlowIn {
	from { opacity: 0; transform: translateY(20px); }
	to { opacity: 1; transform: none; }
}
@keyframes mitcFlowOut {
	to { opacity: 0; transform: translateY(20px); }
}

/* ---------- tiparire ---------- */

@media print {
	.u-top, .u-hdr, .u-foot, .u-side, .u-rail, .u-share, .u-a11y, .u-cookie, .u-drawer {
		display: none !important;
	}
	.u-layout {
		display: block;
		padding: 0;
	}
	.u-phead {
		background: none;
	}
	.js .u-reveal {
		opacity: 1;
		transform: none;
	}
}
