/* ═══════════════════════════════════════════════════════════════════
   ITRC — CORE STYLES
   ═══════════════════════════════════════════════════════════════════

   Se încarcă pe TOATE paginile, după tokens.css.
   Conține:
     - Reset minimal
     - Typography globale (h1-h6, p, a, strong, em, small)
     - Layout shells (.shell, .shell-wide, .shell-narrow, .shell-compact)
     - Utility (.eyebrow, .skip-link, container helpers)
     - Component: tpl-hero (TOATE variantele unificate)
     - Component: site-footer (markup actual din footer.php)
     - Component: pagination
     - Component: table utility (folosit ocazional în content)
     - Component: quick-actions (scrolltop + phone)
     - Focus management + reduced motion

   ORDINE: reset → base → utilities → components
   (cascade naturală + specificitate, fără @layer pentru a evita
    conflicte cu vendor CSS-uri ne-încadrate în layer-uri)

   Versiune: 2.0.1 (mai 2026)
   ═══════════════════════════════════════════════════════════════════ */


/* ═══════════════════════════════════════════════════════════════════
   SECȚIUNEA: RESET — Reset minimal (înlocuiește Eric Meyer din institute.css)
   ═══════════════════════════════════════════════════════════════════ */


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

	html,
	body,
	h1, h2, h3, h4, h5, h6,
	p, blockquote, pre,
	dl, dd, ol, ul,
	figure, hr,
	fieldset, legend {
		margin: 0;
		padding: 0;
	}

	ol, ul {
		list-style: none;
	}

	img, picture, video, canvas, svg {
		max-width: 100%;
		display: block;
	}

	/* height: auto DOAR pentru imaginile din content (the_content, articles, cards).
	   Pentru imaginile cu attribute width/height explicit (logo, etc.) lăsăm
	   browserul să respecte attributele HTML. */
	.entry-content img,
	.page-content img,
	.page-card img,
	figure img,
	.wp-block-image img {
		height: auto;
	}

	/* Logo brand: stilurile sunt în header.css (.navbar-brand-item) cu height 90px
	   desktop / 78px sticky scrolled. NU dublăm aici. */

	iframe {
		max-width: 100%;
		border: 0;
	}

	input, button, textarea, select {
		font: inherit;
		color: inherit;
	}

	button {
		background: none;
		border: 0;
		cursor: pointer;
	}

	p:empty {
		display: none;
	}

	hr {
		width: 100%;
		border: 0;
		border-top: 1px solid var(--color-border);
	}

	table {
		border-collapse: collapse;
		border-spacing: 0;
	}


/* ═══════════════════════════════════════════════════════════════════
   SECȚIUNEA: BASE — Element defaults (HTML native)
   ═══════════════════════════════════════════════════════════════════ */


	html {
		font-size: 16px;
		-webkit-text-size-adjust: 100%;
		scroll-behavior: smooth;
	}

	body {
		font-family: var(--font-reading);
		font-size: var(--text-base);
		font-weight: var(--font-weight-regular);
		line-height: var(--leading-normal);
		color: var(--color-text);
		background-color: var(--color-surface-base);
		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale;
	}

	h1, h2, h3, h4, h5, h6 {
		font-family: var(--font-serif);
		font-weight: var(--font-weight-bold);
		line-height: var(--leading-tight);
		color: var(--color-brand-navy);
		margin: 0 0 var(--space-4) 0;
		letter-spacing: var(--tracking-tight);
	}

	/* Aliniat cu noua scală tipografie sistematică */
	h1 {
		font-size: var(--type-h1-size);
		line-height: var(--type-h1-leading);
		letter-spacing: var(--type-h1-tracking);
	}
	h2 {
		font-size: var(--type-h2-size);
		line-height: var(--type-h2-leading);
		letter-spacing: var(--type-h2-tracking);
	}
	h3 {
		font-size: var(--type-h3-size);
		font-weight: var(--type-h3-weight);
		line-height: var(--type-h3-leading);
		letter-spacing: var(--type-h3-tracking);
	}
	h4 {
		font-family: var(--type-h4-family);
		font-size: var(--type-h4-size);
		line-height: var(--type-h4-leading);
		letter-spacing: var(--type-h4-tracking);
	}
	h5 {
		font-size: var(--text-base);
		font-weight: var(--font-weight-semibold);
	}
	h6 {
		font-size: var(--text-sm);
		font-weight: var(--font-weight-semibold);
	}

	p {
		margin: 0 0 var(--space-4) 0;
		line-height: var(--leading-normal);
	}

	a {
		color: var(--color-brand-primary);
		text-decoration: none;
		transition: color var(--duration-fast) var(--ease-out);
	}

	a:hover,
	a:focus-visible {
		color: var(--color-brand-primary-dark);
		text-decoration: underline;
	}

	strong, b {
		font-weight: var(--font-weight-semibold);
		color: inherit;
	}

	em, i, dfn, cite {
		font-style: italic;
	}

	small {
		font-size: var(--text-sm);
		color: var(--color-text-muted);
	}


