/**
 * VagFix Redesign 2026 - design system
 *
 * Totul e scoped pe clase "vfr-" puse din Elementor (Advanced > CSS Classes),
 * deci fisierul nu atinge paginile care nu le folosesc. Prefixul e diferit de
 * "vf-" (header, footer, blog) ca sa nu existe coliziuni.
 *
 * Specificitate: Elementor scrie stilurile implicite ale widget-urilor cu
 * (0,2,0) (ex. .elementor-widget-heading .elementor-heading-title) si
 * variabilele containerelor cu (0,1,0) (.e-con). Componentele de aici pornesc
 * de la ".elementor .vfr-x" ca sa castige curat, fara !important. Stilurile
 * setate manual per element in editor (0,3,0+) raman in continuare mai tari -
 * intentionat, ca editorul sa poata face exceptii.
 */

/* ==========================================================================
   1. Tokens
   ========================================================================== */

:root {
	/* Brand (Elementor Kit 354) */
	--vfr-brand: #e64a30;
	--vfr-brand-deep: #a8321d;
	/* Accesibilitate (WCAG AA 4.5:1): #e64a30 are 3.9:1 pe alb. Ramane pentru
	   decor (iconite, linii) si text pe fundal inchis; textul pe fundal
	   deschis si butoanele cu text alb folosesc nuantele de mai jos. */
	--vfr-brand-text: #c03a23;
	--vfr-brand-fill: #c93d26;
	--vfr-brand-soft: rgba(230, 74, 48, .1);
	--vfr-accent: #e3a10e;

	/* Neutre slate */
	--vfr-ink: #16181d;
	--vfr-ink-soft: #3c424b;
	--vfr-body: #5d646d;
	--vfr-muted: #6b7280;
	--vfr-line: #e5e8ec;
	--vfr-line-soft: #eff1f4;
	--vfr-surface: #fff;
	--vfr-bg: #f6f7f9;
	--vfr-dark: #14151a;
	--vfr-dark-deep: #0e0f13;
	--vfr-dark-raised: #1c1e25;

	/* Tipografie (acelasi stack ca header-ul - zero fonturi noi de incarcat) */
	--vfr-font: "Helvetica", "Helvetica Neue", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
	--vfr-font-mono: ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;

	--vfr-fs-xs: .75rem;
	--vfr-fs-sm: .875rem;
	--vfr-fs-base: clamp(1rem, .96rem + .2vw, 1.0625rem);
	--vfr-fs-lead: clamp(1.0625rem, 1rem + .35vw, 1.25rem);
	--vfr-fs-h4: clamp(1.125rem, 1.06rem + .3vw, 1.3125rem);
	--vfr-fs-h3: clamp(1.25rem, 1.12rem + .6vw, 1.625rem);
	--vfr-fs-h2: clamp(1.75rem, 1.4rem + 1.6vw, 2.75rem);
	--vfr-fs-h1: clamp(2.25rem, 1.6rem + 3vw, 4.25rem);

	--vfr-lh-tight: 1.1;
	--vfr-lh-snug: 1.3;
	--vfr-lh-body: 1.65;

	/* Spatiere */
	--vfr-space-2xs: .375rem;
	--vfr-space-xs: .625rem;
	--vfr-space-sm: 1rem;
	--vfr-space-md: 1.5rem;
	--vfr-space-lg: clamp(2rem, 1.6rem + 1.6vw, 3rem);
	--vfr-space-xl: clamp(3.5rem, 2.6rem + 4vw, 6.5rem);

	--vfr-shell: 1240px;
	--vfr-gutter: clamp(1rem, 4vw, 2.5rem);

	/* Forma */
	--vfr-radius-sm: 10px;
	--vfr-radius: 16px;
	--vfr-radius-lg: 24px;
	--vfr-radius-pill: 999px;

	--vfr-shadow-sm: 0 1px 2px rgba(16, 18, 23, .05);
	--vfr-shadow: 0 1px 2px rgba(16, 18, 23, .04), 0 10px 26px -14px rgba(16, 18, 23, .16);
	--vfr-shadow-lg: 0 2px 4px rgba(16, 18, 23, .04), 0 28px 56px -24px rgba(16, 18, 23, .3);
	--vfr-ring: 0 0 0 3px rgba(230, 74, 48, .35);

	/* Miscare */
	--vfr-ease: cubic-bezier(.22, 1, .36, 1);
	--vfr-dur: .35s;
}

/* ==========================================================================
   2. Sectiuni (container-e full width cu "shell" din padding)

   Containerele se seteaza in Elementor pe "Full Width"; latimea de lectura
   vine din padding-ul lateral, deci nu mai apare wrapper-ul .e-con-inner.
   ========================================================================== */

.elementor .vfr-section {
	/* Culori contextuale - consumate de toate componentele */
	--vfr-c-heading: var(--vfr-ink);
	--vfr-c-body: var(--vfr-body);
	--vfr-c-muted: var(--vfr-muted);
	--vfr-c-line: var(--vfr-line);
	--vfr-c-card: var(--vfr-surface);

	--padding-top: var(--vfr-space-xl);
	--padding-bottom: var(--vfr-space-xl);
	--padding-left: max(var(--vfr-gutter), calc((100% - var(--vfr-shell)) / 2));
	--padding-right: max(var(--vfr-gutter), calc((100% - var(--vfr-shell)) / 2));
	--row-gap: var(--vfr-space-lg);
	--column-gap: var(--vfr-space-lg);

	position: relative;
	background-color: var(--vfr-surface);
	color: var(--vfr-c-body);
	font-family: var(--vfr-font);
	-webkit-font-smoothing: antialiased;
	isolation: isolate;
}

.elementor .vfr-section--tight {
	--padding-top: var(--vfr-space-lg);
	--padding-bottom: var(--vfr-space-lg);
}

.elementor .vfr-section--muted {
	--vfr-c-card: var(--vfr-surface);
	background-color: var(--vfr-bg);
}

/* Sectiune intunecata, cu grila fina de "laborator" in fundal */
.elementor .vfr-section--dark {
	--vfr-brand-text: #f0583d;
	--vfr-c-heading: #fff;
	--vfr-c-body: rgba(255, 255, 255, .72);
	--vfr-c-muted: rgba(255, 255, 255, .5);
	--vfr-c-line: rgba(255, 255, 255, .1);
	--vfr-c-card: rgba(255, 255, 255, .04);

	background-color: var(--vfr-dark);
}

