/**
 * Program Variants — All styles for the 4-variant program page redesign
 *
 * Naming: BEM convention
 * Colors: BRD palette + MUD compliance
 * No box-shadow anywhere
 * 44px minimum touch targets
 * WCAG 2.1 AA contrast ratios
 *
 * @package BRD
 */

/* ================================================================
   DESIGN TOKENS
   ================================================================ */
:root {
	--pv-navy: #003366;
	--pv-blue: #0066CC;
	--pv-blue-dark: #004C99;
	--pv-gold: #ffd200;
	--pv-gold-muted: #e6bd00;
	--pv-text: #1a1a2e;
	--pv-text-muted: #555;
	--pv-text-light: #666;
	--pv-bg: #fff;
	--pv-bg-alt: #f7f8fa;
	--pv-bg-warm: #f5f5f0;
	--pv-border: #e2e2e2;
	--pv-border-light: #ececec;
	--pv-radius: 4px;
	--pv-radius-lg: 6px;
	--pv-ease: cubic-bezier(0.23, 1, 0.32, 1);
	--pv-container: 1290px;
	--pv-narrow: 1000px;
}

/* ================================================================
   TAB BAR (temporary — for variant review)
   ================================================================ */
.program-tabs {
	position: sticky;
	top: 0;
	z-index: 90;
	background: var(--pv-bg);
	border-bottom: 1px solid var(--pv-border);
}

.program-tabs__bar {
	display: flex;
	gap: 0;
	max-width: var(--pv-container);
	margin: 0 auto;
	padding: 0 24px;
}

.program-tabs__tab {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 12px 24px;
	border: none;
	border-bottom: 3px solid transparent;
	background: none;
	color: var(--pv-text-muted);
	font-family: inherit;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	cursor: pointer;
	transition: color 200ms var(--pv-ease), border-color 200ms var(--pv-ease);
}

.program-tabs__tab:hover {
	color: var(--pv-navy);
}

.program-tabs__tab--active {
	color: var(--pv-navy);
	border-bottom-color: var(--pv-navy);
}

.program-tabs__tab:focus-visible {
	outline: 2px solid var(--pv-blue);
	outline-offset: -2px;
}

/* Hide non-active variant panels */
.program-variant[hidden] {
	display: none !important;
}

/* ================================================================
   SHARED: STATUS BADGE
   ================================================================ */
.pv-status {
	display: inline-block;
	padding: 5px 14px;
	border-radius: 3px;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	line-height: 1.4;
}

.pv-status--activ {
	background: #e8f5e9;
	color: #2E7D32;
	border: 1px solid #c8e6c9;
}

.pv-status--incheiat,
.pv-status--\238Encheiat {
	background: #fbe9e7;
	color: #c62828;
	border: 1px solid #ffccbc;
}

.pv-status--in-pregatire,
.pv-status--\238En-preg\103tire {
	background: #fff3cd;
	color: #7a5d00;
	border: 1px solid #ffe69c;
}

/* ================================================================
   SHARED: DOWNLOAD LINK
   ================================================================ */
.pv-download {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 14px 16px;
	border: 1px solid var(--pv-border);
	border-radius: var(--pv-radius);
	background: var(--pv-bg);
	color: var(--pv-text);
	text-decoration: none;
	min-height: 44px;
	transition: border-color 200ms var(--pv-ease), background 200ms var(--pv-ease);
}

.pv-download:hover {
	border-color: var(--pv-blue);
	background: #f0f6ff;
}

.pv-download:focus-visible {
	outline: 2px solid var(--pv-blue);
	outline-offset: 2px;
}

.pv-download__badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	height: 32px;
	padding: 0 8px;
	background: var(--pv-navy);
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.05em;
	border-radius: 3px;
	flex-shrink: 0;
}

.pv-download__info {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
	flex: 1;
}

