/*
 * CSS custom minim — restul stilurilor vin din Bootstrap.
 * Se păstrează doar ce nu are echivalent (nici măcar aproximativ) în Bootstrap.
 */

body {
	background-color: #E8F7FE;
}

[data-bs-theme="dark"] body {
	background-color: var(--bs-body-bg);
}

/* Comutatorul de temă: arată luna în tema luminoasă, soarele în cea întunecată. */
.theme-icon-dark {
	display: none;
}

[data-bs-theme="dark"] .theme-icon-dark {
	display: inline-block;
}

[data-bs-theme="dark"] .theme-icon-light {
	display: none;
}

/* Butonul „mergi sus": apare doar în ultima parte a paginii (vezi „updateBackToTop” din site.js). */
.back-to-top {
	width: 44px;
	height: 44px;
	opacity: 0;
	visibility: hidden;
	transition: opacity .3s ease, visibility .3s ease;
	z-index: 1070;
}

.back-to-top.visible {
	opacity: .85;
	visibility: visible;
}

.back-to-top:hover {
	opacity: 1;
}

/* ── Bara de acţiuni din dreapta sus (accesibilitate, temă, social, cont) ──── */
/* Butoane pătrate, uniforme, doar cu iconiţă; eticheta stă în „title”/„aria-label”. */
.csm-actiuni {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: .25rem;
	padding: .5rem 0;
}

@media (min-width: 576px) {
	.csm-actiuni {
		justify-content: flex-end;
	}
}

.csm-actiune {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.25rem;
	height: 2.25rem;
	padding: 0;
	border: 1px solid transparent;
	border-radius: .5rem;
	background-color: transparent;
	color: var(--bs-secondary-color);
	font-size: 1.15rem;
	line-height: 1;
	text-decoration: none;
	transition: background-color .18s ease, border-color .18s ease, color .18s ease;
}

/* Culorile funcţionale (roşu pentru „A-”, verde pentru „A+”) vin din clasele Bootstrap de pe
   buton, deci nu se suprascriu aici — doar tonul neutru al celor fără culoare proprie. */
.csm-actiune:hover,
.csm-actiune:focus-visible {
	background-color: rgba(0, 81, 156, .08);
	border-color: rgba(0, 81, 156, .18);
	color: #00519C;
}

.csm-actiune.text-danger:hover,
.csm-actiune.text-success:hover,
.csm-actiune.text-danger:focus-visible,
.csm-actiune.text-success:focus-visible {
	color: inherit;
}

.csm-actiune:focus-visible {
	outline: 2px solid #00519C;
	outline-offset: 2px;
}

.csm-actiune[aria-expanded="true"] {
	background-color: rgba(0, 81, 156, .12);
	border-color: rgba(0, 81, 156, .24);
}

/* „A−”, „A”, „A+”: literele ţin loc de iconiţă, în acelaşi pătrat. */
.csm-actiune-litera {
	font-size: .95rem;
	font-weight: 600;
	letter-spacing: -.02em;
}

[data-bs-theme="dark"] .csm-actiune:hover,
[data-bs-theme="dark"] .csm-actiune:focus-visible,
[data-bs-theme="dark"] .csm-actiune[aria-expanded="true"] {
	background-color: rgba(125, 179, 232, .14);
	border-color: rgba(125, 179, 232, .26);
	color: #7db3e8;
}

[data-bs-theme="dark"] .csm-actiune:focus-visible {
	outline-color: #7db3e8;
}

/* Iconiţele din meniul principal: vezi „Starea de hover a elementelor din meniul principal”. */

@media (prefers-reduced-motion: reduce) {
	.navbar.csm-mega .dropdown-menu,
	.navbar.csm-mega .dropdown-menu a,
	.csm-nav-ic {
		transition: none;
	}
}

/* Meniul are 7 etichete lungi: la lăţimi de laptop nu încăpeau nici înainte de iconiţe
   (la 1200 px ieşea cu 40 px din ecran, la 992 px cu 234 px). Textul şi spaţiile se strâng
   pe trepte, ca rândul să încapă întreg, fără să apară derulare orizontală. */
@media (min-width: 992px) and (max-width: 1199.98px) {
	.navbar.csm-mega .navbar-brand {
		font-size: .85rem;
	}

	.navbar.csm-mega .nav-link {
		padding-left: .2rem;
		padding-right: .2rem;
	}

	.csm-nav-ic {
		font-size: .85em;
		margin-right: .3rem;
	}
}

@media (min-width: 1200px) and (max-width: 1599.98px) {
	.navbar.csm-mega .navbar-brand {
		font-size: 1rem;
	}

	.navbar.csm-mega .nav-link {
		padding-left: .3rem;
		padding-right: .3rem;
	}
}

/* ── Starea de hover a elementelor din meniul principal ────────────────────── */
/* Fundal puţin mai închis decât nuanţa proprie a elementului (o peliculă neagră merge la fel pe
   toate cele şapte) plus o linie albă de 3 px care se desfăşoară din centru. Iconiţa rămâne
   aceeaşi — se schimbă doar opacitatea, ca să nu clipească. */
.navbar.csm-mega .nav-item {
	transition: background-color .22s ease-in-out;
}

.navbar.csm-mega .nav-item:hover,
.navbar.csm-mega .nav-item:focus-within,
.navbar.csm-mega .nav-item:has(.dropdown-menu.show) {
	background-color: #176FB2;
}

/* Separator subţire între elemente: „inset”, nu bordură, ca lăţimile din „nav-fill” să rămână
   neschimbate. Pe orizontală desparte la stânga, pe verticală (mobil) desparte deasupra. */
.navbar.csm-mega .nav-item + .nav-item {
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .2);
}

@media (min-width: 992px) {
	.navbar.csm-mega .nav-item + .nav-item {
		box-shadow: inset 1px 0 0 rgba(255, 255, 255, .2);
	}
}

.csm-nav-ic {
	margin-right: .4rem;
	font-size: .95em;
	opacity: .8;
	vertical-align: -.06em;
	transition: opacity .22s ease-in-out;
}

.navbar.csm-mega .nav-item:hover .csm-nav-ic,
.navbar.csm-mega .nav-item:focus-within .csm-nav-ic,
.navbar.csm-mega .nav-item:has(.dropdown-menu.show) .csm-nav-ic {
	opacity: 1;
}

@media (min-width: 992px) {
	/* Bara stă pe „::before”: „::after” e deja săgeata dropdown-ului din Bootstrap. */
	.navbar.csm-mega .nav-item > .navbar-brand {
		position: relative;
	}

	.navbar.csm-mega .nav-item > .navbar-brand::before {
		content: "";
		position: absolute;
		left: .6rem;
		right: .6rem;
		bottom: -.35rem;
		height: 2px;
		border-radius: 2px;
		background-color: #fff;
		transform: scaleX(0);
		transform-origin: center;
		transition: transform .22s ease-in-out;
	}

	.navbar.csm-mega .nav-item:hover > .navbar-brand::before,
	.navbar.csm-mega .nav-item:focus-within > .navbar-brand::before,
	.navbar.csm-mega .nav-item:has(.dropdown-menu.show) > .navbar-brand::before {
		transform: scaleX(1);
	}
}

@media (prefers-reduced-motion: reduce) {
	.navbar.csm-mega .nav-item,
	.navbar.csm-mega .nav-item > .navbar-brand::before,
	.csm-nav-ic {
		transition: none;
	}
}

/* ── Conţinutul mega-meniului ──────────────────────────────────────────────── */
/* Structura, linkurile şi ordinea rămân cele din model; aici se schimbă doar felul în care arată. */
/* Valorile comune ale listelor de navigaţie (mega-meniu şi harta site-ului) stau la rădăcină:
   aceleaşi clase trebuie să arate la fel oriunde sunt folosite. */
:root {
	--csm-mega-hover: #f3f7fb;
	--csm-mega-linie: rgba(0, 81, 156, .1);
	--csm-mega-albastru: #00519C;
	--csm-mega-text: #1f3f64;
}

[data-bs-theme="dark"] {
	--csm-mega-hover: rgba(125, 179, 232, .12);
	--csm-mega-linie: rgba(125, 179, 232, .16);
	--csm-mega-albastru: #7db3e8;
	--csm-mega-text: #c7ddf7;
}

.navbar.csm-mega .dropdown-menu {
	/* Alb curat, nu nuanţa albăstruie a paginii; bordură abia vizibilă, umbră discretă. */
	background-color: #fff;
	border: 1px solid rgba(0, 81, 156, .12);
	border-radius: .75rem;
	box-shadow: 0 10px 26px rgba(15, 42, 76, .12);
	padding: 1.25rem 1.5rem;
}

/* Coloane delimitate discret, cu aer între ele (linia dispare pe ecrane mici, unde se aşază una sub alta). */
@media (min-width: 992px) {
	.navbar.csm-mega .dropdown-menu .row > [class*="col-"] + [class*="col-"] {
		border-left: 1px solid var(--csm-mega-linie);
	}

	.navbar.csm-mega .dropdown-menu .row > [class*="col-"] {
		padding-left: 1.25rem;
		padding-right: 1.25rem;
	}
}

/* Titlul coloanei: majuscule, îngroşat, albastru, cu iconiţa într-un cerc foarte deschis. */
.csm-mega-titlu {
	display: flex;
	align-items: center;
	gap: .6rem;
	margin-bottom: .85rem;
	font-size: .82rem;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: #00519C;
}

.csm-mega-titlu-ic {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 1.85rem;
	width: 1.85rem;
	height: 1.85rem;
	border-radius: 999px;
	background-color: rgba(0, 81, 156, .08);
	font-size: .95rem;
}

/* Liniile grele dispar: separatoarele dintre rânduri şi „hr”-urile devin foarte subtile. */
.navbar.csm-mega .dropdown-menu hr {
	border-color: var(--csm-mega-linie);
	opacity: 1;
	margin: 1rem 0;
}