.elementor .vfr-section--dark::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background-image:
		linear-gradient(rgba(255, 255, 255, .035) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, .035) 1px, transparent 1px);
	background-size: 48px 48px;
	-webkit-mask-image: radial-gradient(ellipse 80% 70% at 50% 30%, #000 30%, transparent 100%);
	mask-image: radial-gradient(ellipse 80% 70% at 50% 30%, #000 30%, transparent 100%);
	pointer-events: none;
}

/* Fundal "placa de circuit" (PCB): SVG inline (~4 KB) cu grila de test,
   trasee la 45 de grade, vias, un cip U1, componente SMD si marcaje
   serigrafiate; un singur traseu de semnal in culoarea brandului. Vizibil in
   stanga, se stinge spre dreapta ca textul sa ramana lizibil. */
.elementor .vfr-section--circuit::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1400 800' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E %3Cdefs%3E%3Cpattern id='d' width='20' height='20' patternUnits='userSpaceOnUse'%3E%3Ccircle cx='10' cy='10' r='1.2' fill='%23dde2e8'/%3E%3C/pattern%3E%3C/defs%3E %3Crect width='1400' height='800' fill='url(%23d)'/%3E %3Cg stroke='%23cdd4dc' stroke-width='3'%3E %3Cpath d='M-10 70H180L230 120H420L460 80H640M-10 160H90L130 200H240M680-10V40L720 80H980M1000 140H1180L1220 180H1410M380 485V470L350 445H120L80 405V300M380 635V700L340 740H-10M440 635V810M500 635V680L540 720H780L820 760V810M540 635V660L570 690H660M345 540H260L220 580V680M345 580H300L270 610V700M715 540H860L900 500V300L940 260H1100M715 580H820L860 620V810'/%3E %3C/g%3E %3Cg stroke='%23cdd4dc' stroke-width='6'%3E %3Cpath d='M380 500V488M400 500V488M420 500V488M440 500V488M460 500V488M480 500V488M500 500V488M520 500V488M540 500V488M560 500V488M580 500V488M600 500V488M620 500V488M640 500V488M660 500V488M680 500V488M700 500V488M380 620V632M400 620V632M420 620V632M440 620V632M460 620V632M480 620V632M500 620V632M520 620V632M540 620V632M560 620V632M580 620V632M600 620V632M620 620V632M640 620V632M660 620V632M680 620V632M700 620V632M360 540H348M360 580H348M720 540H712M720 580H712'/%3E %3C/g%3E %3Crect x='360' y='500' width='360' height='120' rx='8' fill='%23e8ecf0' stroke='%23cdd4dc' stroke-width='3'/%3E %3Ccircle cx='382' cy='522' r='6' stroke='%23cdd4dc' stroke-width='2'/%3E %3Cg fill='%23f6f7f9' stroke='%23cdd4dc' stroke-width='3'%3E %3Ccircle cx='640' cy='80' r='7'/%3E%3Ccircle cx='240' cy='200' r='7'/%3E%3Ccircle cx='980' cy='80' r='7'/%3E%3Ccircle cx='80' cy='300' r='7'/%3E%3Ccircle cx='660' cy='690' r='7'/%3E%3Ccircle cx='220' cy='680' r='7'/%3E%3Ccircle cx='270' cy='700' r='7'/%3E%3Ccircle cx='1100' cy='260' r='7'/%3E%3Ccircle cx='1410' cy='180' r='7'/%3E %3C/g%3E %3Cg fill='%23e8ecf0' stroke='%23cdd4dc' stroke-width='2'%3E %3Crect x='170' y='438' width='40' height='14' rx='3'/%3E%3Crect x='600' y='713' width='26' height='14' rx='3'/%3E%3Crect x='893' y='440' width='14' height='40' rx='3'/%3E%3Crect x='1060' y='133' width='40' height='14' rx='3'/%3E %3C/g%3E %3Cg fill='%23aab3bd' font-family='ui-monospace,Menlo,Consolas,monospace' font-size='15' letter-spacing='1'%3E %3Ctext x='520' y='566' text-anchor='middle' font-size='20'%3EU1%3C/text%3E%3Ctext x='174' y='476'%3ER12%3C/text%3E%3Ctext x='600' y='750'%3EC4%3C/text%3E%3Ctext x='914' y='466'%3ER7%3C/text%3E %3C/g%3E %3Cpath d='M420 485V465L445 440H700L740 400H900' stroke='%23e64a30' stroke-opacity='.55' stroke-width='3'/%3E %3Ccircle cx='900' cy='400' r='14' fill='%23e64a30' fill-opacity='.12'/%3E %3Ccircle cx='900' cy='400' r='7' fill='%23f6f7f9' stroke='%23e64a30' stroke-opacity='.7' stroke-width='3'/%3E %3C/svg%3E") left center / cover no-repeat;
	opacity: .38;
	-webkit-mask-image:
		linear-gradient(90deg, #000 0%, rgba(0, 0, 0, .8) 38%, rgba(0, 0, 0, .12) 62%, transparent 78%);
	mask-image:
		linear-gradient(90deg, #000 0%, rgba(0, 0, 0, .8) 38%, rgba(0, 0, 0, .12) 62%, transparent 78%);
	pointer-events: none;
}

/* Pe tableta/mobil textul ocupa toata latimea: doar traseele din
   coltul dreapta-sus (cipul ramane in afara cadrului), in spatele titlului,
   stinsa inainte de paragrafe. */
@media (max-width: 1024px) {
	.elementor .vfr-section--circuit::before {
		background-position: right top;
		background-size: 1000px auto;
		opacity: .35;
		-webkit-mask-image: linear-gradient(180deg, #000 0%, rgba(0, 0, 0, .5) 14%, transparent 26%);
		mask-image: linear-gradient(180deg, #000 0%, rgba(0, 0, 0, .5) 14%, transparent 26%);
	}
}

/* Varianta intunecata cu harta de navigatie (banda de contact): inlocuieste
   grila implicita a sectiunilor dark. Traseul de brand pleaca din marginea
   stanga si se termina cu pinul din dreapta ("trimite-ne coletul"). */
.elementor .vfr-section--dark.vfr-section--map-dark::before {
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 440' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E %3Cpath d='M-10 420C200 360 330 470 520 410S860 300 1050 370 1300 450 1450 400' stroke='%23172030' stroke-width='30'/%3E %3Crect x='330' y='170' width='110' height='60' rx='8' fill='%2318211d'/%3E %3Crect x='1180' y='220' width='120' height='60' rx='8' fill='%2318211d'/%3E %3Cg stroke='%2323262e' stroke-width='6'%3E %3Cpath d='M-10 60L1450 30M-10 250L1450 210M-10 400L1450 430M120-10L90 450M380-10L420 450M640-10L610 450M900-10L940 450M1160-10L1130 450M1320-10L1350 450M-10 450L420-10M980 450L1450 120'/%3E %3C/g%3E %3Cg stroke='%232b2f38' stroke-width='14'%3E %3Cpath d='M-10 140C300 170 520 90 780 130S1200 200 1450 150M260-10C280 150 220 300 300 450M-10 330L1450 290M1040-10C1000 160 1120 300 1080 450'/%3E %3C/g%3E %3Cpath d='M40 328L1010 301L1060 251V172L1084 152H1390' stroke='%23e64a30' stroke-opacity='.75' stroke-width='4'/%3E %3Ccircle cx='40' cy='328' r='7' fill='%23e64a30' stroke='%2314151a' stroke-width='3'/%3E %3Ccircle cx='1390' cy='152' r='22' fill='%23e64a30' fill-opacity='.16'/%3E %3Cpath d='M1390 152c-14-18-22-29-22-41a22 22 0 1 1 44 0c0 12-8 23-22 41z' fill='%23e64a30' stroke='%2314151a' stroke-width='3'/%3E %3Ccircle cx='1390' cy='111' r='7' fill='%2314151a'/%3E %3C/svg%3E") center / cover no-repeat;
	-webkit-mask-image: none;
	mask-image: none;
	/* Foarte estompata spre negru: doar o textura, nu un element de atentie */
	opacity: .15;
}


/* Text de brand luminos pe suprafetele inchise din afara sectiunilor vfr */
.vfr-art-hero,
.vfr-art-card--dark,
.vfr-greviews__summary,
.elementor .vfr-cta,
.elementor .vfr-slider {
	--vfr-brand-text: #f0583d;
}

/* ==========================================================================
   3. Hero
   ========================================================================== */

.elementor .vfr-hero {
	--padding-top: clamp(3rem, 2rem + 5vw, 7rem);
	--padding-bottom: clamp(3rem, 2rem + 4vw, 6rem);

	background-color: var(--vfr-dark-deep);
	overflow: hidden;
}

/* Halou de brand, discret, in coltul dreapta-sus */
.elementor .vfr-hero::after {
	content: "";
	position: absolute;
	z-index: -1;
	top: -30%;
	right: -15%;
	width: min(70vw, 820px);
	aspect-ratio: 1;
	background: radial-gradient(circle, rgba(230, 74, 48, .22), rgba(230, 74, 48, 0) 62%);
	pointer-events: none;
}

/* Sectiune fara padding, pentru widget-uri full-bleed (slider) */
.elementor .vfr-section--flush {
	--padding-top: 0px;
	--padding-bottom: 0px;
	--padding-left: 0px;
	--padding-right: 0px;
	--row-gap: 0px;
}

/* ==========================================================================
   3b. Slider (widget Slides din Elementor Pro)

   Elementor Pro stileaza slide-urile cu (0,3,0)
   (.elementor-slides .swiper-slide-inner .elementor-slide-heading), deci
   selectorii de aici pornesc de la (0,4,0).
   ========================================================================== */

/* Compozitie centrata */
.elementor .vfr-slider .elementor-slides .swiper-slide-inner {
	padding: clamp(3rem, 2rem + 3vw, 4.5rem) var(--vfr-gutter);
	justify-content: center;
	text-align: center;

	/* Overlay radial: dens in centru (text), mai transparent spre margini, ca
	   fotografia sa ramana vizibila de ambele parti */
	background:
		linear-gradient(0deg, rgba(14, 15, 19, .6) 0%, rgba(14, 15, 19, 0) 30%),
		radial-gradient(ellipse 62% 75% at 50% 50%, rgba(14, 15, 19, .86) 0%, rgba(14, 15, 19, .66) 55%, rgba(14, 15, 19, .32) 100%);
}

/* Textul sta intr-un "cadru de precizie": patru colturi fine, ca un vizor de
   aparatura de laborator. Desenat din gradienti, fara markup suplimentar. */
.elementor .vfr-slider .swiper-slide-inner .swiper-slide-contents {
	--vfr-corner: rgba(255, 255, 255, .38);
	--vfr-corner-len: 22px;

	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--vfr-space-sm);
	padding: clamp(1.75rem, 1.2rem + 2vw, 3rem) clamp(1.25rem, .5rem + 3.5vw, 3.75rem);
	background:
		linear-gradient(var(--vfr-corner), var(--vfr-corner)) top left / var(--vfr-corner-len) 1px,
		linear-gradient(var(--vfr-corner), var(--vfr-corner)) top left / 1px var(--vfr-corner-len),
		linear-gradient(var(--vfr-corner), var(--vfr-corner)) top right / var(--vfr-corner-len) 1px,
		linear-gradient(var(--vfr-corner), var(--vfr-corner)) top right / 1px var(--vfr-corner-len),
		linear-gradient(var(--vfr-corner), var(--vfr-corner)) bottom left / var(--vfr-corner-len) 1px,
		linear-gradient(var(--vfr-corner), var(--vfr-corner)) bottom left / 1px var(--vfr-corner-len),
		linear-gradient(var(--vfr-corner), var(--vfr-corner)) bottom right / var(--vfr-corner-len) 1px,
		linear-gradient(var(--vfr-corner), var(--vfr-corner)) bottom right / 1px var(--vfr-corner-len);
	background-repeat: no-repeat;
}

.elementor .vfr-slider .swiper-slide-inner .elementor-slide-description {
	order: -1;
	display: inline-flex;
	align-items: center;
	gap: .6em;
	margin: 0;
	color: var(--vfr-brand-text);
	font-family: var(--vfr-font-mono);
	font-size: var(--vfr-fs-xs);
	font-weight: 600;
	letter-spacing: .14em;
	line-height: 1.4;
	text-transform: uppercase;
}

.elementor .vfr-slider .swiper-slide-inner .elementor-slide-description::before,
.elementor .vfr-slider .swiper-slide-inner .elementor-slide-description::after {
	content: "";
	width: 1.75em;
	height: 1px;
	background: currentColor;
}

.elementor .vfr-slider .swiper-slide-inner .elementor-slide-heading {
	max-width: 22ch;
	margin: 0;
	color: #fff;
	font-family: var(--vfr-font);
	font-size: clamp(1.75rem, 1.15rem + 2.6vw, 3.5rem);
	font-weight: 700;
	letter-spacing: -.025em;
	line-height: 1.06;
	text-wrap: balance;
}

.elementor .vfr-slider .swiper-slide-inner .elementor-slide-button {
	display: inline-flex;
	align-items: center;
	gap: .5em;
	margin-top: var(--vfr-space-xs);
	padding: .85rem 1.5rem;
	border: 1px solid var(--vfr-brand);
	border-radius: var(--vfr-radius-pill);
	background: var(--vfr-brand-fill);
	box-shadow: 0 8px 22px -10px rgba(230, 74, 48, .7);
	color: #fff;
	font-family: var(--vfr-font);
	font-size: .9375rem;
	font-weight: 600;
	line-height: 1.2;
	text-transform: none;
	transition:
		background-color var(--vfr-dur) var(--vfr-ease),
		border-color var(--vfr-dur) var(--vfr-ease),
		transform var(--vfr-dur) var(--vfr-ease);
}

.elementor .vfr-slider .swiper-slide-inner .elementor-slide-button::after {
	content: "\2192";
	transition: transform var(--vfr-dur) var(--vfr-ease);
}

.elementor .vfr-slider .swiper-slide-inner .elementor-slide-button:hover,
.elementor .vfr-slider .swiper-slide-inner .elementor-slide-button:focus-visible {
	border-color: var(--vfr-brand-deep);
	background: var(--vfr-brand-deep);
	color: #fff;
	transform: translateY(-1px);
}

.elementor .vfr-slider .swiper-slide-inner .elementor-slide-button:hover::after,
.elementor .vfr-slider .swiper-slide-inner .elementor-slide-button:focus-visible::after {
	transform: translateX(4px);
}

.elementor .vfr-slider .swiper-slide-inner .elementor-slide-button:focus-visible {
	outline: none;
	box-shadow: var(--vfr-ring);
}

/* Pe ecrane inguste eticheta se rupe pe doua randuri: fara liniutele laterale */
@media (max-width: 767px) {
	.elementor .vfr-slider .swiper-slide-inner .elementor-slide-description {
		text-wrap: balance;
	}

	.elementor .vfr-slider .swiper-slide-inner .elementor-slide-description::before,
	.elementor .vfr-slider .swiper-slide-inner .elementor-slide-description::after {
		display: none;
	}
}

/* Paginare: bare fine, centrate sub cadru */
.elementor .vfr-slider .swiper-pagination {
	right: 0;
	bottom: clamp(1.25rem, 1rem + 1vw, 2rem);
	left: 0;
	display: flex;
	justify-content: center;
	gap: .5rem;
	width: auto;
}

.elementor .vfr-slider .swiper-pagination .swiper-pagination-bullet {
	width: 1.75rem;
	height: 3px;
	margin: 0;
	border-radius: 2px;
	background: rgba(255, 255, 255, .35);
	opacity: 1;
	transition: background-color var(--vfr-dur) var(--vfr-ease), width var(--vfr-dur) var(--vfr-ease);
}

.elementor .vfr-slider .swiper-pagination .swiper-pagination-bullet-active {
	width: 3rem;
	background: var(--vfr-brand-fill);
}

/* ==========================================================================
   4. Layout: split si grile
   ========================================================================== */

.elementor .e-con.e-con.vfr-split,
.elementor .e-con.e-con.vfr-grid {
	--display: grid;
	--padding-top: 0px;
	--padding-bottom: 0px;
	--padding-left: 0px;
	--padding-right: 0px;

	grid-template-columns: minmax(0, 1fr);
	gap: var(--vfr-space-lg);
	align-items: center;
}

.elementor .e-con.e-con.vfr-grid {
	gap: var(--vfr-space-md);
	align-items: stretch;
}

.elementor .vfr-stack {
	--padding-top: 0px;
	--padding-bottom: 0px;
	--padding-left: 0px;
	--padding-right: 0px;
	--row-gap: var(--vfr-space-sm);
	--flex-direction: column;
}

.elementor .vfr-row {
	--padding-top: 0px;
	--padding-bottom: 0px;
	--padding-left: 0px;
	--padding-right: 0px;
	--flex-direction: row;
	--flex-wrap: wrap;
	--align-items: center;
	--justify-content: flex-start;
	--row-gap: var(--vfr-space-xs);
	--column-gap: var(--vfr-space-xs);
	--container-widget-width: auto;
	--container-widget-flex-grow: 0;
}

.elementor .vfr-head {
	--padding-top: 0px;
	--padding-bottom: 0px;
	--padding-left: 0px;
	--padding-right: 0px;
	--row-gap: var(--vfr-space-sm);
	--flex-direction: column;

	max-width: 46rem;
}

/* Titlurile aliniate la stanga folosesc toata latimea continutului; limita de
   latime ramane doar pentru cele centrate (vfr-head--center) */
.elementor .vfr-head:not(.vfr-head--center) {
	max-width: none;
}

.elementor .vfr-head--center {
	--align-items: center;
	margin-inline: auto;
	text-align: center;
}

@media (min-width: 768px) {
	.elementor .e-con.e-con.vfr-grid--2,
	.elementor .e-con.e-con.vfr-grid--3,
	.elementor .e-con.e-con.vfr-grid--4 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 1025px) {
	.elementor .e-con.e-con.vfr-split {
		grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
		gap: clamp(2.5rem, 5vw, 5rem);
	}

	.elementor .e-con.e-con.vfr-split--even {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.elementor .e-con.e-con.vfr-split--top {
		align-items: start;
	}

	.elementor .e-con.e-con.vfr-grid--3 {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.elementor .e-con.e-con.vfr-grid--4 {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

/* ==========================================================================
   5. Tipografie
   ========================================================================== */

/* Eticheta tehnica de deasupra titlului: mono, uppercase, cu marcaj de brand */
.elementor .vfr-eyebrow,
.elementor .vfr-eyebrow p,
.elementor .vfr-eyebrow .elementor-heading-title {
	margin: 0;
	color: var(--vfr-brand-text);
	font-family: var(--vfr-font-mono);
	font-size: var(--vfr-fs-xs);
	font-weight: 600;
	letter-spacing: .14em;
	line-height: 1.4;
	text-transform: uppercase;
}

.elementor .vfr-eyebrow p,
.elementor .vfr-eyebrow .elementor-heading-title {
	display: inline-flex;
	align-items: center;
	gap: .6em;
}

.elementor .vfr-eyebrow p::before,
.elementor .vfr-eyebrow .elementor-heading-title::before {
	content: "";
	width: 1.75em;
	height: 1px;
	background: currentColor;
}

.elementor .vfr-eyebrow strong {
	font-weight: inherit;
}

.elementor .vfr-title .elementor-heading-title {
	margin: 0;
	color: var(--vfr-c-heading, var(--vfr-ink));
	font-family: var(--vfr-font);
	font-size: var(--vfr-fs-h2);
	font-weight: 700;
	letter-spacing: -.02em;
	line-height: var(--vfr-lh-tight);
	text-wrap: balance;
}

.elementor .vfr-title--xl .elementor-heading-title {
	font-size: var(--vfr-fs-h1);
	letter-spacing: -.03em;
	line-height: 1.02;
}

.elementor .vfr-title--sm .elementor-heading-title {
	/* Titluri-fraza lungi: primul rand umple latimea (balance le-ar injumatati) */
	text-wrap: pretty;
	font-size: var(--vfr-fs-h3);
	letter-spacing: -.01em;
	line-height: var(--vfr-lh-snug);
}

.elementor .vfr-title--xs .elementor-heading-title {
	font-size: var(--vfr-fs-h4);
	letter-spacing: -.005em;
	line-height: var(--vfr-lh-snug);
}

.elementor .vfr-title .elementor-heading-title a {
	color: inherit;
	transition: color var(--vfr-dur) var(--vfr-ease);
}

.elementor .vfr-title .elementor-heading-title a:hover,
.elementor .vfr-title .elementor-heading-title a:focus-visible {
	color: var(--vfr-brand-text);
}

/* Accent de culoare intr-un cuvant din titlu: <span class="vfr-hl"> */
.elementor .vfr-title .vfr-hl {
	color: var(--vfr-brand-text);
}

.elementor .vfr-prose,
.elementor .vfr-lead {
	color: var(--vfr-c-body, var(--vfr-body));
	font-family: var(--vfr-font);
	font-size: var(--vfr-fs-base);
	line-height: var(--vfr-lh-body);
}

.elementor .vfr-lead {
	font-size: var(--vfr-fs-lead);
	max-width: 40rem;
}

.elementor .vfr-head--center .vfr-lead {
	margin-inline: auto;
}

.elementor .vfr-prose p,
.elementor .vfr-lead p {
	margin: 0 0 1em;
}

.elementor .vfr-prose > .elementor-widget-container > :last-child,
.elementor .vfr-prose > :last-child,
.elementor .vfr-lead p:last-child,
.elementor .vfr-prose p:last-child {
	margin-bottom: 0;
}

.elementor .vfr-prose strong {
	color: var(--vfr-c-heading, var(--vfr-ink));
	font-weight: 600;
}

.elementor .vfr-prose a {
	color: var(--vfr-brand-text);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: .2em;
}

.elementor .vfr-prose a:hover,
.elementor .vfr-prose a:focus-visible {
	color: var(--vfr-brand-deep);
}

/* Titlul care contine butonul unui FAQ (vagfix_a11y_tab_titles): neutru,
   tipografia o da .elementor-tab-title din interior */
.elementor .elementor-tab-heading {
	margin: 0;
	padding: 0;
	font: inherit;
	letter-spacing: inherit;
}

/* Subtitluri scrise in text (h5/h6 din editorul vechi; generatorul le
   transforma in h3/h4 pentru o ordine corecta a titlurilor) */
.elementor .vfr-prose h3,
.elementor .vfr-prose h4,
.elementor .vfr-prose h5,
.elementor .vfr-prose h6 {
	margin: 1.5em 0 .5em;
	color: var(--vfr-c-heading, var(--vfr-ink));
	font-family: var(--vfr-font);
	font-weight: 700;
	letter-spacing: -.005em;
}

.elementor .vfr-prose h3,
.elementor .vfr-prose h5 {
	font-size: var(--vfr-fs-h4);
	line-height: var(--vfr-lh-snug);
}

.elementor .vfr-prose h4,
.elementor .vfr-prose h6 {
	font-size: var(--vfr-fs-base);
	font-weight: 600;
	line-height: 1.55;
}

.elementor .vfr-prose h3:first-child,
.elementor .vfr-prose h4:first-child,
.elementor .vfr-prose h5:first-child,
.elementor .vfr-prose h6:first-child {
	margin-top: 0;
}

/* Liste cu marcaj de brand in loc de bulina implicita */
.elementor .vfr-prose ul {
	margin: .75em 0 0;
	padding: 0;
	list-style: none;
}

.elementor .vfr-prose li {
	position: relative;
	padding: .3em 0 .3em 1.5em;
	font-size: var(--vfr-fs-sm);
	line-height: 1.5;
}

.elementor .vfr-prose li::before {
	content: "";
	position: absolute;
	top: .95em;
	left: 0;
	width: .55em;
	height: .55em;
	border: 2px solid var(--vfr-brand);
	border-radius: 2px;
	transform: translateY(-50%) rotate(45deg);
}

/* ==========================================================================
   6. Butoane si link-uri
   ========================================================================== */

.elementor .vfr-btn .elementor-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .6em;
	min-height: 3rem;
	padding: .85rem 1.5rem;
	border: 1px solid var(--vfr-brand);
	border-radius: var(--vfr-radius-pill);
	background: var(--vfr-brand-fill);
	box-shadow: 0 8px 22px -10px rgba(230, 74, 48, .7);
	color: #fff;
	fill: #fff;
	font-family: var(--vfr-font);
	font-size: .9375rem;
	font-weight: 600;
	letter-spacing: .01em;
	line-height: 1.2;
	text-transform: none;
	transition:
		background-color var(--vfr-dur) var(--vfr-ease),
		border-color var(--vfr-dur) var(--vfr-ease),
		box-shadow var(--vfr-dur) var(--vfr-ease),
		color var(--vfr-dur) var(--vfr-ease),
		transform var(--vfr-dur) var(--vfr-ease);
}

.elementor .vfr-btn .elementor-button:hover,
.elementor .vfr-btn .elementor-button:focus-visible {
	border-color: var(--vfr-brand-deep);
	background: var(--vfr-brand-deep);
	box-shadow: 0 12px 28px -10px rgba(230, 74, 48, .8);
	color: #fff;
	transform: translateY(-1px);
}

.elementor .vfr-btn .elementor-button:focus-visible {
	outline: none;
	box-shadow: var(--vfr-ring);
}

/* Varianta secundara: contur, mosteneste culoarea din context */
.elementor .vfr-btn--ghost .elementor-button {
	border-color: var(--vfr-c-line, var(--vfr-line));
	background: transparent;
	box-shadow: none;
	color: var(--vfr-c-heading, var(--vfr-ink));
	fill: currentColor;
}

.elementor .vfr-btn--ghost .elementor-button:hover,
.elementor .vfr-btn--ghost .elementor-button:focus-visible {
	border-color: var(--vfr-brand-text);
	background: transparent;
	box-shadow: none;
	color: var(--vfr-brand-text);
}

.elementor .vfr-btn--ghost .elementor-button:focus-visible {
	box-shadow: var(--vfr-ring);
}

/* Link-sageata (ex. "Detalii" in carduri) */
.elementor .vfr-link .elementor-button {
	display: inline-flex;
	align-items: center;
	gap: .5em;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: none;
	box-shadow: none;
	color: var(--vfr-c-heading, var(--vfr-ink));
	font-family: var(--vfr-font);
	font-size: var(--vfr-fs-sm);
	font-weight: 600;
	letter-spacing: .02em;
	line-height: 1.4;
	text-transform: none;
	transition: color var(--vfr-dur) var(--vfr-ease);
}

.elementor .vfr-link .elementor-button::after {
	content: "\2192";
	transition: transform var(--vfr-dur) var(--vfr-ease);
}

.elementor .vfr-link .elementor-button:hover,
.elementor .vfr-link .elementor-button:focus-visible {
	border: 0;
	background: none;
	color: var(--vfr-brand-text);
}

.elementor .vfr-link .elementor-button:hover::after,
.elementor .vfr-link .elementor-button:focus-visible::after {
	transform: translateX(4px);
}

/* ==========================================================================
   7. Carduri
   ========================================================================== */

.elementor .vfr-card {
	--padding-top: var(--vfr-space-md);
	--padding-bottom: var(--vfr-space-md);
	--padding-left: var(--vfr-space-md);
	--padding-right: var(--vfr-space-md);
	--row-gap: var(--vfr-space-sm);
	--flex-direction: column;
	--justify-content: flex-start;

	position: relative;
	height: 100%;
	border: 1px solid var(--vfr-c-line, var(--vfr-line));
	border-radius: var(--vfr-radius);
	background: var(--vfr-c-card, var(--vfr-surface));
	box-shadow: var(--vfr-shadow-sm);
	overflow: hidden;
	transition:
		border-color var(--vfr-dur) var(--vfr-ease),
		box-shadow var(--vfr-dur) var(--vfr-ease),
		transform var(--vfr-dur) var(--vfr-ease);
}

/* Linie fina de brand care "se incarca" pe muchia de sus la hover */
.elementor .vfr-card::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 2px;
	background: linear-gradient(90deg, var(--vfr-brand), var(--vfr-accent));
	transform: scaleX(0);
	transform-origin: left;
	transition: transform .5s var(--vfr-ease);
}

.elementor .vfr-card:hover,
.elementor .vfr-card:focus-within {
	border-color: transparent;
	box-shadow: var(--vfr-shadow-lg);
	transform: translateY(-3px);
}

.elementor .vfr-card:hover::before,
.elementor .vfr-card:focus-within::before {
	transform: scaleX(1);
}

/* Butonul de detalii se lipeste de baza cardului, indiferent de lungimea textului */
/* Rand de actiune "Detalii": lipit de baza cardului, separat printr-o linie
   fina, text de brand in stanga si sageata intr-un cerc in dreapta. */
.elementor .vfr-card > .vfr-link {
	margin-top: auto;
	padding-top: var(--vfr-space-sm);
	border-top: 1px solid var(--vfr-c-line, var(--vfr-line));
}

.elementor .vfr-card > .vfr-link .elementor-button-wrapper {
	display: block;
}

.elementor .vfr-card > .vfr-link .elementor-button {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	color: var(--vfr-brand-text);
	font-size: .9375rem;
	letter-spacing: .01em;
}

/* Tot cardul devine zona de click a link-ului. Elementor pune position:relative
   pe widget, deci lantul pana la card trebuie sa fie static, altfel suprafata
   de click se limiteaza la randul de jos. */
.elementor .vfr-card > .vfr-link,
.elementor .vfr-card > .vfr-link .elementor-widget-container,
.elementor .vfr-card > .vfr-link .elementor-button-wrapper,
.elementor .vfr-card > .vfr-link .elementor-button {
	position: static;
}

.elementor .vfr-card > .vfr-link .elementor-button::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
}

.elementor .vfr-card > .vfr-link .elementor-button::after {
	display: grid;
	flex: 0 0 auto;
	place-items: center;
	width: 2.25rem;
	height: 2.25rem;
	border: 1px solid rgba(230, 74, 48, .25);
	border-radius: 50%;
	background: var(--vfr-brand-soft);
	color: var(--vfr-brand-text);
	font-size: 1rem;
	line-height: 1;
	transition:
		background-color var(--vfr-dur) var(--vfr-ease),
		border-color var(--vfr-dur) var(--vfr-ease),
		box-shadow var(--vfr-dur) var(--vfr-ease),
		color var(--vfr-dur) var(--vfr-ease),
		transform var(--vfr-dur) var(--vfr-ease);
}

.elementor .vfr-card:hover > .vfr-link .elementor-button,
.elementor .vfr-card > .vfr-link .elementor-button:focus-visible {
	color: var(--vfr-brand-deep);
}

.elementor .vfr-card:hover > .vfr-link .elementor-button::after,
.elementor .vfr-card > .vfr-link .elementor-button:focus-visible::after {
	border-color: var(--vfr-brand-text);
	background: var(--vfr-brand-fill);
	box-shadow: 0 8px 18px -8px rgba(230, 74, 48, .8);
	color: #fff;
	transform: translateX(4px);
}

/* Focus vizibil pe tot cardul, nu doar pe text */
.elementor .vfr-card:has(> .vfr-link .elementor-button:focus-visible) {
	box-shadow: var(--vfr-ring), var(--vfr-shadow-lg);
}

.elementor .vfr-card > .vfr-link .elementor-button:focus-visible {
	outline: none;
}

/* Pe fundal intunecat: text alb, cercul in brand */
.elementor .vfr-section--dark .vfr-card > .vfr-link .elementor-button {
	color: #fff;
}

.elementor .vfr-section--dark .vfr-card > .vfr-link .elementor-button::after {
	border-color: rgba(230, 74, 48, .45);
	background: rgba(230, 74, 48, .16);
	color: #fff;
}

.elementor .vfr-section--dark .vfr-card:hover > .vfr-link .elementor-button::after,
.elementor .vfr-section--dark .vfr-card > .vfr-link .elementor-button:focus-visible::after {
	border-color: var(--vfr-brand-text);
	background: var(--vfr-brand-fill);
}

/* Pe fundal intunecat: sticla temperata, fara umbre grele */
.elementor .vfr-section--dark .vfr-card {
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
	box-shadow: none;
}

.elementor .vfr-section--dark .vfr-card:hover,
.elementor .vfr-section--dark .vfr-card:focus-within {
	border-color: rgba(255, 255, 255, .16);
	background: rgba(255, 255, 255, .07);
	box-shadow: 0 24px 48px -28px rgba(0, 0, 0, .8);
}

/* Logo de marca in card: placa neutra, se coloreaza la hover */
.elementor .vfr-logo {
	--container-widget-width: auto;

	display: flex;
	align-items: center;
	justify-content: flex-start;
	height: 4rem;
}

/* Inaltime fixa + latime auto: proportia vine din atributele width/height, deci
   placa are dimensiune corecta si inainte ca imaginea lazy sa se incarce. */
.elementor .vfr-logo img {
	width: auto;
	height: 3.25rem;
	max-width: 8rem;
	object-fit: contain;
	object-position: left center;
	filter: grayscale(1) contrast(1.05);
	opacity: .85;
	transition: filter var(--vfr-dur) var(--vfr-ease), opacity var(--vfr-dur) var(--vfr-ease);
}

.elementor .vfr-card:hover .vfr-logo img,
.elementor .vfr-card:focus-within .vfr-logo img {
	filter: none;
	opacity: 1;
}

/* Pe dark, logo-urile sunt in general negre - le pun pe o placa deschisa */
.elementor .vfr-section--dark .vfr-logo {
	align-self: flex-start;
	padding: .5rem .875rem;
	border-radius: var(--vfr-radius-sm);
	background: rgba(255, 255, 255, .92);
}

.elementor .vfr-section--dark .vfr-logo img {
	height: 2.5rem;
}

/* Marcator de caracteristica (trust strip) */
.elementor .vfr-feature {
	--padding-top: var(--vfr-space-sm);
	--padding-bottom: var(--vfr-space-sm);
	--padding-left: var(--vfr-space-md);
	--padding-right: var(--vfr-space-md);
	--flex-direction: row;
	--align-items: center;
	--column-gap: var(--vfr-space-sm);

	border: 1px solid var(--vfr-c-line, var(--vfr-line));
	border-radius: var(--vfr-radius);
	background: var(--vfr-c-card, var(--vfr-surface));
}

.elementor .vfr-feature::before {
	content: "";
	flex: 0 0 auto;
	width: .625rem;
	height: .625rem;
	border-radius: 50%;
	background: var(--vfr-brand-fill);
	box-shadow: 0 0 0 5px var(--vfr-brand-soft);
}

.elementor .vfr-feature .elementor-heading-title {
	margin: 0;
	color: var(--vfr-c-heading, var(--vfr-ink));
	font-family: var(--vfr-font);
	font-size: var(--vfr-fs-sm);
	font-weight: 600;
	letter-spacing: .06em;
	line-height: 1.35;
	text-transform: uppercase;
}

/* Cifre-cheie */
.elementor .vfr-stat {
	--padding-top: var(--vfr-space-sm);
	--padding-bottom: 0px;
	--padding-left: 0px;
	--padding-right: 0px;
	--row-gap: .25rem;
	--flex-direction: column;

	border-top: 1px solid var(--vfr-c-line, var(--vfr-line));
}

.elementor .vfr-stat__value .elementor-heading-title {
	margin: 0;
	color: var(--vfr-c-heading, var(--vfr-ink));
	font-family: var(--vfr-font);
	font-size: var(--vfr-fs-h2);
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	letter-spacing: -.03em;
	line-height: 1;
}

.elementor .vfr-stat__label,
.elementor .vfr-stat__label p {
	margin: 0;
	color: var(--vfr-c-muted, var(--vfr-muted));
	font-family: var(--vfr-font-mono);
	font-size: var(--vfr-fs-xs);
	letter-spacing: .08em;
	text-transform: uppercase;
}

/* ==========================================================================
   8. Media
   ========================================================================== */

.elementor .vfr-media img {
	display: block;
	width: 100%;
	height: auto;
	border: 1px solid var(--vfr-c-line, var(--vfr-line));
	border-radius: var(--vfr-radius-lg);
	box-shadow: var(--vfr-shadow-lg);
	object-fit: cover;
}

/* Imagine de sprijin, mai mica decat coloana */
.elementor .vfr-media--sm img {
	max-width: min(100%, 26rem);
}

/* Imagini decupate (PNG transparent): fara rama si umbra */
.elementor .vfr-media--plain img {
	border: 0;
	border-radius: 0;
	box-shadow: none;
}

.elementor .vfr-section--dark .vfr-media:not(.vfr-media--plain) img {
	box-shadow: 0 40px 80px -40px rgba(0, 0, 0, .9), 0 0 0 1px rgba(255, 255, 255, .06);
}

/* ==========================================================================
   9. FAQ (widget Accordion sau Toggle - acelasi markup .elementor-tab-*)
   ========================================================================== */

.elementor .vfr-faq :is(.elementor-toggle, .elementor-accordion) {
	display: grid;
	gap: var(--vfr-space-xs);
	text-align: start;
}

.elementor .vfr-faq :is(.elementor-toggle-item, .elementor-accordion-item) {
	border: 1px solid var(--vfr-c-line, var(--vfr-line));
	border-radius: var(--vfr-radius);
	background: var(--vfr-c-card, var(--vfr-surface));
	overflow: hidden;
	transition: border-color var(--vfr-dur) var(--vfr-ease), box-shadow var(--vfr-dur) var(--vfr-ease);
}

.elementor .vfr-faq :is(.elementor-toggle-item, .elementor-accordion-item):hover {
	border-color: rgba(230, 74, 48, .35);
}

.elementor .vfr-faq :is(.elementor-toggle-item, .elementor-accordion-item):has(.elementor-active) {
	border-color: rgba(230, 74, 48, .45);
	box-shadow: var(--vfr-shadow);
}

.elementor .vfr-faq .elementor-tab-title {
	display: flex;
	flex-direction: row-reverse;
	align-items: center;
	justify-content: space-between;
	gap: var(--vfr-space-sm);
	margin: 0;
	padding: 1.05rem 1.25rem;
	border: 0;
	color: var(--vfr-c-heading, var(--vfr-ink));
	font-family: var(--vfr-font);
	font-size: var(--vfr-fs-base);
	font-weight: 600;
	line-height: 1.4;
	cursor: pointer;
}

.elementor .vfr-faq .elementor-tab-title a,
.elementor .vfr-faq .elementor-tab-title :is(.elementor-toggle-title, .elementor-accordion-title) {
	color: inherit;
}

.elementor .vfr-faq .elementor-tab-title:hover,
.elementor .vfr-faq .elementor-tab-title.elementor-active {
	color: var(--vfr-brand-text);
}

.elementor .vfr-faq :is(.elementor-toggle-icon, .elementor-accordion-icon) {
	display: grid;
	flex: 0 0 auto;
	place-items: center;
	width: 1.75rem;
	height: 1.75rem;
	border: 1px solid var(--vfr-c-line, var(--vfr-line));
	border-radius: 50%;
	color: currentColor;
	font-size: .75rem;
	transition: border-color var(--vfr-dur) var(--vfr-ease), background-color var(--vfr-dur) var(--vfr-ease);
}

.elementor .vfr-faq .elementor-tab-title.elementor-active :is(.elementor-toggle-icon, .elementor-accordion-icon) {
	border-color: var(--vfr-brand-text);
	background: var(--vfr-brand-soft);
}

.elementor .vfr-faq :is(.elementor-toggle-icon, .elementor-accordion-icon) svg {
	width: .75em;
	height: .75em;
	fill: currentColor;
}

.elementor .vfr-faq .elementor-tab-content {
	padding: 0 1.25rem 1.15rem;
	border: 0;
	color: var(--vfr-c-body, var(--vfr-body));
	font-family: var(--vfr-font);
	font-size: var(--vfr-fs-sm);
	line-height: var(--vfr-lh-body);
}

.elementor .vfr-faq .elementor-tab-content p {
	margin: 0 0 .75em;
}

.elementor .vfr-faq .elementor-tab-content > :last-child {
	margin-bottom: 0;
}

.elementor .vfr-faq .elementor-tab-content ul {
	margin: 0;
	padding-left: 1.1em;
}

.elementor .vfr-faq .elementor-tab-content li {
	padding: .15em 0;
}

.elementor .vfr-faq .elementor-tab-content li::marker {
	color: var(--vfr-brand-text);
}

/* ==========================================================================
   10. Articole (widget Posts, skin Cards)
   ========================================================================== */

.elementor .vfr-posts .elementor-posts-container {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--vfr-space-md);
}

@media (min-width: 768px) {
	.elementor .vfr-posts .elementor-posts-container {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 1025px) {
	.elementor .vfr-posts .elementor-posts-container {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

.elementor .vfr-posts .elementor-post {
	margin: 0;
}

.elementor .vfr-posts .elementor-post__card {
	display: flex;
	flex-direction: column;
	height: 100%;
	border: 1px solid var(--vfr-c-line, var(--vfr-line));
	border-radius: var(--vfr-radius);
	background: var(--vfr-c-card, var(--vfr-surface));
	box-shadow: var(--vfr-shadow-sm);
	transition: box-shadow var(--vfr-dur) var(--vfr-ease), transform var(--vfr-dur) var(--vfr-ease);
}

.elementor .vfr-posts .elementor-post__card:hover,
.elementor .vfr-posts .elementor-post__card:focus-within {
	box-shadow: var(--vfr-shadow-lg);
	transform: translateY(-3px);
}

.elementor .vfr-posts .elementor-post__thumbnail__link {
	margin-bottom: 0;
}

.elementor .vfr-posts .elementor-post__thumbnail img {
	transition: transform .7s var(--vfr-ease);
}

.elementor .vfr-posts .elementor-post__card:hover .elementor-post__thumbnail img {
	transform: translate(-50%, -50%) scale(1.04);
}

.elementor .vfr-posts .elementor-post__badge {
	inset: 1rem auto auto 1rem;
	width: max-content;
	max-width: calc(100% - 2rem);
	margin: 0;
	padding: .35em .8em;
	border-radius: var(--vfr-radius-pill);
	background: rgba(20, 21, 26, .78);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
	color: #fff;
	font-family: var(--vfr-font-mono);
	font-size: .6875rem;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.elementor .vfr-posts .elementor-post__text {
	flex: 1 1 auto;
	padding: 1.25rem 1.5rem 0;
}

.elementor .vfr-posts .elementor-post__title {
	margin: 0 0 .5rem;
	font-family: var(--vfr-font);
	font-size: var(--vfr-fs-h4);
	line-height: var(--vfr-lh-snug);
}

.elementor .vfr-posts .elementor-post__title a {
	color: var(--vfr-c-heading, var(--vfr-ink));
	font-weight: 700;
	transition: color var(--vfr-dur) var(--vfr-ease);
}

.elementor .vfr-posts .elementor-post__title a:hover,
.elementor .vfr-posts .elementor-post__title a:focus-visible {
	color: var(--vfr-brand-text);
}

.elementor .vfr-posts .elementor-post__excerpt p {
	color: var(--vfr-c-body, var(--vfr-body));
	font-family: var(--vfr-font);
	font-size: var(--vfr-fs-sm);
	line-height: 1.6;
}

.elementor .vfr-posts .elementor-post__read-more {
	color: var(--vfr-brand-text);
	font-family: var(--vfr-font);
	font-size: var(--vfr-fs-sm);
	font-weight: 600;
	letter-spacing: .01em;
	text-transform: none;
}

.elementor .vfr-posts .elementor-post__meta-data {
	padding: .875rem 1.5rem;
	border-top: 1px solid var(--vfr-c-line, var(--vfr-line));
	color: var(--vfr-c-muted, var(--vfr-muted));
	font-family: var(--vfr-font-mono);
	font-size: .6875rem;
	letter-spacing: .06em;
	text-transform: uppercase;
}

/* ==========================================================================
   11. CTA / contact
   ========================================================================== */

.elementor .vfr-cta {
	--padding-top: var(--vfr-space-lg);
	--padding-bottom: var(--vfr-space-lg);
	--padding-left: var(--vfr-space-lg);
	--padding-right: var(--vfr-space-lg);
	--row-gap: var(--vfr-space-sm);

	position: relative;
	border: 1px solid var(--vfr-c-line);
	border-radius: var(--vfr-radius-lg);
	/* Sticla semitransparenta: fundalul sectiunii (ex. harta) se vede prin card */
	background:
		radial-gradient(120% 140% at 100% 0%, rgba(230, 74, 48, .16), transparent 55%),
		rgba(28, 30, 37, .8);
	-webkit-backdrop-filter: blur(3px);
	backdrop-filter: blur(3px);
	overflow: hidden;
}

/* Numerele de telefon: doua carduri identice, fiecare in intregime link tel: */
.elementor .e-con.e-con.vfr-phones {
	--display: grid;
	--padding-top: 0px;
	--padding-bottom: 0px;
	--padding-left: 0px;
	--padding-right: 0px;

	/* Doua coloane doar cand incap numerele intregi, altfel una sub alta */
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 14.5rem), 1fr));
	gap: var(--vfr-space-xs);
}

.elementor .vfr-phone .elementor-heading-title {
	margin: 0;
	font-family: var(--vfr-font);
	font-size: clamp(1.1875rem, 1.1rem + .3vw, 1.3125rem);
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	letter-spacing: -.01em;
	line-height: 1.1;
	white-space: nowrap;
}

.elementor .vfr-phone .elementor-heading-title a {
	display: flex;
	align-items: center;
	gap: .75rem;
	padding: .75rem 1rem .75rem .75rem;
	border: 1px solid var(--vfr-c-line);
	border-radius: var(--vfr-radius);
	background: rgba(255, 255, 255, .04);
	color: #fff;
	transition:
		background-color var(--vfr-dur) var(--vfr-ease),
		border-color var(--vfr-dur) var(--vfr-ease),
		transform var(--vfr-dur) var(--vfr-ease);
}

/* Iconita de telefon (alba) intr-un cerc de brand */
.elementor .vfr-phone .elementor-heading-title a::before {
	content: "";
	flex: 0 0 auto;
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 50%;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E") center / 1.15rem no-repeat, var(--vfr-brand);
	box-shadow: 0 8px 20px -10px rgba(230, 74, 48, .9);
}

.elementor .vfr-phone .elementor-heading-title a:hover,
.elementor .vfr-phone .elementor-heading-title a:focus-visible {
	border-color: rgba(230, 74, 48, .55);
	background: rgba(230, 74, 48, .1);
	color: #fff;
	transform: translateY(-2px);
}

.elementor .vfr-phone .elementor-heading-title a:focus-visible {
	outline: none;
	box-shadow: var(--vfr-ring);
}

/* Expedierea prin curier: card evidentiat in culoarea brandului; tot cardul
   deschide popup-ul cu instructiuni (link-ul titlului e intins peste card). */
.elementor .vfr-courier {
	--padding-top: 1.25rem;
	--padding-bottom: 1.25rem;
	--padding-left: 5.25rem;
	--padding-right: 4.25rem;
	--row-gap: .25rem;
	--flex-direction: column;

	position: relative;
	border: 1px solid rgba(230, 74, 48, .45);
	border-radius: var(--vfr-radius);
	background: linear-gradient(135deg, rgba(230, 74, 48, .2), rgba(230, 74, 48, .06));
	transition:
		border-color var(--vfr-dur) var(--vfr-ease),
		box-shadow var(--vfr-dur) var(--vfr-ease),
		transform var(--vfr-dur) var(--vfr-ease);
}

/* Iconita de camion (alba), in patrat de brand, in stanga */
.elementor .vfr-courier::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 1.25rem;
	width: 3rem;
	height: 3rem;
	border-radius: 12px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 18V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v11a1 1 0 0 0 1 1h2M15 18H9M19 18h2a1 1 0 0 0 1-1v-3.65a1 1 0 0 0-.22-.62l-3.48-4.35A1 1 0 0 0 17.52 8H14'/%3E%3Ccircle cx='17' cy='18' r='2'/%3E%3Ccircle cx='7' cy='18' r='2'/%3E%3C/svg%3E") center / 1.4rem no-repeat, var(--vfr-brand);
	box-shadow: 0 10px 24px -10px rgba(230, 74, 48, .9);
	transform: translateY(-50%);
}

/* Sageata in cerc, in dreapta */
.elementor .vfr-courier::after {
	content: "\2192";
	position: absolute;
	top: 50%;
	right: 1.25rem;
	display: grid;
	place-items: center;
	width: 2.25rem;
	height: 2.25rem;
	border: 1px solid rgba(255, 255, 255, .25);
	border-radius: 50%;
	color: #fff;
	font-size: 1rem;
	line-height: 1;
	transform: translateY(-50%);
	transition:
		background-color var(--vfr-dur) var(--vfr-ease),
		border-color var(--vfr-dur) var(--vfr-ease),
		transform var(--vfr-dur) var(--vfr-ease);
}

.elementor .vfr-courier:hover,
.elementor .vfr-courier:focus-within {
	border-color: var(--vfr-brand-text);
	box-shadow: 0 20px 40px -24px rgba(230, 74, 48, .7);
	transform: translateY(-2px);
}

.elementor .vfr-courier:hover::after,
.elementor .vfr-courier:focus-within::after {
	border-color: var(--vfr-brand-text);
	background: var(--vfr-brand-fill);
	transform: translate(4px, -50%);
}

.elementor .vfr-courier__title .elementor-heading-title {
	margin: 0;
	color: #fff;
	font-family: var(--vfr-font);
	font-size: var(--vfr-fs-h4);
	font-weight: 700;
	letter-spacing: -.005em;
	line-height: 1.3;
}

.elementor .vfr-courier__title .elementor-heading-title a {
	color: inherit;
}

.elementor .vfr-courier__title .elementor-heading-title a:focus-visible {
	outline: none;
}

.elementor .vfr-courier:has(.vfr-courier__title a:focus-visible) {
	box-shadow: var(--vfr-ring);
}

/* Link-ul titlului acopera tot cardul; lantul pana la card ramane static */
.elementor .vfr-courier > .vfr-courier__title,
.elementor .vfr-courier > .vfr-courier__title .elementor-widget-container,
.elementor .vfr-courier__title .elementor-heading-title {
	position: static;
}

.elementor .vfr-courier__title .elementor-heading-title a::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
}

.elementor .vfr-courier__note .elementor-heading-title {
	margin: 0;
	color: rgba(255, 255, 255, .7);
	font-family: var(--vfr-font);
	font-size: var(--vfr-fs-sm);
	font-weight: 400;
	line-height: 1.45;
}

/* Telefoane mici: iconita deasupra textului, sageata in coltul de sus */
@media (max-width: 479px) {
	.elementor .vfr-courier {
		--padding-top: 5rem;
		--padding-left: 1.25rem;
		--padding-right: 1.25rem;
	}

	.elementor .vfr-courier::before {
		top: 1.25rem;
		transform: none;
	}

	.elementor .vfr-courier::after {
		top: 1.625rem;
		transform: none;
	}

	.elementor .vfr-courier:hover::after,
	.elementor .vfr-courier:focus-within::after {
		transform: translateX(4px);
	}
}

/* Link text mic (ex. "Poti trimite navigatia prin curier") */
.elementor .vfr-note .elementor-heading-title {
	margin: 0;
	color: var(--vfr-c-body, var(--vfr-body));
	font-family: var(--vfr-font);
	font-size: var(--vfr-fs-sm);
	font-weight: 400;
	line-height: 1.5;
}

.elementor .vfr-note .elementor-heading-title a {
	color: inherit;
	text-decoration: underline;
	text-decoration-color: rgba(230, 74, 48, .6);
	text-decoration-thickness: 1px;
	text-underline-offset: .25em;
	transition: color var(--vfr-dur) var(--vfr-ease);
}

.elementor .vfr-note .elementor-heading-title a:hover,
.elementor .vfr-note .elementor-heading-title a:focus-visible {
	color: var(--vfr-brand-text);
}

/* ==========================================================================
   14. Pagini de servicii (generate de build-service-template.php)
   ========================================================================== */

/* Hero: imaginea originala a paginii (setata pe container) sub un overlay
   inchis, dens in stanga unde e textul. Inlocuieste grila sectiunilor dark. */
.elementor .vfr-page-hero {
	--padding-top: clamp(3.5rem, 2.5rem + 4vw, 6.5rem);
	--padding-bottom: clamp(3rem, 2rem + 3.5vw, 5.5rem);

	background-color: var(--vfr-dark-deep);
	overflow: hidden;
}

.elementor .vfr-section--dark.vfr-page-hero::before {
	/* Radial, ca pe slider-ul de pe homepage: dens in centru (text), mai
	   transparent spre margini, ca fotografia sa se vada pe ambele parti */
	background:
		linear-gradient(0deg, rgba(14, 15, 19, .6) 0%, rgba(14, 15, 19, 0) 35%),
		radial-gradient(ellipse 62% 80% at 50% 50%, rgba(14, 15, 19, .9) 0%, rgba(14, 15, 19, .72) 55%, rgba(14, 15, 19, .4) 100%);
	-webkit-mask-image: none;
	mask-image: none;
}

.elementor .vfr-page-hero__inner {
	--row-gap: var(--vfr-space-sm);
	--align-items: center;

	max-width: 54rem;
	margin-inline: auto;
	text-align: center;
}

.elementor .vfr-page-hero__inner .vfr-title .elementor-heading-title {
	margin-inline: auto;
}

.elementor .vfr-page-hero .vfr-row {
	--justify-content: center;

	margin-top: var(--vfr-space-xs);
}

/* Eticheta din hero: liniute de ambele parti, ca pe slider */
.elementor .vfr-page-hero .vfr-eyebrow .elementor-heading-title::after {
	content: "";
	width: 1.75em;
	height: 1px;
	background: currentColor;
}

@media (max-width: 767px) {
	.elementor .vfr-page-hero .vfr-eyebrow .elementor-heading-title::before,
	.elementor .vfr-page-hero .vfr-eyebrow .elementor-heading-title::after {
		display: none;
	}
}

/* Linia de specificatii de sub H1 ("RNS 510 | MIB | MIB2 ..."): eticheta tehnica */
.elementor .vfr-specs .elementor-heading-title {
	margin: 0;
	color: rgba(255, 255, 255, .72);
	font-family: var(--vfr-font-mono);
	font-size: clamp(.75rem, .7rem + .2vw, .875rem);
	font-weight: 500;
	letter-spacing: .08em;
	line-height: 1.7;
	text-transform: uppercase;
}

/* Fraza introductiva a unei sectiuni, scrisa ca titlu in pagina veche:
   isi pastreaza nivelul (SEO), dar arata ca un paragraf de deschidere */
.elementor .vfr-lead-heading .elementor-heading-title {
	max-width: 62ch;
	margin: 0;
	color: var(--vfr-c-body, var(--vfr-body));
	font-family: var(--vfr-font);
	font-size: var(--vfr-fs-lead);
	font-weight: 500;
	letter-spacing: 0;
	line-height: 1.55;
}

/* Nota evidentiata (ex. "Printre serviciile noastre ... amplificatoare") */
.elementor .vfr-callout {
	--padding-top: var(--vfr-space-md);
	--padding-bottom: var(--vfr-space-md);
	--padding-left: var(--vfr-space-md);
	--padding-right: var(--vfr-space-md);

	border: 1px solid rgba(230, 74, 48, .18);
	border-left: 3px solid var(--vfr-brand);
	border-radius: var(--vfr-radius-sm);
	background: rgba(230, 74, 48, .05);
}

/* Lista de simptome (widget Icon List): bife de brand in loc de iconite */
.elementor .vfr-checklist .elementor-icon-list-items {
	display: grid;
	gap: .75rem;
	margin: 0;
	padding: 0;
}

.elementor .vfr-checklist .elementor-icon-list-item {
	position: relative;
	display: block;
	margin: 0;
	padding: 0 0 0 2.125rem;
}

.elementor .vfr-checklist .elementor-icon-list-item::before {
	content: "";
	position: absolute;
	top: .1em;
	left: 0;
	width: 1.375rem;
	height: 1.375rem;
	border-radius: 50%;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e64a30' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / .8rem no-repeat, var(--vfr-brand-soft);
	box-shadow: inset 0 0 0 1px rgba(230, 74, 48, .25);
}

.elementor .vfr-checklist .elementor-icon-list-icon {
	display: none;
}

.elementor .vfr-checklist .elementor-icon-list-item .elementor-icon-list-text {
	padding: 0;
	color: var(--vfr-c-body, var(--vfr-body));
	font-family: var(--vfr-font);
	font-size: var(--vfr-fs-base);
	line-height: 1.55;
}

@media (min-width: 768px) {
	.elementor .vfr-checklist--cols .elementor-icon-list-items {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		column-gap: var(--vfr-space-lg);
	}
}

/* Card cu poza de produs sus, pana la marginile cardului. Elementor limiteaza
   widget-urile cu .elementor.elementor .e-con > .elementor-widget { max-width:100% }
   (0,4,0), de aici selectorul (0,5,0). */
.elementor.elementor .e-con.e-con.vfr-card--media > .vfr-card__media {
	--container-widget-width: calc(100% + 2 * var(--vfr-space-md));

	width: calc(100% + 2 * var(--vfr-space-md));
	max-width: none;
	margin: calc(-1 * var(--vfr-space-md)) calc(-1 * var(--vfr-space-md)) var(--vfr-space-xs);
	border-bottom: 1px solid var(--vfr-c-line, var(--vfr-line));
	background: #fff;
}

.elementor .vfr-card--media > .vfr-card__media img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	padding: var(--vfr-space-sm);
	/* plugin-ul dominant-color pune culoarea dominanta ca fundal pe <img>;
	   cu padding, ar aparea ca o rama gri in jurul pozei */
	background: transparent;
	object-fit: contain;
	transition: transform .6s var(--vfr-ease);
}

.elementor .vfr-card--media:hover > .vfr-card__media img {
	transform: scale(1.04);
}

/* Pasii procesului de reparatie (widget Icon Box), numerotati 01, 02, 03 */
.elementor .e-con.e-con.vfr-steps {
	counter-reset: vfr-step;
}

.elementor .vfr-steps .vfr-step {
	position: relative;
	height: 100%;
	padding: var(--vfr-space-md);
	border: 1px solid var(--vfr-c-line, var(--vfr-line));
	border-radius: var(--vfr-radius);
	background: var(--vfr-c-card, var(--vfr-surface));
	box-shadow: var(--vfr-shadow-sm);
	counter-increment: vfr-step;
}

.elementor .vfr-steps .vfr-step::after {
	content: counter(vfr-step, decimal-leading-zero);
	position: absolute;
	top: var(--vfr-space-md);
	right: var(--vfr-space-md);
	color: rgba(230, 74, 48, .35);
	font-family: var(--vfr-font-mono);
	font-size: 1.75rem;
	font-weight: 700;
	line-height: 1;
}

.elementor .vfr-steps .vfr-step .elementor-icon-box-wrapper {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--vfr-space-sm);
	text-align: start;
}