.pv-download__title {
	font-size: 15px;
	font-weight: 500;
	color: var(--pv-text);
	line-height: 1.3;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.pv-download__meta {
	font-size: 13px;
	color: var(--pv-text-muted);
	line-height: 1.3;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.pv-download__arrow {
	flex-shrink: 0;
	font-size: 16px;
	color: var(--pv-blue);
	transition: transform 200ms var(--pv-ease);
}

.pv-download:hover .pv-download__arrow {
	transform: translate(2px, -2px);
}

.pv-downloads-list {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

/* ================================================================
   SHARED: ACCORDION
   ================================================================ */
.pv-accordion {
	border: 1px solid var(--pv-border);
	border-radius: var(--pv-radius);
	overflow: hidden;
}

.pv-accordion + .pv-accordion {
	margin-top: 8px;
}

.pv-accordion__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	min-height: 52px;
	padding: 14px 20px;
	border: none;
	background: var(--pv-bg);
	color: var(--pv-text);
	font-family: inherit;
	font-size: 16px;
	font-weight: 600;
	text-align: left;
	cursor: pointer;
	gap: 16px;
	transition: background 200ms var(--pv-ease);
}

.pv-accordion__header:hover {
	background: var(--pv-bg-alt);
}

.pv-accordion__header:focus-visible {
	outline: 2px solid var(--pv-blue);
	outline-offset: -2px;
}

.pv-accordion__label {
	flex: 1;
	min-width: 0;
}

.pv-accordion__icon {
	position: relative;
	width: 20px;
	height: 20px;
	flex-shrink: 0;
}

.pv-accordion__icon::before,
.pv-accordion__icon::after {
	content: '';
	position: absolute;
	background: var(--pv-text-muted);
	border-radius: 1px;
	transition: transform 250ms var(--pv-ease);
}

/* Horizontal bar */
.pv-accordion__icon::before {
	top: 50%;
	left: 2px;
	right: 2px;
	height: 2px;
	margin-top: -1px;
}

/* Vertical bar (rotates to 0 when expanded) */
.pv-accordion__icon::after {
	left: 50%;
	top: 2px;
	bottom: 2px;
	width: 2px;
	margin-left: -1px;
}

.pv-accordion__header[aria-expanded="true"] .pv-accordion__icon::after {
	transform: rotate(90deg);
}

.pv-accordion__body {
	border-top: 1px solid var(--pv-border-light);
}

.pv-accordion__content {
	padding: 20px;
	font-size: 16px;
	line-height: 1.65;
	color: var(--pv-text);
}

.pv-accordion__content p {
	margin: 0 0 12px;
}

.pv-accordion__content p:last-child {
	margin-bottom: 0;
}

/* Year accordion variant */
.pv-accordion--year .pv-accordion__header {
	background: var(--pv-bg-alt);
	font-size: 18px;
}

.pv-accordion--year .pv-accordion__body {
	padding: 20px;
}

/* ================================================================
   SHARED: PARTNERS
   ================================================================ */
.pv-partners {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	align-items: center;
}

.pv-partner {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 16px;
	border: 1px solid var(--pv-border);
	border-radius: var(--pv-radius);
	text-decoration: none;
	color: var(--pv-text);
	min-height: 44px;
	transition: border-color 200ms var(--pv-ease);
}

a.pv-partner:hover {
	border-color: var(--pv-blue);
}

a.pv-partner:focus-visible {
	outline: 2px solid var(--pv-blue);
	outline-offset: 2px;
}

.pv-partner__logo {
	width: 48px;
	height: 48px;
	object-fit: contain;
	flex-shrink: 0;
}

.pv-partner__name {
	font-size: 14px;
	font-weight: 500;
}

.pv-partners--compact {
	gap: 12px;
}

.pv-partners--compact .pv-partner {
	padding: 8px 12px;
}

.pv-partners--compact .pv-partner__logo {
	width: 36px;
	height: 36px;
}

/* ================================================================
   SHARED: ARTICLE CARD
   ================================================================ */
.pv-articles-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 20px;
}

.pv-articles-grid--three {
	grid-template-columns: repeat(3, 1fr);
}

.pv-article {
	border: 1px solid var(--pv-border);
	border-radius: var(--pv-radius);
	overflow: hidden;
	background: var(--pv-bg);
	transition: border-color 200ms var(--pv-ease);
}

.pv-article:hover {
	border-color: var(--pv-blue);
}

.pv-article__thumbnail {
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background: var(--pv-bg-alt);
}

.pv-article__thumbnail img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.pv-article__body {
	padding: 16px;
}

.pv-article__title {
	display: block;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.4;
	color: var(--pv-navy);
	text-decoration: none;
	margin-bottom: 8px;
}

.pv-article__title:hover {
	color: var(--pv-blue);
	text-decoration: underline;
}

.pv-article__title:focus-visible {
	outline: 2px solid var(--pv-blue);
	outline-offset: 2px;
}

.pv-article__excerpt {
	font-size: 14px;
	line-height: 1.5;
	color: var(--pv-text-muted);
	margin: 0 0 8px;
}

.pv-article__date {
	font-size: 13px;
	color: var(--pv-text-light);
}

/* FAQ wrapper */
.pv-faq {
	display: flex;
	flex-direction: column;
}

/* ================================================================
   VARIANT A — EDITORIAL
   Full-bleed hero, narrow centered column, chapter sections
   ================================================================ */

/* Hero: full-width image with gradient overlay */
.pva-hero {
	position: relative;
	width: 100%;
	min-height: 380px;
	display: flex;
	align-items: flex-end;
	overflow: hidden;
	background: var(--pv-navy);
}

.pva-hero--plain {
	min-height: auto;
	padding: 48px 24px;
	align-items: center;
	justify-content: center;
}

.pva-hero__image {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.pva-hero__overlay {
	position: relative;
	z-index: 1;
	width: 100%;
	padding: 80px 40px 48px;
	background: linear-gradient(to top, rgba(0, 26, 51, 0.88) 0%, rgba(0, 26, 51, 0.4) 60%, transparent 100%);
}

.pva-hero__content {
	max-width: var(--pv-container);
	margin: 0 auto;
}

.pva-hero__title {
	font-size: 36px;
	font-weight: 700;
	line-height: 1.2;
	color: #fff;
	margin: 12px 0 0;
}

.pva-hero--plain .pva-hero__title {
	color: #fff;
	text-align: center;
	margin: 0;
}

/* Body: full container width */
.pva-body {
	max-width: var(--pv-container);
	margin: 0 auto;
	padding: 0 24px;
}

/* Description section */
.pva-chapter {
	padding: 32px 0;
}

.pva-chapter__inner {
	max-width: var(--pv-container);
}

.pva-chapter__lead {
	font-size: 17px;
	line-height: 1.7;
	color: var(--pv-text);
	max-width: 900px;
}

.pva-chapter__lead p {
	margin: 0 0 12px;
}

/* Info sections — 2-column card grid */
.pva-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 20px;
	padding: 8px 0 32px;
}

/* Last odd card spans full row */
.pva-card:last-child:nth-child(odd) {
	grid-column: span 2;
}

.pva-card {
	background: var(--pv-bg-alt);
	border: 1px solid var(--pv-border-light);
	border-radius: var(--pv-radius-lg);
	padding: 28px 32px;
	transition: border-color 200ms var(--pv-ease);
}

.pva-card:hover {
	border-color: var(--pv-border);
}

.pva-card__heading {
	font-size: 20px;
	font-weight: 700;
	color: var(--pv-navy);
	margin: 0 0 6px;
	padding-bottom: 10px;
	border-bottom: 3px solid var(--pv-gold);
	display: inline-block;
}

.pva-card__content {
	font-size: 16px;
	line-height: 1.65;
	color: var(--pv-text);
	margin-top: 16px;
}

.pva-card__content p {
	margin: 0 0 12px;
}

.pva-card__content p:last-child {
	margin-bottom: 0;
}

.pva-card__content .pv-download {
	margin-top: 16px;
}

/* Chapter heading (for Partners, Documents, FAQ, Articles headings) */
.pva-chapter__heading {
	font-size: 22px;
	font-weight: 700;
	color: var(--pv-navy);
	margin: 0 0 6px;
	padding-bottom: 10px;
	border-bottom: 3px solid var(--pv-gold);
	display: inline-block;
}

/* ================================================================
   VARIANT B — NAVIGATOR
   Compact hero, sticky sidebar TOC, structured document feel
   ================================================================ */

/* Hero: compact horizontal banner */
.pvb-hero {
	position: relative;
	min-height: 200px;
	display: flex;
	align-items: center;
	overflow: hidden;
	background: var(--pv-navy);
	padding: 32px 40px;
}

.pvb-hero__image {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0.2;
}

.pvb-hero__content {
	position: relative;
	z-index: 1;
	max-width: var(--pv-container);
	margin: 0 auto;
	width: 100%;
	padding: 0 24px;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	gap: 16px;
	flex-wrap: wrap;
}

.pvb-hero__title {
	font-size: 30px;
	font-weight: 700;
	color: #fff;
	margin: 0;
	line-height: 1.25;
}

/* Two-column layout */
.pvb-layout {
	display: grid;
	grid-template-columns: 250px 1fr;
	gap: 0;
	max-width: var(--pv-container);
	margin: 0 auto;
	padding: 0 24px;
	min-height: 60vh;
}

/* Sidebar */
.pvb-sidebar {
	position: sticky;
	top: 60px;
	align-self: start;
	padding: 32px 24px 32px 0;
	border-right: 1px solid var(--pv-border);
	max-height: calc(100vh - 80px);
	overflow-y: auto;
}

.pvb-sidebar__heading {
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--pv-text-light);
	margin: 0 0 16px;
}