/* Fără card permanent: doar un separator fin între rânduri. Fundalul apare la hover.
   Regulile stau şi pe „.csm-mega-link”, ca aceleaşi rânduri să poată fi folosite în afara
   meniului (harta site-ului) fără să depindă de „.list-group-item” din Bootstrap. */
.navbar.csm-mega .list-group-item,
.csm-mega-link {
	background-color: transparent;
	border: 0;
	border-bottom: 1px solid var(--csm-mega-linie);
	border-radius: .45rem;
	padding: .55rem .65rem;
	color: var(--csm-mega-text);
	text-decoration: none;
	transition: background-color .18s ease-in-out, color .18s ease-in-out;
}

.navbar.csm-mega .list-group > .list-group-item:last-child,
.csm-mega-lista > .csm-mega-link:last-child {
	border-bottom: 0;
}

.navbar.csm-mega .list-group-item-action:hover,
.navbar.csm-mega .list-group-item-action:focus-visible,
.csm-mega-link:hover,
.csm-mega-link:focus-visible {
	background-color: var(--csm-mega-hover);
	color: var(--csm-mega-albastru);
	text-decoration: none;
}

/* Legătura simplă: iconiţă mică la stânga, săgeata la dreapta (din fontul de iconiţe). */
.csm-mega-link {
	display: flex;
	align-items: center;
	gap: .5rem;
}

/* Iconiţele legăturilor: aceeaşi mărime şi acelaşi albastru domolit, mai apăsat la hover. */
.csm-mega-link-ic {
	flex: 0 0 1.05rem;
	width: 1.05rem;
	font-size: .95rem;
	line-height: 1;
	text-align: center;
	color: rgba(0, 81, 156, .55);
	transition: color .18s ease-in-out;
}

.csm-mega-link-text {
	flex: 1 1 auto;
	min-width: 0;
}

.csm-mega-link::after {
	content: "\f285"; /* bi-chevron-right, luat din fontul deja încărcat */
	font-family: bootstrap-icons !important;
	font-size: .8rem;
	line-height: 1;
	color: rgba(0, 81, 156, .35);
	transition: transform .18s ease-in-out, color .18s ease-in-out;
}

.csm-mega-link:hover::after,
.csm-mega-link:focus-visible::after {
	transform: translateX(2px);
	color: var(--csm-mega-albastru);
}

.csm-mega-link:hover .csm-mega-link-ic,
.csm-mega-link:focus-visible .csm-mega-link-ic {
	color: var(--csm-mega-albastru);
}

/* Mini-carduri (Legislaţie, Jurisprudenţă, Afaceri europene): aceeaşi formă pentru toate. */
.csm-mega-minicard {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: .5rem;
	height: 100%;
	padding: .85rem .5rem;
	border: 1px solid var(--csm-mega-linie);
	border-radius: .6rem;
	text-align: center;
	text-decoration: none;
	color: inherit;
	transition: background-color .22s ease-in-out, border-color .22s ease-in-out, color .22s ease-in-out;
}

.csm-mega-minicard:hover,
.csm-mega-minicard:focus-visible {
	background-color: var(--csm-mega-hover);
	border-color: rgba(0, 81, 156, .28);
	color: var(--csm-mega-albastru);
}

.csm-mega-minicard-ic {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.75rem;
	height: 2.75rem;
	border-radius: 999px;
	background-color: rgba(0, 81, 156, .07);
	font-size: 1.4rem;
}

.csm-mega-minicard-text {
	font-size: .85rem;
	line-height: 1.25;
}

/* Cardurile cu iconiţă colorată şi explicaţie (Newsletter, Comunicate, Revista CSM…). */
.csm-mega-card-ic {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.4rem;
	height: 2.4rem;
	border-radius: 999px;
	background-color: rgba(0, 81, 156, .06);
	font-size: 1.2rem;
}

.csm-mega-card .row {
	align-items: center;
}

.csm-mega-card strong {
	display: block;
	line-height: 1.3;
}

.csm-mega-card .row > div:last-child {
	font-size: .88rem;
	color: var(--bs-secondary-color);
}

.csm-mega-card .row > div:last-child strong {
	color: var(--bs-body-color);
	font-size: .95rem;
}

/* Blocurile instituţionale: datele stau grupate, adresa de e-mail şi site-ul ies discret în evidenţă. */
.csm-mega-institutie {
	margin-bottom: .85rem;
	border: 1px solid rgba(0, 81, 156, .12);
	border-radius: .6rem;
	padding: .35rem .5rem .6rem;
}

.csm-mega-institutie-date {
	padding: 0 .6rem;
	font-size: .85rem;
	line-height: 1.45;
	color: var(--bs-secondary-color);
}

.csm-mega-institutie-date a {
	font-weight: 600;
	text-decoration: none;
	overflow-wrap: anywhere;
}

.csm-mega-institutie-date a:hover {
	text-decoration: underline;
}

[data-bs-theme="dark"] .navbar.csm-mega .dropdown-menu {
	background-color: var(--bs-body-bg);
	border-color: rgba(125, 179, 232, .2);
	box-shadow: 0 12px 28px rgba(0, 0, 0, .45);
}

[data-bs-theme="dark"] .navbar.csm-mega .dropdown-menu .row > [class*="col-"] + [class*="col-"],
[data-bs-theme="dark"] .navbar.csm-mega .dropdown-menu hr,
[data-bs-theme="dark"] .navbar.csm-mega .list-group-item,
[data-bs-theme="dark"] .csm-mega-minicard,
[data-bs-theme="dark"] .csm-mega-institutie {
	border-color: rgba(125, 179, 232, .16);
}

[data-bs-theme="dark"] .csm-mega-titlu,
[data-bs-theme="dark"] .navbar.csm-mega .list-group-item-action:hover {
	color: #7db3e8;
}

[data-bs-theme="dark"] .csm-mega-titlu-ic,
[data-bs-theme="dark"] .csm-mega-minicard-ic,
[data-bs-theme="dark"] .csm-mega-card-ic {
	background-color: rgba(125, 179, 232, .12);
}

[data-bs-theme="dark"] .csm-mega-link-ic,
[data-bs-theme="dark"] .csm-mega-link::after {
	color: rgba(125, 179, 232, .6);
}

[data-bs-theme="dark"] .navbar.csm-mega .list-group-item-action:hover,
[data-bs-theme="dark"] .csm-mega-minicard:hover {
	background-color: rgba(125, 179, 232, .1);
}

/* Mega-meniu — comportament portat din stil.css al vechiului site (culori adaptate temei). */
.navbar .dropdown-menu {
	background-color: var(--bs-body-bg);
	color: var(--bs-body-color);
	border: 2px solid var(--bs-border-color-translucent);
}

.navbar .dropdown-menu div[class*="col"] {
	margin-bottom: 1rem;
}

/* De la breakpoint-ul lg în sus: panou pe toată lățimea, deschis la hover.
   Regulile sunt limitate la meniul principal (.csm-mega), ca să nu afecteze
   dropdown-ul de utilizator din bara de accesibilitate. */
@media (min-width: 992px) {
	.navbar.csm-mega {
		padding-top: 0;
		padding-bottom: 0;
	}

	.navbar.csm-mega .nav-item {
		padding-top: .5rem;
		padding-bottom: .5rem;
	}

	.navbar.csm-mega .dropdown {
		position: static;
	}

	.navbar.csm-mega .dropdown-menu {
		width: 100%;
		left: 0;
		right: 0;
		top: 100%;
		margin-top: 0;
	}
}

/* Deschiderea panoului la lg+: „display” nu se poate anima, deci panoul stă mereu în pagină
   (e „position: absolute”, nu ocupă spaţiu) şi apare prin opacitate + o alunecare scurtă.
   Ascunderea se face cu „visibility”, întârziată cât ţine estomparea. */
@media (min-width: 992px) {
	.navbar.csm-mega .dropdown-menu {
		display: block;
		visibility: hidden;
		opacity: 0;
		transform: translateY(-.4rem);
		pointer-events: none;
		transition: opacity .22s ease-in-out, transform .22s cubic-bezier(.2, .7, .3, 1),
			visibility 0s linear .22s;
	}

	.navbar.csm-mega .dropdown:hover .dropdown-menu,
	.navbar.csm-mega .dropdown:focus-within .dropdown-menu,
	.navbar.csm-mega .dropdown .dropdown-menu:hover {
		visibility: visible;
		opacity: 1;
		transform: none;
		pointer-events: auto;
		transition-delay: 0s;
	}
}

/* Aceeaşi tranziţie caldă pentru orice legătură din panou, inclusiv cele scrise direct în
   markup (ştiri, contacte): o singură definiţie, ca hover-ul să fie identic peste tot. */
.navbar.csm-mega .dropdown-menu a {
	transition: background-color .22s ease-in-out, color .22s ease-in-out, transform .22s ease-in-out;
}

@media (prefers-reduced-motion: reduce) {
	.navbar.csm-mega .dropdown-menu,
	.navbar.csm-mega .dropdown-menu a {
		transition: none;
	}
}

/* Meniu închis forțat după click pe un link (până când cursorul părăsește elementul de meniu). */
.navbar.csm-mega .dropdown-menu.mega-menu-closed {
	display: none !important;
}

/* Gradientul istoric al site-ului (şapte nuanţe tot mai deschise spre dreapta) a rămas doar
   pentru etichetele din prima pagină; în bara de navigaţie toate elementele au aceeaşi nuanţă,
   fixată mai jos. Clasele nu se scot din markup — sunt folosite şi în afara meniului. */