.elementor .vfr-steps .vfr-step .elementor-icon-box-icon {
	margin: 0;
}

.elementor .vfr-steps .vfr-step .elementor-icon {
	display: grid;
	place-items: center;
	width: 3rem;
	height: 3rem;
	border-radius: 12px;
	background: var(--vfr-brand-fill);
	box-shadow: 0 10px 24px -10px rgba(230, 74, 48, .9);
	color: #fff;
	fill: #fff;
	font-size: 1.25rem;
}

.elementor .vfr-steps .vfr-step .elementor-icon svg {
	width: 1.25rem;
	height: 1.25rem;
	fill: #fff;
}

.elementor .vfr-steps .vfr-step .elementor-icon-box-title {
	margin: 0 0 .375rem;
	color: var(--vfr-c-heading, var(--vfr-ink));
	font-family: var(--vfr-font);
	font-size: var(--vfr-fs-h4);
	font-weight: 700;
	line-height: var(--vfr-lh-snug);
}

.elementor .vfr-steps .vfr-step .elementor-icon-box-description {
	margin: 0;
	color: var(--vfr-c-body, var(--vfr-body));
	font-family: var(--vfr-font);
	font-size: var(--vfr-fs-sm);
	line-height: 1.6;
}

/* FAQ: coloana din stanga cu titlu + card de ajutor, sticky pe desktop */
@media (min-width: 1025px) {
	.elementor .vfr-faq-aside {
		position: sticky;
		top: calc(var(--vfh-main-h, 76px) + 2rem);
	}
}