.pvb-sidebar__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.pvb-sidebar__list li {
	margin: 0;
}

.pvb-sidebar__link {
	display: flex;
	align-items: center;
	padding: 10px 14px;
	font-size: 14px;
	font-weight: 500;
	color: var(--pv-text-muted);
	text-decoration: none;
	border-left: 3px solid transparent;
	min-height: 44px;
	transition: color 150ms var(--pv-ease), border-color 150ms var(--pv-ease), background 150ms var(--pv-ease);
}

.pvb-sidebar__link:hover {
	color: var(--pv-navy);
	background: var(--pv-bg-alt);
}

.pvb-sidebar__link--active {
	color: var(--pv-navy);
	border-left-color: var(--pv-blue);
	background: #f0f6ff;
	font-weight: 600;
}

.pvb-sidebar__link:focus-visible {
	outline: 2px solid var(--pv-blue);
	outline-offset: -2px;
}

/* Main content */
.pvb-main {
	padding: 0 0 48px 40px;
}

.pvb-section {
	padding: 40px 0;
	border-bottom: 1px solid var(--pv-border-light);
	scroll-margin-top: 80px;
}

.pvb-section:first-child {
	padding-top: 32px;
}

.pvb-section:last-child {
	border-bottom: none;
}

.pvb-section__heading {
	font-size: 22px;
	font-weight: 700;
	color: var(--pv-navy);
	margin: 0 0 20px;
	padding-bottom: 10px;
	border-bottom: 2px solid var(--pv-border);
}