/* ═══════════════════════════════════════════════════════════════════
   SECȚIUNEA: UTILITIES — Helpers reutilizabili
   ═══════════════════════════════════════════════════════════════════ */


	/* ─── Shell containers (înlocuiește .container Bootstrap unde e cazul) ─── */

	.shell-wide {
		width: min(var(--shell-wide), calc(100% - var(--shell-gutter)));
		margin-inline: auto;
	}

	.shell {
		width: min(var(--shell-default), calc(100% - var(--shell-gutter)));
		margin-inline: auto;
	}

	.shell-narrow {
		width: min(var(--shell-narrow), calc(100% - var(--shell-gutter)));
		margin-inline: auto;
	}

	.shell-compact {
		width: min(var(--shell-compact), calc(100% - var(--shell-gutter)));
		margin-inline: auto;
	}

	@media screen and (max-width: 767.98px) {
		.shell-wide,
		.shell,
		.shell-narrow,
		.shell-compact {
			width: min(100% - 24px, 100%);
		}
	}


	/* ─── Eyebrow utility ─── */

	.eyebrow {
		display: inline-block;
		font-family: var(--font-ui);
		font-size: var(--eyebrow-size);
		font-weight: var(--eyebrow-weight);
		letter-spacing: var(--eyebrow-tracking);
		text-transform: var(--eyebrow-transform);
		color: var(--color-brand-primary);
		margin-bottom: var(--space-2);
	}

	.eyebrow-accent  { color: var(--color-accent); }
	.eyebrow-on-dark { color: var(--color-accent); }


	/* ─── Skip link (accessibility) ─── */

	.skip-link {
		position: absolute;
		top: -100px;
		left: var(--space-4);
		padding: var(--space-3) var(--space-5);
		background: var(--color-brand-navy);
		color: var(--color-on-dark);
		font-family: var(--font-ui);
		font-weight: var(--font-weight-semibold);
		border-radius: var(--radius-sm);
		z-index: var(--z-tooltip);
		transition: top var(--duration-med) var(--ease-out);
	}

	.skip-link:focus,
	.skip-link:focus-visible {
		top: var(--space-4);
		text-decoration: none;
		color: var(--color-on-dark);
	}

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

	.screen-reader-text:focus {
		clip: auto;
		width: auto; height: auto;
		display: block;
		padding: var(--space-3);
		background: var(--color-brand-navy);
		color: var(--color-on-dark);
	}


	/* ─── Focus management ─── */

	:focus {
		outline: none;
	}

	:focus-visible {
		outline: 2px solid var(--color-brand-primary);
		outline-offset: 2px;
		border-radius: var(--radius-sm);
	}


	/* ─── Content visibility — boost performance pe secțiuni below-fold ─── */

	.cv-auto {
		content-visibility: auto;
		contain-intrinsic-size: auto 600px;
	}


	/* ─── Reduced motion (accessibility) ─── */

	@media (prefers-reduced-motion: reduce) {
		*, *::before, *::after {
			animation-duration: 0.01ms !important;
			animation-iteration-count: 1 !important;
			transition-duration: 0.01ms !important;
			scroll-behavior: auto !important;
		}
	}


	/* ─── TYPOGRAPHY UTILITY CLASSES ─── */
	/* Folosește aceste clase pentru a aplica un nivel de tipografie pe elemente
	   fără să schimbi tagul HTML semantic.
	   Exemple:
	     <h2 class="type-display">      → h2 semantic, look ca display
	     <p class="type-lead">           → paragraf cu look "lead"
	     <span class="type-eyebrow">     → eyebrow inline
	*/

	.type-display {
		font-family: var(--type-display-family);
		font-size: var(--type-display-size);
		font-weight: var(--type-display-weight);
		line-height: var(--type-display-leading);
		letter-spacing: var(--type-display-tracking);
	}

	.type-h1 {
		font-family: var(--type-h1-family);
		font-size: var(--type-h1-size);
		font-weight: var(--type-h1-weight);
		line-height: var(--type-h1-leading);
		letter-spacing: var(--type-h1-tracking);
	}

	.type-h2 {
		font-family: var(--type-h2-family);
		font-size: var(--type-h2-size);
		font-weight: var(--type-h2-weight);
		line-height: var(--type-h2-leading);
		letter-spacing: var(--type-h2-tracking);
	}

	.type-h3 {
		font-family: var(--type-h3-family);
		font-size: var(--type-h3-size);
		font-weight: var(--type-h3-weight);
		line-height: var(--type-h3-leading);
		letter-spacing: var(--type-h3-tracking);
	}

	.type-h4 {
		font-family: var(--type-h4-family);
		font-size: var(--type-h4-size);
		font-weight: var(--type-h4-weight);
		line-height: var(--type-h4-leading);
		letter-spacing: var(--type-h4-tracking);
	}

	.type-eyebrow {
		display: inline-block;
		font-family: var(--type-eyebrow-family);
		font-size: var(--type-eyebrow-size);
		font-weight: var(--type-eyebrow-weight);
		line-height: var(--type-eyebrow-leading);
		letter-spacing: var(--type-eyebrow-tracking);
		text-transform: var(--type-eyebrow-transform);
		color: var(--color-brand-primary);
	}

	.type-lead {
		font-family: var(--type-lead-family);
		font-size: var(--type-lead-size);
		font-weight: var(--type-lead-weight);
		line-height: var(--type-lead-leading);
		letter-spacing: var(--type-lead-tracking);
	}

	.type-body {
		font-family: var(--type-body-family);
		font-size: var(--type-body-size);
		font-weight: var(--type-body-weight);
		line-height: var(--type-body-leading);
		letter-spacing: var(--type-body-tracking);
	}

	.type-small {
		font-family: var(--type-small-family);
		font-size: var(--type-small-size);
		font-weight: var(--type-small-weight);
		line-height: var(--type-small-leading);
		letter-spacing: var(--type-small-tracking);
	}

	.type-caption {
		font-family: var(--type-caption-family);
		font-size: var(--type-caption-size);
		font-weight: var(--type-caption-weight);
		line-height: var(--type-caption-leading);
		letter-spacing: var(--type-caption-tracking);
	}

	/* Variantă on-dark pentru eyebrow */
	.type-eyebrow.on-dark,
	.on-dark .type-eyebrow {
		color: var(--color-accent);
	}


	/* ─────────────────────────────────────────────────────────────────
	   SECTION-HEADING — pattern unificat pentru titluri de secțiune
	   Folosit la TOATE widget-urile homepage + template archive.

	   Markup standard:
	     <header class="section-heading section-heading-center">
	         <span class="section-heading-eyebrow section-heading-eyebrow-muted">ACTUALITATE</span>
	         <h2 class="section-heading-title">Noutăți și calendar</h2>
	         <p class="section-heading-desc">Urmărește cele mai recente…</p>
	     </header>

	   Variante eyebrow:
	     section-heading-eyebrow-accent → galben (hot: vocii, admitere)
	     section-heading-eyebrow-muted  → gri (neutru: știri, prezentare, formare)

	   Spacing FIX (indiferent de widget):
	     eyebrow → title:           12px
	     title   → desc:            16px
	     section-heading → content: 40px (margin-bottom)
	   ───────────────────────────────────────────────────────────────── */

	.section-heading {
		max-width: 760px;
		margin: var(--space-4) 0 var(--space-7) 0;
		padding: 0;
	}

	.section-heading-center {
		margin-left: auto;
		margin-right: auto;
		text-align: center;
	}

	.section-heading-eyebrow {
		display: inline-block;
		font-family: var(--type-eyebrow-family);
		font-size: var(--type-eyebrow-size);
		font-weight: var(--type-eyebrow-weight);
		line-height: var(--type-eyebrow-leading);
		letter-spacing: var(--type-eyebrow-tracking);
		text-transform: var(--type-eyebrow-transform);
		margin: 0 0 var(--space-3) 0;
	}

	.section-heading-eyebrow-accent {
		color: var(--color-accent);
	}

	.section-heading-eyebrow-muted {
		color: var(--color-text-muted);
	}

	.section-heading-title {
		font-family: var(--type-h2-family);
		font-size: var(--widget-title-size);
		font-weight: var(--type-h2-weight);
		line-height: var(--type-h2-leading);
		letter-spacing: var(--type-h2-tracking);
		color: var(--color-brand-navy);
		margin: 0 0 var(--space-4) 0;
	}

	.section-heading-title:last-child {
		margin-bottom: 0;
	}

	/* .section-heading-desc {
		font-family: var(--type-lead-family);
		font-size: var(--type-lead-size);
		font-weight: var(--type-lead-weight);
		line-height: var(--type-lead-leading);
		color: var(--color-text-muted);
		margin: 0;
	} */
	.section-heading-desc {
		margin: 0;
		font-family: var(--type-lead-family);
		font-size: var(--text-base);
		font-weight: var(--type-lead-weight);
		line-height: 1.65;
		color: var(--color-text-muted);
	}

	.section-heading-desc :last-child {
		margin-bottom: 0;
	}

	/* On-dark variant pentru secțiuni cu fundal închis */
	.section-heading.on-dark .section-heading-title,
	.on-dark .section-heading-title {
		color: var(--color-on-dark);
	}

	.section-heading.on-dark .section-heading-desc,
	.on-dark .section-heading-desc {
		color: var(--color-on-dark-soft);
	}


	/* ─── Compat shim pentru clasele legacy din widget-uri ─────────────
	   Atâta timp cât widget-urile încă au markup cu eyebrow + title + intro
	   cu clase proprii (voices-eyebrow, voices-title, voices-intro,
	   updates-widget__kicker etc.), suprascriem regulile lor cu valorile
	   din section-heading. Așa, omogenizarea funcționează indiferent
	   dacă widget-ul a fost rescris sau nu.
	   ──────────────────────────────────────────────────────────────── */

	/* Voices widget — HOT (galben) */
	.voices-heading {
		max-width: 760px;
		margin: 0 auto var(--space-7);
		text-align: center;
	}
	.voices-eyebrow {
		display: inline-block;
		font-family: var(--type-eyebrow-family);
		font-size: var(--type-eyebrow-size);
		font-weight: var(--type-eyebrow-weight);
		letter-spacing: var(--type-eyebrow-tracking);
		text-transform: var(--type-eyebrow-transform);
		color: var(--color-accent);
		margin: 0 0 var(--space-3) 0;
	}
	.voices-title {
		font-family: var(--type-h2-family);
		font-size: var(--widget-title-size);
		font-weight: var(--type-h2-weight);
		line-height: var(--type-h2-leading);
		letter-spacing: var(--type-h2-tracking);
		color: var(--color-brand-navy);
		margin: 0 0 var(--space-4) 0;
	}
	.voices-title:last-child {
		margin-bottom: 0;
	}
	.voices-intro {
		font-family: var(--type-lead-family);
		font-size: var(--type-lead-size);
		line-height: var(--type-lead-leading);
		color: var(--color-text-muted);
		margin: 0;
	}

	/* Updates widget — NEUTRU (gri) */
	.updates-widget__intro {
		max-width: 760px;
		margin: 0 auto var(--space-7);
		text-align: center;
	}
	.updates-widget__kicker {
		display: inline-block;
		font-family: var(--type-eyebrow-family);
		font-size: var(--type-eyebrow-size);
		font-weight: var(--type-eyebrow-weight);
		letter-spacing: var(--type-eyebrow-tracking);
		text-transform: var(--type-eyebrow-transform);
		color: var(--color-text-muted);
		margin: 0 0 var(--space-3) 0;
	}
	.updates-widget__title {
		font-family: var(--type-h2-family);
		font-size: var(--widget-title-size);
		font-weight: var(--type-h2-weight);
		line-height: var(--type-h2-leading);
		letter-spacing: var(--type-h2-tracking);
		color: var(--color-brand-navy);
		margin: 0 0 var(--space-4) 0;
	}
	.updates-widget__title:last-child {
		margin-bottom: 0;
	}
	.updates-widget__desc {
		font-family: var(--type-lead-family);
		font-size: var(--type-lead-size);
		line-height: var(--type-lead-leading);
		color: var(--color-text-muted);
		margin: 0;
	}
	.updates-widget__desc p:last-child {
		margin-bottom: 0;
	}