.elementor .vfr-help {
	--padding-top: var(--vfr-space-md);
	--padding-bottom: var(--vfr-space-md);
	--padding-left: calc(var(--vfr-space-md) + 3.75rem);
	--padding-right: var(--vfr-space-md);
	--row-gap: .375rem;

	position: relative;
	margin-top: var(--vfr-space-xs);
	border: 1px solid var(--vfr-c-line, var(--vfr-line));
	border-radius: var(--vfr-radius);
	background: var(--vfr-c-card, var(--vfr-surface));
	box-shadow: var(--vfr-shadow);
}

/* Iconita de chat, in patrat de brand */
.elementor .vfr-help::before {
	content: "";
	position: absolute;
	top: var(--vfr-space-md);
	left: var(--vfr-space-md);
	width: 2.75rem;
	height: 2.75rem;
	border-radius: 12px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z'/%3E%3Cpath d='M8 9h8M8 13h5'/%3E%3C/svg%3E") center / 1.25rem no-repeat, var(--vfr-brand);
	box-shadow: 0 10px 24px -10px rgba(230, 74, 48, .9);
}

.elementor .vfr-help__title .elementor-heading-title {
	margin: 0;
	color: var(--vfr-c-heading, var(--vfr-ink));
	font-family: var(--vfr-font);
	font-size: var(--vfr-fs-h4);
	font-weight: 700;
	line-height: var(--vfr-lh-snug);
}

.elementor .vfr-help__text,
.elementor .vfr-help__text p {
	margin: 0;
	color: var(--vfr-c-body, var(--vfr-body));
	font-family: var(--vfr-font);
	font-size: var(--vfr-fs-sm);
	line-height: 1.55;
}

.elementor .vfr-help .vfr-row {
	margin-top: var(--vfr-space-xs);
}

.elementor .vfr-help .vfr-btn .elementor-button {
	min-height: 2.75rem;
	padding: .7rem 1.15rem;
	font-size: .875rem;
}

/* Pe ecrane inguste iconita trece deasupra textului */
@media (max-width: 479px) {
	.elementor .vfr-help {
		--padding-top: calc(var(--vfr-space-md) + 3.5rem);
		--padding-left: var(--vfr-space-md);
	}
}

/*
 * Titlu + text lung (build-service-template.php): al treilea copil (Solutia VagFix
 * sau cardul de ajutor) urca pe desktop sub titlu, in coloana din stanga, si ramane
 * sticky cat se citeste textul. In DOM e dupa text, deci pe mobil vine dupa el.
 */
@media (min-width: 1025px) {
	.elementor .e-con.e-con.vfr-split--aside {
		grid-template-rows: auto 1fr;
		row-gap: var(--vfr-space-md);
	}

	.elementor .e-con.e-con.vfr-split--aside > :nth-child(2) {
		grid-column: 2;
		grid-row: 1 / span 2;
	}

	.elementor .e-con.e-con.vfr-split--aside > :nth-child(3) {
		position: sticky;
		top: calc(var(--vfh-main-h, 76px) + 2rem);
		grid-column: 1;
		grid-row: 2;
		align-self: start;
	}
}

/* "Solutia VagFix": card inchis, eticheta de brand cu iconita de unealta */
.elementor .vfr-solution {
	--vfr-brand-text: #f0583d;
	--vfr-c-heading: #fff;
	--vfr-c-body: rgba(255, 255, 255, .78);
	--padding-top: var(--vfr-space-md);
	--padding-bottom: var(--vfr-space-md);
	--padding-left: var(--vfr-space-md);
	--padding-right: var(--vfr-space-md);

	position: relative;
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, .06);
	border-radius: var(--vfr-radius);
	background:
		radial-gradient(120% 80% at 100% 0, rgba(230, 74, 48, .16), transparent 60%),
		linear-gradient(160deg, var(--vfr-dark-raised), var(--vfr-dark-deep));
	box-shadow: 0 18px 40px -22px rgba(14, 15, 19, .7);
}

.elementor .vfr-solution::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 3px;
	background: linear-gradient(90deg, var(--vfr-brand), transparent);
}

.elementor .vfr-solution .vfr-prose {
	font-size: var(--vfr-fs-sm);
	line-height: 1.65;
}