.pvb-section__content {
	font-size: 16px;
	line-height: 1.65;
	color: var(--pv-text);
}

.pvb-section__content p {
	margin: 0 0 14px;
}

.pvb-section__content p:last-child {
	margin-bottom: 0;
}

.pvb-section__content .pv-download {
	margin-top: 16px;
}

/* ================================================================
   VARIANT C — MOSAIC
   Card-based grid, colored top borders, dashboard aesthetic
   ================================================================ */

/* Hero: horizontal card with image left, text right */
.pvc-hero {
	background: var(--pv-bg-alt);
	border-bottom: 1px solid var(--pv-border);
}

.pvc-hero__inner {
	display: grid;
	grid-template-columns: 1fr 1fr;
	max-width: var(--pv-container);
	margin: 0 auto;
	padding: 0 24px;
	min-height: 200px;
}

.pvc-hero__media {
	overflow: hidden;
}

.pvc-hero__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.pvc-hero__text {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 40px;
	gap: 12px;
}

/* Fără asta, `stretch`-ul implicit al coloanei flex întinde pastila de status
   pe toată lățimea hero-ului. */
.pvc-hero__text > .pv-status {
	align-self: flex-start;
}

.pvc-hero__title {
	font-size: 32px;
	font-weight: 700;
	color: var(--pv-navy);
	margin: 0;
	line-height: 1.2;
}

/* Hero-ul poartă doar fapte, nu descriere — textul programului apare o singură
   dată, în cardul „Descriere program". */
.pvc-hero__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 4px 10px;
	margin: 4px 0 0;
}

.pvc-hero__meta-label {
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--pv-text-muted);
}

.pvc-hero__meta-value {
	font-size: 17px;
	font-weight: 700;
	color: var(--pv-navy);
}

.pvc-hero__meta-value--empty {
	font-weight: 500;
	color: var(--pv-text-muted);
}

/* Card Grid */
.pvc-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 20px;
	max-width: var(--pv-container);
	margin: 32px auto;
	padding: 0 24px;
}

.pvc-card {
	border: 1px solid var(--pv-border);
	border-top: 4px solid var(--pvc-accent, var(--pv-blue));
	border-radius: 0 0 var(--pv-radius-lg) var(--pv-radius-lg);
	background: var(--pv-bg);
	overflow: hidden;
	transition: border-color 200ms var(--pv-ease);
}

.pvc-card:hover {
	border-color: var(--pvc-accent, var(--pv-blue));
	border-top-color: var(--pvc-accent, var(--pv-blue));
}

.pvc-card--wide {
	grid-column: span 2;
}

/* Prevent orphaned half-width cards — last odd card spans full row */
.pvc-card:last-child:nth-child(odd) {
	grid-column: span 2;
}

.pvc-card__heading {
	font-size: 18px;
	font-weight: 700;
	color: var(--pv-navy);
	margin: 0;
	padding: 20px 24px 0;
}

.pvc-card__body {
	padding: 16px 24px 24px;
	font-size: 15px;
	line-height: 1.6;
	color: var(--pv-text);
}

.pvc-card__body p {
	margin: 0 0 12px;
}

.pvc-card__body p:last-child {
	margin-bottom: 0;
}

.pvc-card__body .pv-download {
	margin-top: 12px;
}

/* Wide section (FAQ, Articles — below the grid) */
.pvc-wide-section {
	max-width: var(--pv-container);
	margin: 0 auto;
	padding: 40px 24px;
	border-top: 1px solid var(--pv-border);
}

.pvc-wide-section--alt {
	background: var(--pv-bg-alt);
	max-width: none;
	border-top: none;
}

.pvc-wide-section--alt .pvc-wide-section__inner {
	max-width: var(--pv-container);
	margin: 0 auto;
	padding: 0 24px;
}

.pvc-wide-section__heading {
	font-size: 24px;
	font-weight: 700;
	color: var(--pv-navy);
	margin: 0 0 24px;
}

/* ================================================================
   VARIANT C — INFO CARDS + EDITIONS
   ================================================================ */

/* Info card grid */
.pvc-grid--info {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 20px;
	max-width: var(--pv-container);
	margin: 28px auto;
	padding: 0 24px;
}

.pvc-infocard {
	display: flex;
	flex-direction: column;
}

.pvc-infocard--wide {
	grid-column: 1 / -1;
}

.pvc-infocard__bar {
	height: 4px;
	border-radius: 2px 2px 0 0;
}

.pvc-infocard__body {
	border: 1px solid var(--pv-border);
	border-top: none;
	border-radius: 0 0 var(--pv-radius-lg) var(--pv-radius-lg);
	background: #fff;
	padding: 24px;
	flex: 1;
}

.pvc-infocard__label {
	font-size: 18px;
	font-weight: 700;
	color: var(--pv-navy);
	margin: 0 0 12px;
	display: block;
}