/* ═══════════════════════════════════════════════════════════════════
   SECȚIUNEA: COMPONENTS — Componente globale (orice pagină)
   ═══════════════════════════════════════════════════════════════════ */


	/* ─────────────────────────────────────────────────────────────
	   tpl-hero — header comun la TOATE template-urile
	   Variante:
	     .tpl-hero                 — bază
	     .tpl-hero-with-desc       — + descriere (page-contact, page-prezentare, etc.)
	     .tpl-hero-with-cta        — + descriere + butoane (admitere, sustine, chemarea)
	     .tpl-hero-archive         — eyebrow + titlu + contor (category, category-evenimente)
	     .tpl-hero-minimal         — fără eyebrow, doar titlu (page.php legal)
	     .tpl-hero-with-image      — orthogonal: fundal cu featured image + overlay
	     .tpl-hero-no-image        — orthogonal: fundal solid (fallback)
	   ───────────────────────────────────────────────────────────── */

	.tpl-hero {
		position: relative;
		display: flex;
		align-items: center;
		justify-content: center;
		min-height: var(--tpl-hero-min-h);
		padding: var(--tpl-hero-padding-y) var(--tpl-hero-padding-x);
		background: var(--tpl-hero-bg);
		color: var(--tpl-hero-color);
		background-size: cover;
		background-position: center;
		background-repeat: no-repeat;
		overflow: hidden;
		text-align: center;
	}

	/* Overlay activ DOAR când e featured image (controlat prin clasă) */
	.tpl-hero-with-image::before {
		content: "";
		position: absolute;
		inset: 0;
		background: var(--tpl-hero-overlay);
		z-index: 1;
	}

	/* Container inner — controlează lățimea conținutului în hero */
	.tpl-hero-inner {
		position: relative;
		z-index: 2;
		max-width: 800px;
		width: 100%;
	}

	/* Eyebrow în hero */
	.tpl-hero-eyebrow {
		display: inline-block;
		font-family: var(--font-ui);
		font-size: var(--eyebrow-size);
		font-weight: var(--eyebrow-weight);
		letter-spacing: var(--eyebrow-tracking);
		text-transform: var(--eyebrow-transform);
		color: var(--tpl-hero-eyebrow-color);
		margin-bottom: var(--space-3);
	}

	/* Titlu — fluid, scale automată */
	.tpl-hero-title {
		font-family: var(--font-serif);
		font-size: clamp(var(--text-2xl), 4vw + 0.5rem, var(--text-4xl));
		font-weight: var(--font-weight-bold);
		line-height: var(--leading-tight);
		letter-spacing: var(--tracking-tight);
		color: var(--tpl-hero-color);
		margin: 0 0 var(--space-3) 0;
	}

	/* Descriere */
	.tpl-hero-desc {
		font-family: var(--font-reading);
		font-size: var(--text-lg);
		line-height: var(--leading-snug);
		color: var(--color-on-dark-soft);
		margin: 0 auto var(--space-5);
		max-width: 680px;
	}

	/* CTA wrapper */
	.tpl-hero-cta {
		display: flex;
		flex-wrap: wrap;
		gap: var(--space-3);
		justify-content: center;
		margin-top: var(--space-5);
	}

	/* CTA buttons */
	.tpl-hero-cta .btn {
		font-family: var(--font-ui);
		font-weight: var(--font-weight-semibold);
		font-size: var(--text-base);
		padding: var(--space-3) var(--space-6);
		border-radius: var(--tpl-hero-btn-radius);
		text-decoration: none;
		transition: all var(--duration-fast) var(--ease-out);
		display: inline-flex;
		align-items: center;
		gap: var(--space-2);
	}

	.tpl-hero-cta .btn-primary {
		background: var(--color-accent);
		color: var(--color-brand-navy);
		border: 2px solid var(--color-accent);
	}

	.tpl-hero-cta .btn-primary:hover {
		background: var(--color-accent-hover);
		border-color: var(--color-accent-hover);
		color: var(--color-brand-navy);
		text-decoration: none;
		transform: translateY(-1px);
		box-shadow: var(--shadow-md);
	}

	.tpl-hero-cta .btn-outline {
		background: transparent;
		color: var(--color-on-dark);
		border: 2px solid var(--color-border-on-dark);
	}

	.tpl-hero-cta .btn-outline:hover {
		background: rgba(255, 255, 255, 0.1);
		border-color: var(--color-on-dark);
		color: var(--color-on-dark);
		text-decoration: none;
	}

	/* Contor articole (archive) */
	.tpl-hero-count {
		display: inline-block;
		font-family: var(--font-ui);
		font-size: var(--text-sm);
		font-weight: var(--font-weight-medium);
		color: var(--color-on-dark-muted);
		margin-top: var(--space-3);
		padding: var(--space-2) var(--space-4);
		background: rgba(255, 255, 255, 0.08);
		border: 1px solid var(--color-border-on-dark);
		border-radius: var(--radius-pill);
	}

	/* Variantă minimal — page.php (legal, generic) */
	.tpl-hero-minimal {
		min-height: var(--tpl-hero-minimal-min-h);
		padding: var(--tpl-hero-minimal-padding-y) var(--tpl-hero-padding-x);
	}

	.tpl-hero-minimal .tpl-hero-title {
		font-size: clamp(var(--text-xl), 3vw, var(--text-3xl));
		margin-bottom: 0;
	}

	/* Variantă no-image — fallback fără background-image */
	.tpl-hero-no-image {
		background-image: none;
	}

	/* Mobile adjustments */
	@media (max-width: 767.98px) {
		.tpl-hero {
			padding: var(--space-6) var(--space-4);
		}

		.tpl-hero-desc {
			font-size: var(--text-base);
		}

		.tpl-hero-cta {
			flex-direction: column;
			align-items: stretch;
		}

		.tpl-hero-cta .btn {
			justify-content: center;
		}
	}


	/* ─────────────────────────────────────────────────────────────
	   Quick actions (scrolltop + telefon, fixed bottom-right)
	   Folosit în header.php
	   ───────────────────────────────────────────────────────────── */

	.quick-actions {
		position: fixed;
		bottom: var(--space-4);
		right: var(--space-4);
		display: flex;
		flex-direction: column;
		gap: var(--space-2);
		z-index: var(--z-sticky);
	}

	.quick-actions .btn {
		width: 48px;
		height: 48px;
		border-radius: var(--radius-circle);
		display: inline-flex;
		align-items: center;
		justify-content: center;
		background: var(--color-brand-primary);
		color: var(--color-on-dark);
		font-size: var(--text-base);
		text-decoration: none;
		box-shadow: var(--shadow-md);
		transition: all var(--duration-fast) var(--ease-out);
		border: 0;
	}

	.quick-actions .btn:hover {
		background: var(--color-brand-primary-dark);
		color: var(--color-on-dark);
		text-decoration: none;
		transform: translateY(-2px);
		box-shadow: var(--shadow-lg);
	}

	.quick-actions .quick-contact-phone {
		background: var(--color-accent);
		color: var(--color-brand-navy);
	}

	.quick-actions .quick-contact-phone:hover {
		background: var(--color-accent-hover);
		color: var(--color-brand-navy);
	}

	/* Scrolltop — vizibil mereu (legacy behavior). Dacă vrei fade-in pe scroll,
	   adaugă regulile pentru .is-visible în JS separat. */


	/* ─────────────────────────────────────────────────────────────
	   Pagination — folosit pe archive (category, search)
	   ───────────────────────────────────────────────────────────── */

	.pagination {
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
		gap: var(--space-1);
		margin: var(--space-5) auto;
		padding: 0;
		list-style: none;
	}

	.pagination > li > a,
	.pagination > li > span,
	.pagination .page-numbers {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		min-width: 40px;
		height: 40px;
		padding: 0 var(--space-3);
		font-family: var(--font-ui);
		font-size: var(--text-sm);
		font-weight: var(--font-weight-medium);
		color: var(--color-text);
		text-decoration: none;
		background: var(--color-surface);
		border: 1px solid var(--color-border);
		border-radius: var(--radius-2xs);
		transition: all var(--duration-fast) var(--ease-out);
	}

	.pagination > li > a:hover,
	.pagination .page-numbers:hover {
		background: var(--color-surface-soft);
		border-color: var(--color-brand-primary);
		color: var(--color-brand-primary);
		text-decoration: none;
	}

	.pagination > .active > a,
	.pagination > .active > span,
	.pagination .page-numbers.current {
		background: var(--color-brand-primary);
		border-color: var(--color-brand-primary);
		color: var(--color-on-dark);
	}


	/* ─────────────────────────────────────────────────────────────
	   Tables — utility pentru tabele din content (the_content)
	   ───────────────────────────────────────────────────────────── */

	.page-content table,
	.entry-content table {
		width: 100%;
		margin: var(--space-5) auto;
		border-collapse: collapse;
		font-family: var(--font-reading);
	}

	.page-content tr:nth-of-type(odd),
	.entry-content tr:nth-of-type(odd) {
		background: var(--color-surface-soft);
	}

	.page-content th,
	.page-content thead,
	.entry-content th,
	.entry-content thead {
		background: var(--color-accent);
		color: var(--color-brand-navy);
		font-weight: var(--font-weight-bold);
	}

	.page-content td,
	.page-content th,
	.entry-content td,
	.entry-content th {
		padding: var(--space-3);
		border: 1px solid var(--color-border);
		text-align: left;
		font-size: var(--text-base);
	}

	@media (max-width: 768px) {
		.page-content table,
		.entry-content table {
			display: block;
			overflow-x: auto;
			white-space: nowrap;
		}
	}


	/* ═══════════════════════════════════════════════════════════════
	   SITE FOOTER — v2 professional
	   Structură:
	     1. Newsletter bar (top, full-width, fundal subtil)
	     2. Footer main (4 coloane: Brand | Resurse | Media | Vizitează)
	     3. Partner logos strip (bar, full-width, fundal mai închis)
	     4. Bottom bar (legal menu + social + copyright + lang switcher)
	   ═══════════════════════════════════════════════════════════════ */

	/* ─── Footer root container ─── */

	.site-footer {
		background-color: var(--footer-bg);
		color: var(--footer-color);
	}

	/* Legacy support pentru template-urile actuale care folosesc tag <footer> și #footer */
	footer {
		background-color: var(--footer-bg);
		color: var(--footer-color);
	}

	#footer {
		margin: 0;
		padding: clamp(2.5rem, 5vw, 4rem) 0 var(--space-5);
	}


	/* ─── 1. Newsletter bar — compact EXACT + micro-consimțământ ───
	   Layout desktop: icon + text left / input + button right.
	   Textul vizibil vine din footer.php. Formularul Fluent trebuie să conțină
	   ideal DOAR email + submit; dacă are titlu/descriere/checkbox, le ascundem.
	   ───────────────────────────────────────────────────────────── */

	.site-footer-newsletter,
	.site-footer-newsletter.site-footer-newsletter--compact,
	.site-footer-newsletter.site-footer-newsletter-compact {
		background: transparent;
		border: 0;
		padding: 3rem 0 2rem;
	}

	.site-footer-newsletter--compact .site-footer-newsletter-inner,
	.site-footer-newsletter-compact .site-footer-newsletter-inner {
		width: min(var(--shell-default, 1140px), 100%);
		margin-inline: auto;

		display: grid;
		grid-template-columns: minmax(240px, 1fr) minmax(360px, 520px);
		align-items: center;
		gap: clamp(1.25rem, 3vw, 2rem);

		min-height: 78px;
		padding: 14px 26px;

		background:
			linear-gradient(
				135deg,
				rgba(0, 58, 88, 0.98) 0%,
				rgba(0, 68, 104, 0.98) 100%
			);

		border: 1px solid rgba(255, 255, 255, 0.05);
		border-radius: 8px;
		box-shadow:
			0 12px 28px rgba(0, 0, 0, 0.18),
			inset 0 1px 0 rgba(255, 255, 255, 0.05);
	}

	.site-footer-newsletter--compact .site-footer-newsletter-content,
	.site-footer-newsletter-compact .site-footer-newsletter-content {
		display: flex;
		align-items: center;
		gap: 14px;
		min-width: 0;
		margin: 0;
	}

	.site-footer-newsletter--compact .site-footer-newsletter-icon,
	.site-footer-newsletter-compact .site-footer-newsletter-icon {
		width: 24px;
		height: 24px;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		flex: 0 0 24px;
		color: var(--color-accent, #e5bd07);
		font-size: 1.2rem;
		line-height: 1;
	}

	.site-footer-newsletter--compact .site-footer-newsletter-copy,
	.site-footer-newsletter--compact .site-footer-newsletter-text,
	.site-footer-newsletter-compact .site-footer-newsletter-copy,
	.site-footer-newsletter-compact .site-footer-newsletter-text {
		display: flex;
		flex-direction: column;
		justify-content: center;
		min-width: 0;
		line-height: 1.2;
	}

	.site-footer-newsletter--compact .site-footer-newsletter-title,
	.site-footer-newsletter-compact .site-footer-newsletter-title {
		margin: 0;
		font-family: var(--font-serif);
		font-size: 1rem;
		font-weight: var(--font-weight-bold, 700);
		line-height: 1.12;
		letter-spacing: -0.01em;
		color: var(--color-on-dark, #ffffff);
	}

	.site-footer-newsletter--compact .site-footer-newsletter-desc,
	.site-footer-newsletter--compact .site-footer-newsletter-meta,
	.site-footer-newsletter-compact .site-footer-newsletter-desc,
	.site-footer-newsletter-compact .site-footer-newsletter-meta {
		margin: 2px 0 0;
		font-family: var(--font-reading);
		font-size: 0.8125rem;
		font-weight: var(--font-weight-regular, 400);
		line-height: 1.25;
		color: rgba(255, 255, 255, 0.78);
	}

	.site-footer-newsletter--compact .site-footer-newsletter-form,
	.site-footer-newsletter-compact .site-footer-newsletter-form {
		width: 100%;
		max-width: 520px;
		min-width: 0;
		margin: 0 0 0 auto;
	}

	.site-footer-newsletter--compact form.site-footer-newsletter-form,
	.site-footer-newsletter-compact form.site-footer-newsletter-form {
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
		align-items: center;
		gap: 12px;
	}

	.site-footer-newsletter--compact .site-footer-newsletter-input,
	.site-footer-newsletter-compact .site-footer-newsletter-input {
		width: 100%;
		height: 42px;
		padding: 0 18px;
		font-family: var(--font-reading);
		font-size: 0.9375rem;
		font-weight: var(--font-weight-medium, 500);
		color: var(--color-on-dark, #ffffff);
		background: rgba(255, 255, 255, 0.08);
		border: 1px solid rgba(255, 255, 255, 0.22);
		border-radius: var(--radius-pill, 999px);
		box-shadow:
			inset 0 1px 0 rgba(255, 255, 255, 0.05),
			0 1px 0 rgba(0, 0, 0, 0.08);
		outline: none;
		transition:
			background var(--duration-fast) var(--ease-out),
			border-color var(--duration-fast) var(--ease-out),
			box-shadow var(--duration-fast) var(--ease-out);
	}

	.site-footer-newsletter--compact .site-footer-newsletter-input::placeholder,
	.site-footer-newsletter-compact .site-footer-newsletter-input::placeholder {
		color: rgba(255, 255, 255, 0.58);
	}

	.site-footer-newsletter--compact .site-footer-newsletter-input:focus,
	.site-footer-newsletter--compact .site-footer-newsletter-input:focus-visible,
	.site-footer-newsletter-compact .site-footer-newsletter-input:focus,
	.site-footer-newsletter-compact .site-footer-newsletter-input:focus-visible {
		background: rgba(255, 255, 255, 0.11);
		border-color: rgba(229, 189, 7, 0.48);
		box-shadow:
			0 0 0 3px rgba(229, 189, 7, 0.12),
			inset 0 1px 0 rgba(255, 255, 255, 0.06);
		outline: none;
	}

	.site-footer-newsletter--compact .site-footer-newsletter-submit,
	.site-footer-newsletter-compact .site-footer-newsletter-submit {
		height: 42px;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		padding: 0 28px;
		font-family: var(--font-ui);
		font-size: 0.9375rem;
		font-weight: var(--font-weight-bold, 700);
		color: var(--color-brand-navy, #0a2440);
		background: var(--color-accent, #e5bd07);
		border: 1px solid var(--color-accent, #e5bd07);
		border-radius: var(--radius-pill, 999px);
		white-space: nowrap;
		cursor: pointer;
		box-shadow: 0 8px 18px rgba(0, 0, 0, 0.14);
		transition:
			transform var(--duration-fast) var(--ease-out),
			background var(--duration-fast) var(--ease-out),
			border-color var(--duration-fast) var(--ease-out),
			box-shadow var(--duration-fast) var(--ease-out);
	}

	.site-footer-newsletter--compact .site-footer-newsletter-submit:hover,
	.site-footer-newsletter--compact .site-footer-newsletter-submit:focus-visible,
	.site-footer-newsletter-compact .site-footer-newsletter-submit:hover,
	.site-footer-newsletter-compact .site-footer-newsletter-submit:focus-visible {
		transform: translateY(-1px);
		background: var(--color-accent-hover, #c9a500);
		border-color: var(--color-accent-hover, #c9a500);
		outline: none;
	}

	.site-footer-newsletter--compact .site-footer-newsletter-legal,
	.site-footer-newsletter-compact .site-footer-newsletter-legal {
		margin: 12px auto 4px;
		font-family: var(--font-reading);
		font-size: 0.72rem;
		line-height: 1.35;
		color: rgba(255, 255, 255, 0.62);
		width: min(var(--shell-default, 1140px), 100%);
		display: block;
		text-align: center;
	}

	.site-footer-newsletter--compact .site-footer-newsletter-legal a,
	.site-footer-newsletter-compact .site-footer-newsletter-legal a {
		color: rgba(255, 255, 255, 0.84);
		text-decoration: underline;
		text-underline-offset: 2px;
	}

	.site-footer-newsletter--compact .site-footer-newsletter-consent,
	.site-footer-newsletter-compact .site-footer-newsletter-consent {
		grid-column: 2;
		display: flex;
		align-items: flex-start;
		gap: 8px;
		margin: -2px 0 0 auto;
		max-width: 520px;
		font-family: var(--font-reading);
		font-size: 0.75rem;
		line-height: 1.35;
		color: rgba(255, 255, 255, 0.68);
	}

	.site-footer-newsletter--compact .site-footer-newsletter-consent input,
	.site-footer-newsletter-compact .site-footer-newsletter-consent input {
		width: 14px;
		height: 14px;
		margin-top: 2px;
		accent-color: var(--color-accent, #e5bd07);
	}

	/* Fluent Forms: forțăm UI compact și ascundem conținutul juridic intern.
	   Formularul trebuie configurat cu email + submit pentru rezultat curat. */
	.site-footer-newsletter--compact .fluentform,
	.site-footer-newsletter--compact .fluentform form,
	.site-footer-newsletter--compact .frm-fluent-form,
	.site-footer-newsletter-compact .fluentform,
	.site-footer-newsletter-compact .fluentform form,
	.site-footer-newsletter-compact .frm-fluent-form {
		width: 100%;
		margin: 0 !important;
		padding: 0 !important;
	}

	.site-footer-newsletter--compact .ff_form_title,
	.site-footer-newsletter--compact .ff_form_description,
	.site-footer-newsletter--compact .ff-el-section-break,
	.site-footer-newsletter--compact .ff-el-form-top,
	.site-footer-newsletter--compact .fluentform .ff-el-group:not(:has(input[type="email"])):not(:has(button[type="submit"])):not(:has(input[type="submit"])),
	.site-footer-newsletter-compact .ff_form_title,
	.site-footer-newsletter-compact .ff_form_description,
	.site-footer-newsletter-compact .ff-el-section-break,
	.site-footer-newsletter-compact .ff-el-form-top,
	.site-footer-newsletter-compact .fluentform .ff-el-group:not(:has(input[type="email"])):not(:has(button[type="submit"])):not(:has(input[type="submit"])) {
		display: none !important;
	}

	.site-footer-newsletter--compact .fluentform form,
	.site-footer-newsletter--compact .frm-fluent-form,
	.site-footer-newsletter--compact .ff_t_c,
	.site-footer-newsletter--compact .ff-t-container,
	.site-footer-newsletter--compact .ff-el-input--content,
	.site-footer-newsletter-compact .fluentform form,
	.site-footer-newsletter-compact .frm-fluent-form,
	.site-footer-newsletter-compact .ff_t_c,
	.site-footer-newsletter-compact .ff-t-container,
	.site-footer-newsletter-compact .ff-el-input--content {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) auto;
		align-items: center;
		gap: 12px;
		width: 100%;
	}

	.site-footer-newsletter--compact .ff-el-group,
	.site-footer-newsletter-compact .ff-el-group {
		margin: 0 !important;
		min-width: 0;
	}

	.site-footer-newsletter--compact .ff-el-form-control,
	.site-footer-newsletter--compact input[type="email"],
	.site-footer-newsletter-compact .ff-el-form-control,
	.site-footer-newsletter-compact input[type="email"] {
		width: 100% !important;
		height: 42px !important;
		padding: 0 18px !important;
		font-family: var(--font-reading);
		font-size: 0.9375rem !important;
		color: var(--color-on-dark, #ffffff) !important;
		background: rgba(255, 255, 255, 0.08) !important;
		border: 1px solid rgba(255, 255, 255, 0.22) !important;
		border-radius: var(--radius-pill, 999px) !important;
		box-shadow: none !important;
		outline: none !important;
	}

	.site-footer-newsletter--compact .ff-btn-submit,
	.site-footer-newsletter--compact button[type="submit"],
	.site-footer-newsletter--compact input[type="submit"],
	.site-footer-newsletter-compact .ff-btn-submit,
	.site-footer-newsletter-compact button[type="submit"],
	.site-footer-newsletter-compact input[type="submit"] {
		width: auto !important;
		height: 42px !important;
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
		margin: 0 !important;
		padding: 0 28px !important;
		font-family: var(--font-ui);
		font-size: 0.9375rem !important;
		font-weight: var(--font-weight-bold, 700) !important;
		color: var(--color-brand-navy, #0a2440) !important;
		background: var(--color-accent, #e5bd07) !important;
		border: 1px solid var(--color-accent, #e5bd07) !important;
		border-radius: var(--radius-pill, 999px) !important;
		white-space: nowrap;
		cursor: pointer;
		box-shadow: 0 8px 18px rgba(0, 0, 0, 0.14);
	}

	.site-footer-newsletter--compact label,
	.site-footer-newsletter-compact label {
		position: absolute !important;
		width: 1px;
		height: 1px;
		padding: 0;
		margin: -1px;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
		white-space: nowrap;
		border: 0;
	}
	
	.footer-separator {
		margin: 0;
		width: 100%;
		background-image: url(../images/title-bg.png);
		height: 5px;
		opacity: 0.1;
	}


	/* Footer partner strip — discret, nu secțiune mare */
	.site-footer-partners--compact {
		background-color: var(--footer-bg-strip);
		padding: clamp(1.5rem, 3vw, 2.25rem) 0;
		border-top: 1px solid var(--footer-separator);
		border-bottom: 1px solid var(--footer-separator);
	}

	.site-footer-partners--compact .site-footer-partners-eyebrow {
		margin-bottom: 1rem;
		font-size: var(--text-xs, 0.75rem);
	}

	.site-footer-partners--compact .widget-logos__bar {
		gap: clamp(1.5rem, 4vw, 3rem);
	}

	.site-footer-partners--compact .widget-logos__bar img {
		height: clamp(36px, 4vw, 52px);
		opacity: 0.55;
		filter: grayscale(1) brightness(1.55);
	}

	@media (max-width: 991.98px) {
		.site-footer-newsletter--compact .site-footer-newsletter-inner,
		.site-footer-newsletter-compact .site-footer-newsletter-inner {
			grid-template-columns: 1fr;
			row-gap: 14px;
			align-items: stretch;
		}

		.site-footer-newsletter--compact .site-footer-newsletter-form,
		.site-footer-newsletter-compact .site-footer-newsletter-form,
		.site-footer-newsletter--compact .site-footer-newsletter-legal,
		.site-footer-newsletter-compact .site-footer-newsletter-legal,
		.site-footer-newsletter--compact .site-footer-newsletter-consent,
		.site-footer-newsletter-compact .site-footer-newsletter-consent {
			grid-column: 1;
			max-width: none;
			margin-left: 0;
		}
	}

	@media (max-width: 575.98px) {
		.site-footer-newsletter,
		.site-footer-newsletter.site-footer-newsletter--compact,
		.site-footer-newsletter.site-footer-newsletter-compact {
			padding-inline: var(--space-4, 1rem);
		}

		.site-footer-newsletter--compact .site-footer-newsletter-inner,
		.site-footer-newsletter-compact .site-footer-newsletter-inner {
			min-height: auto;
			padding: 16px;
		}

		.site-footer-newsletter--compact form.site-footer-newsletter-form,
		.site-footer-newsletter--compact .fluentform form,
		.site-footer-newsletter--compact .frm-fluent-form,
		.site-footer-newsletter--compact .ff_t_c,
		.site-footer-newsletter--compact .ff-t-container,
		.site-footer-newsletter--compact .ff-el-input--content,
		.site-footer-newsletter-compact form.site-footer-newsletter-form,
		.site-footer-newsletter-compact .fluentform form,
		.site-footer-newsletter-compact .frm-fluent-form,
		.site-footer-newsletter-compact .ff_t_c,
		.site-footer-newsletter-compact .ff-t-container,
		.site-footer-newsletter-compact .ff-el-input--content {
			grid-template-columns: 1fr !important;
			gap: 10px;
		}

		.site-footer-newsletter--compact .site-footer-newsletter-submit,
		.site-footer-newsletter--compact .ff-btn-submit,
		.site-footer-newsletter--compact button[type="submit"],
		.site-footer-newsletter--compact input[type="submit"],
		.site-footer-newsletter-compact .site-footer-newsletter-submit,
		.site-footer-newsletter-compact .ff-btn-submit,
		.site-footer-newsletter-compact button[type="submit"],
		.site-footer-newsletter-compact input[type="submit"] {
			width: 100% !important;
		}
	}


	/* ─── 2. Footer main — 4 coloane ─── */

	.site-footer-main {
		padding: clamp(2.5rem, 5vw, 4rem) 0 var(--space-7);
		box-shadow: inset 0 1px 0 rgb(255 255 255 / 15%), 0 -1px 0px rgb(0 0 0 / 40%);
	}

	.site-footer-grid {
		display: grid;
		grid-template-columns: 1.4fr 1fr 1fr 1.2fr;
		gap: clamp(2rem, 4vw, 3.5rem);
		max-width: var(--shell-wide);
		margin: 0 auto;
		padding: 0 var(--space-5);
	}

	@media (max-width: 991.98px) {
		.site-footer-grid {
			grid-template-columns: 1fr 1fr;
			gap: var(--space-6);
		}
	}

	@media (max-width: 575.98px) {
		.site-footer-grid {
			grid-template-columns: 1fr;
		}
	}

	/* ─── Coloana 1: Brand ─── */
	.footer-brand-header {
		display: flex;
	}

	.site-footer-brand-logo {
		display: flex;
		margin-right: var(--space-4);
		margin-bottom: var(--space-4);
		/* background: #004367; */
		border-radius: var(--radius-sm);
		padding: 0.5rem;
		width: fit-content;
		height: fit-content;
		/* box-shadow: 0 12px 28px rgba(0, 0, 0, 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.05); */
		box-shadow: 0px 4px 20px rgba(0, 0, 0, 0.18), inset -1px 0px 0 0px rgba(255, 255, 255, 0.05);
	}

	/* Logo footer — filter alb monocrom pentru fundal navy */
	.site-footer-brand-logo img {
		height: 64px;
		width: auto;
		max-width: 200px;
		/* filter: brightness(0) invert(1); */
		opacity: 0.95;
	}

	.footer-tagline-motto {
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: flex-start;
	}
	.site-footer-brand-tagline {
		font-family: var(--font-serif);
		font-size: var(--text-base);
		font-style: italic;
		color: var(--footer-heading-color);
		margin: 0 0 var(--space-2) 0;
	}

	.site-footer-brand-motto {
		font-family: var(--font-serif);
		font-size: var(--text-sm);
		font-style: italic;
		color: var(--footer-link-muted);
		margin: 0 0 var(--space-5) 0;
		letter-spacing: 0.02em;
	}

	.site-footer-contact-list {
		list-style: none;
		margin: 0;
		padding: 0;
		font-family: var(--font-reading);
		font-size: var(--text-sm);
		line-height: 1.7;
	}

	.site-footer-contact-list li {
		margin: 0 0 var(--space-2) 0;
		color: var(--footer-link);
	}

	.site-footer-contact-list strong {
		color: var(--color-on-dark);
		font-weight: var(--font-weight-semibold);
		display: inline-block;
		min-width: 70px;
	}

	.footer-social-brand {
		display: flex;
		align-items: center;
		margin-top: 2rem;
		flex-direction: row;
		gap: 1rem;
		justify-content: flex-start;
	}
	ul.footer-social {
		display: flex;
		gap: 1rem;
	}

	.footer-social-brand-label {
		margin-right: 0.25rem;
		font-family: var(--font-ui);
		font-size: 0.82rem;
		font-weight: 700;
		color: rgba(255, 255, 255, 0.78);
	}
	
	.footer-social li.ssm a {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 34px;
		height: 34px;
		border-radius: 999px;
		color: rgba(255, 255, 255, 0.86);
		background: var(--color-accent);
		border: 1px solid rgba(255, 255, 255, 0.12);
		text-decoration: none;
		transition: transform 0.2s ease, background-color 0.2s ease, color 0.2s ease;
	}
	
	.footer-social li.ssm a:hover {
		transform: translateY(-2px);
		color: var(--color-accent);
		background: rgba(255, 255, 255, 0.11);
	}


	/* ─── Coloane 2, 3, 4: heading + listă linkuri ─── */

	.site-footer-col-heading {
		font-family: var(--font-ui);
		font-size: var(--footer-heading-size);
		font-weight: var(--footer-heading-weight);
		letter-spacing: var(--footer-heading-tracking);
		text-transform: uppercase;
		color: var(--footer-heading-color);
		margin: 0 0 var(--space-5) 0;
		padding: 0;
	}

	.site-footer-col ul,
	.site-footer-col .menu {
		list-style: none;
		margin: 0;
		padding: 0;
		font-family: var(--font-reading);
		font-size: var(--text-sm);
		line-height: 1.7;
	}

	.site-footer-col li {
		margin: 0 0 var(--space-2) 0;
	}


	/* ─── 3. Partner logos strip ─── */

	.site-footer-partners {
		background-color: var(--footer-bg-strip);
		padding: clamp(2rem, 4vw, 3rem) 0;
		border-top: 1px solid var(--footer-separator);
		border-bottom: 1px solid var(--footer-separator);
	}

	.site-footer-partners-inner {
		max-width: var(--shell-wide);
		margin: 0 auto;
		padding: 0 var(--space-5);
		text-align: center;
	}

	.site-footer-partners-eyebrow {
		display: block;
		font-family: var(--type-eyebrow-family);
		font-size: var(--type-eyebrow-size);
		font-weight: var(--type-eyebrow-weight);
		letter-spacing: var(--type-eyebrow-tracking);
		text-transform: uppercase;
		color: var(--color-accent);
		margin-bottom: clamp(1.25rem, 2.5vw, 2rem);
	}

	/* ─── Override widget-ul institute_logos_widget pentru context footer ───
	   Ascundem titlul/descrierea internă (eyebrow-ul nostru deasupra le înlocuiește),
	   ascundem butoanele prev/next (logo-urile încap cu wrap natural pe lățime),
	   dezactivăm scroll horizontal — centrăm cu flex-wrap. */

	.site-footer-partners .widget-logos {
		--logo-h: var(--partner-logo-h);  /* override custom prop pe widget */
	}

	/* Ascund titlul + descrierea widget-ului — avem eyebrow-ul nostru */
	.site-footer-partners .widget-logos__title,
	.site-footer-partners .widget-logos__desc {
		display: none;
	}

	/* Ascund butoanele prev/next — wrap natural în loc de scroll */
	.site-footer-partners .widget-logos__btn,
	.site-footer-partners .widget-logos__btn--prev,
	.site-footer-partners .widget-logos__btn--next {
		display: none;
	}

	/* Wrapper-ul slider — fără padding lateral pentru butoane */
	.site-footer-partners .widget-logos__wrap {
		padding: 0;
		margin: 0;
	}

	/* Bara cu logo-uri — centrată, wrap pe linie nouă, fără scroll */
	.site-footer-partners .widget-logos__bar {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
		gap: var(--partner-logo-gap);
		overflow: visible;          /* anulez overflow-x: auto din widget original */
		scroll-snap-type: none;
		padding: 0;
		margin: 0;
		list-style: none;
	}

	.site-footer-partners .widget-logos__bar > * {
		flex: 0 0 auto;
	}

	.site-footer-partners .widget-logos__bar img {
		height: var(--partner-logo-h);
		width: auto;
		max-width: 140px;
		filter: var(--partner-logo-filter);
		opacity: var(--partner-logo-opacity);
		transition: filter var(--duration-med) var(--ease-out),
		            opacity var(--duration-med) var(--ease-out),
		            transform var(--duration-med) var(--ease-out);
	}

	.site-footer-partners .widget-logos__bar a:hover img,
	.site-footer-partners .widget-logos__bar a:focus-visible img {
		filter: none;
		opacity: 1;
		transform: translateY(-2px);
	}

	@media (max-width: 767.98px) {
		.site-footer-partners .widget-logos__bar img {
			height: var(--partner-logo-h-mobile);
			max-width: 100px;
		}
		.site-footer-partners .widget-logos__bar {
			gap: clamp(1.25rem, 4vw, 2rem);
		}
	}


	/* ─── 4. Bottom bar ─── */

	.site-footer-bottom {
		background-color: var(--footer-bg-deep);
		padding: var(--space-5) 0;
		box-shadow: inset 0 1px 0 rgb(255 255 255 / 15%), 0 -1px 0px rgb(0 0 0 / 40%);
	}

	.site-footer-bottom-inner {
		max-width: var(--shell-wide);
		margin: 0 auto;
		padding: 0 var(--space-5);
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: center;
		gap: var(--space-4);
	}

	.site-footer-bottom-left,
	.site-footer-bottom-right {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: var(--space-3);
	}

	.site-footer-copyright {
		font-family: var(--font-ui);
		font-size: var(--type-caption-size);
		color: var(--footer-link-muted);
		margin: 0;
	}

	@media (max-width: 767.98px) {
		.site-footer-bottom-inner {
			flex-direction: column;
			text-align: center;
		}
	}


	/* ─── Legal menu (Prima Pagină, Politici) ─── */

	.site-footer-legal-menu {
		list-style: none;
		display: flex;
		flex-wrap: wrap;
		gap: var(--space-2);
		margin: 0;
		padding: 0;
		justify-content: center;
	}

	.site-footer-legal-menu li {
		margin: 0;
	}

	body .site-footer-legal-menu a,
	body .site-footer-legal-menu a:link,
	body .site-footer-legal-menu a:visited {
		display: inline-block;
		padding: 10px 18px;
		font-family: var(--font-ui);
		font-size: var(--type-small-size);          /* 14px */
		font-weight: var(--font-weight-medium);     /* 500 */
		letter-spacing: 0.02em;
		color: var(--footer-link);
		text-decoration: none;
		border: 1px solid transparent;
		border-radius: var(--radius-pill);
		transition: all var(--duration-med) var(--ease-out);
	}

	body .site-footer-legal-menu a:hover,
	body .site-footer-legal-menu a:focus-visible {
		background: rgba(255, 255, 255, 0.08);
		color: var(--color-on-dark);
		border-color: var(--color-border-on-dark);
		text-decoration: none;
	}


	/* ─── Social list (în bottom bar) ─── */

	.site-footer-social {
		list-style: none;
		display: flex;
		gap: var(--space-2);
		margin: 0;
		padding: 0;
	}

	.site-footer-social a {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 36px;
		height: 36px;
		font-size: var(--text-base);
		color: var(--footer-link);
		background: transparent;
		border: 1px solid rgba(255, 255, 255, 0.12);
		border-radius: var(--radius-circle);
		transition: all var(--duration-fast) var(--ease-out);
	}

	.site-footer-social a:hover,
	.site-footer-social a:focus-visible {
		color: var(--color-accent);
		background: rgba(229, 189, 7, 0.08);
		border-color: var(--color-accent);
		text-decoration: none;
	}


	/* ─── Footer link-uri — TOATE, cu specificitate ridicată ca să bată Bootstrap ─── */

	body footer a,
	body footer a:link,
	body footer a:visited,
	body .site-footer a,
	body #footer a,
	body #footer a:link,
	body #footer a:visited {
		color: var(--footer-link);
		text-decoration: none;
		border-bottom: 0;
		transition: color var(--duration-fast) var(--ease-out);
	}

	body footer a:hover,
	body footer a:focus-visible,
	body .site-footer a:hover,
	body .site-footer a:focus-visible,
	body #footer a:hover,
	body #footer a:focus-visible {
		color: var(--footer-link-hover);
		text-decoration: none;
	}


	/* ─── Legacy support: widget-uri vechi care folosesc .footer-widget ─── */

	.footer-widget {
		position: relative;
		display: block;
		margin-bottom: var(--space-4);
		padding: 0;
		list-style: none;
	}

	.footer-widget > h4.widget-title,
	.footer-widget > .widget-title {
		margin: 0 0 var(--space-5) 0;
		padding: 0;
		font-family: var(--font-ui);
		font-weight: var(--footer-heading-weight);
		font-size: var(--footer-heading-size);
		color: var(--footer-heading-color);
		text-transform: uppercase;
		letter-spacing: var(--footer-heading-tracking);
	}

	.footer-widget ul {
		padding: 0;
		margin: 0;
		list-style: none;
		font-family: var(--font-reading);
		font-size: var(--text-sm);
		line-height: 1.7;
	}

	.footer-widget ul li {
		margin: 0 0 var(--space-2) 0;
		font-style: normal;
	}

	/* Legacy footer separator (decorativ) */
	#footer-separator {
		margin: 0;
		width: 100%;
		height: 1px;
		background: var(--footer-separator);
	}


	/* ═══════════════════════════════════════════════════════════════
	   LANGUAGE SWITCHER — Polylang-compatible
	   Versiuni: navbar (dropdown) și footer (inline)
	   ═══════════════════════════════════════════════════════════════ */

	.lang-switcher {
		position: relative;
		display: inline-block;
	}

	.lang-switcher-toggle {
		display: inline-flex;
		align-items: center;
		gap: var(--space-2);
		padding: var(--space-2) var(--space-4);
		font-family: var(--font-ui);
		font-size: var(--text-sm);
		font-weight: var(--font-weight-medium);
		letter-spacing: 0.02em;
		text-transform: uppercase;
		color: var(--lang-switcher-color);
		background: transparent;
		border: 1px solid transparent;
		border-radius: var(--lang-switcher-radius);
		cursor: pointer;
		transition: all var(--duration-fast) var(--ease-out);
	}

	.lang-switcher-toggle::after {
		content: "▾";
		font-size: 0.7em;
		opacity: 0.7;
	}

	.lang-switcher-toggle:hover {
		background: var(--lang-switcher-bg-hover);
		border-color: var(--color-border);
	}

	.lang-switcher-menu {
		position: absolute;
		top: calc(100% + 4px);
		right: 0;
		min-width: 140px;
		padding: var(--space-1);
		margin: 0;
		list-style: none;
		background: var(--color-surface);
		border: 1px solid var(--color-border);
		border-radius: var(--radius-sm);
		box-shadow: var(--shadow-lg);
		opacity: 0;
		visibility: hidden;
		transform: translateY(-4px);
		transition: all var(--duration-fast) var(--ease-out);
		z-index: var(--z-dropdown);
	}

	.lang-switcher.is-open .lang-switcher-menu,
	.lang-switcher:hover .lang-switcher-menu,
	.lang-switcher:focus-within .lang-switcher-menu {
		opacity: 1;
		visibility: visible;
		transform: translateY(0);
	}

	.lang-switcher-menu li {
		margin: 0;
	}

	.lang-switcher-menu a {
		display: flex;
		align-items: center;
		gap: var(--space-2);
		padding: var(--space-2) var(--space-3);
		font-family: var(--font-ui);
		font-size: var(--text-sm);
		font-weight: var(--font-weight-medium);
		color: var(--color-text);
		text-decoration: none;
		border-radius: var(--radius-2xs);
		transition: background var(--duration-fast) var(--ease-out);
	}

	.lang-switcher-menu a:hover,
	.lang-switcher-menu a:focus-visible {
		background: var(--color-surface-soft);
		text-decoration: none;
	}

	.lang-switcher-menu a.current,
	.lang-switcher-menu .current-lang a {
		background: var(--color-surface-base);
		color: var(--color-brand-primary);
		font-weight: var(--font-weight-semibold);
	}

	/* Variantă on-dark (în footer) */
	.lang-switcher-dark .lang-switcher-toggle {
		color: var(--lang-switcher-color-dark);
	}

	.lang-switcher-dark .lang-switcher-toggle:hover {
		background: var(--lang-switcher-bg-hover-dark);
		border-color: var(--color-border-on-dark);
	}


	/* ─────────────────────────────────────────────────────────────
	   Animated background (decorative, components/animated-bg.php)
	   Helper-uri SVG fill (utility)
	   ───────────────────────────────────────────────────────────── */

	.fill-warning { fill: #2ecdf7 !important; }
	.fill-blue    { fill: var(--color-brand-primary) !important; }
	.fill-body    { fill: #eceded !important; }

	.z-index-9 { z-index: 9 !important; }


	/* ─────────────────────────────────────────────────────────────
	   Hero widget shared styles (folosite de hero-widget.css pe homepage)
	   Migrate din institute.css legacy ca să nu se piardă când ștergem
	   institute.css. Aceste reguli sunt CONSUMATE de hero-widget.css.
	   ───────────────────────────────────────────────────────────── */

	.hero-title {
		margin: 0;
		font-family: var(--font-serif);
		font-size: clamp(2.2rem, 4vw, 3rem);
		line-height: 1.08;
		font-weight: var(--font-weight-bold);
		letter-spacing: var(--tracking-tight);
		color: var(--color-brand-navy);
	}

	.hero-content > p {
		margin-bottom: var(--gap-desc-to-cta);
		font-family: var(--font-reading);
		font-size: var(--text-lg);
		font-weight: var(--font-weight-regular);
		line-height: var(--leading-normal);
		color: var(--color-text-muted);
	}

	span.word {
		position: relative;
		z-index: 2;
	}

	.hero-image-decoration {
		margin: 0 0 1rem;
		position: absolute;
		bottom: 0;
		left: 50%;
		z-index: 9;
		margin-bottom: -3rem;
		transform: translateX(-50%);
	}

	/* Icon utility (folosit în hero CTA cards + alte locuri) */
	.icon-lg {
		width: 3.5rem;
		height: 3.5rem;
		line-height: 3.5rem;
		text-align: center;
		font-size: 1.2rem;
	}


/* ═══════════════════════════════════════════════════════════════════
   Mobile global adjustments
   ═══════════════════════════════════════════════════════════════════ */

@media (max-width: 767.98px) {
	.quick-actions {
		bottom: var(--space-3);
		right: var(--space-3);
	}

	.quick-actions .btn {
		width: 44px;
		height: 44px;
	}
}