.elementor .vfr-solution .vfr-prose b,
.elementor .vfr-solution .vfr-prose strong {
	display: flex;
	align-items: center;
	gap: .75rem;
	margin-bottom: .875rem;
	color: var(--vfr-brand-text);
	font-size: .8125rem;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.elementor .vfr-solution .vfr-prose b::before,
.elementor .vfr-solution .vfr-prose strong::before {
	content: "";
	flex: none;
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 11px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z'/%3E%3C/svg%3E") center / 1.15rem no-repeat, var(--vfr-brand-fill);
	box-shadow: 0 10px 24px -10px rgba(230, 74, 48, .9);
}

/* Logo-ul de marca in linie cu titlul sectiunii */
.elementor .vfr-titlerow {
	--flex-wrap: nowrap;
	--column-gap: clamp(.875rem, .6rem + 1vw, 1.25rem);
}

.elementor .vfr-titlerow > .vfr-logo--inline {
	flex: 0 0 auto;
	height: auto;
}

.elementor .vfr-titlerow > .vfr-logo--inline img {
	height: clamp(2.5rem, 2rem + 1.6vw, 3.5rem);
	max-width: 5.5rem;
	/* Langa titlu, logo-ul ramane in culorile lui (desaturarea e doar pentru carduri) */
	filter: none;
	opacity: 1;
}

.elementor .vfr-titlerow > .vfr-title {
	flex: 1 1 auto;
	min-width: 0;
}

/* Cu logo pe acelasi rand, limita de 46rem a blocului de titlu ar rupe
   inutil titluri scurte ("Service navigatii auto Lamborghini") */
.elementor .vfr-stack:has(> .vfr-titlerow) {
	max-width: 64rem;
}

.elementor .vfr-titlerow .vfr-title .elementor-heading-title {
	text-wrap: pretty;
}

/* ==========================================================================
   15. Popup de contact (Elementor 743) - restilizare doar din CSS

   Continutul popup-ului ramane neatins. Elementor il stilizeaza cu pana la
   (0,6,0), deci regulile pornesc de la ID-ul modalului (1,x,x). Totul e scoped
   pe body.vfr-popup-v2 (vezi VAGFIX_POPUP_V2_LIVE in functions.php).
   ========================================================================== */

body.vfr-popup-v2 #elementor-popup-modal-743 {
	background-color: rgba(10, 11, 14, .72);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
}

body.vfr-popup-v2 #elementor-popup-modal-743 .dialog-widget-content {
	border-radius: var(--vfr-radius-lg);
	background: #fff;
	box-shadow: 0 40px 80px -30px rgba(0, 0, 0, .65);
	overflow: hidden;
}

body.vfr-popup-v2 #elementor-popup-modal-743 .dialog-message {
	width: min(560px, calc(100vw - 2rem));
	max-height: calc(100vh - 2rem);
	overflow-y: auto;
}

body.vfr-popup-v2 #elementor-popup-modal-743 .elementor-top-section {
	padding: 0;
	background: #fff;
	box-shadow: none;
}

body.vfr-popup-v2 #elementor-popup-modal-743 .elementor-top-section > .elementor-background-overlay {
	display: none;
}

body.vfr-popup-v2 #elementor-popup-modal-743 .elementor-top-section > .elementor-container {
	min-height: 0;
}

body.vfr-popup-v2 #elementor-popup-modal-743 .elementor-widget-wrap {
	padding: 2.5rem 2.25rem 2rem;
	font-family: var(--vfr-font);
	text-align: center;
}

/* Antet: iconita de casti in patrat de brand in locul ilustratiei vechi */
body.vfr-popup-v2 #elementor-popup-modal-743 .elementor-widget-image img {
	display: none;
}

body.vfr-popup-v2 #elementor-popup-modal-743 .elementor-widget-image .elementor-widget-container {
	display: grid;
	place-items: center;
}

body.vfr-popup-v2 #elementor-popup-modal-743 .elementor-widget-image .elementor-widget-container::before {
	content: "";
	width: 3.5rem;
	height: 3.5rem;
	border-radius: 16px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 11h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-5Zm0 0a9 9 0 1 1 18 0m0 0v5a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h3Z'/%3E%3Cpath d='M21 16v2a4 4 0 0 1-4 4h-5'/%3E%3C/svg%3E") center / 1.6rem no-repeat, var(--vfr-brand);
	box-shadow: 0 14px 30px -12px rgba(230, 74, 48, .9);
}

body.vfr-popup-v2 #elementor-popup-modal-743 .elementor-widget-heading > .elementor-widget-container {
	margin: 1.125rem 0 .5rem;
}

body.vfr-popup-v2 #elementor-popup-modal-743 .elementor-widget-heading .elementor-heading-title {
	color: var(--vfr-ink);
	font-family: var(--vfr-font);
	font-size: clamp(1.375rem, 1.2rem + .8vw, 1.75rem);
	font-weight: 700;
	letter-spacing: -.02em;
	line-height: 1.2;
}

body.vfr-popup-v2 #elementor-popup-modal-743 .elementor-widget-text-editor {
	max-width: 42ch;
	margin-inline: auto;
	color: var(--vfr-body);
	font-family: var(--vfr-font);
	font-size: .9375rem;
	line-height: 1.55;
}

body.vfr-popup-v2 #elementor-popup-modal-743 .elementor-widget-text-editor p {
	margin: 0;
}

/* Formular: campuri moderne; Nume + Tel pe acelasi rand pe ecrane late */
body.vfr-popup-v2 #elementor-popup-modal-743 .elementor-widget-form > .elementor-widget-container {
	margin: 1.5rem 0 0;
}

body.vfr-popup-v2 #elementor-popup-modal-743 .elementor-form-fields-wrapper {
	display: flex;
	flex-wrap: wrap;
	gap: .75rem;
	margin: 0;
}

body.vfr-popup-v2 #elementor-popup-modal-743 .elementor-field-group {
	margin: 0;
	padding: 0;
}

/* Nume | Prenume si Telefon | Email cate doi pe rand (campurile comune cu pagina Contact,
   redesign/lib.php vfr_form_with_request_fields) */
body.vfr-popup-v2 #elementor-popup-modal-743 .elementor-field-group-last_name,
body.vfr-popup-v2 #elementor-popup-modal-743 .elementor-field-group-first_name,
body.vfr-popup-v2 #elementor-popup-modal-743 .elementor-field-group-phone,
body.vfr-popup-v2 #elementor-popup-modal-743 .elementor-field-group-email {
	width: calc(50% - .375rem);
}

body.vfr-popup-v2 #elementor-popup-modal-743 .elementor-field-group .elementor-field-textual {
	min-height: 3.25rem;
	padding: .875rem 1rem;
	border: 1px solid var(--vfr-line);
	border-radius: 12px;
	background: var(--vfr-bg);
	color: var(--vfr-ink);
	font-family: var(--vfr-font);
	font-size: 1rem;
	line-height: 1.4;
	transition:
		background-color var(--vfr-dur) var(--vfr-ease),
		border-color var(--vfr-dur) var(--vfr-ease),
		box-shadow var(--vfr-dur) var(--vfr-ease);
}

body.vfr-popup-v2 #elementor-popup-modal-743 .elementor-field-group textarea.elementor-field {
	min-height: 7.5rem;
	resize: vertical;
}

body.vfr-popup-v2 #elementor-popup-modal-743 .elementor-field-group .elementor-field::placeholder {
	color: var(--vfr-muted);
	opacity: 1;
}

body.vfr-popup-v2 #elementor-popup-modal-743 .elementor-field-group .elementor-field-textual:hover {
	border-color: #cfd5dc;
}

body.vfr-popup-v2 #elementor-popup-modal-743 .elementor-field-group .elementor-field-textual:focus {
	border-color: var(--vfr-brand-text);
	background: #fff;
	box-shadow: var(--vfr-ring);
	outline: none;
}

body.vfr-popup-v2 #elementor-popup-modal-743 .elementor-field-type-submit {
	width: 100%;
	margin-top: .25rem;
}

body.vfr-popup-v2 #elementor-popup-modal-743 .elementor-button[type="submit"] {
	width: 100%;
	min-height: 3.25rem;
	border: 1px solid var(--vfr-brand);
	border-radius: var(--vfr-radius-pill);
	background: var(--vfr-brand-fill);
	box-shadow: 0 10px 24px -12px rgba(230, 74, 48, .85);
	color: #fff;
	font-family: var(--vfr-font);
	font-size: 1rem;
	font-weight: 600;
	letter-spacing: .01em;
	transition:
		background-color var(--vfr-dur) var(--vfr-ease),
		border-color var(--vfr-dur) var(--vfr-ease),
		transform var(--vfr-dur) var(--vfr-ease);
}

body.vfr-popup-v2 #elementor-popup-modal-743 .elementor-button[type="submit"]:hover,
body.vfr-popup-v2 #elementor-popup-modal-743 .elementor-button[type="submit"]:focus-visible {
	border-color: var(--vfr-brand-deep);
	background: var(--vfr-brand-deep);
	color: #fff;
	transform: translateY(-1px);
}

body.vfr-popup-v2 #elementor-popup-modal-743 .elementor-button[type="submit"]:focus-visible {
	outline: none;
	box-shadow: var(--vfr-ring);
}

body.vfr-popup-v2 #elementor-popup-modal-743 .elementor-message {
	margin-top: .75rem;
	font-family: var(--vfr-font);
	font-size: .9375rem;
}

/* Iconite sociale: cercuri neutre, colorate in brand la hover */
body.vfr-popup-v2 #elementor-popup-modal-743 .elementor-widget-social-icons {
	margin-top: 1.5rem;
	padding-top: 1.25rem;
	border-top: 1px solid var(--vfr-line-soft);
}

body.vfr-popup-v2 #elementor-popup-modal-743 .elementor-social-icon {
	--icon-size: 1rem;
	--icon-padding: .7em;

	background-color: var(--vfr-bg);
	color: var(--vfr-ink-soft);
	box-shadow: inset 0 0 0 1px var(--vfr-line);
	transition: background-color var(--vfr-dur) var(--vfr-ease), color var(--vfr-dur) var(--vfr-ease), transform var(--vfr-dur) var(--vfr-ease);
}

body.vfr-popup-v2 #elementor-popup-modal-743 .elementor-social-icon svg {
	fill: currentColor;
}

body.vfr-popup-v2 #elementor-popup-modal-743 .elementor-social-icon:hover,
body.vfr-popup-v2 #elementor-popup-modal-743 .elementor-social-icon:focus-visible {
	background-color: var(--vfr-brand-text);
	color: #fff;
	box-shadow: none;
	transform: translateY(-2px);
}

/* Google+ nu mai exista din 2019, iar iconita nu are link */
body.vfr-popup-v2 #elementor-popup-modal-743 .elementor-social-icon-google-plus-g {
	display: none;
}

/* Butonul de inchidere: cerc neutru, rosu la hover */
body.vfr-popup-v2 #elementor-popup-modal-743 .dialog-close-button {
	top: 1rem;
	right: 1rem;
	display: grid;
	place-items: center;
	width: 2.5rem;
	height: 2.5rem;
	margin: 0;
	border-radius: 50%;
	background: var(--vfr-bg);
	color: var(--vfr-ink);
	font-size: .875rem;
	transition: background-color var(--vfr-dur) var(--vfr-ease), color var(--vfr-dur) var(--vfr-ease);
}

body.vfr-popup-v2 #elementor-popup-modal-743 .dialog-close-button svg {
	width: .875rem;
	height: .875rem;
	fill: currentColor;
}

body.vfr-popup-v2 #elementor-popup-modal-743 .dialog-close-button:hover,
body.vfr-popup-v2 #elementor-popup-modal-743 .dialog-close-button:focus-visible {
	background: var(--vfr-brand-fill);
	color: #fff;
}

@media (max-width: 479px) {
	body.vfr-popup-v2 #elementor-popup-modal-743 .dialog-message {
		width: calc(100vw - 1rem);
	}

	body.vfr-popup-v2 #elementor-popup-modal-743 .elementor-widget-wrap {
		padding: 2rem 1.25rem 1.5rem;
	}

	body.vfr-popup-v2 #elementor-popup-modal-743 .elementor-field-group-last_name,
	body.vfr-popup-v2 #elementor-popup-modal-743 .elementor-field-group-first_name,
	body.vfr-popup-v2 #elementor-popup-modal-743 .elementor-field-group-phone,
	body.vfr-popup-v2 #elementor-popup-modal-743 .elementor-field-group-email {
		width: 100%;
	}
}

/* Masina (marca / model / an) - campuri pentru Cereri web (redesign/lib.php,
   vfr_form_with_request_fields). Trei pe rand; pe telefon marca pe tot randul,
   model + an dedesubt. Latimile Elementor (elementor-col-*) sunt ignorate aici,
   ca la nume/telefon, pentru ca wrapper-ul e flex cu gap. */
body.vfr-popup-v2 #elementor-popup-modal-743 .elementor-field-group-car_make,
body.vfr-popup-v2 #elementor-popup-modal-743 .elementor-field-group-car_model,
body.vfr-popup-v2 #elementor-popup-modal-743 .elementor-field-group-car_year {
	width: calc((100% - 1.5rem) / 3);
}

body.vfr-popup-v2 #elementor-popup-modal-743 .elementor-select-wrapper select.elementor-field-textual {
	padding-right: 2.25rem;
	cursor: pointer;
}

/* select fara alegere („Marca”, „An”) arata ca un placeholder, nu ca o valoare */
body.vfr-popup-v2 #elementor-popup-modal-743 .elementor-select-wrapper select.elementor-field-textual:has(option[value=""]:checked),
.elementor .vfr-form .elementor-select-wrapper select.elementor-field-textual:has(option[value=""]:checked) {
	color: var(--vfr-muted);
}

/* honeypot: Elementor il randeaza intr-un <div> fara clasa de grup, cu inputul display:none;
   ascundem si div-ul, altfel ramane un gap gol in randul flex */
body.vfr-popup-v2 #elementor-popup-modal-743 .elementor-field-type-text:has(> input[name="form_fields[vf_hp]"]),
.elementor .vfr-form .elementor-field-type-text:has(> input[name="form_fields[vf_hp]"]) {
	display: none;
}

/* insigna reCAPTCHA v3 (iframe Google, nu se poate stiliza): ascunsa, dar ramasa in pagina -
   Google permite doar visibility:hidden, nu display:none, si cere mentiunea de mai jos in formular.
   Scoasa din flux (absolute), altfel ramane un gol in randul flex. */
body.vfr-popup-v2 #elementor-popup-modal-743 .elementor-field-type-recaptcha_v3,
.elementor .vfr-form .elementor-field-type-recaptcha_v3 {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	visibility: hidden;
	pointer-events: none;
}

body.vfr-popup-v2 #elementor-popup-modal-743 .elementor-field-group-vf_recaptcha_note {
	width: 100%;
}

body.vfr-popup-v2 #elementor-popup-modal-743 .vfr-recaptcha-note,
.elementor .vfr-form .vfr-recaptcha-note {
	margin: 0;
	color: var(--vfr-muted);
	font-family: var(--vfr-font);
	font-size: .75rem;
	line-height: 1.5;
	text-align: center;
}

body.vfr-popup-v2 #elementor-popup-modal-743 .vfr-recaptcha-note a,
.elementor .vfr-form .vfr-recaptcha-note a {
	color: var(--vfr-brand-text);
	text-decoration: underline;
	text-underline-offset: 2px;
}

body.vfr-popup-v2 #elementor-popup-modal-743 .vfr-recaptcha-note a:hover,
body.vfr-popup-v2 #elementor-popup-modal-743 .vfr-recaptcha-note a:focus-visible,
.elementor .vfr-form .vfr-recaptcha-note a:hover,
.elementor .vfr-form .vfr-recaptcha-note a:focus-visible {
	color: var(--vfr-brand-deep);
}

@media (max-width: 479px) {
	body.vfr-popup-v2 #elementor-popup-modal-743 .elementor-field-group-car_make {
		width: 100%;
	}

	body.vfr-popup-v2 #elementor-popup-modal-743 .elementor-field-group-car_model {
		width: calc(60% - .375rem);
	}

	body.vfr-popup-v2 #elementor-popup-modal-743 .elementor-field-group-car_year {
		width: calc(40% - .375rem);
	}
}

/* ==========================================================================
   16. Popup de curier (Elementor 775) - restilizare doar din CSS

   Aceleasi principii ca la popup-ul de contact: continutul ramane neatins,
   regulile pornesc de la ID-ul modalului, scoped pe body.vfr-popup-curier-v2
   (VAGFIX_POPUP_CURIER_V2_LIVE in functions.php).
   ========================================================================== */

body.vfr-popup-curier-v2 #elementor-popup-modal-775 {
	background-color: rgba(10, 11, 14, .72);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
}

body.vfr-popup-curier-v2 #elementor-popup-modal-775 .dialog-widget-content {
	border-radius: var(--vfr-radius-lg);
	background: #fff;
	box-shadow: 0 40px 80px -30px rgba(0, 0, 0, .65);
	overflow: hidden;
}

body.vfr-popup-curier-v2 #elementor-popup-modal-775 .dialog-message {
	width: min(600px, calc(100vw - 2rem));
	max-height: calc(100vh - 2rem);
	overflow-y: auto;
}

/* Ambele sectiuni: fundal alb curat (fara poza de stock), spatiere noua */
body.vfr-popup-curier-v2 #elementor-popup-modal-775 .elementor-top-section {
	margin: 0;
	padding: 0;
	background: #fff;
}

body.vfr-popup-curier-v2 #elementor-popup-modal-775 .elementor-top-section > .elementor-background-overlay {
	display: none;
}

body.vfr-popup-curier-v2 #elementor-popup-modal-775 .elementor-top-section > .elementor-container {
	min-height: 0;
}

body.vfr-popup-curier-v2 #elementor-popup-modal-775 .elementor-top-column > .elementor-widget-wrap {
	padding: 0 2.25rem;
	font-family: var(--vfr-font);
}

body.vfr-popup-curier-v2 #elementor-popup-modal-775 .elementor-top-section:first-child .elementor-top-column > .elementor-widget-wrap {
	padding-top: 2.5rem;
	padding-bottom: 1.5rem;
}

body.vfr-popup-curier-v2 #elementor-popup-modal-775 .elementor-top-section:last-child .elementor-top-column > .elementor-widget-wrap {
	padding-bottom: 2.25rem;
	counter-reset: vfr-curier-step;
}

/* Antet: iconita de camion in patrat de brand + titlul */
body.vfr-popup-curier-v2 #elementor-popup-modal-775 .elementor-top-section:first-child .elementor-widget-heading .elementor-widget-container {
	display: grid;
	justify-items: center;
	gap: 1.125rem;
}