.pvc-infocard__value {
	font-size: 32px;
	font-weight: 700;
	color: var(--pv-navy);
	line-height: 1.2;
	display: block;
}

.pvc-infocard__value small {
	font-size: 16px;
	font-weight: 500;
	color: var(--pv-text-muted);
}

.pvc-infocard__sub {
	font-size: 13px;
	color: var(--pv-text-light);
	margin-top: 6px;
	display: block;
}

.pvc-infocard__text {
	font-size: 15px;
	line-height: 1.65;
	color: var(--pv-text);
}

.pvc-infocard__text p {
	margin: 0 0 8px;
}

.pvc-infocard__text p:last-child {
	margin: 0;
}

/* Editions section */
.pvc-editions-section {
	max-width: var(--pv-container);
	margin: 0 auto;
	padding: 8px 24px 32px;
}

.pvc-editions-section__heading {
	font-size: 22px;
	font-weight: 700;
	color: var(--pv-navy);
	margin: 0 0 16px;
}

/* Edition accordion */
.pvc-edition {
	border: 1px solid var(--pv-border);
	border-radius: 8px;
	overflow: hidden;
}

.pvc-edition + .pvc-edition {
	margin-top: 10px;
}

.pvc-edition--active {
	border: 2px solid var(--pv-navy);
}

.pvc-edition__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	min-height: 52px;
	padding: 14px 20px;
	border: none;
	background: var(--pv-bg-alt);
	color: var(--pv-text);
	font-family: inherit;
	font-size: 16px;
	font-weight: 600;
	text-align: left;
	cursor: pointer;
	gap: 12px;
	transition: background 200ms var(--pv-ease);
}

.pvc-edition__header--active,
.pvc-edition__header--active:hover {
	background: var(--pv-navy);
	color: #fff;
}

.pvc-edition__year {
	font-size: 20px;
	font-weight: 700;
	color: var(--pv-navy);
}

.pvc-edition__header--active .pvc-edition__year {
	color: #fff;
}

.pvc-edition__pill {
	background: #e8eef5;
	padding: 3px 10px;
	border-radius: 12px;
	font-size: 12px;
	font-weight: 500;
	color: var(--pv-navy);
}

.pvc-edition__header--active .pvc-edition__pill {
	background: rgba(255, 255, 255, 0.15);
	color: #fff;
}

.pvc-edition__header .pv-accordion__icon {
	margin-left: auto;
}

.pvc-edition__header--active .pv-accordion__icon::before,
.pvc-edition__header--active .pv-accordion__icon::after {
	background: rgba(255, 255, 255, 0.7);
}

.pvc-edition__body {
	padding: 14px;
	border-top: 1px solid var(--pv-border);
}

/* Edition sections (gallery, articles, documents — full width) */
.pvc-edition-section {
	margin-top: 14px;
	padding-top: 14px;
	border-top: 1px solid var(--pv-border-light);
}

/* Edition grid */
.pvc-egrid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 10px;
	align-items: stretch;
}

/* O singură celulă ocupă rândul întreg — altfel ar rămâne pe jumătate de lățime. */
.pvc-egrid--one {
	grid-template-columns: 1fr;
	margin-top: 10px;
}

.pvc-egrid--two {
	grid-template-columns: repeat(2, 1fr);
	margin-top: 10px;
}

.pvc-egrid--three {
	grid-template-columns: repeat(3, 1fr);
	margin-top: 10px;
}

/* „Rezultate" e singura celulă cu text de mai multe rânduri: primește o coloană
   dublă, ca să nu devină inutil de înaltă lângă celule care conțin doar o dată. */
.pvc-egrid--two-rez {
	grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
	margin-top: 10px;
}

.pvc-egrid--three-rez {
	grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) minmax(0, 1fr);
	margin-top: 10px;
}

.pvc-egrid--bottom {
	padding-top: 10px;
	border-top: 1px solid var(--pv-border-light);
}

/* Edition cells */
.pvc-ecell {
	background: #fff;
	border: 1px solid var(--pv-border);
	border-radius: 6px;
	padding: 14px 16px;
	display: flex;
	flex-direction: column;
	border-top: 3px solid #FFD200;
}

.pvc-ecell--budget {
	background: var(--pv-navy);
	color: #fff;
	border-color: var(--pv-navy);
	border-top-color: var(--pv-navy);
}

.pvc-ecell--rezultate {
	background: #fffbeb;
	border-color: #f0e6c0;
	border-top: 3px solid #FFD200;
	flex-direction: row;
	align-items: center;
	gap: 14px;
	padding: 12px 16px;
}

.pvc-ecell--parteneri {
	border-top-color: #CC092F;
}

.pvc-ecell--rezultate .pvc-ecell__label {
	margin-bottom: 0;
	white-space: nowrap;
}

.pvc-ecell__label {
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--pv-navy);
	margin-bottom: 8px;
}

.pvc-ecell--budget .pvc-ecell__label {
	color: rgba(255, 255, 255, 0.7);
}

/* Blue label removed — all labels use navy except budget cell white */

