/**
 * UMAN static export - shared site chrome (reset + sticky nav bar).
 * Extracted from the WordPress child theme's template-uman-standalone.css
 * reset/nav section. Load this on EVERY page, before uman-shared.css and
 * the page-specific stylesheet. No !important anywhere here since there's
 * no WordPress/Flatsome CSS left to fight in this static export.
 */

*, *::before, *::after {
	box-sizing: border-box;
}

html {
	-webkit-text-size-adjust: 100%;
}

body.uman-landing {
	margin: 0;
	font-family: "Archivo", system-ui, sans-serif;
	color: var(--uman-c-ink, #101010);
	background: var(--uman-c-bg, #fff);
}

img {
	max-width: 100%;
	display: block;
}

.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
}

/* Nav ------------------------------------------------------------------- */

.uman-nav {
	position: sticky;
	top: 0;
	z-index: 40;
	background: rgba(255, 255, 255, 0.94);
	backdrop-filter: blur(4px);
	border-bottom: 1px solid var(--uman-c-line);
}

.uman-nav__bar {
	display: flex;
	align-items: center;
	gap: 1.25rem;
	padding: 0.6rem 1.25rem;
}

.uman-nav__logo {
	display: block;
	margin-right: auto;
	line-height: 0;
}

.uman-nav__logo-img {
	height: 2.5rem;
	width: auto;
}

.uman-nav__links {
	display: none;
	gap: 1.75rem;
}

.uman-nav__links a {
	font-size: 14px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.07em;
	color: var(--uman-c-muted-on-light, #666);
	text-decoration: none;
}

.uman-nav__links a:hover,
.uman-nav__links a:focus-visible {
	color: var(--uman-c-navy, #001b54);
}

.uman-nav__links a[aria-current="page"] {
	color: var(--uman-c-navy, #001b54);
	font-weight: 700;
}

.uman-nav__lang {
	display: flex;
	align-items: center;
	gap: 0.4rem;
	font-size: 14px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.uman-nav__lang a {
	color: var(--uman-c-muted-on-light, #666);
	text-decoration: none;
}

.uman-nav__lang a[aria-current="true"] {
	color: var(--uman-c-navy, #001b54);
}

.uman-nav__cta {
	flex: 0 0 auto;
	padding: 0.6rem 1.1rem;
	border: 1.5px solid var(--uman-c-navy, #001b54);
	font-size: 14px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--uman-c-navy, #001b54);
	text-decoration: none;
	white-space: nowrap;
	transition: background-color 0.15s ease, color 0.15s ease;
}

.uman-nav__cta:hover,
.uman-nav__cta:focus-visible {
	background: var(--uman-c-navy, #001b54);
	color: #fff;
}

.uman-nav__toggle {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.75rem;
	height: 2.75rem;
	padding: 0;
	border: 1px solid var(--uman-c-ink);
	background: none;
	cursor: pointer;
}

.uman-nav__toggle-bar,
.uman-nav__toggle-bar::before,
.uman-nav__toggle-bar::after {
	display: block;
	width: 1.1rem;
	height: 1px;
	background: var(--uman-c-ink);
	position: relative;
}

.uman-nav__toggle-bar::before,
.uman-nav__toggle-bar::after {
	content: "";
	position: absolute;
	left: 0;
}

.uman-nav__toggle-bar::before {
	top: -5px;
}

.uman-nav__toggle-bar::after {
	top: 5px;
}

.uman-nav[data-nav-open="true"] .uman-nav__links {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	background: #fff;
	border-bottom: 1px solid var(--uman-c-line);
	padding: 1rem 1.25rem;
}

/* Tablet up -------------------------------------------------------------- */

@media only screen and (min-width: 48em) {
	.uman-nav__bar {
		padding: 0.75rem 2.5rem;
	}

	.uman-nav__logo-img {
		height: 3rem;
	}

	.uman-nav__links {
		display: flex;
	}

	.uman-nav__toggle {
		display: none;
	}

	.uman-nav[data-nav-open="true"] .uman-nav__links {
		position: static;
		border: 0;
		padding: 0;
		flex-direction: row;
	}
}


/* ===== STRATUL PLATFORMEI — adăugat peste exportul lor; tools/import_uman_export.py îl păstrează la reimport ===== */

/* buton „inapoi sus" — in stilul sablonului: patrat, cerneala pe hartie */
.uman-to-top {
	position: fixed;
	z-index: 60;
	right: 16px;
	bottom: calc(16px + env(safe-area-inset-bottom, 0px));
	width: 44px;
	height: 44px;
	padding: 0;
	border: 0;
	cursor: pointer;
	display: grid;
	place-items: center;
	background: var(--uman-c-ink, #111);
	color: #fff;
	opacity: 0;
	transform: translateY(10px);
	pointer-events: none;
	transition: opacity .2s ease, transform .2s ease;
}
/* sageata alba: CSS-ul lor pune culoarea cernelii pe orice <button> din .uman-landing (specificitate mai mare) */
.uman-landing .uman-to-top, .uman-landing button.uman-to-top { color: #fff; }
.uman-to-top svg { width: 20px; height: 20px; display: block; stroke: #fff; }
.uman-to-top svg path { stroke: #fff; }
.uman-to-top.is-visible { opacity: 1; transform: none; pointer-events: auto; }
.uman-to-top:focus-visible { outline: 2px solid var(--uman-c-ink, #111); outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) {
	.uman-to-top { transition: opacity .2s; transform: none; }
}

/* Bannerul hero are textul „ars" în imagine: se vede ÎNTREG, pe toată lățimea ecranului, ca pe fundatiamedicis.ro
   (lățime 100%, înălțimea urmează proporția imaginii 1440×800 → nimic tăiat, nicio bandă laterală).
   Selectori cu .uman-landing în față: câștigă în fața template-uman-hero.css, încărcat după acest fișier. */
.uman-landing .uman-hero__media {
	min-height: 0;
}
.uman-landing .uman-hero__media img {
	position: static;
	width: 100%;
	height: auto;
	aspect-ratio: auto 1440 / 800;	/* rezerva locul pana se incarca (fara salt de pagina); dupa incarcare conteaza raportul real */
	object-fit: contain;
}

/* Programul cultural: evenimentele SOLD OUT (tools/import_uman_export.py -> program_cultural) — eticheta neagra, fara inscriere */
.uman-landing .uman-soldout {
	display: inline-block;
	margin: 0 0 0.6rem;
	padding: 0.3rem 0.6rem;
	background: var(--uman-c-ink, #101010);
	color: #fff !important;
	font-size: 0.7rem;
	font-weight: 700 !important;
	line-height: 1 !important;
	letter-spacing: 0.12em !important;
	text-transform: uppercase !important;
}
.uman-landing .uman-cultural-day--soldout .uman-cultural-day__heading {
	max-width: min(100%, 16ch);
}

/* 16.09, cerut de user dupa capturi de pe telefon: pe ecrane mici butonul „inapoi sus" acoperea randul „Bilet”,
   iar blocul lateral (imaginea-substitut + „Informatii practice" + „Intrebari") repeta ce scrie deja in subsol. */
@media only screen and (max-width: 47.99em) {
	.uman-to-top {
		display: none !important;
	}

	.uman-landing .uman-inscriere-aside {
		display: none;
	}
}

/* Bara de consimtamant pentru cookie-uri de analiza (static/js/consimtamant.js) — stilul editorial al site-ului. */
.uman-consim {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 60;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem 1.5rem;
	padding: 0.9rem 1.25rem;
	background: var(--uman-c-ink, #101010);
	color: #fff;
	font-size: 0.85rem;
	line-height: 1.5;
}

.uman-consim__text {
	margin: 0;
	max-width: 62ch;
	color: #fff;
}

.uman-consim__text a {
	color: #fff;
	text-decoration: underline;
}

.uman-consim__actions {
	display: flex;
	gap: 0.5rem;
	flex: 0 0 auto;
}

.uman-consim__btn {
	padding: 0.5rem 1.1rem;
	border: 1px solid #fff;
	background: transparent;
	color: #fff;
	font: inherit;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	cursor: pointer;
}

.uman-consim__btn--da {
	background: #fff;
	color: var(--uman-c-ink, #101010);
}

@media only screen and (max-width: 47.99em) {
	.uman-consim {
		flex-direction: column;
		align-items: stretch;
		text-align: left;
	}

	.uman-consim__actions {
		justify-content: flex-end;
	}
}

/* Afisele evenimentelor „UMAN Unseen” din programul cultural (tools/import_uman_export.py -> pune_afise).
   Stau sub titlul zilei, in coloana din stanga; textul ramane in dreapta. */
.uman-landing .uman-afis-col {
	flex: 0 1 auto;
	min-width: 0;
}

.uman-landing .uman-afis {
	margin: 1.5rem 0 0;
	max-width: 26rem;
}

.uman-landing .uman-afis img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	border: 1px solid var(--uman-c-line, #dcdcdc);
}

/* Prima pagina, „De ce UMAN?” si „Un oras european…”: organizatorii au pus texte lungi (mai multe paragrafe),
   iar regula lor de tableta face din intro un RAND flex -> fiecare paragraf devenea o coloana de 2-3 cuvinte.
   Cerut de ei (17-09): textele sa curga unul sub altul, nu pe un rand. Tableta: o singura coloana;
   desktop: titlul in stanga, paragrafele unul sub altul in dreapta. Pe telefon ramane regula lor (coloana). */
@media only screen and (min-width: 48em) {
	.uman-landing .uman-program__intro,
	.uman-landing .uman-city__intro {
		display: flow-root;
	}

	.uman-landing .uman-program__title,
	.uman-landing .uman-city__title {
		margin: 0 0 1.75rem;
	}

	.uman-landing .uman-program__intro > p,
	.uman-landing .uman-city__intro > p {
		max-width: 44rem;
		margin: 0 0 1rem;
	}

	.uman-landing .uman-program__intro > p:last-child,
	.uman-landing .uman-city__intro > p:last-child {
		margin-bottom: 0;
	}
}

@media only screen and (min-width: 64em) {
	.uman-landing .uman-program__title,
	.uman-landing .uman-city__title {
		float: left;
		width: 44%;
		margin: 0;
		padding-right: 2.5rem;
	}

	.uman-landing .uman-program__intro > p,
	.uman-landing .uman-city__intro > p {
		margin-left: 50%;
		max-width: 40rem;
	}

	.uman-landing .uman-program__subtitle {
		margin-bottom: 1.25rem;
	}

	.uman-landing .uman-program__tagline {
		margin-top: 1.75rem;
	}
}

/* Lizibilitate (29-09, cerut de user: „scrisul nu se vede, verifica peste tot”). uman-shared.css (al lor) are
   `.uman-landing * { color: inherit !important }`: orice culoare pusa de noi FARA !important e ignorata (optiunea aleasa
   din formular iesea negru pe negru). Aici: (a) textele gri ale lor sub pragul de lizibilitate (4,5:1) aduse la tokenurile
   lor de „text estompat” (--uman-c-muted-on-light #666 pe alb = 5,7:1; --uman-c-muted-on-dark #9a9a9a pe negru = 7:1);
   (b) banda de consimtamant cu culorile ei reale. Selectorii cu .uman-landing in fata bat !important-ul lor (specificitate). */
.uman-landing .uman-cultural-day__meta,
.uman-landing .uman-panel__meta,
.uman-landing .uman-session__person-tag,
.uman-landing .uman-inscriere-intro__dates p:not(:first-child),
.uman-landing .uman-inscriere-facts__label,
.uman-landing .uman-inscriere-contact__label,
.uman-landing .uman-inscriere-facts__row dt,
.uman-landing .uman-featured-quote__prompt,
.uman-landing .uman-featured-quote__role,
.uman-landing .uman-quote__prompt,
.uman-landing .uman-quote__role {
	color: var(--uman-c-muted-on-light, #666666) !important;
}

.uman-landing .uman-inscriere-cta__col-label,
.uman-landing .uman-inscriere-cta__legal,
.uman-landing .uman-info-band__legal {
	color: var(--uman-c-muted-on-dark, #9a9a9a) !important;
}

.uman-landing .uman-consim,
.uman-landing .uman-consim__text,
.uman-landing .uman-consim__text a,
.uman-landing .uman-consim__btn {
	color: #fff !important;
}

.uman-landing .uman-consim__btn--da {
	color: var(--uman-c-ink, #101010) !important;
}

/* ===== UMAN – The Next Generation 2026 (caseta de pe prima pagina, pagina /next-generation, blocul din formular) =====
   uman-shared.css forteaza `color/font-weight/line-height/text-transform/letter-spacing/... : inherit !important` pe tot
   ce e in .uman-landing -> aici aceste proprietati se scriu cu !important, altfel sunt ignorate tacut. */
.ng-caseta, .ng-hero {
	background: var(--uman-c-ink, #101010);
	color: #fff !important;
	padding: var(--uman-space-section-y, 3.5rem) var(--uman-space-section-x, 1.25rem);
}
.ng-caseta__inner, .ng-hero__inner { max-width: 72rem; margin-inline: auto; }
.uman-landing .ng-eyebrow {
	margin: 0 0 1rem;
	font-size: 0.7rem;
	letter-spacing: 0.16em !important;
	text-transform: uppercase !important;
	color: var(--uman-c-muted-on-dark, #9a9a9a) !important;
}
.uman-landing .ng-caseta__title, .uman-landing .ng-hero__title {
	margin: 0;
	font-size: clamp(1.9rem, 6.5vw, 3.6rem);
	line-height: 1.02 !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: -0.02em !important;
	color: #fff !important;
}
.uman-landing .ng-caseta__sub, .uman-landing .ng-hero__sub {
	margin: 1rem 0 0;
	padding-top: 1rem;
	border-top: 1px solid rgba(255, 255, 255, .28);
	font-size: clamp(1rem, 2.4vw, 1.25rem);
	line-height: 1.35 !important;
	color: #fff !important;
}
.uman-landing .ng-caseta__lead, .uman-landing .ng-hero__lead {
	margin: 1.5rem 0 0;
	max-width: 40rem;
	font-size: 1rem;
	line-height: 1.65 !important;
	color: #d6d6d6 !important;
}
.uman-landing .ng-hero__prize {
	margin: 1.75rem 0 0;
	font-size: 0.8rem;
	letter-spacing: 0.14em !important;
	text-transform: uppercase !important;
	color: #fff !important;
}
.uman-landing .ng-hero__prize span {
	display: inline-block;
	margin-right: .35rem;
	font-size: 3.2rem;
	line-height: 1 !important;
	font-weight: 700 !important;
	letter-spacing: -0.03em !important;
	vertical-align: -0.35rem;
}
.ng-caseta__facts { margin: 1.75rem 0 0; display: grid; gap: 0; border-top: 1px solid rgba(255, 255, 255, .28); }
.ng-caseta__facts > div { padding: .8rem 0; border-bottom: 1px solid rgba(255, 255, 255, .28); }
.uman-landing .ng-caseta__facts dt {
	font-size: 0.65rem;
	letter-spacing: 0.14em !important;
	text-transform: uppercase !important;
	color: var(--uman-c-muted-on-dark, #9a9a9a) !important;
}
.uman-landing .ng-caseta__facts dd { margin: .25rem 0 0; font-size: 0.95rem; color: #fff !important; }
.ng-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 2rem; }
.ng-actions--dark { margin-top: 1.5rem; }

/* pagina programului */
.ng-facts { padding: 0 var(--uman-space-section-x, 1.25rem); border-bottom: 1px solid var(--uman-c-line, #dcdcdc); }
.ng-facts__list { max-width: 72rem; margin: 0 auto; display: grid; }
.ng-fact { padding: 1.25rem 0; border-top: 1px solid var(--uman-c-line, #dcdcdc); }
.ng-fact:first-child { border-top: 0; }
.uman-landing .ng-fact dt {
	font-size: 0.65rem;
	letter-spacing: 0.14em !important;
	text-transform: uppercase !important;
	color: var(--uman-c-muted-on-light, #666) !important;
}
.uman-landing .ng-fact dd { margin: .4rem 0 0; font-size: 1.05rem; line-height: 1.4 !important; font-weight: 700 !important; }
.ng-section {
	max-width: 72rem;
	margin: 0 auto;
	padding: var(--uman-space-section-y, 3.5rem) var(--uman-space-section-x, 1.25rem) 0;
}
.ng-section:last-of-type { padding-bottom: var(--uman-space-section-y, 3.5rem); }
.uman-landing .ng-section__title {
	margin: 0 0 1.25rem;
	padding-bottom: .75rem;
	border-bottom: 1px solid var(--uman-c-ink, #101010);
	font-size: clamp(1.3rem, 4vw, 1.9rem);
	line-height: 1.1 !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: -0.01em !important;
}
.uman-landing .ng-section__text { max-width: 46rem; }
.uman-landing .ng-section__text p { margin: 0 0 1rem; line-height: 1.7 !important; }
.uman-landing .ng-section__text b { font-weight: 700 !important; }
.uman-landing .ng-section__text a { text-decoration: underline !important; text-underline-offset: 3px; }
.ng-steps { margin: 0; padding: 0; counter-reset: ng; display: grid; gap: 0; }
.uman-landing .ng-steps li {
	list-style: none !important;
	counter-increment: ng;
	display: grid;
	grid-template-columns: 3rem 1fr;
	gap: 1rem;
	padding: 1rem 0;
	border-bottom: 1px solid var(--uman-c-line, #dcdcdc);
	line-height: 1.55 !important;
}
.uman-landing .ng-steps li::before {
	content: "0" counter(ng);
	font-size: 1.5rem;
	line-height: 1 !important;
	font-weight: 700 !important;
	letter-spacing: -0.02em !important;
}

/* blocul din formular (apare la „Student") */
.uman-landing .ng-block { border: 1px solid var(--uman-c-ink, #101010); padding: 1.25rem; margin-top: 1.5rem; }
.uman-landing .ng-block[hidden] { display: none; }
.uman-landing .ng-block > legend {
	padding: 0 .5rem;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.06em !important;
}
.uman-landing .ng-block__intro { margin-bottom: 1rem; font-size: 0.9rem; }
.uman-landing .ng-block__intro p { margin: 0 0 .6rem; line-height: 1.6 !important; }
.uman-landing .ng-block__title { font-weight: 700 !important; }
.uman-landing .ng-block__intro a { text-decoration: underline !important; text-underline-offset: 2px; }
/* selectul arata ca inputurile lor: doar linia de jos, fara chenar; sageata desenata (appearance none) */
.uman-landing .ng-block select {
	width: 100%;
	padding: 0.85rem 1.5rem 0.85rem 0;
	border: 0;
	border-bottom: 1px solid var(--uman-c-line, #dcdcdc);
	border-radius: 0;
	background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23101010' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right .25rem center;
	font: inherit;
	font-size: 1rem;
	color: var(--uman-c-ink, #101010) !important;
	-webkit-appearance: none;
	appearance: none;
}
.uman-landing .ng-block select:focus { outline: none; border-bottom: 2px solid var(--uman-c-ink, #101010); }
.uman-landing .ng-doc { margin-top: 1.5rem; }
.uman-landing .ng-doc input[type="file"] { width: 100%; padding: .6rem 0; font-size: 0.9rem; }
.uman-landing .ng-price b { font-weight: 700 !important; }

/* pagina biletului: mesajul de confirmare al programului */
.ng-bilet { max-width: 72rem; margin: 1.75rem auto 2rem; padding: 1.25rem; border: 1px solid var(--uman-c-ink, #101010); }
.uman-landing .ng-bilet .ng-eyebrow { margin-bottom: .6rem; color: var(--uman-c-muted-on-light, #666) !important; }
.uman-landing .ng-bilet__text { margin: 0; font-size: 1rem; line-height: 1.65 !important; }
.uman-landing .ng-bilet__links { margin: .75rem 0 0; font-size: .9rem; }
.uman-landing .ng-bilet__links a { text-decoration: underline !important; text-underline-offset: 2px; }

@media (min-width: 48em) {
	.ng-caseta__inner, .ng-hero__inner { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; align-items: start; }
	.ng-hero__inner { display: block; }
	.ng-caseta__facts { grid-template-columns: 1fr; }
	.ng-facts__list { grid-template-columns: repeat(4, 1fr); }
	.ng-fact { border-top: 0; border-left: 1px solid var(--uman-c-line, #dcdcdc); padding: 1.5rem 1.25rem; }
	.ng-fact:first-child { border-left: 0; padding-left: 0; }
}

/* Butonul „Înscrie-te" din meniu: fara albastru la click/atingere (cerut 07-10-2026) — cerneala pe hartie, ca restul
   butoanelor; la hover/apasare se inverseaza (negru, text alb). !important: uman-shared.css forteaza color: inherit. */
.uman-landing .uman-nav__cta { border-color: var(--uman-c-ink, #101010); color: var(--uman-c-ink, #101010) !important; -webkit-tap-highlight-color: transparent; }
.uman-landing .uman-nav__cta:hover, .uman-landing .uman-nav__cta:focus-visible, .uman-landing .uman-nav__cta:active {
	background: var(--uman-c-ink, #101010);
	color: #fff !important;
}
@media (hover: none) {
	.uman-landing .uman-nav__cta:hover:not(:active) { background: transparent; color: var(--uman-c-ink, #101010) !important; }
}

/* butonul de inscriere de pe pagina regulamentului Next Generation */
.uman-legal__cta { margin: 1.5rem 0 0; }
.uman-legal__body .uman-legal__cta { margin: 2.5rem 0 0; }
.uman-landing .uman-legal__cta a.uman-btn { color: #fff !important; text-decoration: none !important; }
.uman-landing .ng-steps a { text-decoration: underline !important; text-underline-offset: 3px; font-weight: 700 !important; }