body.vfr-popup-curier-v2 #elementor-popup-modal-775 .elementor-top-section:first-child .elementor-widget-heading .elementor-widget-container::before {
	content: "";
	width: 3.5rem;
	height: 3.5rem;
	border-radius: 16px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 18V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v11a1 1 0 0 0 1 1h2M15 18H9M19 18h2a1 1 0 0 0 1-1v-3.65a1 1 0 0 0-.22-.62l-3.48-4.35A1 1 0 0 0 17.52 8H14'/%3E%3Ccircle cx='17' cy='18' r='2'/%3E%3Ccircle cx='7' cy='18' r='2'/%3E%3C/svg%3E") center / 1.6rem no-repeat, var(--vfr-brand);
	box-shadow: 0 14px 30px -12px rgba(230, 74, 48, .9);
}

body.vfr-popup-curier-v2 #elementor-popup-modal-775 .elementor-top-section:first-child .elementor-heading-title {
	max-width: 24ch;
	color: var(--vfr-ink);
	font-family: var(--vfr-font);
	font-size: clamp(1.375rem, 1.2rem + .8vw, 1.75rem);
	font-weight: 700;
	letter-spacing: -.02em;
	line-height: 1.2;
	text-align: center;
	text-wrap: balance;
}

/* Pasii: cronologie verticala, liniile punctate dispar */
body.vfr-popup-curier-v2 #elementor-popup-modal-775 .elementor-widget-divider {
	display: none;
}

body.vfr-popup-curier-v2 #elementor-popup-modal-775 .elementor-widget-icon-box {
	position: relative;
	margin: 0;
	padding-bottom: 1.5rem;
	counter-increment: vfr-curier-step;
}

/* Linia care leaga iconitele pasilor (nu si dupa ultimul pas) */
body.vfr-popup-curier-v2 #elementor-popup-modal-775 .elementor-widget-icon-box::before {
	content: "";
	position: absolute;
	top: 3.25rem;
	bottom: .25rem;
	left: calc(1.5rem - 1px);
	width: 2px;
	border-radius: 2px;
	background: linear-gradient(180deg, rgba(230, 74, 48, .45), rgba(230, 74, 48, .1));
}

body.vfr-popup-curier-v2 #elementor-popup-modal-775 .elementor-widget-icon-box:has(+ .elementor-inner-section)::before {
	display: none;
}

body.vfr-popup-curier-v2 #elementor-popup-modal-775 .elementor-icon-box-wrapper {
	display: flex;
	/* Elementor trece iconita deasupra textului pe mobil; cronologia are nevoie de rand */
	flex-direction: row;
	align-items: flex-start;
	gap: 1rem;
	text-align: start;
}

body.vfr-popup-curier-v2 #elementor-popup-modal-775 .elementor-icon-box-icon {
	flex: 0 0 auto;
	margin: 0;
}

body.vfr-popup-curier-v2 #elementor-popup-modal-775 .elementor-icon-box-icon .elementor-icon {
	display: grid;
	place-items: center;
	width: 3rem;
	height: 3rem;
	padding: 0;
	border-radius: 12px;
	background: var(--vfr-brand-fill);
	box-shadow: 0 10px 24px -12px rgba(230, 74, 48, .9);
	color: #fff;
	fill: #fff;
	font-size: 1.125rem;
}

body.vfr-popup-curier-v2 #elementor-popup-modal-775 .elementor-icon-box-icon .elementor-icon svg {
	width: 1.125rem;
	height: 1.125rem;
	fill: #fff;
}

body.vfr-popup-curier-v2 #elementor-popup-modal-775 .elementor-icon-box-content {
	padding-top: .125rem;
}

body.vfr-popup-curier-v2 #elementor-popup-modal-775 .elementor-icon-box-title {
	margin: 0 0 .375rem;
	color: var(--vfr-ink);
	font-family: var(--vfr-font);
	font-size: .9375rem;
	font-weight: 700;
	letter-spacing: .02em;
	line-height: 1.35;
	text-transform: uppercase;
}

body.vfr-popup-curier-v2 #elementor-popup-modal-775 .elementor-icon-box-title::before {
	content: "Pasul " counter(vfr-curier-step);
	display: block;
	margin-bottom: .25rem;
	color: var(--vfr-brand-text);
	font-family: var(--vfr-font-mono);
	font-size: .6875rem;
	font-weight: 600;
	letter-spacing: .14em;
}

body.vfr-popup-curier-v2 #elementor-popup-modal-775 .elementor-icon-box-description {
	margin: 0;
	color: var(--vfr-body);
	font-family: var(--vfr-font);
	font-size: .9375rem;
	line-height: 1.55;
}

/* Caseta cu datele destinatarului */
body.vfr-popup-curier-v2 #elementor-popup-modal-775 .elementor-inner-section {
	margin: .25rem 0 0;
	padding: 1.25rem 1.5rem;
	border: 1px solid rgba(230, 74, 48, .25);
	border-radius: var(--vfr-radius);
	background: linear-gradient(135deg, rgba(230, 74, 48, .08), rgba(230, 74, 48, .02));
	box-shadow: none;
}

body.vfr-popup-curier-v2 #elementor-popup-modal-775 .elementor-inner-section > .elementor-container {
	gap: 1.25rem;
}

body.vfr-popup-curier-v2 #elementor-popup-modal-775 .elementor-inner-column > .elementor-widget-wrap {
	padding: 0;
}

body.vfr-popup-curier-v2 #elementor-popup-modal-775 .elementor-inner-section .elementor-widget-heading {
	margin-bottom: .5rem;
}

body.vfr-popup-curier-v2 #elementor-popup-modal-775 .elementor-inner-section .elementor-heading-title {
	color: var(--vfr-brand-text);
	font-family: var(--vfr-font-mono);
	font-size: .75rem;
	font-weight: 600;
	letter-spacing: .14em;
	line-height: 1.4;
	text-transform: uppercase;
}

body.vfr-popup-curier-v2 #elementor-popup-modal-775 .elementor-inner-section .elementor-widget-text-editor {
	color: var(--vfr-ink);
	font-family: var(--vfr-font);
	font-size: .9375rem;
	font-weight: 500;
	line-height: 1.55;
}

body.vfr-popup-curier-v2 #elementor-popup-modal-775 .elementor-inner-section .elementor-widget-text-editor p {
	margin: 0 0 .25rem;
}

/* Butonul de inchidere, ca la popup-ul de contact */
body.vfr-popup-curier-v2 #elementor-popup-modal-775 .dialog-close-button {
	top: 1rem;
	right: 1rem;
	display: grid;
	place-items: center;
	width: 2.5rem;
	height: 2.5rem;
	margin: 0;
	border-radius: 50%;
	background: var(--vfr-bg);
	color: var(--vfr-ink);
	font-size: .875rem;
	transition: background-color var(--vfr-dur) var(--vfr-ease), color var(--vfr-dur) var(--vfr-ease);
}

body.vfr-popup-curier-v2 #elementor-popup-modal-775 .dialog-close-button svg {
	width: .875rem;
	height: .875rem;
	fill: currentColor;
}

body.vfr-popup-curier-v2 #elementor-popup-modal-775 .dialog-close-button:hover,
body.vfr-popup-curier-v2 #elementor-popup-modal-775 .dialog-close-button:focus-visible {
	background: var(--vfr-brand-fill);
	color: #fff;
}

@media (max-width: 479px) {
	body.vfr-popup-curier-v2 #elementor-popup-modal-775 .dialog-message {
		width: calc(100vw - 1rem);
	}

	body.vfr-popup-curier-v2 #elementor-popup-modal-775 .elementor-top-column > .elementor-widget-wrap {
		padding-inline: 1.25rem;
	}
}

/* ==========================================================================
   17. Pagina de Contact (build-contact-template.php)
   ========================================================================== */

.elementor .vfr-contact-hero .vfr-split {
	align-items: center;
}

.elementor .vfr-contact-hero .vfr-stack {
	--row-gap: var(--vfr-space-md);
}

/* Cardul cu formularul */
.elementor .vfr-form-card {
	--padding-top: clamp(1.5rem, 1rem + 2vw, 2.5rem);
	--padding-bottom: clamp(1.5rem, 1rem + 2vw, 2.5rem);
	--padding-left: clamp(1.25rem, .75rem + 2vw, 2.5rem);
	--padding-right: clamp(1.25rem, .75rem + 2vw, 2.5rem);
	--row-gap: var(--vfr-space-xs);

	border: 1px solid var(--vfr-line);
	border-radius: var(--vfr-radius-lg);
	background: var(--vfr-surface);
	box-shadow: var(--vfr-shadow);
}

.elementor .vfr-form-card > .vfr-form {
	margin-top: var(--vfr-space-xs);
}

/* Formularul (widget Form Elementor Pro): campuri ca in popup-ul de contact.
   Doar campurile text (.elementor-field-textual): .elementor-field e pus si pe
   bifa de acord si pe containerul ascuns al reCAPTCHA. */
.elementor .vfr-form .elementor-field-group > label,
.elementor .vfr-form .elementor-field-group .elementor-field-label {
	margin-bottom: .375rem;
	padding: 0;
	color: var(--vfr-ink);
	font-family: var(--vfr-font);
	font-size: .8125rem;
	font-weight: 600;
	letter-spacing: .01em;
}

.elementor .vfr-form .elementor-field-group .elementor-field-textual {
	min-height: 3.25rem;
	padding: .875rem 1rem;
	border: 1px solid var(--vfr-line);
	border-radius: 12px;
	background: var(--vfr-bg);
	color: var(--vfr-ink);
	font-family: var(--vfr-font);
	font-size: 1rem;
	line-height: 1.4;
	transition:
		background-color var(--vfr-dur) var(--vfr-ease),
		border-color var(--vfr-dur) var(--vfr-ease),
		box-shadow var(--vfr-dur) var(--vfr-ease);
}

.elementor .vfr-form .elementor-field-group textarea.elementor-field {
	min-height: 8rem;
	resize: vertical;
}

.elementor .vfr-form .elementor-field-group .elementor-field::placeholder {
	color: var(--vfr-muted);
	opacity: 1;
}

.elementor .vfr-form .elementor-field-group .elementor-field-textual:hover {
	border-color: #cfd5dc;
}

.elementor .vfr-form .elementor-field-group .elementor-field-textual:focus {
	border-color: var(--vfr-brand-text);
	background: #fff;
	box-shadow: var(--vfr-ring);
	outline: none;
}

/* Bifa de acord */
.elementor .vfr-form .elementor-field-type-acceptance .elementor-field-option label {
	color: var(--vfr-body);
}

.elementor .vfr-form .elementor-field-type-acceptance .elementor-field-option {
	display: flex;
	align-items: flex-start;
	gap: .5rem;
	color: var(--vfr-body);
	font-family: var(--vfr-font);
	font-size: .875rem;
	line-height: 1.45;
}

.elementor .vfr-form .elementor-field-type-acceptance input[type="checkbox"] {
	flex: 0 0 auto;
	width: 1.125rem;
	height: 1.125rem;
	margin: .125rem 0 0;
	accent-color: var(--vfr-brand-text);
}

.elementor .vfr-form .elementor-button[type="submit"] {
	min-height: 3.25rem;
	padding: .875rem 1.75rem;
	border: 1px solid var(--vfr-brand);
	border-radius: var(--vfr-radius-pill);
	background: var(--vfr-brand-fill);
	box-shadow: 0 10px 24px -12px rgba(230, 74, 48, .85);
	color: #fff;
	fill: #fff;
	font-family: var(--vfr-font);
	font-size: 1rem;
	font-weight: 600;
	letter-spacing: .01em;
	transition:
		background-color var(--vfr-dur) var(--vfr-ease),
		border-color var(--vfr-dur) var(--vfr-ease),
		transform var(--vfr-dur) var(--vfr-ease);
}

.elementor .vfr-form .elementor-button[type="submit"]:hover,
.elementor .vfr-form .elementor-button[type="submit"]:focus-visible {
	border-color: var(--vfr-brand-deep);
	background: var(--vfr-brand-deep);
	color: #fff;
	transform: translateY(-1px);
}

.elementor .vfr-form .elementor-button[type="submit"]:focus-visible {
	outline: none;
	box-shadow: var(--vfr-ring);
}

.elementor .vfr-form .elementor-message {
	font-family: var(--vfr-font);
	font-size: .9375rem;
}

/* Cardurile cu program si adresa, cu iconita in patrat de brand */
.elementor .vfr-contact-info {
	--row-gap: var(--vfr-space-sm);
}

.elementor .vfr-infocard {
	--padding-top: var(--vfr-space-md);
	--padding-bottom: var(--vfr-space-md);
	--padding-left: calc(var(--vfr-space-md) + 3.75rem);
	--padding-right: var(--vfr-space-md);
	--row-gap: .5rem;

	position: relative;
	border: 1px solid var(--vfr-line);
	border-radius: var(--vfr-radius);
	background: var(--vfr-surface);
	box-shadow: var(--vfr-shadow-sm);
}

.elementor .vfr-infocard::before {
	content: "";
	position: absolute;
	top: var(--vfr-space-md);
	left: var(--vfr-space-md);
	width: 2.75rem;
	height: 2.75rem;
	border-radius: 12px;
	background: var(--vfr-icon) center / 1.25rem no-repeat, var(--vfr-brand);
	box-shadow: 0 10px 24px -10px rgba(230, 74, 48, .9);
}

.elementor .vfr-infocard--clock {
	--vfr-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 6v6l4 2'/%3E%3C/svg%3E");
}

.elementor .vfr-infocard--pin {
	--vfr-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E");
}

.elementor .vfr-infocard__title .elementor-heading-title {
	margin: 0;
	color: var(--vfr-ink);
	font-family: var(--vfr-font);
	font-size: var(--vfr-fs-h4);
	font-weight: 700;
	line-height: var(--vfr-lh-snug);
}

.elementor .vfr-infocard .vfr-prose {
	font-size: .9375rem;
}

.elementor .vfr-infocard .vfr-prose p {
	margin: 0 0 .375rem;
}

/* Harta */
.elementor .vfr-map .elementor-custom-embed,
.elementor .vfr-map iframe {
	display: block;
	border: 0;
	border-radius: var(--vfr-radius);
}

.elementor .vfr-map .elementor-custom-embed {
	overflow: hidden;
	border: 1px solid var(--vfr-line);
	box-shadow: var(--vfr-shadow-sm);
}

/* Harta pe toata latimea, cu card de adresa suprapus (desktop) */
.elementor .vfr-mapband {
	position: relative;
	overflow: hidden;
}

.elementor .vfr-map--wide .elementor-custom-embed,
.elementor .vfr-map--wide iframe {
	border: 0;
	border-radius: 0;
	box-shadow: none;
}

.elementor .vfr-map--wide iframe {
	display: block;
	width: 100%;
	height: clamp(340px, 30vw + 160px, 520px);
	filter: grayscale(.55) contrast(1.05);
	transition: filter .6s var(--vfr-ease);
}

.elementor .vfr-mapband:hover .vfr-map--wide iframe {
	filter: none;
}

.elementor .vfr-mapcard {
	--padding-top: var(--vfr-space-md);
	--padding-bottom: var(--vfr-space-md);
	--padding-left: var(--vfr-space-md);
	--padding-right: var(--vfr-space-md);
	--row-gap: .5rem;

	border: 1px solid var(--vfr-line);
	border-radius: var(--vfr-radius-lg);
	background: rgba(255, 255, 255, .96);
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
	box-shadow: var(--vfr-shadow-lg);
}

.elementor .vfr-mapcard__address .elementor-heading-title {
	margin: 0;
	color: var(--vfr-ink);
	font-family: var(--vfr-font);
	font-size: var(--vfr-fs-h4);
	font-weight: 700;
	line-height: var(--vfr-lh-snug);
}

.elementor .vfr-mapcard .vfr-row {
	margin-top: .5rem;
}

.elementor .vfr-mapcard .vfr-btn .elementor-button {
	min-height: 2.75rem;
	padding: .7rem 1.15rem;
	font-size: .875rem;
}

@media (min-width: 1025px) {
	.elementor .vfr-mapcard {
		/* In dreapta: in stanga-sus Google afiseaza mereu caseta locatiei (nume, rating) */
		position: absolute;
		top: 50%;
		right: max(var(--vfr-gutter), calc((100% - var(--vfr-shell)) / 2));
		z-index: 2;
		width: min(26rem, 40%);
		transform: translateY(-50%);
	}
}

/* Tableta/mobil: cardul sta sub harta, in latimea paginii */
@media (max-width: 1024px) {
	.elementor.elementor .e-con.e-con.vfr-mapcard {
		--width: auto;

		position: relative;
		z-index: 2;
		width: auto;
		max-width: none;
		margin: calc(-1 * var(--vfr-space-lg)) var(--vfr-gutter) var(--vfr-space-lg);
	}
}

/* Randul de marci (iconitele originale), discret, colorat la hover */
.elementor .vfr-brands {
	--justify-content: center;
	--column-gap: clamp(1.25rem, .5rem + 3vw, 3rem);
	--row-gap: 1.25rem;

	margin-top: var(--vfr-space-sm);
}

.elementor .vfr-brands .elementor-icon {
	color: var(--vfr-muted);
	fill: var(--vfr-muted);
	font-size: clamp(2rem, 1.6rem + 1.4vw, 2.75rem);
	transition: color var(--vfr-dur) var(--vfr-ease), transform var(--vfr-dur) var(--vfr-ease);
}

.elementor .vfr-brands .elementor-icon:hover {
	color: var(--vfr-brand-text);
	fill: var(--vfr-brand);
	transform: translateY(-2px);
}

/* ==========================================================================
   18. Recenzii Google proprii (shortcode [vagfix_google_reviews])
   ========================================================================== */

.vfr-greviews {
	display: grid;
	gap: var(--vfr-space-md);
	font-family: var(--vfr-font);
}

@media (min-width: 1025px) {
	.vfr-greviews {
		grid-template-columns: minmax(0, 18rem) minmax(0, 1fr);
		align-items: start;
		gap: var(--vfr-space-lg);
	}
}

/* Fara date (ex. inainte de configurarea cheii API) shortcode-ul nu intoarce
   nimic: ascundem toata sectiunea, ca titlul sa nu ramana deasupra unui gol */
.elementor .vfr-section:has(.vfr-reviews):not(:has(.vfr-greviews)) {
	display: none;
}