/* Gold label removed — all labels use navy except --blue and budget white */

.pvc-ecell__value {
	font-size: 20px;
	font-weight: 700;
	color: var(--pv-navy);
	line-height: 1.3;
}

.pvc-ecell--budget .pvc-ecell__value {
	color: #fff;
}

.pvc-ecell--budget .pvc-ecell__value--text {
	font-size: 14px;
	font-weight: 500;
	line-height: 1.5;
}

.pvc-ecell__sub {
	font-size: 12px;
	color: var(--pv-text-light);
	margin-top: 2px;
}

.pvc-ecell--budget .pvc-ecell__sub {
	color: rgba(255, 255, 255, 0.7);
}

.pvc-ecell__badge {
	display: inline-block;
	padding: 1px 6px;
	border-radius: 8px;
	font-size: 10px;
	font-weight: 600;
	margin-bottom: 4px;
}

.pvc-ecell__badge--green {
	background: #e8f5e9;
	color: #2E7D32;
}

.pvc-ecell__link {
	font-size: 12px;
	color: var(--pv-blue);
	text-decoration: none;
	margin-top: 6px;
	display: block;
}

.pvc-ecell__link:hover {
	text-decoration: underline;
}

/* Criterii summary */
.pvc-ecell__summary {
	font-size: 14px;
	line-height: 1.5;
	color: var(--pv-text);
}

/* Rezultate text — stronger */
.pvc-ecell__rezultate-text {
	font-size: 13px;
	font-weight: 600;
	line-height: 1.5;
	color: var(--pv-navy);
}

.pvc-ecell--fullrow {
	margin-top: 10px;
	min-height: 60px;
}

.pvc-ecell--parteneri {
	flex-direction: row;
	align-items: center;
	gap: 14px;
	padding: 12px 16px;
}

.pvc-ecell--parteneri .pvc-ecell__label {
	margin-bottom: 0;
	white-space: nowrap;
}

/* Partner pills */
.pvc-epartners {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
}

.pvc-epartner-pill {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 12px;
	border: 1px solid var(--pv-border);
	border-radius: 20px;
	background: var(--pv-bg);
	font-size: 12px;
	font-weight: 500;
	color: var(--pv-navy);
	text-decoration: none;
	transition: border-color 200ms var(--pv-ease), background 200ms var(--pv-ease);
}

a.pvc-epartner-pill:hover {
	border-color: var(--pv-blue);
	background: #f0f6ff;
	color: var(--pv-blue);
}

.pvc-epartner-pill__logo {
	width: 20px;
	height: 20px;
	object-fit: contain;
	border-radius: 50%;
}

/* Gallery inside edition */
.pvc-egallery {
	display: flex;
	gap: 4px;
	flex-wrap: wrap;
}

.pvc-egallery__item {
	display: block;
	width: 48px;
	height: 36px;
	border-radius: 3px;
	overflow: hidden;
	position: relative;
}

.pvc-egallery__item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.pvc-egallery__more {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(0, 0, 0, 0.5);
	color: #fff;
	font-size: 11px;
	font-weight: 600;
}

/* Articles inside edition — 3-column card grid with images */
.pvc-earticles-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 12px;
}

.pvc-earticle-card {
	border: 1px solid var(--pv-border);
	border-radius: var(--pv-radius-lg);
	overflow: hidden;
	text-decoration: none;
	color: var(--pv-text);
	display: block;
	transition: border-color 200ms var(--pv-ease);
}

.pvc-earticle-card:hover {
	border-color: var(--pv-blue);
}

.pvc-earticle-card__img {
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background: var(--pv-bg-alt);
}

.pvc-earticle-card__img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.pvc-earticle-card__body {
	padding: 12px;
}

.pvc-earticle-card__title {
	display: block;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.4;
	color: var(--pv-navy);
	margin-bottom: 4px;
}

.pvc-earticle-card:hover .pvc-earticle-card__title {
	color: var(--pv-blue);
}

.pvc-earticle-card__date {
	font-size: 11px;
	color: var(--pv-text-light);
}

/* ================================================================
   VARIANT D — CHRONICLE
   Vertical timeline with icon markers, narrative flow
   ================================================================ */

/* Hero: full-width image with gradient overlay, compact height */
.pvd-hero {
	position: relative;
	width: 100%;
	min-height: 260px;
	display: flex;
	align-items: flex-end;
	overflow: hidden;
	background: var(--pv-navy);
}