.csm-nav-1 { background-color: #00519C; }
.csm-nav-2 { background-color: #105DA3; }
.csm-nav-3 { background-color: #2168AA; }
.csm-nav-4 { background-color: #3174B1; }
.csm-nav-5 { background-color: #417FB7; }
.csm-nav-6 { background-color: #518BBE; }
.csm-nav-7 { background-color: #6197C5; }

/* ── Bara principală de navigaţie: o singură nuanţă ────────────────────────── */
.navbar.csm-mega,
.navbar.csm-mega .nav-item,
.navbar.csm-mega .navbar-toggler,
.sticky-top.csm-nav-7 {
	background-color: #07569C;
}

/* ── Subsolul ──────────────────────────────────────────────────────────────── */
/* Albastrul siglei CSM (acelaşi cu primul element din meniul principal) rămâne culoarea de
   bază; bara de jos e o nuanţă mai închisă din aceeaşi familie. */
.csm-footer {
	background-color: #00519C;
	--csm-footer-linie: rgba(255, 255, 255, .18);
	--csm-footer-estompat: rgba(255, 255, 255, .78);
}

.csm-footer a {
	color: #fff;
	text-decoration: none;
	overflow-wrap: anywhere;
}

.csm-footer a:hover,
.csm-footer a:focus-visible {
	color: #fff;
	text-decoration: underline;
}

.csm-footer a:focus-visible,
.csm-footer button:focus-visible {
	outline: 2px solid #FFC107;
	outline-offset: 2px;
	border-radius: .25rem;
}

.csm-footer-titlu {
	display: flex;
	align-items: center;
	gap: .5rem;
	font-size: 1.05rem;
	font-weight: 600;
	margin-bottom: 1rem;
	padding-bottom: .6rem;
	border-bottom: 1px solid var(--csm-footer-linie);
}

.csm-footer-titlu .bi {
	font-size: 1.2rem;
	opacity: .9;
}

.csm-footer-text {
	color: var(--csm-footer-estompat);
	font-size: .9rem;
	line-height: 1.5;
}

.csm-footer-separator {
	border-color: var(--csm-footer-linie);
	opacity: 1;
	margin: 1rem 0;
}

/* Contact: iconiţă fixă în stânga, textul se rupe corect la adrese lungi. */
.csm-footer-contact {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: .6rem;
	font-size: .9rem;
}

.csm-footer-contact li {
	display: flex;
	align-items: flex-start;
	gap: .6rem;
	min-width: 0;
}

.csm-footer-contact .bi {
	flex: 0 0 1.1rem;
	margin-top: .1rem;
	opacity: .8;
}

/* Informaţii utile: rânduri cu săgeată la dreapta, despărţite de o linie foarte discretă. */
.csm-footer-linkuri {
	display: flex;
	flex-direction: column;
}

.csm-footer-linkuri a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: .75rem;
	padding: .5rem .6rem;
	margin: 0 -.6rem;
	border-radius: .35rem;
	border-bottom: 1px solid var(--csm-footer-linie);
	font-size: .9rem;
	transition: background-color .18s ease;
}

.csm-footer-linkuri a:last-child {
	border-bottom: 0;
}

.csm-footer-linkuri a:hover,
.csm-footer-linkuri a:focus-visible {
	background-color: rgba(255, 255, 255, .08);
	text-decoration: none;
}

.csm-footer-linkuri .bi {
	flex: 0 0 auto;
	opacity: .7;
	transition: transform .18s ease, opacity .18s ease;
}

.csm-footer-linkuri a:hover .bi,
.csm-footer-linkuri a:focus-visible .bi {
	transform: translateX(.2rem);
	opacity: 1;
}

/* Butoanele de accesibilitate: aceleaşi ca în antet, adaptate la fundalul albastru. */
.csm-footer-actiuni {
	display: flex;
	flex-wrap: wrap;
	gap: .4rem;
	margin-bottom: 1rem;
}

.csm-actiune-subsol {
	color: #fff;
	border-color: rgba(255, 255, 255, .28);
}

.csm-actiune-subsol:hover,
.csm-actiune-subsol:focus-visible {
	background-color: rgba(255, 255, 255, .14);
	border-color: rgba(255, 255, 255, .45);
	color: #fff;
}

/* Butonul galben rămâne acţiunea principală a subsolului. */
.csm-btn-vechi {
	background-color: #FFC107;
	border: 1px solid #FFC107;
	color: #1b2733;
	font-weight: 600;
	border-radius: .5rem;
	padding: .45rem .9rem;
}

.csm-btn-vechi:hover,
.csm-btn-vechi:focus-visible {
	background-color: #ffcd39;
	border-color: #ffcd39;
	color: #1b2733;
	text-decoration: none;
}

.csm-footer-social {
	display: flex;
	gap: .5rem;
	margin-top: 1rem;
}

.csm-footer-social a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.25rem;
	height: 2.25rem;
	border: 1px solid rgba(255, 255, 255, .35);
	border-radius: 999px;
	font-size: 1.1rem;
	transition: background-color .18s ease, border-color .18s ease;
}

.csm-footer-social a:hover,
.csm-footer-social a:focus-visible {
	background-color: rgba(255, 255, 255, .14);
	border-color: rgba(255, 255, 255, .6);
	text-decoration: none;
}

/* Finanţare: textul la stânga, siglele la dreapta, pe un rând separat de o linie. */
.csm-footer-finantare {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem;
	padding: 1.25rem 0;
	border-top: 1px solid var(--csm-footer-linie);
}

.csm-footer-finantare-text {
	flex: 1 1 22rem;
	min-width: 0;
	font-size: .82rem;
	line-height: 1.5;
	color: var(--csm-footer-estompat);
}

.csm-footer-sigle {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1rem;
	padding: .6rem .9rem;
	background-color: #fff;
	border-radius: .5rem;
}

/* Înălţime comună, proporţii păstrate — siglele au raporturi foarte diferite. */
.csm-footer-sigle img {
	height: 2.75rem;
	width: auto;
	max-width: 100%;
}

.csm-footer-jos {
	background-color: #003C74;
	padding: .75rem 0;
}

.csm-footer-bara {
	opacity: .5;
}

@media (max-width: 575.98px) {
	.csm-footer-sigle img {
		height: 2.25rem;
	}

	.csm-footer-finantare {
		gap: 1rem;
	}
}

/* ── Lista modernă de documente ataşate (pagina de anunţ) ─────────────────── */
.csm-doc-list {
	display: flex;
	flex-direction: column;
	gap: .5rem;
}

/* ── Liste de articole/documente pe paginile CMS ─────────────────────────── */
.csm-folder-list {
	display: flex;
	flex-direction: column;
	gap: .85rem;
}

/* Rândul întreg e clicabil („stretched-link” pe titlu), deci are nevoie de „position: relative”
   ca ancorele să acopere exact cardul, nu tot cardul paginii. */
.csm-folder-row {
	position: relative;
	display: flex;
	align-items: center;
	gap: 1rem;
	padding: 1rem 1.1rem;
	background-color: var(--bs-body-bg);
	border: 1px solid var(--bs-border-color);
	border-radius: .75rem;
	box-shadow: 0 6px 18px rgba(0, 81, 156, .06);
	cursor: pointer;
	transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
}

/* „:focus-within” aduce aceeaşi stare la navigarea din tastatură, unde nu există hover. */
.csm-folder-row:hover,
.csm-folder-row:focus-within {
	border-color: rgba(0, 81, 156, .35);
	box-shadow: 0 10px 24px rgba(0, 81, 156, .09);
	background-color: rgba(0, 81, 156, .05);
}

.csm-folder-main {
	flex: 1 1 auto;
	min-width: 0;
	display: flex;
	align-items: flex-start;
	gap: 1rem;
}

/* În repaus iconiţa e neutră; se colorează odată cu rândul, la hover. */
.csm-folder-icon {
	flex: 0 0 3rem;
	width: 3rem;
	height: 3rem;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	background-color: var(--bs-tertiary-bg);
	color: var(--bs-secondary-color);
	font-size: 1.45rem;
	box-shadow: inset 0 0 0 1px var(--bs-border-color);
	transition: background-color .18s ease, color .18s ease, box-shadow .18s ease;
}

.csm-folder-row:hover .csm-folder-icon,
.csm-folder-row:focus-within .csm-folder-icon {
	background-color: rgba(0, 81, 156, .12);
	color: #00519C;
	box-shadow: inset 0 0 0 1px rgba(0, 81, 156, .2);
}

.csm-folder-content {
	flex: 1 1 auto;
	min-width: 0;
}

.csm-folder-title-wrap {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .5rem;
	margin-bottom: .2rem;
}

.csm-folder-title {
	color: #16306b;
	font-size: 1.1rem;
	font-weight: 700;
	line-height: 1.35;
	text-decoration: none;
	overflow-wrap: anywhere;
}

.csm-folder-title:hover {
	color: #00519C;
	text-decoration: underline;
}

.csm-folder-description {
	color: var(--bs-secondary-color);
	font-size: .95rem;
	line-height: 1.5;
	margin-top: .35rem;
}

/* Linkurile din descriere trebuie să rămână deasupra suprafeţei „stretched-link”, altfel
   rândul le înghite clicul. */
.csm-folder-description a {
	position: relative;
	z-index: 2;
}

/* Data/ora, discret, sub titlu. */
.csm-folder-meta {
	display: flex;
	align-items: center;
	gap: .35rem;
	font-size: .85rem;
	color: var(--bs-secondary-color);
	line-height: 1.35;
}

/* Pătratul subtil cu săgeată din dreapta: pur decorativ, se umple la hover pe rând. */
.csm-folder-go {
	flex: 0 0 auto;
	width: 2.5rem;
	height: 2.5rem;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--bs-border-color);
	border-radius: .5rem;
	color: var(--bs-secondary-color);
	font-size: 1.15rem;
	line-height: 1;
	transition: background-color .18s ease, border-color .18s ease, color .18s ease;
}

.csm-folder-row:hover .csm-folder-go,
.csm-folder-row:focus-within .csm-folder-go {
	background-color: #1b56d7;
	border-color: #1b56d7;
	color: #fff;
}

.csm-folder-title:focus-visible {
	outline: 2px solid #00519C;
	outline-offset: 2px;
}

.csm-doc {
	display: flex;
	align-items: center;
	gap: .85rem;
	padding: .65rem .85rem;
	background-color: var(--bs-body-bg);
	border: 1px solid var(--bs-border-color);
	border-radius: .5rem;
	transition: background-color .15s ease, border-color .15s ease, box-shadow .15s ease;
}

.csm-doc:hover {
	background-color: rgba(0, 81, 156, .04);
	border-color: rgba(0, 81, 156, .35);
	box-shadow: 0 1px 4px rgba(0, 81, 156, .08);
}

[data-bs-theme="dark"] .csm-doc:hover {
	background-color: rgba(125, 179, 232, .08);
	border-color: rgba(125, 179, 232, .4);
}

[data-bs-theme="dark"] .csm-folder-row:hover,
[data-bs-theme="dark"] .csm-folder-row:focus-within {
	background-color: rgba(125, 179, 232, .1);
	border-color: rgba(125, 179, 232, .38);
}

[data-bs-theme="dark"] .csm-folder-row:hover .csm-folder-icon,
[data-bs-theme="dark"] .csm-folder-row:focus-within .csm-folder-icon {
	background-color: rgba(125, 179, 232, .16);
	color: #7db3e8;
	box-shadow: inset 0 0 0 1px rgba(125, 179, 232, .26);
}

[data-bs-theme="dark"] .csm-folder-row:hover .csm-folder-go,
[data-bs-theme="dark"] .csm-folder-row:focus-within .csm-folder-go {
	background-color: #2f6fe4;
	border-color: #2f6fe4;
}

[data-bs-theme="dark"] .csm-folder-title {
	color: #c7ddf7;
}

[data-bs-theme="dark"] .csm-folder-title:hover {
	color: #7db3e8;
}

.csm-doc-icon {
	flex-shrink: 0;
	width: 2.5rem;
	height: 2.5rem;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.35rem;
	border-radius: .4rem;
}

.csm-doc-icon-pdf     { color: #b02a37; background-color: rgba(176, 42, 55, .09); }
.csm-doc-icon-word    { color: #00519C; background-color: rgba(0, 81, 156, .09); }
.csm-doc-icon-excel   { color: #1a7a4a; background-color: rgba(26, 122, 74, .09); }
.csm-doc-icon-zip     { color: #8a6d1a; background-color: rgba(138, 109, 26, .1); }
.csm-doc-icon-image   { color: #6f42c1; background-color: rgba(111, 66, 193, .09); }
.csm-doc-icon-generic { color: var(--bs-secondary-color); background-color: var(--bs-secondary-bg); }

.csm-doc-main {
	flex: 1 1 auto;
	min-width: 0;
}

.csm-doc-title {
	display: block;
	color: #00519C;
	font-weight: 600;
	text-decoration: none;
	overflow-wrap: anywhere;
}

.csm-doc-title:hover {
	color: #003e78;
	text-decoration: underline;
}

[data-bs-theme="dark"] .csm-doc-title { color: #7db3e8; }
[data-bs-theme="dark"] .csm-doc-title:hover { color: #a6cdf2; }

.csm-doc-meta {
	font-size: .75rem;
	color: var(--bs-secondary-color);
	letter-spacing: .03em;
}

.csm-doc-side {
	flex-shrink: 0;
	display: flex;
	align-items: center;
	gap: .85rem;
}

.csm-doc-date {
	font-size: .8rem;
	color: var(--bs-secondary-color);
	white-space: nowrap;
}

.csm-btn-download {
	color: #fff;
	background-color: #00519C;
	border-color: #00519C;
	white-space: nowrap;
}

.csm-btn-download:hover,
.csm-btn-download:focus-visible {
	color: #fff;
	background-color: #003e78;
	border-color: #003e78;
}

.csm-btn-download:focus-visible,
.csm-doc-title:focus-visible {
	outline: 2px solid #00519C;
	outline-offset: 2px;
	border-radius: .25rem;
}

[data-bs-theme="dark"] .csm-btn-download:focus-visible,
[data-bs-theme="dark"] .csm-doc-title:focus-visible {
	outline-color: #7db3e8;
}

/* Pe ecrane mici rândul rămâne pe orizontală (iconiţă, text, săgeată), doar mai strâns:
   data stă deja sub titlu, deci nu mai are nevoie de o coloană proprie. */
@media (max-width: 575.98px) {
	.csm-folder-row {
		gap: .75rem;
		padding: .95rem;
	}

	.csm-folder-main {
		gap: .85rem;
	}

	.csm-folder-icon {
		flex-basis: 2.75rem;
		width: 2.75rem;
		height: 2.75rem;
		font-size: 1.3rem;
	}

	.csm-folder-go {
		width: 2.25rem;
		height: 2.25rem;
		font-size: 1rem;
	}

	.csm-doc {
		flex-wrap: wrap;
	}

	.csm-doc-side {
		width: 100%;
		justify-content: space-between;
		padding-left: 3.35rem;
	}
}

/* ── Previzualizarea documentelor PDF ─────────────────────────────────────── */
.csm-preview-frame {
	border: 1px solid var(--bs-border-color);
	border-radius: .5rem;
	overflow: hidden;
	background-color: var(--bs-tertiary-bg);
}

.csm-preview-frame iframe {
	display: block;
	width: 100%;
	height: 75vh;
	border: 0;
}

/* previzualizarea din ferestrele modale (administrarea legăturilor) — mai scundă,
   ca să încapă alături de antetul şi butoanele modalului */
.csm-preview-frame-modal iframe {
	height: 65vh;
}

.csm-preview-frame-sm iframe {
	height: 55vh;
}

/* lista sugestiilor din confirmarea în bloc — derulabilă când sunt multe */
.csm-bloc-lista {
	max-height: 18rem;
	overflow-y: auto;
}

/* ── Zona de drag & drop pentru fişiere (administrare) ────────────────────── */
.csm-dropzone {
	position: relative;
	border: 2px dashed var(--bs-border-color);
	border-radius: .5rem;
	background-color: var(--bs-tertiary-bg);
	text-align: center;
	padding: 1.5rem 1rem;
	transition: border-color .15s ease, background-color .15s ease;
}

.csm-dropzone:hover,
.csm-dropzone:focus-within {
	border-color: #00519C;
	background-color: rgba(0, 81, 156, .05);
}

.csm-dropzone-full {
	border-style: solid;
	border-color: #1a7a4a;
}

.csm-dropzone input[type="file"] {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	cursor: pointer;
}

.csm-dropzone-hint {
	color: var(--bs-secondary-color);
	pointer-events: none;
}

/* ── Paginare modernizată ─────────────────────────────────────────────────── */
.csm-pager .page-link {
	border-radius: 50rem;
	margin: 0 .12rem;
	min-width: 1.9rem;
	text-align: center;
	color: #00519C;
}

.csm-pager .page-item.active .page-link {
	background-color: #00519C;
	border-color: #00519C;
	color: #fff;
}

.csm-pager .page-item.disabled .page-link {
	color: var(--bs-secondary-color);
	background-color: transparent;
}

.csm-pager .page-link:focus {
	box-shadow: 0 0 0 .2rem rgba(0, 81, 156, .25);
}

.csm-pager .csm-pager-ellipsis {
	border: none;
	background: transparent;
}

[data-bs-theme="dark"] .csm-pager .page-link { color: #7db3e8; }
[data-bs-theme="dark"] .csm-pager .page-item.active .page-link {
	background-color: #00519C;
	border-color: #00519C;
	color: #fff;
}

/* ── Carduri responsive pentru liste/documente ───────────────────────────── */
.csm-results-stack {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.csm-mobile-card,
.csm-statement-card {
	border-color: rgba(0, 81, 156, .14);
}

.csm-mobile-card-label {
	font-size: .75rem;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: #00519C;
	margin-bottom: .2rem;
}

.csm-mobile-card-meta {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
	gap: .75rem;
	margin: 0;
	padding: .75rem;
	border-radius: .5rem;
	background-color: rgba(0, 81, 156, .04);
	border: 1px solid rgba(0, 81, 156, .08);
}

.csm-mobile-card-meta dt {
	margin: 0 0 .15rem;
	font-size: .75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .03em;
	color: var(--bs-secondary-color);
}

.csm-mobile-card-meta dd {
	margin: 0;
	font-weight: 600;
	word-break: break-word;
}

.csm-mobile-card-actions {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
	align-items: center;
}

.csm-statement-card .card-body,
.csm-mobile-card .card-body {
	padding: 1rem;
}

.csm-statement-actions {
	justify-content: flex-start;
	align-self: flex-start;
	min-width: min(100%, 14rem);
}

.csm-mobile-filters {
	border-color: rgba(0, 81, 156, .18);
	overflow: hidden;
}

.csm-mobile-filters-summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	list-style: none;
	cursor: pointer;
	font-weight: 600;
	background-color: rgba(0, 81, 156, .05);
}

.csm-mobile-filters-summary::-webkit-details-marker {
	display: none;
}

.csm-mobile-filters[open] .csm-mobile-filters-summary {
	border-bottom: 1px solid var(--bs-border-color);
	background-color: rgba(0, 81, 156, .08);
}

.csm-mobile-filters-content {
	font-size: .95rem;
}

.csm-mobile-filters-content .input-group {
	flex-wrap: wrap;
	gap: .5rem;
}

.csm-mobile-filters-content .input-group > .input-group-text,
.csm-mobile-filters-content .input-group > .form-control,
.csm-mobile-filters-content .input-group > .form-select,
.csm-mobile-filters-content .input-group > .btn {
	border-radius: var(--bs-border-radius-sm);
}

.csm-statement-sort-bar .input-group {
	flex-wrap: wrap;
	gap: .5rem;
}

.csm-statement-sort-bar .input-group > .input-group-text,
.csm-statement-sort-bar .input-group > .form-select,
.csm-statement-sort-bar .input-group > .btn {
	border-radius: var(--bs-border-radius-sm);
}

@media (max-width: 575.98px) {
	.csm-statement-search-bar {
		display: flex;
		flex-direction: column;
		gap: .5rem;
	}

	.csm-statement-search-bar > .form-control,
	.csm-statement-search-bar > .btn {
		width: 100%;
		border-radius: var(--bs-border-radius);
	}

	.csm-mobile-card-meta {
		grid-template-columns: 1fr;
	}

	.csm-mobile-card-actions > .btn,
	.csm-statement-actions > .btn {
		flex: 1 1 100%;
	}

	.csm-statement-card .card-body,
	.csm-mobile-card .card-body {
		padding: .9rem;
	}

	.csm-statement-actions {
		width: 100%;
		min-width: 0;
	}

	.csm-statement-sort-bar .input-group > .input-group-text,
	.csm-statement-sort-bar .input-group > .form-select,
	.csm-statement-sort-bar .input-group > .btn {
		width: 100%;
	}

	.csm-mobile-filters .card-body {
		padding: .9rem;
	}

	.csm-mobile-filters-content .input-group > .input-group-text,
	.csm-mobile-filters-content .input-group > .form-control,
	.csm-mobile-filters-content .input-group > .form-select,
	.csm-mobile-filters-content .input-group > .btn {
		width: 100%;
	}
	}

[data-bs-theme="dark"] .csm-mobile-card-label {
	color: #7db3e8;
}

[data-bs-theme="dark"] .csm-mobile-card-meta {
	background-color: rgba(125, 179, 232, .08);
	border-color: rgba(125, 179, 232, .14);
}

[data-bs-theme="dark"] .csm-mobile-filters-summary {
	background-color: rgba(125, 179, 232, .08);
}

[data-bs-theme="dark"] .csm-mobile-filters[open] .csm-mobile-filters-summary {
	background-color: rgba(125, 179, 232, .12);
}

/* ── Ordonarea listelor: antete de tabel sortabile + lista derulantă (responsive) ── */
.csm-sort-header {
	display: inline-flex;
	align-items: center;
	gap: .35rem;
	padding: 0;
	border: 0;
	background: none;
	color: inherit;
	font: inherit;
	text-align: left;
	cursor: pointer;
}

.csm-sort-header:hover {
	text-decoration: underline;
}

.csm-sort-header .bi {
	font-size: .85em;
	opacity: .4;
}

.csm-sort-header:hover .bi,
.csm-sort-header-activ .bi {
	opacity: 1;
}

.csm-sort-header:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 2px;
	border-radius: .2rem;
}

.csm-sort-mobile label {
	font-weight: 600;
	color: var(--bs-secondary-color);
}

/* Dialogul de consimțământ cookie (poziționarea și tranziția nu au echivalent Bootstrap). */
#cookieConsentDialog {
	position: fixed;
	bottom: -100%;
	left: 0;
	right: 0;
	z-index: 1080;
	padding: 1rem;
	background-color: rgba(33, 37, 41, 0.95);
	transition: bottom .5s ease-in-out;
}

#cookieConsentDialog.active {
	bottom: 0;
}

/* UI-ul standard Blazor pentru erori neprevăzute. */
#blazor-error-ui {
	display: none;
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 1100;
	padding: .6rem 1.25rem .7rem;
	background: lightyellow;
	box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
}

#blazor-error-ui .dismiss {
	cursor: pointer;
	position: absolute;
	right: .75rem;
	top: .5rem;
}

/* ── Breadcrumb (PageCard) ───────────────────────────────────────────────── */
.csm-breadcrumb .breadcrumb {
	margin-bottom: .5rem;
	font-size: .85rem;
}

.csm-breadcrumb .breadcrumb-item a {
	color: #00519C;
	text-decoration: none;
}

.csm-breadcrumb .breadcrumb-item a:hover,
.csm-breadcrumb .breadcrumb-item a:focus-visible {
	text-decoration: underline;
}

.csm-breadcrumb .breadcrumb-item.active {
	color: var(--bs-secondary-color);
}

[data-bs-theme="dark"] .csm-breadcrumb .breadcrumb-item a { color: #7db3e8; }

/* ── Agenda (Membri / Preşedinte / Vicepreşedinte) ───────────────────────── */
.csm-agenda-toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: end;
	gap: .75rem;
	padding: .75rem;
	margin-bottom: 1rem;
	border-radius: .5rem;
	background-color: rgba(0, 81, 156, .04);
	border: 1px solid rgba(0, 81, 156, .1);
}

.csm-agenda-toolbar .csm-agenda-filters {
	display: flex;
	flex-wrap: wrap;
	gap: .75rem;
	flex: 1 1 auto;
}

.csm-agenda-table {
	--bs-table-striped-bg: transparent;
	margin-bottom: 0;
}

.csm-agenda-table thead th {
	font-size: .75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .05em;
	color: var(--bs-secondary-color);
	background-color: transparent;
	border-bottom: 2px solid rgba(0, 81, 156, .25);
	padding: .6rem .75rem;
}

.csm-agenda-table tbody td {
	padding: .9rem .75rem;
	border-bottom: 1px solid var(--bs-border-color-translucent);
	vertical-align: top;
}

.csm-agenda-table tbody tr:hover {
	background-color: rgba(0, 81, 156, .035);
}

[data-bs-theme="dark"] .csm-agenda-table tbody tr:hover {
	background-color: rgba(125, 179, 232, .07);
}

.csm-agenda-person {
	display: flex;
	align-items: flex-start;
	gap: .6rem;
	min-width: 11rem;
	max-width: 16rem;
}

.csm-agenda-avatar {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.1rem;
	height: 2.1rem;
	border-radius: 50%;
	background-color: rgba(0, 81, 156, .08);
	color: #00519C;
	font-size: 1.05rem;
}

[data-bs-theme="dark"] .csm-agenda-avatar {
	background-color: rgba(125, 179, 232, .15);
	color: #7db3e8;
}

.csm-agenda-name {
	display: block;
	font-weight: 600;
	line-height: 1.25;
	overflow-wrap: break-word;
	hyphens: none;
}

.csm-agenda-role {
	display: block;
	font-size: .8rem;
	color: var(--bs-secondary-color);
}

.csm-agenda-period {
	display: flex;
	align-items: flex-start;
	gap: .45rem;
	white-space: nowrap;
	color: var(--bs-body-color);
}

.csm-agenda-period .bi {
	color: #00519C;
}

[data-bs-theme="dark"] .csm-agenda-period .bi { color: #7db3e8; }

.csm-agenda-period-hours {
	display: block;
	font-size: .8rem;
	color: var(--bs-secondary-color);
	white-space: nowrap;
}

.csm-agenda-desc {
	width: 60%;
	line-height: 1.55;
}

.csm-agenda-desc p:last-child {
	margin-bottom: 0;
}

/* Cardurile agendei pe mobil */
.csm-agenda-card .csm-agenda-period {
	white-space: normal;
}

@media (max-width: 767.98px) {
	.csm-agenda-toolbar {
		flex-direction: column;
		align-items: stretch;
	}

	.csm-agenda-toolbar .csm-agenda-filters {
		flex-direction: column;
	}

	.csm-agenda-toolbar .btn {
		width: 100%;
	}
}

/* ── Căutarea avansată în hotărâri: sidebar-ul de filtre ─────────────────── */
.csm-facet-panel {
	border: 1px solid rgba(0, 81, 156, .12);
	border-radius: .5rem;
	padding: .9rem;
	background-color: rgba(0, 81, 156, .02);
}

.csm-facet {
	border-top: 1px solid var(--bs-border-color-translucent);
	padding: .35rem 0;
}

.csm-facet-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: .5rem;
	width: 100%;
	padding: .45rem 0;
	border: none;
	background: none;
	font-size: .85rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .03em;
	color: var(--bs-body-color);
	text-align: left;
}

.csm-facet-header:hover,
.csm-facet-header:focus-visible {
	color: #00519C;
}

[data-bs-theme="dark"] .csm-facet-header:hover,
[data-bs-theme="dark"] .csm-facet-header:focus-visible {
	color: #7db3e8;
}

.csm-facet-body {
	padding: .25rem 0 .6rem;
}

.csm-facet-list {
	max-height: 16rem;
	overflow-y: auto;
	padding-right: .25rem;
}

.csm-facet .form-check {
	margin-bottom: .35rem;
}

.csm-facet .form-check-label {
	line-height: 1.3;
}

/* Căutarea în interiorul documentului (floating label, /Hotarari/Cautare) */
.csm-content-search .form-control {
	border-color: rgba(0, 81, 156, .35);
}

.csm-content-search .form-control:focus {
	border-color: #00519C;
	box-shadow: 0 0 0 .2rem rgba(0, 81, 156, .15);
}

/* ── Prima pagină: coloana de proiecte ───────────────────────────────────── */
/* Ciocanul (gavel, Font Awesome light — ca pe vechiul site) în cerc, respectiv oglindit */
.csm-gavel-circle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 4rem;
	height: 4rem;
	border: 2px solid currentColor;
	border-radius: 50%;
}

.csm-gavel-circle svg {
	width: 2rem;
	height: 2rem;
}

.csm-gavel-flip {
	display: inline-flex;
	padding: .4rem;
}

.csm-gavel-flip svg {
	width: 1.75rem;
	height: 1.75rem;
	transform: scaleX(-1);
}

/* Hover pe legăturile proiectelor: fundal discret, bară accent în stânga, underline pe titlu */
.csm-project-links a.d-block,
a.csm-project-link {
	border-left: 3px solid transparent;
	border-radius: 0 .375rem .375rem 0;
	padding: .4rem .5rem;
	transition: background-color .15s ease-in-out, border-color .15s ease-in-out;
}

.csm-project-links a.d-block:hover,
.csm-project-links a.d-block:focus-visible,
a.csm-project-link:hover,
a.csm-project-link:focus-visible {
	background-color: rgba(0, 81, 156, .06);
	border-left-color: #00519C;
}

.csm-project-links a.d-block:hover strong,
.csm-project-links a.d-block:focus-visible strong,
a.csm-project-link:hover strong,
a.csm-project-link:focus-visible strong {
	text-decoration: underline;
}

[data-bs-theme="dark"] .csm-project-links a.d-block:hover,
[data-bs-theme="dark"] .csm-project-links a.d-block:focus-visible,
[data-bs-theme="dark"] a.csm-project-link:hover,
[data-bs-theme="dark"] a.csm-project-link:focus-visible {
	background-color: rgba(125, 179, 232, .12);
	border-left-color: #7db3e8;
}

/* ── Reordonarea canalelor de transmisie live (drag & drop din mâner) ── */
.csm-drag-handle {
	cursor: grab;
	touch-action: none;
	line-height: 1;
}

.csm-drag-handle:active {
	cursor: grabbing;
}

/* Cât ţine tragerea, tot cursorul devine „grabbing”, nu doar deasupra mânerului. */
.csm-drag-active,
.csm-drag-active * {
	cursor: grabbing !important;
}

.csm-drag-card {
	transition: opacity .15s ease, box-shadow .15s ease, transform .15s ease;
}

.csm-dragging .csm-drag-card {
	opacity: .55;
	transform: scale(.98);
}

.csm-drag-over .csm-drag-card {
	box-shadow: 0 0 0 .2rem rgba(var(--bs-primary-rgb), .35);
}

/* ── Culori de fundal distincte pentru cardurile canalelor live ──
   Nuanţe deschise, rotite ciclic după poziţia cardului, ca cele trei transmisii
   să se deosebească dintr-o privire fără să iasă din paleta site-ului. */
.csm-live-tint-1 { background-color: #eef4fc; }
.csm-live-tint-2 { background-color: #eef7f0; }
.csm-live-tint-3 { background-color: #fdf5ec; }
.csm-live-tint-4 { background-color: #f5f0fa; }

.csm-live-tint-1 .csm-live-head { background-color: #dfeaf8; }
.csm-live-tint-2 .csm-live-head { background-color: #ddefe2; }
.csm-live-tint-3 .csm-live-head { background-color: #f8e8d8; }
.csm-live-tint-4 .csm-live-head { background-color: #eae0f4; }

[data-bs-theme="dark"] .csm-live-tint-1 { background-color: rgba(93, 156, 236, .10); }
[data-bs-theme="dark"] .csm-live-tint-2 { background-color: rgba(88, 186, 122, .10); }
[data-bs-theme="dark"] .csm-live-tint-3 { background-color: rgba(226, 158, 90, .10); }
[data-bs-theme="dark"] .csm-live-tint-4 { background-color: rgba(163, 132, 214, .10); }

[data-bs-theme="dark"] .csm-live-tint-1 .csm-live-head { background-color: rgba(93, 156, 236, .18); }
[data-bs-theme="dark"] .csm-live-tint-2 .csm-live-head { background-color: rgba(88, 186, 122, .18); }
[data-bs-theme="dark"] .csm-live-tint-3 .csm-live-head { background-color: rgba(226, 158, 90, .18); }
[data-bs-theme="dark"] .csm-live-tint-4 .csm-live-head { background-color: rgba(163, 132, 214, .18); }

/* ── Pagina 404 (Components/Pages/NotFound.razor) ────────────────────────────
   Compoziţie centrată în cardul standard: „404” cu clădirea instituţională între
   cifre, titlu, mesaje, CTA şi legături rapide. Culorile sunt cele ale site-ului
   (#00519C, respectiv #7db3e8 pe tema întunecată); dimensiunile folosesc clamp(),
   ca pe mobil să se reducă proporţional, fără depăşire pe orizontală. */
.csm-404 {
	max-width: 44rem;
	margin: 0 auto;
	padding: clamp(.5rem, 3vw, 2rem) 0 .5rem;
}

.csm-404-cifre {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: clamp(.35rem, 2vw, .9rem);
	line-height: 1;
	color: #00519C;
}

.csm-404-cifra {
	font-size: clamp(4rem, 17vw, 7.5rem);
	font-weight: 700;
	letter-spacing: -.03em;
}

.csm-404-simbol {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: clamp(3rem, 12.5vw, 5.5rem);
	height: clamp(3rem, 12.5vw, 5.5rem);
	border: 2px solid rgba(0, 81, 156, .25);
	border-radius: 50%;
	background-color: rgba(0, 81, 156, .06);
}

.csm-404-simbol .bi {
	font-size: clamp(1.4rem, 6vw, 2.6rem);
}

.csm-404-titlu {
	margin-top: clamp(.75rem, 2vw, 1.25rem);
	margin-bottom: .5rem;
	font-size: clamp(1.35rem, 4.5vw, 1.75rem);
	color: #00519C;
}

.csm-404-mesaj {
	margin-bottom: .35rem;
	font-size: 1.05rem;
}

.csm-404-secundar {
	max-width: 34rem;
	margin: 0 auto clamp(1.25rem, 3vw, 1.75rem);
	color: var(--bs-secondary-color);
}

.csm-404-cta {
	padding-left: 1.5rem;
	padding-right: 1.5rem;
}

.csm-404-separator {
	max-width: 26rem;
	margin: clamp(1.5rem, 4vw, 2.25rem) auto clamp(1rem, 2.5vw, 1.5rem);
	opacity: .2;
}

.csm-404-ajutor {
	margin-bottom: .85rem;
	color: var(--bs-secondary-color);
	font-size: .95rem;
}

.csm-404-linkuri {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: .5rem;
}

.csm-404-link {
	display: inline-flex;
	align-items: center;
	gap: .4rem;
	padding: .45rem .9rem;
	border: 1px solid rgba(0, 81, 156, .25);
	border-radius: 2rem;
	background-color: rgba(0, 81, 156, .04);
	color: #00519C;
	font-size: .95rem;
	text-decoration: none;
	transition: background-color .15s ease-in-out, border-color .15s ease-in-out;
}

.csm-404-link:hover,
.csm-404-link:focus-visible {
	background-color: rgba(0, 81, 156, .1);
	border-color: #00519C;
	text-decoration: underline;
}

.csm-404-link:focus-visible,
.csm-404-cta:focus-visible {
	outline: 2px solid #00519C;
	outline-offset: 2px;
}

[data-bs-theme="dark"] .csm-404-cifre,
[data-bs-theme="dark"] .csm-404-titlu,
[data-bs-theme="dark"] .csm-404-link {
	color: #7db3e8;
}

[data-bs-theme="dark"] .csm-404-simbol {
	border-color: rgba(125, 179, 232, .3);
	background-color: rgba(125, 179, 232, .1);
}

[data-bs-theme="dark"] .csm-404-link {
	border-color: rgba(125, 179, 232, .3);
	background-color: rgba(125, 179, 232, .08);
}

[data-bs-theme="dark"] .csm-404-link:hover,
[data-bs-theme="dark"] .csm-404-link:focus-visible {
	background-color: rgba(125, 179, 232, .16);
	border-color: #7db3e8;
}

[data-bs-theme="dark"] .csm-404-link:focus-visible,
[data-bs-theme="dark"] .csm-404-cta:focus-visible {
	outline-color: #7db3e8;
}

@media (prefers-reduced-motion: reduce) {
	.csm-404-link {
		transition: none;
	}
}

/* ── Pagina de căutare în site (Components/Pages/Cautare.razor) ─────────────── */
.csm-search-title {
	color: #00519C;
	text-decoration: none;
	font-weight: 600;
}

.csm-search-title:hover,
.csm-search-title:focus-visible {
	text-decoration: underline;
}

.csm-search-title:focus-visible {
	outline: 2px solid #00519C;
	outline-offset: 2px;
	border-radius: .25rem;
}

/* Termenii găsiţi, evidenţiaţi în fragmentele întoarse de Elasticsearch */
.csm-results-stack mark {
	background-color: rgba(255, 214, 0, .35);
	color: inherit;
	padding: 0 .1em;
	border-radius: .15rem;
}

.csm-search-empty ul {
	margin-bottom: 0;
}

.csm-search-sections {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
}

.csm-search-section {
	display: inline-flex;
	align-items: center;
	padding: .45rem .9rem;
	border: 1px solid rgba(0, 81, 156, .25);
	border-radius: 2rem;
	background-color: rgba(0, 81, 156, .04);
	color: #00519C;
	font-size: .95rem;
	text-decoration: none;
	transition: background-color .15s ease-in-out, border-color .15s ease-in-out;
}

.csm-search-section:hover,
.csm-search-section:focus-visible {
	background-color: rgba(0, 81, 156, .1);
	border-color: #00519C;
	text-decoration: underline;
}

.csm-search-section:focus-visible {
	outline: 2px solid #00519C;
	outline-offset: 2px;
}

[data-bs-theme="dark"] .csm-search-title,
[data-bs-theme="dark"] .csm-search-section {
	color: #7db3e8;
}

[data-bs-theme="dark"] .csm-results-stack mark {
	background-color: rgba(255, 214, 0, .28);
}

[data-bs-theme="dark"] .csm-search-section {
	border-color: rgba(125, 179, 232, .3);
	background-color: rgba(125, 179, 232, .08);
}

[data-bs-theme="dark"] .csm-search-section:hover,
[data-bs-theme="dark"] .csm-search-section:focus-visible {
	background-color: rgba(125, 179, 232, .16);
	border-color: #7db3e8;
}

[data-bs-theme="dark"] .csm-search-section:focus-visible,
[data-bs-theme="dark"] .csm-search-title:focus-visible {
	outline-color: #7db3e8;
}

@media (prefers-reduced-motion: reduce) {
	.csm-search-section {
		transition: none;
	}
}

/* ── Sugestiile din caseta de căutare a antetului ──────────────────────────── */
.csm-suggest {
	position: relative;
}

.csm-suggest-list {
	position: absolute;
	right: 0;
	top: calc(100% + .25rem);
	z-index: 1050;              /* peste meniul sticky, care e pe 1020 */
	min-width: 24rem;
	max-width: min(32rem, 92vw);
	max-height: 24rem;
	overflow-y: auto;
	margin: 0;
	padding: .25rem;
	background-color: var(--bs-body-bg);
	border: 1px solid var(--bs-border-color);
	border-radius: .5rem;
	box-shadow: 0 .5rem 1.5rem rgba(0, 0, 0, .15);
	text-align: left;
}

.csm-suggest-item {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 0 .5rem;
	align-items: baseline;
	padding: .4rem .6rem;
	border-radius: .35rem;
	cursor: pointer;
}

.csm-suggest-item:hover,
.csm-suggest-active {
	background-color: rgba(0, 81, 156, .08);
}

.csm-suggest-title {
	font-size: .9rem;
	line-height: 1.3;
	color: #00519C;
}

.csm-suggest-path {
	grid-column: 1 / -1;
	font-size: .75rem;
	color: var(--bs-secondary-color);
	line-height: 1.3;
}

.csm-suggest-all {
	margin-top: .25rem;
	padding: .45rem .6rem;
	border-top: 1px solid var(--bs-border-color);
	font-size: .85rem;
	color: var(--bs-secondary-color);
	cursor: pointer;
}

.csm-suggest-all:hover {
	background-color: rgba(0, 81, 156, .08);
	border-radius: .35rem;
}

[data-bs-theme="dark"] .csm-suggest-title {
	color: #7db3e8;
}

[data-bs-theme="dark"] .csm-suggest-item:hover,
[data-bs-theme="dark"] .csm-suggest-active,
[data-bs-theme="dark"] .csm-suggest-all:hover {
	background-color: rgba(125, 179, 232, .14);
}

/* ── Indicatorii din /Admin/Search ─────────────────────────────────────────── */
.csm-search-stat {
	height: 100%;
	padding: .75rem .9rem;
	border-radius: .5rem;
	background-color: rgba(0, 81, 156, .04);
	border: 1px solid rgba(0, 81, 156, .1);
}

.csm-search-stat-label {
	font-size: .75rem;
	text-transform: uppercase;
	letter-spacing: .04em;
	color: var(--bs-secondary-color);
}

.csm-search-stat-value {
	font-size: 1.05rem;
	font-weight: 600;
	word-break: break-all;
	font-variant-numeric: tabular-nums;
}

[data-bs-theme="dark"] .csm-search-stat {
	background-color: rgba(125, 179, 232, .08);
	border-color: rgba(125, 179, 232, .16);
}

/* ── Butonul de copiere a articolului din antetul cardului ─────────────────── */
/* Discret în repaus, se aprinde când cursorul (sau tastatura) ajunge pe zona titlului. */
.csm-copiaza-articol {
	--bs-btn-color: var(--bs-secondary-color);
	--bs-btn-hover-color: var(--bs-primary);
	--bs-btn-active-color: var(--bs-primary);
	--bs-btn-border-color: transparent;
	--bs-btn-hover-border-color: rgba(0, 81, 156, .35);
	--bs-btn-bg: transparent;
	--bs-btn-hover-bg: rgba(0, 81, 156, .08);
	--bs-btn-active-bg: rgba(0, 81, 156, .14);
	line-height: 1;
	padding: .25rem .45rem;
	opacity: .3;
	transition: opacity .15s ease-in-out, color .15s ease-in-out, background-color .15s ease-in-out;
}

/* Fără „:focus-within” pe antet: FocusOnNavigate din Routes.razor focalizează h1-ul la fiecare
   navigare, deci butonul ar porni aprins pe orice pagină deschisă — exact ce nu vrem. */
.card-header:hover .csm-copiaza-articol,
.csm-copiaza-articol:hover,
.csm-copiaza-articol:focus-visible {
	opacity: 1;
}

.csm-copiaza-articol.csm-copiaza-gata {
	opacity: 1;
	--bs-btn-color: var(--bs-success);
}

/* Pe ecrane tactile nu există hover — butonul rămâne vizibil, dar tot discret. */
@media (hover: none) {
	.csm-copiaza-articol {
		opacity: .6;
	}
}

[data-bs-theme="dark"] .csm-copiaza-articol {
	--bs-btn-hover-color: var(--bs-info);
	--bs-btn-active-color: var(--bs-info);
	--bs-btn-hover-border-color: rgba(125, 179, 232, .35);
	--bs-btn-hover-bg: rgba(125, 179, 232, .12);
	--bs-btn-active-bg: rgba(125, 179, 232, .2);
}

/* ── Componenţa CSM (/Leadership) ──────────────────────────────────────────── */
/* Zona de titlu: titlu + subtitlu la stânga, cardul de mandat la dreapta. */
.csm-page-head {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
	gap: 1rem;
	padding-bottom: 1rem;
	margin-bottom: 1.25rem;
	border-bottom: 1px solid var(--bs-border-color);
}

.csm-page-head-text {
	flex: 1 1 18rem;
	min-width: 0;
}

.csm-mandat {
	flex: 0 1 auto;
	max-width: 100%;
	padding: .75rem .9rem;
	border: 1px solid var(--bs-border-color);
	border-radius: .75rem;
	background-color: rgba(0, 81, 156, .04);
}

.csm-mandat-rand {
	display: flex;
	align-items: center;
	gap: .65rem;
}

.csm-mandat-icon {
	font-size: 1.35rem;
	color: #00519C;
	line-height: 1;
}

.csm-mandat-eticheta {
	font-size: .75rem;
	text-transform: uppercase;
	letter-spacing: .04em;
	color: var(--bs-secondary-color);
}

.csm-mandat-perioada {
	font-weight: 600;
	line-height: 1.3;
}

.csm-mandat-hotarare {
	margin-top: .5rem;
	padding-top: .5rem;
	border-top: 1px dashed var(--bs-border-color);
	font-size: .9rem;
}

/* Secţiunile de componenţă: carduri discrete, nu tabele. */
.csm-lead-card {
	padding: 1.5rem 1.75rem;
	margin-bottom: 1.25rem;
	background-color: var(--bs-body-bg);
	border: 1px solid var(--bs-border-color);
	border-radius: .75rem;
	box-shadow: 0 6px 18px rgba(0, 81, 156, .05);
}

/* Antetul secţiunii: iconiţă, titlu şi o linie care îl desparte de listă. */
.csm-lead-antet {
	display: flex;
	align-items: center;
	gap: .85rem;
	padding-bottom: .9rem;
	margin-bottom: 1.1rem;
	border-bottom: 1px solid var(--bs-border-color);
}

.csm-lead-antet-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.4rem;
	line-height: 1;
	color: #00519C;
}

.csm-lead-titlu {
	font-size: 1rem;
	font-weight: 700;
	letter-spacing: .01em;
	color: #16306b;
	margin-bottom: 0;
}

.csm-persoana {
	display: flex;
	align-items: center;
	gap: .75rem;
	padding: .7rem .25rem;
	border-bottom: 1px solid rgba(0, 81, 156, .1);
}

.csm-persoana:last-child {
	border-bottom: 0;
}

.csm-persoana-nr {
	flex: 0 0 1.75rem;
	text-align: right;
	font-variant-numeric: tabular-nums;
	color: var(--bs-secondary-color);
	font-size: .9rem;
}

.csm-persoana-icon {
	flex: 0 0 2rem;
	width: 2rem;
	height: 2rem;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	background-color: rgba(0, 81, 156, .08);
	color: #00519C;
	font-size: 1rem;
}

.csm-persoana-text {
	min-width: 0;
}

.csm-persoana-nume {
	font-weight: 600;
	line-height: 1.3;
	overflow-wrap: anywhere;
}

.csm-persoana-calitate {
	font-size: .85rem;
	color: var(--bs-secondary-color);
	line-height: 1.3;
}

/* Conducerea: un singur card, două jumătăţi egale despărţite de o linie discretă.
   Padding-ul stă pe coloane (nu pe card), ca despărţitorul să meargă din margine în margine. */
.csm-conducere {
	padding: 0;
	box-shadow: none;
}

/* Blocul stă centrat în jumătatea lui, pe ambele axe; textul din interior rămâne aliniat la
   stânga iconiţei, ca în model. */
.csm-conducere-col {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1.5rem 1.75rem;
}

.csm-conducere-bloc {
	display: flex;
	align-items: center;
	gap: 1rem;
	min-width: 0;
}

.csm-conducere-icon {
	flex: 0 0 3.5rem;
	width: 3.5rem;
	height: 3.5rem;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	background-color: rgba(0, 81, 156, .07);
	color: #00519C;
	font-size: 1.8rem;
	line-height: 1;
}

.csm-conducere-text {
	min-width: 0;
}

.csm-conducere-rol {
	font-size: .8rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .06em;
	color: #00519C;
	margin-bottom: .15rem;
}

.csm-conducere-nume {
	font-size: 1.2rem;
	font-weight: 700;
	line-height: 1.25;
	overflow-wrap: anywhere;
}

.csm-conducere-functie {
	font-size: .9rem;
	color: var(--bs-secondary-color);
	line-height: 1.3;
}

/* Despărţitor vertical pe desktop, orizontal pe mobil. */
@media (min-width: 768px) {
	.csm-conducere-col + .csm-conducere-col {
		border-left: 1px solid var(--bs-border-color);
	}
}

@media (max-width: 767.98px) {
	.csm-conducere-col {
		padding: 1.25rem 1rem;
	}

	.csm-conducere-col + .csm-conducere-col {
		border-top: 1px solid var(--bs-border-color);
	}
}

[data-bs-theme="dark"] .csm-conducere-icon {
	background-color: rgba(125, 179, 232, .12);
	color: #7db3e8;
}

[data-bs-theme="dark"] .csm-conducere-rol {
	color: #7db3e8;
}

[data-bs-theme="dark"] .csm-mandat {
	background-color: rgba(125, 179, 232, .08);
}

[data-bs-theme="dark"] .csm-mandat-icon,
[data-bs-theme="dark"] .csm-lead-antet-icon {
	color: #7db3e8;
}

[data-bs-theme="dark"] .csm-lead-titlu {
	color: #c7ddf7;
}

[data-bs-theme="dark"] .csm-persoana {
	border-bottom-color: rgba(125, 179, 232, .14);
}

[data-bs-theme="dark"] .csm-persoana-icon {
	background-color: rgba(125, 179, 232, .12);
	color: #7db3e8;
}

/* Pe mobil totul devine o singură coloană, iar cardul de mandat trece pe toată lăţimea. */
@media (max-width: 767.98px) {
	.csm-page-head {
		flex-direction: column;
	}

	/* Pe coloană, „flex-basis” s-ar aplica pe înălţime şi ar lăsa un gol sub subtitlu. */
	.csm-page-head-text {
		flex: 0 0 auto;
	}

	.csm-mandat {
		width: 100%;
	}

	.csm-lead-card {
		padding: .9rem 1rem;
	}
}

/* ── Panoul de admitere la INM (/InmAdmission) ─────────────────────────────── */
.csm-card-actiune {
	position: relative;
	padding: 1.25rem;
	background-color: var(--bs-body-bg);
	border: 1px solid var(--bs-border-color);
	border-radius: .75rem;
	transition: border-color .18s ease, box-shadow .18s ease;
}

.csm-card-actiune:hover,
.csm-card-actiune:focus-within {
	border-color: rgba(0, 81, 156, .35);
	box-shadow: 0 8px 20px rgba(0, 81, 156, .08);
}

.csm-card-actiune-icon,
.csm-resursa-icon,
.csm-noutate-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 2.75rem;
	height: 2.75rem;
	margin-bottom: .75rem;
	border-radius: .75rem;
	background-color: rgba(0, 81, 156, .07);
	color: #00519C;
	font-size: 1.35rem;
}

.csm-resursa-icon,
.csm-noutate-icon {
	width: 2.25rem;
	height: 2.25rem;
	margin-bottom: 0;
	font-size: 1.05rem;
	border-radius: 999px;
}

.csm-stare-activ {
	background-color: rgba(25, 135, 84, .12);
	color: #146c43;
}

/* Timeline-ul calendarului: linia verticală e desenată pe listă, punctele pe etape. */
.csm-timeline {
	position: relative;
	list-style: none;
	margin: 0;
	padding: 0 0 0 1.35rem;
}

.csm-timeline::before {
	content: "";
	position: absolute;
	top: .6rem;
	bottom: .6rem;
	left: .32rem;
	width: 2px;
	background-color: var(--bs-border-color);
}

.csm-etapa {
	position: relative;
	padding: .55rem 0 .55rem .35rem;
}

.csm-etapa-punct {
	position: absolute;
	top: .95rem;
	left: -1.35rem;
	width: .7rem;
	height: .7rem;
	border-radius: 999px;
	background-color: var(--bs-body-bg);
	box-shadow: inset 0 0 0 2px rgba(0, 81, 156, .45);
}

.csm-etapa-data {
	font-weight: 600;
	font-size: .95rem;
	line-height: 1.3;
}

.csm-etapa-text {
	color: var(--bs-secondary-color);
	font-size: .9rem;
	line-height: 1.35;
}

/* Etapele trecute se retrag, cea curentă se evidenţiază discret. */
.csm-etapa-trecuta {
	opacity: .55;
}

.csm-etapa-trecuta .csm-etapa-punct {
	box-shadow: inset 0 0 0 2px var(--bs-border-color);
}

.csm-etapa-curenta {
	background-color: rgba(0, 81, 156, .05);
	border-radius: .5rem;
	padding-left: .6rem;
	margin-left: -.25rem;
}

.csm-etapa-curenta .csm-etapa-punct {
	background-color: #00519C;
	box-shadow: 0 0 0 3px rgba(0, 81, 156, .18);
}

/* Etapele marcate „Strong” în machetă: text îngroşat şi punct plin, ca în documentul-sursă. */
.csm-etapa-important .csm-etapa-text {
	color: var(--bs-body-color);
	font-weight: 600;
}

.csm-etapa-important .csm-etapa-punct {
	background-color: rgba(0, 81, 156, .45);
}

.csm-etapa-important.csm-etapa-trecuta {
	opacity: .7;
}

[data-bs-theme="dark"] .csm-etapa-important .csm-etapa-punct {
	background-color: rgba(125, 179, 232, .5);
}

.csm-noutate {
	display: flex;
	align-items: flex-start;
	gap: .65rem;
	padding: .6rem .25rem;
	border-bottom: 1px solid rgba(0, 81, 156, .1);
}

.csm-noutate:last-of-type {
	border-bottom: 0;
}

.csm-noutate-titlu {
	font-weight: 600;
	font-size: .95rem;
	line-height: 1.3;
	color: #16306b;
	text-decoration: none;
	overflow-wrap: anywhere;
}

.csm-noutate-titlu:hover {
	color: #00519C;
	text-decoration: underline;
}

.csm-noutate-data {
	font-size: .82rem;
	color: var(--bs-secondary-color);
}

.csm-despre {
	background-color: rgba(0, 81, 156, .04);
	margin-top: 1rem;
}

.csm-resursa {
	position: relative;
	display: flex;
	align-items: center;
	gap: .65rem;
	padding: .85rem;
	border: 1px solid var(--bs-border-color);
	border-radius: .75rem;
	transition: border-color .18s ease, background-color .18s ease;
}

.csm-resursa:hover,
.csm-resursa:focus-within {
	border-color: rgba(0, 81, 156, .35);
	background-color: rgba(0, 81, 156, .03);
}

.csm-resursa-titlu {
	font-weight: 600;
	font-size: .95rem;
	color: #16306b;
	text-decoration: none;
}

[data-bs-theme="dark"] .csm-card-actiune-icon,
[data-bs-theme="dark"] .csm-resursa-icon,
[data-bs-theme="dark"] .csm-noutate-icon {
	background-color: rgba(125, 179, 232, .12);
	color: #7db3e8;
}

[data-bs-theme="dark"] .csm-noutate-titlu,
[data-bs-theme="dark"] .csm-resursa-titlu {
	color: #c7ddf7;
}

[data-bs-theme="dark"] .csm-noutate {
	border-bottom-color: rgba(125, 179, 232, .14);
}

[data-bs-theme="dark"] .csm-etapa-curenta,
[data-bs-theme="dark"] .csm-despre {
	background-color: rgba(125, 179, 232, .08);
}

[data-bs-theme="dark"] .csm-etapa-curenta .csm-etapa-punct {
	background-color: #7db3e8;
	box-shadow: 0 0 0 3px rgba(125, 179, 232, .22);
}

[data-bs-theme="dark"] .csm-stare-activ {
	background-color: rgba(25, 135, 84, .2);
	color: #75b798;
}

/* ── Ilustraţia din antetul panoului de admitere ───────────────────────────── */
.csm-inm-hero {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: .5rem;
	flex: 0 1 auto;
	min-width: 0;
}

.csm-inm-ilustratie {
	max-width: 100%;
	width: 15rem;
	height: auto;
}

@media (min-width: 1200px) {
	.csm-inm-ilustratie {
		width: 19rem;
	}
}

[data-bs-theme="dark"] .csm-inm-ilustratie {
	/* Ilustraţia e desenată pentru fundal deschis; pe tema întunecată se domoleşte. */
	opacity: .85;
}

/* ── Harta site-ului ───────────────────────────────────────────────────────── */
/* Reia stilul listelor din mega-meniu; aici se adaugă doar cadrul şi coloanele. */
.csm-harta {
	background-color: var(--bs-body-bg);
	border: 1px solid var(--csm-mega-linie);
	border-radius: .75rem;
	box-shadow: 0 6px 18px rgba(15, 42, 76, .05);
	padding: .5rem;
}

.csm-harta-col {
	padding: 1rem 1.25rem;
}

/* Separator vertical doar între coloanele care stau una lângă alta. */
@media (min-width: 768px) {
	.csm-harta-col:nth-child(2n) {
		border-left: 1px solid var(--csm-mega-linie);
	}
}

@media (min-width: 1200px) {
	.csm-harta-col:nth-child(2n) {
		border-left: 0;
	}

	.csm-harta-col:not(:nth-child(3n + 1)) {
		border-left: 1px solid var(--csm-mega-linie);
	}
}

.csm-harta-rand {
	border-color: var(--csm-mega-linie);
	opacity: 1;
	margin: .25rem 1.25rem;
}

.csm-harta-titlu-text {
	font-size: inherit;
	font-weight: inherit;
	letter-spacing: inherit;
	text-transform: inherit;
	color: inherit;
	margin: 0;
}

/* Subgrupurile (Judecători, Procurori, Concursuri şi examene) se retrag puţin. */
.csm-harta-grup {
	margin-bottom: .35rem;
}

.csm-harta-grup-eticheta {
	display: flex;
	align-items: center;
	gap: .5rem;
	padding: .55rem .65rem .3rem;
	font-weight: 600;
	color: var(--csm-mega-text);
}

.csm-harta-grup-titlu {
	font-weight: 600;
}

.csm-harta-subgrup {
	margin-left: 1.1rem;
	padding-left: .5rem;
	border-left: 1px solid var(--csm-mega-linie);
}

@media (max-width: 575.98px) {
	.csm-harta-col {
		padding: .85rem .5rem;
	}

	.csm-harta-subgrup {
		margin-left: .6rem;
	}
}