/* Rezumatul: card inalt, intunecat, in accentele site-ului (halou de brand +
   grila de laborator); se intinde pe toata inaltimea grilei de recenzii */
@media (min-width: 1025px) {
	.vfr-greviews {
		grid-template-columns: minmax(0, 21rem) minmax(0, 1fr);
		align-items: stretch;
	}
}

.vfr-greviews__summary {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: .875rem;
	padding: clamp(1.75rem, 1.2rem + 2vw, 2.5rem);
	border: 1px solid rgba(255, 255, 255, .08);
	border-radius: var(--vfr-radius-lg);
	background:
		radial-gradient(120% 70% at 100% 0%, rgba(230, 74, 48, .32), transparent 60%),
		linear-gradient(160deg, var(--vfr-dark-raised), var(--vfr-dark-deep));
	box-shadow: 0 30px 60px -30px rgba(14, 15, 19, .55);
	color: rgba(255, 255, 255, .72);
	overflow: hidden;
	isolation: isolate;
}

.vfr-greviews__summary::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background-image:
		linear-gradient(rgba(255, 255, 255, .04) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, .04) 1px, transparent 1px);
	background-size: 32px 32px;
	-webkit-mask-image: linear-gradient(180deg, #000, transparent 75%);
	mask-image: linear-gradient(180deg, #000, transparent 75%);
}

.vfr-greviews__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: .6em;
	margin: 0;
	color: var(--vfr-brand-text);
	font-family: var(--vfr-font-mono);
	font-size: var(--vfr-fs-xs);
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
}

.vfr-greviews__eyebrow::before {
	content: "";
	width: 1.75em;
	height: 1px;
	background: currentColor;
}

.vfr-greviews__score {
	display: grid;
	gap: .625rem;
}

.vfr-greviews__rating {
	color: #fff;
	font-size: clamp(4.5rem, 3.5rem + 4vw, 6.5rem);
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	letter-spacing: -.05em;
	line-height: .9;
}

.vfr-greviews__summary .vfr-stars--lg {
	--vfr-star-size: 1.75rem;
}

.vfr-greviews__summary .vfr-star {
	background: linear-gradient(90deg, #fbbc05 var(--fill), rgba(255, 255, 255, .18) var(--fill));
}

.vfr-greviews__count {
	margin: 0;
	color: rgba(255, 255, 255, .72);
	font-size: .9375rem;
	line-height: 1.5;
}

.vfr-greviews__tagline {
	margin: .5rem 0 0;
	padding-top: 1.25rem;
	border-top: 1px solid rgba(255, 255, 255, .1);
	color: #fff;
	font-size: clamp(1.375rem, 1.15rem + .8vw, 1.75rem);
	font-weight: 700;
	letter-spacing: -.02em;
	line-height: 1.2;
	text-wrap: balance;
}

.vfr-greviews__tagline span {
	color: var(--vfr-brand-text);
}

/* Atribuirea Google (cerinta de afisare pentru datele din Places API) */
.vfr-greviews__google {
	font-weight: 700;
	letter-spacing: -.01em;
}

.vfr-greviews__google span:nth-child(1),
.vfr-greviews__google span:nth-child(4) {
	color: #4285f4;
}

.vfr-greviews__google span:nth-child(2),
.vfr-greviews__google span:nth-child(6) {
	color: #ea4335;
}

.vfr-greviews__google span:nth-child(3) {
	color: #fbbc05;
}

.vfr-greviews__google span:nth-child(5) {
	color: #34a853;
}

.vfr-greviews__actions {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
	margin-top: auto;
	padding-top: 1rem;
}

.vfr-greviews .vfr-greviews__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 2.75rem;
	padding: .65rem 1.15rem;
	border: 1px solid var(--vfr-brand);
	border-radius: var(--vfr-radius-pill);
	background: var(--vfr-brand-fill);
	color: #fff;
	font-size: .875rem;
	font-weight: 600;
	text-decoration: none;
	transition: background-color var(--vfr-dur) var(--vfr-ease), border-color var(--vfr-dur) var(--vfr-ease), color var(--vfr-dur) var(--vfr-ease);
}

.vfr-greviews .vfr-greviews__btn:hover,
.vfr-greviews .vfr-greviews__btn:focus-visible {
	border-color: var(--vfr-brand-deep);
	background: var(--vfr-brand-deep);
	color: #fff;
}

.vfr-greviews .vfr-greviews__btn--ghost {
	border-color: rgba(255, 255, 255, .25);
	background: transparent;
	color: #fff;
}

.vfr-greviews .vfr-greviews__btn--ghost:hover,
.vfr-greviews .vfr-greviews__btn--ghost:focus-visible {
	border-color: #fff;
	background: rgba(255, 255, 255, .08);
	color: #fff;
}

/* Stele: fiecare stea e umpluta proportional (--fill), pentru medii gen 4.7 */
.vfr-stars {
	display: inline-flex;
	gap: 2px;
	--vfr-star-size: 1rem;
}

.vfr-stars--lg {
	--vfr-star-size: 1.375rem;
}

.vfr-star {
	width: var(--vfr-star-size);
	height: var(--vfr-star-size);
	background: linear-gradient(90deg, #fbbc05 var(--fill), #dfe3e8 var(--fill));
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2.5l2.94 6.1 6.66.86-4.88 4.6 1.24 6.6L12 17.4l-5.96 3.26 1.24-6.6-4.88-4.6 6.66-.86z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2.5l2.94 6.1 6.66.86-4.88 4.6 1.24 6.6L12 17.4l-5.96 3.26 1.24-6.6-4.88-4.6 6.66-.86z'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* Cardurile de recenzii */
.vfr-greviews__list {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--vfr-space-sm);
	margin: 0;
	padding: 0;
	list-style: none;
}

@media (min-width: 768px) {
	.vfr-greviews__list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	/* Google intoarce maximum 5 recenzii; in 2 coloane a cincea ar sta singura */
	.vfr-greviews__list > .vfr-greview:nth-child(5):last-child {
		display: none;
	}
}

.vfr-greview {
	display: flex;
	flex-direction: column;
	gap: .625rem;
	margin: 0;
	padding: 1.25rem 1.25rem 1.125rem;
	border: 1px solid var(--vfr-line);
	border-radius: var(--vfr-radius);
	background: var(--vfr-surface);
	box-shadow: var(--vfr-shadow-sm);
	transition: box-shadow var(--vfr-dur) var(--vfr-ease), transform var(--vfr-dur) var(--vfr-ease);
}

.vfr-greview:hover {
	box-shadow: var(--vfr-shadow);
	transform: translateY(-2px);
}

.vfr-greview__head {
	display: flex;
	align-items: center;
	gap: .75rem;
}

.vfr-greview__avatar {
	flex: 0 0 auto;
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 50%;
	background: transparent;
	object-fit: cover;
}

.vfr-greview__avatar--initial {
	display: grid;
	place-items: center;
	background: var(--vfr-brand-soft);
	color: var(--vfr-brand-text);
	font-weight: 700;
}

.vfr-greview__who {
	display: grid;
	min-width: 0;
}

.vfr-greview__name {
	overflow: hidden;
	color: var(--vfr-ink);
	font-size: .9375rem;
	font-weight: 700;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.vfr-greview__when {
	color: var(--vfr-muted);
	font-size: .8125rem;
}

/* Textele lungi se taie dupa 5 randuri; recenzia completa e pe Google */
.vfr-greview__text {
	display: -webkit-box;
	margin: 0;
	overflow: hidden;
	color: var(--vfr-body);
	font-size: .9375rem;
	line-height: 1.6;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 5;
	line-clamp: 5;
}

.vfr-greviews .vfr-greview__more {
	margin-top: auto;
	padding-top: .25rem;
	color: var(--vfr-brand-text);
	font-size: .8125rem;
	font-weight: 600;
	text-decoration: none;
}

.vfr-greviews .vfr-greview__more:hover,
.vfr-greviews .vfr-greview__more:focus-visible {
	color: var(--vfr-brand-deep);
	text-decoration: underline;
}

/* ==========================================================================
   19. Pagini legale (build-legal-template.php)
   ========================================================================== */

.elementor .vfr-legal-hero {
	--padding-top: clamp(3rem, 2rem + 3vw, 5rem);
	--padding-bottom: clamp(2.5rem, 1.75rem + 2.5vw, 4rem);
}

/* Document + coloana laterala sticky */
.elementor .e-con.e-con.vfr-legal-layout {
	--display: grid;
	--padding-top: 0px;
	--padding-bottom: 0px;
	--padding-left: 0px;
	--padding-right: 0px;

	grid-template-columns: minmax(0, 1fr);
	gap: var(--vfr-space-lg);
	align-items: start;
}

@media (min-width: 1025px) {
	.elementor .e-con.e-con.vfr-legal-layout {
		grid-template-columns: minmax(0, 1fr) minmax(0, 20rem);
	}

	.elementor .vfr-legal-aside {
		position: sticky;
		top: calc(var(--vfh-main-h, 76px) + 2rem);
	}
}

.elementor .vfr-legal-doc {
	--padding-top: clamp(1.5rem, 1rem + 2.5vw, 3rem);
	--padding-bottom: clamp(1.5rem, 1rem + 2.5vw, 3rem);
	--padding-left: clamp(1.25rem, .75rem + 3vw, 3.5rem);
	--padding-right: clamp(1.25rem, .75rem + 3vw, 3.5rem);

	border: 1px solid var(--vfr-line);
	border-radius: var(--vfr-radius-lg);
	background: var(--vfr-surface);
	box-shadow: var(--vfr-shadow);
}

/* Tipografia documentului: lizibila, pe latime de citit */
.elementor .vfr-legal {
	max-width: 72ch;
	font-size: 1rem;
	line-height: 1.75;
}

.elementor .vfr-legal p {
	margin: 0 0 1.1em;
}

/* Titluri scrise ca paragraf ingrosat (<p><b>...</b></p>) */
.elementor .vfr-legal p:has(> b:only-child),
.elementor .vfr-legal p:has(> strong:only-child) {
	margin: 2.25em 0 .75em;
	padding-top: 1.5em;
	border-top: 1px solid var(--vfr-line-soft);
	color: var(--vfr-ink);
	font-size: var(--vfr-fs-h4);
	font-weight: 700;
	line-height: var(--vfr-lh-snug);
}

.elementor .vfr-legal > :first-child,
.elementor .vfr-legal p:first-child:has(> b:only-child) {
	margin-top: 0;
	padding-top: 0;
	border-top: 0;
}

.elementor .vfr-legal b,
.elementor .vfr-legal strong {
	color: var(--vfr-ink);
	font-weight: 700;
}

/* Titluri numerotate (<ol start="N"><li><strong>...</strong></li></ol>) */
.elementor .vfr-legal ol:has(> li:only-child > strong:only-child) {
	margin: 2.25em 0 .75em;
	padding: 1.5em 0 0;
	border-top: 1px solid var(--vfr-line-soft);
	/* numerotarea originala (atributul start) se pastreaza */
	list-style: decimal inside;
}

.elementor .vfr-legal ol:first-child:has(> li:only-child > strong:only-child) {
	margin-top: 0;
	padding-top: 0;
	border-top: 0;
}

.elementor .vfr-legal ol:has(> li:only-child > strong:only-child) > li {
	padding: 0;
	font-weight: 700;
	color: var(--vfr-ink);
	font-size: var(--vfr-fs-h4);
	line-height: var(--vfr-lh-snug);
}

.elementor .vfr-legal ol:has(> li:only-child > strong:only-child) > li::before {
	content: none;
}

.elementor .vfr-legal ol:has(> li:only-child > strong:only-child) > li::marker {
	color: var(--vfr-brand-text);
}

/* Liste obisnuite din text: marcajul de brand din .vfr-prose */
.elementor .vfr-legal ol:not(:has(> li:only-child > strong:only-child)) {
	margin: 0 0 1.1em;
	padding-left: 1.25em;
}

.elementor .vfr-legal ol:not(:has(> li:only-child > strong:only-child)) li::marker {
	color: var(--vfr-brand-text);
	font-weight: 600;
}

.elementor .vfr-legal li {
	font-size: 1rem;
}

/* Card "Alte documente" cu iconita de document */
.elementor .vfr-infocard--doc {
	--vfr-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/%3E%3Cpath d='M14 2v6h6M8 13h8M8 17h5'/%3E%3C/svg%3E");
}

.elementor .vfr-infocard--doc .vfr-link {
	margin-top: .25rem;
}

.elementor .vfr-infocard--doc .vfr-link .elementor-button-wrapper {
	text-align: start;
}

.elementor .vfr-infocard--doc .vfr-link .elementor-button {
	justify-content: flex-start;
	text-align: start;
}

.elementor .vfr-help__text a {
	color: var(--vfr-brand-text);
	text-decoration: underline;
	text-underline-offset: .2em;
}

.elementor .vfr-help__text a:hover,
.elementor .vfr-help__text a:focus-visible {
	color: var(--vfr-brand-deep);
}

/* ==========================================================================
   20. Articole de blog (single.php, body.vfr-article-v2)
   ========================================================================== */

.vfr-article-page {
	font-family: var(--vfr-font);
	-webkit-font-smoothing: antialiased;
	background: var(--vfr-bg);
}

.vfr-art-shell {
	width: 100%;
	max-width: var(--vfr-shell);
	margin-inline: auto;
	padding-inline: var(--vfr-gutter);
}

/* Hero: imaginea articolului sub un overlay inchis */
.vfr-art-hero {
	position: relative;
	padding-block: clamp(3rem, 2rem + 4vw, 6rem) clamp(5rem, 4rem + 5vw, 8.5rem);
	background: var(--vfr-dark-deep);
	color: #fff;
	isolation: isolate;
	overflow: hidden;
}

.vfr-art-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -2;
	background: var(--vfr-art-bg, none) center / cover no-repeat;
	filter: blur(2px);
	transform: scale(1.04);
}

.vfr-art-hero::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background:
		radial-gradient(90% 120% at 100% 0%, rgba(230, 74, 48, .22), transparent 55%),
		linear-gradient(180deg, rgba(14, 15, 19, .82), rgba(14, 15, 19, .94));
}

.vfr-art-hero__inner {
	display: grid;
	gap: var(--vfr-space-sm);
	max-width: calc(var(--vfr-shell));
}

.vfr-art-crumbs {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
	color: rgba(255, 255, 255, .45);
	font-family: var(--vfr-font-mono);
	font-size: var(--vfr-fs-xs);
	letter-spacing: .1em;
	text-transform: uppercase;
}

.vfr-art-crumbs a {
	color: var(--vfr-brand-text);
	text-decoration: none;
}

.vfr-art-crumbs a:hover,
.vfr-art-crumbs a:focus-visible {
	color: #fff;
}

/* (0,2,0): regula Kit-ului Elementor ".elementor-kit-354 h1" are (0,1,1) */
.vfr-article-page .vfr-art-title {
	max-width: 30ch;
	margin: 0;
	color: #fff;
	font-family: var(--vfr-font);
	font-size: clamp(1.625rem, 1.1rem + 2.6vw, 3.5rem);
	font-weight: 700;
	letter-spacing: -.025em;
	line-height: 1.1;
	text-wrap: balance;
	overflow-wrap: break-word;
	hyphens: auto;
}

.vfr-art-meta {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
	margin: 0;
	color: rgba(255, 255, 255, .7);
	font-size: .9375rem;
}

/* Layout: articol + coloana laterala */
.vfr-art-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--vfr-space-lg);
	margin-top: clamp(-4.5rem, -3.5rem - 2vw, -3rem);
	padding-bottom: var(--vfr-space-xl);
	position: relative;
}

@media (min-width: 1025px) {
	.vfr-art-layout {
		grid-template-columns: minmax(0, 1fr) minmax(0, 20rem);
		align-items: start;
	}
}

.vfr-art-main {
	min-width: 0;
	border: 1px solid var(--vfr-line);
	border-radius: var(--vfr-radius-lg);
	background: var(--vfr-surface);
	box-shadow: var(--vfr-shadow-lg);
	overflow: hidden;
}

.vfr-art-cover {
	margin: 0;
	background: var(--vfr-dark);
}

.vfr-art-cover img {
	display: block;
	width: 100%;
	height: auto;
	max-height: 32rem;
	object-fit: cover;
}

.vfr-art-body {
	padding: clamp(1.5rem, 1rem + 2.5vw, 3.25rem) clamp(1.25rem, .75rem + 3.5vw, 3.75rem);
}

/* Corpul articolului (continut Elementor convertit) */
.vfr-art-body .elementor .vfr-article-flow {
	--padding-top: 0px;
	--padding-bottom: 0px;
	--padding-left: 0px;
	--padding-right: 0px;
	--row-gap: 1.25rem;

	max-width: 72ch;
}

.vfr-art-body .elementor .vfr-article-h .elementor-heading-title {
	margin: 1rem 0 0;
	color: var(--vfr-ink);
	font-family: var(--vfr-font);
	font-weight: 700;
	letter-spacing: -.015em;
	line-height: 1.25;
	scroll-margin-top: calc(var(--vfh-main-h, 76px) + 1.5rem);
}

.vfr-art-body .elementor .vfr-article-h--h2 .elementor-heading-title {
	padding-top: 1.5rem;
	border-top: 1px solid var(--vfr-line-soft);
	font-size: clamp(1.375rem, 1.2rem + .8vw, 1.75rem);
}

.vfr-art-body .elementor .vfr-article-flow > .vfr-article-h--h2:first-child .elementor-heading-title {
	margin-top: 0;
	padding-top: 0;
	border-top: 0;
}

.vfr-art-body .elementor .vfr-article-h--h3 .elementor-heading-title {
	font-size: var(--vfr-fs-h4);
}

.vfr-art-body .elementor .vfr-article-h--h4 .elementor-heading-title {
	font-size: 1.0625rem;
}

.vfr-art-body .elementor .vfr-article-text {
	font-size: 1.0625rem;
	line-height: 1.75;
}

.vfr-art-body .elementor .vfr-article-text p {
	margin: 0 0 1.1em;
}