.pvd-hero__image {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.pvd-hero__overlay {
	position: relative;
	z-index: 1;
	width: 100%;
	padding: 48px 40px 32px;
	background: linear-gradient(to top, rgba(0, 26, 51, 0.85) 0%, rgba(0, 26, 51, 0.35) 70%, transparent 100%);
}

.pvd-hero__content {
	max-width: var(--pv-container);
	margin: 0 auto;
	padding: 0 24px;
}

.pvd-hero__title {
	font-size: 30px;
	font-weight: 700;
	color: #fff;
	margin: 8px 0 0;
	line-height: 1.25;
}

/* Timeline container */
.pvd-timeline {
	position: relative;
	max-width: var(--pv-container);
	margin: 0 auto;
	padding: 40px 24px 40px 80px;
}

/* The vertical line */
.pvd-timeline__line {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 55px;
	width: 3px;
	background: var(--pv-border);
	border-radius: 2px;
	z-index: 1;
}

/* Timeline node */
.pvd-node {
	position: relative;
	padding: 0 0 40px 0;
}

.pvd-node:last-child {
	padding-bottom: 0;
}

/* Marker circle on the timeline — centered on line at left:55px (center 56.5px) */
.pvd-node__marker {
	position: absolute;
	left: -44px;
	top: 4px;
	width: 40px;
	height: 40px;
	background: var(--pv-navy);
	border: 3px solid var(--pv-bg);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 2;
}

.pvd-node__marker i {
	color: #fff;
	font-size: 14px;
}

/* First node has bigger marker */
.pvd-node--first .pvd-node__marker {
	background: var(--pv-blue);
}

/* Node content */
.pvd-node__content {
	background: var(--pv-bg);
	border: 1px solid var(--pv-border);
	border-radius: var(--pv-radius-lg);
	padding: 24px 28px;
	position: relative;
}

/* Arrow pointing left toward the timeline */
.pvd-node__content::before {
	content: '';
	position: absolute;
	left: -9px;
	top: 14px;
	width: 16px;
	height: 16px;
	background: var(--pv-bg);
	border-left: 1px solid var(--pv-border);
	border-bottom: 1px solid var(--pv-border);
	transform: rotate(45deg);
}

.pvd-node__title {
	font-size: 20px;
	font-weight: 700;
	color: var(--pv-navy);
	margin: 0 0 16px;
}

.pvd-node__body {
	font-size: 16px;
	line-height: 1.65;
	color: var(--pv-text);
}

.pvd-node__body p {
	margin: 0 0 14px;
}

.pvd-node__body p:last-child {
	margin-bottom: 0;
}

.pvd-node__body .pv-download {
	margin-top: 16px;
}

/* Articles node — no special styles, uses pvd-node */

/* ================================================================
   SHARED: LINKS inside WYSIWYG content
   ================================================================ */
.pva-chapter__content a,
.pva-chapter__lead a,
.pvb-section__content a,
.pvc-card__body a,
.pvd-node__body a,
.pv-accordion__content a {
	color: var(--pv-blue);
	text-decoration: underline;
	text-underline-offset: 2px;
}

.pva-chapter__content a:hover,
.pva-chapter__lead a:hover,
.pvb-section__content a:hover,
.pvc-card__body a:hover,
.pvd-node__body a:hover,
.pv-accordion__content a:hover {
	color: var(--pv-blue-dark);
}

.pva-chapter__content a:focus-visible,
.pva-chapter__lead a:focus-visible,
.pvb-section__content a:focus-visible,
.pvc-card__body a:focus-visible,
.pvd-node__body a:focus-visible,
.pv-accordion__content a:focus-visible {
	outline: 2px solid var(--pv-blue);
	outline-offset: 2px;
}

/* ================================================================
   RESPONSIVE
   ================================================================ */

/* Tablet */
@media (max-width: 1024px) {
	.pvb-layout {
		grid-template-columns: 220px 1fr;
	}

	.pvb-main {
		padding-left: 28px;
	}

	.pvc-hero__inner {
		grid-template-columns: 1fr;
	}

	.pvc-hero__media {
		max-height: 220px;
	}

	/* pvd-hero is now full-width overlay, no media width needed */
}

/* Mobile */
@media (max-width: 768px) {
	/* Tab bar: scrollable */
	.program-tabs__bar {
		padding: 0 16px;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}

	.program-tabs__tab {
		padding: 10px 16px;
		font-size: 13px;
		white-space: nowrap;
	}

	/* --- Variant A mobile --- */
	.pva-hero {
		min-height: 260px;
	}

	.pva-hero__overlay {
		padding: 40px 20px 32px;
	}

	.pva-hero__title {
		font-size: 26px;
	}

	.pva-body {
		padding: 0 16px;
	}

	.pva-chapter {
		padding: 24px 0;
	}

	.pva-grid {
		grid-template-columns: 1fr;
	}

	.pva-card:last-child:nth-child(odd) {
		grid-column: span 1;
	}

	.pva-card {
		padding: 20px;
	}

	.pva-card__heading {
		font-size: 18px;
	}

	/* --- Variant B mobile: sidebar becomes horizontal top nav --- */
	.pvb-hero {
		min-height: 140px;
		padding: 24px 20px;
	}

	.pvb-hero__title {
		font-size: 24px;
	}

	.pvb-layout {
		display: block;
		padding: 0 16px;
	}

	.pvb-sidebar {
		position: static;
		border-right: none;
		border-bottom: 1px solid var(--pv-border);
		padding: 16px 0;
		max-height: none;
		overflow-x: auto;
	}

	.pvb-sidebar__list {
		display: flex;
		gap: 0;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}

	.pvb-sidebar__list li {
		flex-shrink: 0;
	}

	.pvb-sidebar__link {
		border-left: none;
		border-bottom: 3px solid transparent;
		padding: 8px 14px;
		white-space: nowrap;
		font-size: 13px;
	}

	.pvb-sidebar__link--active {
		border-bottom-color: var(--pv-blue);
		border-left-color: transparent;
	}

	.pvb-main {
		padding: 0 0 32px;
	}

	.pvb-section {
		padding: 28px 0;
	}

	.pvb-section__heading {
		font-size: 20px;
	}

	/* --- Variant C mobile: single column --- */
	.pvc-hero__text {
		padding: 24px 16px;
	}

	.pvc-hero__title {
		font-size: 24px;
	}

	.pvc-grid {
		grid-template-columns: 1fr;
		padding: 0 16px;
		margin: 20px auto;
	}

	.pvc-card--wide,
	.pvc-card:last-child:nth-child(odd) {
		grid-column: span 1;
	}

	.pvc-card__heading {
		padding: 16px 16px 0;
	}

	.pvc-card__body {
		padding: 12px 16px 20px;
	}

	.pvc-wide-section {
		padding: 28px 16px;
	}

	.pvc-wide-section__heading {
		font-size: 20px;
	}

	/* --- Variant C info cards + editions mobile --- */
	.pvc-grid--info {
		grid-template-columns: 1fr;
		padding: 0 16px;
		margin: 20px auto;
	}

	.pvc-infocard--wide {
		grid-column: span 1;
	}

	.pvc-infocard__value {
		font-size: 26px;
	}

	.pvc-editions-section {
		padding: 8px 16px 24px;
	}

	.pvc-egrid {
		grid-template-columns: 1fr;
	}

	.pvc-egrid--one,
	.pvc-egrid--two,
	.pvc-egrid--two-rez,
	.pvc-egrid--three,
	.pvc-egrid--three-rez {
		grid-template-columns: 1fr;
	}

	.pvc-earticles-grid {
		grid-template-columns: 1fr;
	}

	.pvc-edition__header {
		flex-wrap: wrap;
		gap: 8px;
	}

	.pvc-edition__pill {
		font-size: 11px;
	}

	/* --- Variant D mobile: timeline collapses to left border --- */
	.pvd-hero {
		min-height: 200px;
	}

	.pvd-hero__overlay {
		padding: 32px 20px 24px;
	}

	.pvd-hero__title {
		font-size: 24px;
	}

	.pvd-timeline {
		padding: 24px 16px 24px 16px;
	}

	.pvd-timeline__line {
		display: none;
	}

	.pvd-node {
		padding-bottom: 20px;
	}

	.pvd-node__marker {
		display: none;
	}

	.pvd-node__content {
		border-left: 4px solid var(--pv-navy);
		border-radius: 0 var(--pv-radius-lg) var(--pv-radius-lg) 0;
		padding: 20px;
	}

	.pvd-node__content::before {
		display: none;
	}

	.pvd-node__title {
		font-size: 18px;
	}

	/* --- Shared responsive --- */
	.pv-articles-grid,
	.pv-articles-grid--three {
		grid-template-columns: 1fr;
	}

	.pv-partners {
		gap: 12px;
	}

	.pv-accordion__header {
		padding: 12px 16px;
		font-size: 15px;
	}

	.pv-accordion__content {
		padding: 16px;
	}

	.pv-accordion--year .pv-accordion__body {
		padding: 16px;
	}

	.pv-download {
		padding: 12px 14px;
		gap: 10px;
	}

	.pv-download__title {
		font-size: 14px;
	}
}

/* Small mobile */
@media (max-width: 400px) {
	.program-tabs__tab {
		padding: 10px 12px;
		font-size: 12px;
	}

	.pva-hero__title,
	.pvb-hero__title,
	.pvc-hero__title,
	.pvd-hero__title {
		font-size: 22px;
	}

	.pvc-egrid {
		grid-template-columns: 1fr;
	}
}

/* ================================================================
   REDUCED MOTION
   ================================================================ */
@media (prefers-reduced-motion: reduce) {
	.pv-download,
	.pv-download__arrow,
	.pv-accordion__icon::before,
	.pv-accordion__icon::after,
	.pv-article,
	.pvc-card,
	.pv-partner,
	.pvb-sidebar__link,
	.program-tabs__tab,
	.pvc-edition {
		transition: none;
	}
}

/* ================================================================
   PRINT
   ================================================================ */
@media print {
	.program-tabs {
		display: none;
	}

	.program-variant[hidden] {
		display: block !important;
		page-break-before: always;
	}

	.pvb-sidebar {
		display: none;
	}
}

/* Hero fără imagine de copertă — textul ocupă toată lățimea. */
.pvc-hero--no-media .pvc-hero__inner {
	grid-template-columns: 1fr;
	min-height: 0;
	padding-top: 32px;
	padding-bottom: 32px;
}