.vfr-art-body .elementor .vfr-article-text ul,
.vfr-art-body .elementor .vfr-article-text ol {
	margin: 0 0 1.1em;
}

.vfr-art-body .elementor .vfr-article-text li {
	font-size: 1rem;
}

.vfr-art-body .elementor .vfr-article-text img,
.vfr-art-body .elementor .vfr-article-text .wp-caption {
	max-width: 100%;
	height: auto;
	border-radius: var(--vfr-radius-sm);
}

.vfr-art-body .elementor .vfr-article-text .wp-caption {
	margin: .25rem 0 1rem;
}

.vfr-art-body .elementor .vfr-article-text .wp-caption.alignleft {
	float: left;
	margin-right: 1.25rem;
}

.vfr-art-body .elementor .vfr-article-text .wp-caption-text {
	margin-top: .375rem;
	color: var(--vfr-muted);
	font-size: .8125rem;
}

/* Imagini si galerii din articol */
.vfr-art-body .elementor .vfr-article-figure img {
	display: block;
	width: 100%;
	height: auto;
	border: 1px solid var(--vfr-line);
	border-radius: var(--vfr-radius);
	background: transparent;
}

.vfr-art-body .elementor .e-con.e-con.vfr-article-gallery {
	gap: .75rem;
}

.vfr-art-body .elementor .vfr-article-gallery .vfr-article-figure img {
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

/* CTA din articol, cu textul specific */
.vfr-art-body .elementor .vfr-article-cta {
	--padding-top: var(--vfr-space-md);
	--padding-bottom: var(--vfr-space-md);
	--padding-left: var(--vfr-space-md);
	--padding-right: var(--vfr-space-md);
	--row-gap: .75rem;

	margin-top: .5rem;
	border: 1px solid rgba(230, 74, 48, .22);
	border-left: 3px solid var(--vfr-brand);
	border-radius: var(--vfr-radius);
	background: linear-gradient(135deg, rgba(230, 74, 48, .07), rgba(230, 74, 48, .02));
}

.vfr-art-body .elementor .vfr-article-cta .vfr-prose {
	font-size: 1rem;
}

/* Subsolul articolului: distribuire + navigare */
.vfr-art-footer {
	display: grid;
	gap: var(--vfr-space-md);
	padding: 0 clamp(1.25rem, .75rem + 3.5vw, 3.75rem) clamp(1.5rem, 1rem + 2.5vw, 3rem);
}

.vfr-art-share {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .5rem;
	padding-top: var(--vfr-space-md);
	border-top: 1px solid var(--vfr-line);
}

.vfr-art-share__label {
	margin-right: .5rem;
	color: var(--vfr-muted);
	font-family: var(--vfr-font-mono);
	font-size: var(--vfr-fs-xs);
	letter-spacing: .1em;
	text-transform: uppercase;
}

.vfr-art-share a {
	padding: .45rem .9rem;
	border: 1px solid var(--vfr-line);
	border-radius: var(--vfr-radius-pill);
	color: var(--vfr-ink);
	font-size: .8125rem;
	font-weight: 600;
	text-decoration: none;
	transition: border-color var(--vfr-dur) var(--vfr-ease), color var(--vfr-dur) var(--vfr-ease);
}

.vfr-art-share a:hover,
.vfr-art-share a:focus-visible {
	border-color: var(--vfr-brand-text);
	color: var(--vfr-brand-text);
}

.vfr-art-nav {
	display: grid;
	gap: .75rem;
}

@media (min-width: 768px) {
	.vfr-art-nav {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.vfr-art-nav__link {
	display: grid;
	gap: .25rem;
	padding: 1rem 1.125rem;
	border: 1px solid var(--vfr-line);
	border-radius: var(--vfr-radius);
	color: var(--vfr-ink);
	font-size: .9375rem;
	font-weight: 600;
	line-height: 1.35;
	text-decoration: none;
	transition: border-color var(--vfr-dur) var(--vfr-ease), box-shadow var(--vfr-dur) var(--vfr-ease);
}

.vfr-art-nav__link span {
	color: var(--vfr-brand-text);
	font-family: var(--vfr-font-mono);
	font-size: .6875rem;
	font-weight: 600;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.vfr-art-nav__link--next {
	text-align: end;
}

@media (min-width: 768px) {
	.vfr-art-nav__link--next:only-child {
		grid-column: 2;
	}
}

.vfr-art-nav__link:hover,
.vfr-art-nav__link:focus-visible {
	border-color: rgba(230, 74, 48, .45);
	box-shadow: var(--vfr-shadow);
	color: var(--vfr-ink);
}

/* Coloana laterala: cuprins + ajutor, sticky pe desktop */
.vfr-art-aside {
	display: grid;
	gap: var(--vfr-space-sm);
}

@media (min-width: 1025px) {
	.vfr-art-aside {
		position: sticky;
		top: calc(var(--vfh-main-h, 76px) + 1.5rem);
	}
}

.vfr-art-card {
	padding: var(--vfr-space-md);
	border: 1px solid var(--vfr-line);
	border-radius: var(--vfr-radius-lg);
	background: var(--vfr-surface);
	box-shadow: var(--vfr-shadow);
}

.vfr-art-card__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: .6em;
	margin: 0 0 .75rem;
	color: var(--vfr-brand-text);
	font-family: var(--vfr-font-mono);
	font-size: var(--vfr-fs-xs);
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
}

.vfr-art-card__eyebrow::before {
	content: "";
	width: 1.75em;
	height: 1px;
	background: currentColor;
}

.vfr-art-toc ol {
	display: grid;
	gap: .125rem;
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: vfr-toc;
}

.vfr-art-toc li {
	counter-increment: vfr-toc;
}

.vfr-art-toc a {
	display: grid;
	grid-template-columns: 1.75rem minmax(0, 1fr);
	padding: .5rem .5rem .5rem 0;
	border-radius: 8px;
	color: var(--vfr-ink-soft);
	font-size: .875rem;
	line-height: 1.4;
	text-decoration: none;
	transition: color var(--vfr-dur) var(--vfr-ease), background-color var(--vfr-dur) var(--vfr-ease);
}

.vfr-art-toc a::before {
	content: counter(vfr-toc, decimal-leading-zero);
	color: var(--vfr-muted);
	font-family: var(--vfr-font-mono);
	font-size: .75rem;
	padding-top: .1em;
}

.vfr-art-toc a:hover,
.vfr-art-toc a:focus-visible {
	color: var(--vfr-brand-text);
}

.vfr-art-card--dark {
	border-color: rgba(255, 255, 255, .08);
	background:
		radial-gradient(120% 80% at 100% 0%, rgba(230, 74, 48, .3), transparent 60%),
		linear-gradient(160deg, var(--vfr-dark-raised), var(--vfr-dark-deep));
	color: rgba(255, 255, 255, .72);
}

.vfr-art-help {
	display: grid;
	gap: .625rem;
}

.vfr-art-help .vfr-art-card__eyebrow {
	margin-bottom: 0;
}

.vfr-art-help__title {
	margin: 0 0 .5rem;
	color: #fff;
	font-size: var(--vfr-fs-h4);
	font-weight: 700;
	line-height: 1.3;
}

.vfr-article-page .vfr-art-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 2.75rem;
	padding: .65rem 1.15rem;
	border: 1px solid var(--vfr-brand);
	border-radius: var(--vfr-radius-pill);
	background: var(--vfr-brand-fill);
	color: #fff;
	font-size: .9375rem;
	font-weight: 600;
	text-decoration: none;
	transition: background-color var(--vfr-dur) var(--vfr-ease), border-color var(--vfr-dur) var(--vfr-ease);
}

.vfr-article-page .vfr-art-btn:hover,
.vfr-article-page .vfr-art-btn:focus-visible {
	border-color: var(--vfr-brand-deep);
	background: var(--vfr-brand-deep);
	color: #fff;
}

.vfr-article-page .vfr-art-btn--ghost {
	border-color: rgba(255, 255, 255, .25);
	background: transparent;
}

.vfr-article-page .vfr-art-btn--ghost:hover,
.vfr-article-page .vfr-art-btn--ghost:focus-visible {
	border-color: #fff;
	background: rgba(255, 255, 255, .08);
}

/* Articole similare */
.vfr-art-related {
	padding-block: var(--vfr-space-xl);
	background: var(--vfr-surface);
}

.vfr-art-related__head {
	display: flex;
	flex-wrap: wrap;
	align-items: end;
	justify-content: space-between;
	gap: .5rem 1rem;
	margin-bottom: var(--vfr-space-md);
}

.vfr-art-related__head .vfr-art-card__eyebrow {
	flex-basis: 100%;
	margin: 0;
}

.vfr-art-related__head h2 {
	margin: 0;
	color: var(--vfr-ink);
	font-family: var(--vfr-font);
	font-size: var(--vfr-fs-h2);
	font-weight: 700;
	letter-spacing: -.02em;
	line-height: 1.1;
}

.vfr-art-related__all {
	color: var(--vfr-brand-text);
	font-size: .9375rem;
	font-weight: 600;
	text-decoration: none;
}

.vfr-art-related__all::after {
	content: " \2192";
}

.vfr-art-related__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--vfr-space-md);
}

@media (min-width: 768px) {
	.vfr-art-related__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

.vfr-art-postcard {
	display: flex;
	flex-direction: column;
	border: 1px solid var(--vfr-line);
	border-radius: var(--vfr-radius);
	background: var(--vfr-surface);
	box-shadow: var(--vfr-shadow-sm);
	overflow: hidden;
	color: inherit;
	text-decoration: none;
	transition: box-shadow var(--vfr-dur) var(--vfr-ease), transform var(--vfr-dur) var(--vfr-ease);
}

.vfr-art-postcard:hover,
.vfr-art-postcard:focus-visible {
	box-shadow: var(--vfr-shadow-lg);
	transform: translateY(-3px);
}

.vfr-art-postcard__media {
	display: block;
	aspect-ratio: 16 / 10;
	background: var(--vfr-bg);
	overflow: hidden;
}

.vfr-art-postcard__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .7s var(--vfr-ease);
}

.vfr-art-postcard:hover .vfr-art-postcard__media img {
	transform: scale(1.04);
}

.vfr-art-postcard__body {
	display: grid;
	gap: .5rem;
	padding: 1.125rem 1.25rem 1.25rem;
}

.vfr-art-postcard__cat {
	color: var(--vfr-brand-text);
	font-family: var(--vfr-font-mono);
	font-size: .6875rem;
	font-weight: 600;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.vfr-art-postcard__title {
	color: var(--vfr-ink);
	font-size: 1.0625rem;
	font-weight: 700;
	line-height: 1.35;
}

.vfr-art-postcard__meta {
	color: var(--vfr-muted);
	font-size: .8125rem;
}

/* Fara poza: initiala titlului (vagfix_post_image) */
.vfr-art-postcard .vf-media__fallback {
	display: grid;
	place-items: center;
	width: 100%;
	height: 100%;
	color: var(--vfr-brand-text);
	font-size: 2.5rem;
	font-weight: 700;
}

/* ==========================================================================
   21. Arhive de categorie (category.php)
   ========================================================================== */

.vfr-archive-hero {
	padding-block: clamp(3rem, 2rem + 4vw, 5.5rem) clamp(3rem, 2rem + 3vw, 4.5rem);
}

.vfr-archive-lead {
	max-width: 60ch;
	margin: 0;
	color: rgba(255, 255, 255, .78);
	font-size: var(--vfr-fs-lead);
	line-height: 1.55;
}

.vfr-art-crumbs span[aria-current] {
	color: rgba(255, 255, 255, .7);
}

.vfr-archive-body {
	display: grid;
	gap: var(--vfr-space-lg);
	padding-block: var(--vfr-space-lg) var(--vfr-space-xl);
}

/* Filtre: categoriile ca pastile; cea curenta plina */
.vfr-archive-filters {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
}

.vfr-article-page .vfr-archive-pill {
	display: inline-flex;
	align-items: center;
	gap: .5rem;
	min-height: 2.5rem;
	padding: .45rem .95rem;
	border: 1px solid var(--vfr-line);
	border-radius: var(--vfr-radius-pill);
	background: var(--vfr-surface);
	color: var(--vfr-ink);
	font-size: .875rem;
	font-weight: 600;
	text-decoration: none;
	transition: border-color var(--vfr-dur) var(--vfr-ease), color var(--vfr-dur) var(--vfr-ease), background-color var(--vfr-dur) var(--vfr-ease);
}

.vfr-article-page .vfr-archive-pill:hover,
.vfr-article-page .vfr-archive-pill:focus-visible {
	border-color: var(--vfr-brand-text);
	color: var(--vfr-brand-text);
}

.vfr-article-page .vfr-archive-pill.is-current {
	border-color: var(--vfr-ink);
	background: var(--vfr-ink);
	color: #fff;
}

.vfr-archive-pill__count {
	min-width: 1.5rem;
	padding: .05rem .4rem;
	border-radius: var(--vfr-radius-pill);
	background: var(--vfr-bg);
	color: var(--vfr-ink-soft);
	font-family: var(--vfr-font-mono);
	font-size: .75rem;
	text-align: center;
}

.vfr-archive-pill.is-current .vfr-archive-pill__count {
	background: var(--vfr-brand-fill);
	color: #fff;
}

/* Primul articol, evidentiat */
.vfr-archive-featured {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	border: 1px solid var(--vfr-line);
	border-radius: var(--vfr-radius-lg);
	background: var(--vfr-surface);
	box-shadow: var(--vfr-shadow);
	overflow: hidden;
}

@media (min-width: 1025px) {
	.vfr-archive-featured {
		grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
		align-items: center;
	}
}

.vfr-archive-featured__media {
	display: block;
	aspect-ratio: 16 / 10;
	background: var(--vfr-bg);
	overflow: hidden;
}

.vfr-archive-featured__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .7s var(--vfr-ease);
}

.vfr-archive-featured:hover .vfr-archive-featured__media img {
	transform: scale(1.03);
}

.vfr-archive-featured__body {
	display: grid;
	gap: .75rem;
	padding: clamp(1.5rem, 1rem + 2vw, 2.75rem);
}

.vfr-archive-featured__body .vfr-art-card__eyebrow {
	margin: 0;
}

.vfr-article-page .vfr-archive-featured__title {
	margin: 0;
	font-family: var(--vfr-font);
	font-size: clamp(1.375rem, 1.1rem + 1.2vw, 2rem);
	font-weight: 700;
	letter-spacing: -.02em;
	line-height: 1.2;
	text-wrap: balance;
}

.vfr-article-page .vfr-archive-featured__title a {
	color: var(--vfr-ink);
	text-decoration: none;
}

.vfr-article-page .vfr-archive-featured__title a:hover,
.vfr-article-page .vfr-archive-featured__title a:focus-visible {
	color: var(--vfr-brand-text);
}

.vfr-archive-featured__excerpt {
	margin: 0;
	color: var(--vfr-body);
	font-size: 1rem;
	line-height: 1.65;
}

.vfr-archive-featured .vfr-art-related__all {
	justify-self: start;
	margin-top: .25rem;
}

.vfr-art-postcard__excerpt {
	display: -webkit-box;
	overflow: hidden;
	color: var(--vfr-body);
	font-size: .875rem;
	line-height: 1.55;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	line-clamp: 3;
}

/* Paginare */
.vfr-archive-pagination {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: .375rem;
}

.vfr-article-page .vfr-archive-pagination .page-numbers {
	display: inline-grid;
	place-items: center;
	min-width: 2.75rem;
	min-height: 2.75rem;
	padding: 0 .9rem;
	border: 1px solid var(--vfr-line);
	border-radius: var(--vfr-radius-pill);
	background: var(--vfr-surface);
	color: var(--vfr-ink);
	font-weight: 600;
	text-decoration: none;
}

.vfr-article-page .vfr-archive-pagination a.page-numbers:hover,
.vfr-article-page .vfr-archive-pagination a.page-numbers:focus-visible {
	border-color: var(--vfr-brand-text);
	color: var(--vfr-brand-text);
}

.vfr-article-page .vfr-archive-pagination .page-numbers.current {
	border-color: var(--vfr-ink);
	background: var(--vfr-ink);
	color: #fff;
}

/* Banda de ajutor de sub grila */
.vfr-archive-help {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--vfr-space-sm) var(--vfr-space-md);
}

.vfr-archive-help .vfr-art-help__title {
	margin: 0;
}

.vfr-archive-help__actions {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
}

.vfr-archive-empty {
	color: var(--vfr-body);
}

/* ==========================================================================
   12. Utilitare
   ========================================================================== */

.elementor .vfr-u-center {
	text-align: center;
}

.elementor .vfr-u-measure,
.elementor .e-con > .vfr-u-measure {
	max-width: 72ch;
}

.elementor .vfr-u-hide-mobile {
	display: none;
}

@media (min-width: 768px) {
	.elementor .vfr-u-hide-mobile {
		display: revert;
	}
}

/* ==========================================================================
   13. Accesibilitate si miscare redusa
   ========================================================================== */

@media (prefers-reduced-motion: reduce) {
	.elementor [class*="vfr-"],
	.elementor [class*="vfr-"]::before,
	.elementor [class*="vfr-"]::after,
	.elementor [class*="vfr-"] * {
		transition-duration: .01ms !important;
		animation-duration: .01ms !important;
	}

	.elementor .vfr-slider .elementor-ken-burns {
		transform: none;
		transition: none;
	}

	.elementor .vfr-card:hover,
	.elementor .vfr-card:focus-within,
	.elementor .vfr-posts .elementor-post__card:hover,
	.elementor .vfr-btn .elementor-button:hover {
		transform: none;
	}
}

/* Tinta linkului "Sari la continut" primeste focus programatic: fara contur vizibil */
#content[tabindex="-1"]:focus {
	outline: none;
}

/* Calculatoarele din articole (cod original pastrat): titlul ramane la marimea initiala */
.vfr-art-body .elementor .vfr-article-embed h2 {
	font-size: 1.5rem;
	font-weight: 400;
	line-height: 1.3;
}

.vfr-art-body .elementor .vfr-article-embed h3 {
	font-size: 1.125rem;
	font-weight: 400;
}
