/* =========================================================
   Verity WP Base — stiluri globale
   V4 «Machetă» — implementarea mockup-ului aprobat, pe paleta caldă:
   ivoriu / espresso / caramel / miere / piatră.
   Un singur fișier CSS + un script minuscul de reveal (opțional).
   ========================================================= */

/* ---------- 1. Fundație ---------- */

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

:root {
	--v-line: color-mix(in srgb, var(--wp--preset--color--surface) 62%, var(--wp--preset--color--base));
}

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

body {
	-webkit-font-smoothing: antialiased;
	margin: 0;
}

img,
svg,
video {
	max-width: 100%;
	height: auto;
}

h1, h2, h3, h4, h5, h6 {
	text-wrap: balance;
	overflow-wrap: break-word;
}

p {
	text-wrap: pretty;
}

figure {
	margin: 0;
}

::selection {
	background: var(--wp--preset--color--accent);
	color: #ffffff;
}

:focus-visible {
	outline: 2.5px solid var(--wp--preset--color--accent);
	outline-offset: 3px;
	border-radius: 2px;
}

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

mark.has-inline-color {
	background: transparent;
}

.v-main a:where(:not(.wp-element-button)) {
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
	transition: color 150ms ease;
}

/* ---------- 2. Sistemul de secțiuni ---------- */

.v-sec {
	padding-block: clamp(3.5rem, 7vw, 6rem);
}

.v-sec--tint {
	border-block: 1px solid var(--v-line);
}

.v-wrap,
.v-hero__grid,
.v-creds__grid,
.v-about,
.v-svc,
.v-index,
.v-steps,
.v-articles__grid,
.v-faq,
.v-contact {
	max-width: min(1140px, 100%);
	margin-inline: auto;
}

.home .v-main > *,
.home .v-main .wp-block-post-content > * {
	margin-block: 0;
}

/* Rama site-ului (antet / main / subsol) nu are goluri proprii — spațierea
   aparține secțiunilor. Fără asta, blockGap-ul rădăcină lasă o fâșie din
   fundalul paginii între ultima secțiune și subsolul espresso. */
body .wp-site-blocks > * {
	margin-block: 0;
}

/* Sprânceana — eticheta secțiunilor, cu liniuța de caramel. */
.v-eyebrow {
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent-deep);
	display: flex;
	align-items: center;
	gap: 0.75rem;
	margin: 0 0 1.8rem;
}

.v-eyebrow::before {
	content: "";
	width: 26px;
	height: 1.5px;
	background: var(--wp--preset--color--accent);
	flex: none;
}

.v-sec h2 {
	max-width: 20em;
	margin: 0;
}

.v-sec .v-intro {
	margin-top: 1.1rem;
	max-width: 46em;
	font-size: 1.06rem;
}

/* Benzile închise. */
.v-sec--deep h2 {
	color: var(--wp--preset--color--ink-inverse);
}

.v-sec--deep .v-intro {
	color: color-mix(in srgb, var(--wp--preset--color--ink-inverse) 70%, transparent);
}

.v-sec--deep .v-eyebrow {
	color: var(--wp--preset--color--honey);
}

.v-sec--deep .v-eyebrow::before {
	background: var(--wp--preset--color--honey);
}

/* Fallback cu metrici potrivite pentru serif: cât se încarcă Newsreader, Georgia e
   redimensionată la aceleași lățimi și înălțimi de rând (size-adjust 95,5% =
   raportul măsurat al lățimilor pe titlurile site-ului). Textul nu mai sare când
   sosește fontul: pe Blog, titlul cădea pe două rânduri în Georgia și pe unul în
   Newsreader, mutând toată pagina cu ~70px (CLS 0,26 în Lighthouse). */
@font-face {
	font-family: "Newsreader Fallback";
	src: local("Georgia");
	size-adjust: 95.5%;
	ascent-override: 77%;
	descent-override: 27.7%;
	line-gap-override: 0%;
}

/* Rezervă pentru semnătura din antet, cât se încarcă Parisienne: Georgia micșorată,
   ca lățimea numelui să fie apropiată și textul să nu sară la schimbul de font. */
@font-face {
	font-family: "Parisienne Fallback";
	src: local("Georgia");
	size-adjust: 68%;
	ascent-override: 110%;
	descent-override: 37%;
	line-gap-override: 0%;
}

@font-face {
	font-family: "Newsreader Fallback";
	font-style: italic;
	src: local("Georgia Italic"), local("Georgia-Italic");
	size-adjust: 95.5%;
	ascent-override: 77%;
	descent-override: 27.7%;
	line-gap-override: 0%;
}

/* Ținte de atingere de minimum 24px (WCAG 2.5.8) pentru linkurile mici, fără să
   schimbe layout-ul: padding-ul vertical pe elemente inline nu mută rândurile.
   Linkurile subliniate cu border-bottom primesc padding doar sus, ca linia să
   rămână lipită de text. Linkurile de pe rânduri consecutive de text (telefon,
   e-mail în subsol) rămân fără padding: sunt exceptate ca text inline, iar cu
   padding s-ar suprapune între ele. */
.v-nav a,
.v-brand a,
.v-footer li a,
.v-card-cat a,
.v-acat a,
.v-cta2__v a,
.v-chan__vl a {
	padding-block: 0.375rem;
}

.v-fit__go a,
.v-media .v-media__go a,
.v-cd a {
	padding-top: 0.4rem;
}

/* Reveal — doar cu JavaScript activ; fără JS, conținutul e mereu vizibil. */
html.js:not(.rv-off) .rv {
	opacity: 0;
	transform: translateY(14px);
	transition: opacity 0.6s ease, transform 0.6s ease;
}

html.js:not(.rv-off) .rv.in {
	opacity: 1;
	transform: none;
}

/* ---------- 3. Antet lipicios ---------- */

/* Lipirea se aplică pe ÎNVELIȘUL părții de șablon (WordPress împachetează
   partea „header" într-un <header class="wp-block-template-part"> exact cât
   antetul de înalt — un sticky pe .v-header nu ar avea unde să „călătorească"). */
header.wp-block-template-part {
	position: sticky;
	top: 0;
	z-index: 40;
}

/* Cu bara de administrare WordPress vizibilă (doar utilizatori autentificați),
   antetul lipit stă imediat SUB ea — altfel bara fixă (z-index 99999) acoperă
   jumătatea de sus a linkurilor de navigare și interceptează clickurile. */
.admin-bar header.wp-block-template-part {
	top: var(--wp-admin--admin-bar--height, 32px);
}

@media (max-width: 599px) {
	/* Sub 600px, bara de administrare defilează odată cu pagina, deci antetul
	   se lipește din nou de marginea de sus. */
	.admin-bar header.wp-block-template-part {
		top: 0;
	}
}

/* Țintele ancorelor interne nu se ascund sub antetul lipit. */
[id] {
	scroll-margin-top: 6rem;
}

.v-header {
	background: color-mix(in srgb, var(--wp--preset--color--base) 90%, transparent);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	border-bottom: 1px solid var(--v-line);
}

.v-header__bar {
	padding-block: 0.95rem;
	row-gap: 0.6rem;
}

/* Numele din antet și footer: scris de mână (Parisienne, aleasă de clientă).
   Înălțimea rândului e fixă (line-height 1), deci schimbul de font nu mută nimic. */
.v-brand {
	font-family: var(--wp--preset--font-family--script);
	font-size: 1.85rem;
	font-weight: 400;
	margin: 0;
	line-height: 1;
	letter-spacing: 0;
}

.v-brand a {
	text-decoration: none;
	color: var(--wp--preset--color--ink);
}

.v-brand-sub {
	font-size: 0.66rem;
	font-weight: 700;
	letter-spacing: 0.19em;
	text-transform: uppercase;
	color: var(--wp--preset--color--ink-soft);
	margin: 0.3rem 0 0;
}

.v-header__nav {
	gap: clamp(1rem, 2.5vw, 2rem);
}

.v-nav {
	font-size: 0.92rem;
}

.v-nav .wp-block-page-list {
	display: flex;
	flex-wrap: wrap;
	gap: clamp(0.9rem, 2vw, 1.65rem);
	list-style: none;
	margin: 0;
	padding: 0;
}

.v-nav .wp-block-pages-list__item a {
	text-decoration: none;
	padding-block: 0.2rem;
	border-bottom: 1px solid transparent;
	transition: color 0.18s, border-color 0.18s;
}

.v-nav .wp-block-pages-list__item a:hover,
.v-nav .wp-block-pages-list__item a:focus-visible,
.v-nav .wp-block-pages-list__item a[aria-current] {
	color: var(--wp--preset--color--accent-deep);
	border-bottom-color: var(--wp--preset--color--accent);
}

.v-header__cta .wp-block-button__link {
	padding: 0.62rem 1.3rem;
	font-size: 0.88rem;
}

/* ---------- 3b. Meniul mobil (blocul nativ Navigation, doar sub 900px) ---------- */

/* Pe desktop, meniul mobil nu există; navigarea rămâne cea fără JavaScript. */
@media (min-width: 900px) {
	.v-header .v-nav-mobile,
	.v-header .v-nav-mobile.wp-block-navigation {
		display: none;
	}
}

@media (max-width: 899px) {
	/* Fără blur pe mobil: backdrop-filter ar transforma antetul în bloc
	   de poziționare pentru meniul fix (care ar rămâne cât antetul). */
	.v-header {
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
		background: color-mix(in srgb, var(--wp--preset--color--base) 98%, transparent);
	}

	/* Antet compact, pe un singur rând: brand + hamburger. */
	.v-header .v-brand-sub,
	.v-header nav.v-nav.v-nav,
	.v-header .v-header__cta {
		display: none;
	}

	.v-header__bar {
		flex-wrap: nowrap;
		align-items: center;
		padding-block: 0.8rem;
	}

	.v-brand {
		font-size: 1.7rem;
	}
}

/* Butonul hamburger — discret, espresso. */
.v-nav-mobile .wp-block-navigation__responsive-container-open {
	color: var(--wp--preset--color--ink);
	padding: 0.4rem;
}

.v-nav-mobile .wp-block-navigation__responsive-container-open svg {
	width: 26px;
	height: 26px;
}

.v-nav-mobile .wp-block-navigation__responsive-container-close {
	color: var(--wp--preset--color--ink);
	padding: 0.5rem;
}

/* Meniul deschis: listă serif generoasă, ușor de atins. */
.v-nav-mobile .wp-block-navigation__responsive-container.is-menu-open {
	padding: 1.5rem clamp(1.25rem, 5vw, 2rem) 2.5rem;
}

.v-nav-mobile .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	padding-top: 2.5rem;
}

.v-nav-mobile .wp-block-navigation__responsive-container.is-menu-open .wp-block-page-list,
.v-nav-mobile .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
	gap: 0;
}

.v-nav-mobile .wp-block-navigation__responsive-container.is-menu-open .wp-block-page-list,
.v-nav-mobile .wp-block-navigation__responsive-container.is-menu-open .wp-block-pages-list__item {
	width: 100%;
}

.v-nav-mobile .wp-block-navigation__responsive-container.is-menu-open .wp-block-pages-list__item a,
.v-nav-mobile .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	display: block;
	font-family: var(--wp--preset--font-family--serif);
	font-size: 1.45rem;
	line-height: 1.2;
	padding: 0.85rem 0;
	text-decoration: none;
	border-bottom: 1px solid var(--v-line);
	width: 100%;
}

.v-nav-mobile .wp-block-navigation__responsive-container.is-menu-open .wp-block-pages-list__item a[aria-current] {
	color: var(--wp--preset--color--accent-deep);
}

/* CTA-ul din meniu — pastila caramel. */
.v-nav-mobile .wp-block-navigation__responsive-container.is-menu-open .v-nav-mobile__cta {
	margin-top: 1.6rem;
}

.v-nav-mobile .wp-block-navigation__responsive-container.is-menu-open .v-nav-mobile__cta .wp-block-navigation-item__content {
	font-family: var(--wp--preset--font-family--sans);
	font-size: 0.95rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	background: var(--wp--preset--color--accent);
	color: #ffffff;
	border: none;
	border-radius: 999px;
	padding: 0.85rem 1.6rem;
	text-align: center;
	width: auto;
	display: inline-block;
}

/* ---------- 4. Erou ---------- */

.v-hero {
	/* Jos mai strâns: banda de credențiale face parte din compoziția eroului. */
	padding-block: clamp(3.5rem, 8vw, 6.5rem) clamp(2rem, 4vw, 3rem);
}

/* Elementele grilelor proprii nu preiau distanța implicită dintre blocuri —
   altfel celulele 2–4 coboară cu 1,5rem față de prima. */
.v-hero__grid > *,
.v-creds__grid > * {
	margin-block: 0;
}

.v-hero__grid {
	display: grid;
	grid-template-columns: 1.32fr 0.68fr;
	gap: clamp(2rem, 5vw, 4.5rem);
	align-items: center;
}

.v-hero h1 {
	margin: 0;
}

.v-hero h1 em,
.v-hero h1 mark {
	font-style: italic;
}

/* Un mic spațiu între cele două propoziții ale titlului: accentul devine
   bloc propriu, cu margine; br-ul din marcaj nu mai e necesar vizual. */
.v-hero h1 br {
	display: none;
}

.v-hero h1 em {
	display: block;
	margin-top: 0.18em;
}

.v-hero__lead {
	font-size: 1.12rem;
	margin: 1.6rem 0 0;
	max-width: 34em;
}

.v-hero__cta {
	margin-top: 2.2rem;
	column-gap: 0.8rem;
	row-gap: 0.8rem;
}

.v-portrait img {
	display: block;
	width: 100%;
	aspect-ratio: 3 / 4;
	object-fit: cover;
	border-radius: 3px;
	border: 1px solid var(--v-line);
}

@media (max-width: 859px) {
	.v-hero__grid {
		grid-template-columns: 1fr;
		row-gap: 2.25rem;
	}

	/* Pe mobil, portretul deschide eroul — centrat, la ~85% din lățime. */
	.v-portrait {
		order: -1;
		width: 85%;
		max-width: 24rem;
		margin-inline: auto;
	}
}

/* Rupere de rând doar pe mobil (ex. „Peste / 15 ani" în banda de credențiale). */
.v-brk-m {
	display: none;
}

@media (max-width: 899px) {
	.v-brk-m {
		display: inline;
	}
}

/* Separator vizibil doar de la 600px în sus (pe telefon, textul de după el trece pe rând nou). */
@media (max-width: 599px) {
	.v-sep-d {
		display: none;
	}
}

/* Rupere de rând doar pe desktop (titlurile cardurilor „Cu ce vă pot ajuta",
   ca toate trei să cadă pe două rânduri; pe mobil încap natural). */
@media (max-width: 899px) {
	.v-brk-d {
		display: none;
	}
}

/* Pe telefon, titlul eroului de pe Acasă încape curat pe două rânduri:
   propoziția întreagă sus, accentul jos. */
@media (max-width: 599px) {
	.v-hero h1 {
		font-size: 2.02rem;
	}
}

/* ---------- 5. Banda de credențiale ---------- */

.v-creds {
	border-block: 1px solid var(--v-line);
	padding-block: 0;
}

.v-creds__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1px;
	background: var(--v-line);
}

.v-cred {
	background: var(--wp--preset--color--tint);
	padding: 1.5rem clamp(1rem, 2vw, 1.6rem) 1.6rem;
}

/* Titlurile pornesc de la aceeași linie în toate cele patru celule. */
.v-cred__b {
	font-family: var(--wp--preset--font-family--serif);
	font-size: clamp(1.15rem, 0.9vw + 0.55rem, 1.38rem);
	white-space: nowrap; /* pe desktop, toate cele patru titluri pe un rând */
	font-weight: 500;
	color: var(--wp--preset--color--ink);
	line-height: 1.15;
	margin: 0;
}

/* Sub 900px coloanele sunt prea înguste pentru titluri pe un singur rând: se rup natural. */
@media (max-width: 899px) {
	.v-cred__b {
		white-space: normal;
	}
}

.v-cred__s {
	font-size: 0.92rem;
	color: var(--wp--preset--color--ink-soft);
	margin: 0.5rem 0 0;
	line-height: 1.5;
	max-width: 24em;
}

@media (max-width: 759px) {
	.v-creds__grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

/* Pe telefon, cele patru credențiale devin patru rânduri late: titlul pe un rând,
   explicația dedesubt; nimic nu mai stă alături, deci nu mai apar goluri inegale. */
@media (max-width: 599px) {
	.v-creds__grid {
		grid-template-columns: 1fr;
	}

	.v-cred {
		padding: 1.05rem 1.25rem 1.15rem;
	}

	.v-cred__b {
		font-size: 1.25rem;
	}

	.v-cred__s {
		margin-top: 0.3rem;
		max-width: none;
	}
}

/* ---------- 6. Despre + cronologie ---------- */

/* Citatul personal: italic serif caramel, lat cât aproape toată secțiunea. */
.v-about__statement {
	font-style: italic;
	font-size: clamp(1.45rem, 1.3vw + 0.9rem, 2.1rem);
	line-height: 1.32;
	letter-spacing: -0.012em;
	margin: 1.1rem 0 1.7rem;
	text-wrap: pretty;
}

.v-about {
	display: grid;
	grid-template-columns: 0.9fr 1.1fr;
	gap: clamp(2.5rem, 6vw, 5.5rem);
	margin-top: 0.4rem;
	align-items: start;
}

/* Coloanele nu preiau distanța implicită dintre blocuri. */
.v-about > * {
	margin-block: 0;
}

.v-about__cta {
	margin-top: 1.9rem;
	column-gap: 0.8rem;
	row-gap: 0.8rem;
}

/* Portretul și identitatea medicului — prezentare personală, nu card de echipă. */
.v-about__portrait {
	max-width: 24rem;
	justify-self: start;
	width: 100%;
}

/* Portret circular: aceeași imagine, decupaj prin CSS. Inelul subțire de
   miere stă ușor în afara fotografiei — discret, nu decorativ. */
.v-about__portrait figure {
	position: relative;
	border-radius: 50%;
}

.v-about__portrait figure::after {
	content: "";
	position: absolute;
	inset: -10px;
	border: 1px solid var(--wp--preset--color--honey);
	border-radius: 50%;
	opacity: 0.75;
	pointer-events: none;
}

.v-about__portrait img {
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	object-position: 50% 22%;
	border-radius: 50%;
	box-shadow: 0 18px 38px -24px color-mix(in srgb, var(--wp--preset--color--ink) 45%, transparent);
}

.v-about__name {
	font-size: 1.75rem;
	font-weight: 500;
	margin: 1.4rem 0 0;
	text-align: center;
}

/* Pe Acasă numele de sub medalion nu e titlu (h3 înaintea h2-ului rupea ierarhia),
   ci semnătura din antet: același scris de mână (Parisienne), deja încărcat pentru
   antet, deci fără nicio cerere în plus. Înălțimea rândului e fixă, ca schimbul de
   font să nu mute nimic. Pe Contact e același nume, ca h2 (acolo ierarhia îl cere titlu). */
p.v-about__name,
h2.v-about__name {
	font-family: var(--wp--preset--font-family--script);
	font-size: 2.5rem;
	font-weight: 400;
	line-height: 1.1;
	letter-spacing: 0;
	color: var(--wp--preset--color--ink);
	white-space: nowrap;
}

/* Sub 900px coloana medalionului e îngustă: semnătura rămâne pe un singur rând. */
@media (max-width: 899px) {
	p.v-about__name,
	h2.v-about__name {
		font-size: 2.1rem;
	}
}

.v-about__role {
	font-size: 0.95rem;
	color: var(--wp--preset--color--ink-soft);
	margin: 0.3rem 0 0;
	letter-spacing: 0.01em;
	text-align: center;
}

@media (max-width: 859px) {
	/* Pe mobil, portretul circular deschide secțiunea — centrat, cu
	   numele și specializarea dedesubt; textul urmează după. */
	.v-about__portrait {
		justify-self: center;
		max-width: 17rem;
	}
}

.v-about__text p + p {
	margin-top: 1.1rem;
}

.v-about__text .v-arrow {
	margin-top: 1.6rem;
}

.v-arrow a {
	font-weight: 700;
	font-size: 0.92rem;
	letter-spacing: 0.02em;
	text-decoration: none;
	color: var(--wp--preset--color--accent-deep);
}

.v-arrow a:hover,
.v-arrow a:focus-visible {
	text-decoration: underline;
	text-underline-offset: 3px;
}

.v-cv {
	border-left: 1.5px solid var(--v-line);
	padding-left: 1.8rem;
}

.v-cv__h {
	font-size: 0.85rem;
	font-weight: 700;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--wp--preset--color--ink);
	margin: 0 0 1.4rem;
}

.v-cv__i {
	position: relative;
	padding-bottom: 1.5rem;
}

.v-cv__i:last-child {
	padding-bottom: 0;
}

.v-cv__i::before {
	content: "";
	position: absolute;
	left: calc(-1.8rem - 5.5px);
	top: 0.5rem;
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: var(--wp--preset--color--accent);
	border: 2px solid var(--wp--preset--color--base);
}

.v-cv__yr {
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.09em;
	color: var(--wp--preset--color--accent-deep);
	margin: 0;
}

.v-cv__ti {
	font-family: var(--wp--preset--font-family--serif);
	font-size: 1.12rem;
	color: var(--wp--preset--color--ink);
	margin: 0.2rem 0 0;
	line-height: 1.3;
}

.v-cv__de {
	font-size: 0.9rem;
	color: var(--wp--preset--color--ink-soft);
	margin: 0.15rem 0 0;
}

@media (max-width: 859px) {
	.v-about {
		grid-template-columns: 1fr;
	}
}

/* ---------- 7. Servicii — carduri tarifare ---------- */

.v-svc {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.5rem;
	margin-top: 3rem;
	align-items: stretch;
}

/* Cardurile nu preiau distanța implicită dintre blocuri — toate trei pornesc
   și se termină pe aceleași linii, iar butoanele stau pe aceeași bază. */
.v-svc > * {
	margin-block: 0;
	height: 100%;
}

.v-svc__more {
	margin-top: 2.4rem;
}

.v-card {
	background: var(--wp--preset--color--base);
	border: 1px solid var(--v-line);
	border-radius: 4px;
	padding: 2rem 1.9rem;
	display: flex;
	flex-direction: column;
}

.v-card--lead {
	border-color: var(--wp--preset--color--accent);
	box-shadow: 0 0 0 1px var(--wp--preset--color--accent);
}

.v-card__tag {
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent-deep);
	margin: 0 0 0.9rem;
}

.v-card h3 {
	font-size: 1.42rem;
	margin: 0;
}

.v-card__dur {
	font-size: 0.86rem;
	color: var(--wp--preset--color--ink-soft);
	margin: 0.35rem 0 0;
}

.v-card__price {
	font-family: var(--wp--preset--font-family--serif);
	font-size: 2rem;
	font-weight: 500;
	color: var(--wp--preset--color--ink);
	margin: 1.3rem 0 1.2rem;
	line-height: 1;
}

.v-card__list {
	list-style: none;
	font-size: 0.94rem;
	margin: 0 0 1.8rem;
	padding: 0;
}

.v-card__list li {
	padding-left: 1.4rem;
	position: relative;
	margin-bottom: 0.6rem;
	line-height: 1.5;
}

.v-card__list li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.62rem;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--wp--preset--color--accent);
	opacity: 0.45;
}

.v-card .wp-block-buttons {
	margin-top: auto;
}

.v-card .wp-block-button,
.v-card .wp-block-button__link {
	width: 100%;
	text-align: center;
}

@media (max-width: 899px) {
	.v-svc {
		grid-template-columns: 1fr;
	}
}

/* ---------- 8. Semnătura — indexul de afecțiuni ---------- */

.v-index-head {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: 2rem;
	flex-wrap: wrap;
}

.v-index-note {
	font-size: 0.88rem;
	color: var(--wp--preset--color--ink-soft);
	max-width: 24em;
	border-left: 1.5px solid var(--wp--preset--color--accent);
	padding-left: 1rem;
	margin: 0;
}

.v-index {
	columns: 3;
	column-gap: clamp(2rem, 4vw, 3.5rem);
	margin-top: 2.6rem;
}

.v-index-grp {
	break-inside: avoid;
	margin-bottom: 1.9rem;
}

.v-index-grp h3 {
	font-size: 1.7rem;
	font-weight: 500;
	color: var(--wp--preset--color--accent);
	line-height: 1;
	padding-bottom: 0.5rem;
	border-bottom: 1.5px solid var(--wp--preset--color--accent);
	margin: 0 0 0.7rem;
}

.v-ix-list {
	list-style: none;
	margin: 0;
	padding: 0;
	font-size: 0.95rem;
}

.v-ix-list li {
	display: flex;
	align-items: baseline;
	gap: 0.5rem;
	padding-block: 0.24rem;
	position: relative;
}

.v-ix-list li::before {
	content: "";
	position: absolute;
	inset-inline: 0;
	bottom: 0.55em;
	border-bottom: 1px dotted color-mix(in srgb, var(--wp--preset--color--ink) 30%, transparent);
}

.v-ix-list li > * {
	position: relative;
	background: var(--wp--preset--color--base);
}

.v-ix-list a {
	flex: none;
	max-width: 78%;
	text-decoration: none;
	color: var(--wp--preset--color--ink-soft);
	padding-right: 0.5rem;
	transition: color 0.18s;
}

.v-ix-list a:hover,
.v-ix-list a:focus-visible {
	color: var(--wp--preset--color--accent-deep);
}

.v-ix-list em {
	margin-left: auto;
	flex: none;
	font-style: normal;
	font-size: 0.74rem;
	letter-spacing: 0.06em;
	color: var(--wp--preset--color--ink-soft);
	padding-left: 0.5rem;
}

@media (max-width: 959px) {
	.v-index {
		columns: 2;
	}
}

@media (max-width: 619px) {
	.v-index {
		columns: 1;
	}
}

/* ---------- 9. Pași — banda espresso, stațiile pe linie ---------- */

.v-steps {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	margin-top: 3.25rem;
	row-gap: 2.75rem;
}

.v-steps > * {
	margin-block: 0;
}

/* Fiecare pas: segment din linia subțire continuă + punctul de miere al stației. */
.v-step {
	position: relative;
	border-top: 1px solid color-mix(in srgb, var(--wp--preset--color--ink-inverse) 20%, transparent);
	padding: 2rem 2.2rem 0 0;
}

.v-step::before {
	content: "";
	position: absolute;
	top: -4px;
	left: 0;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--wp--preset--color--honey);
}

/* Numeralele mari — elementul principal al secțiunii. */
.v-step .v-step__n {
	font-family: var(--wp--preset--font-family--serif);
	font-size: clamp(3.4rem, 4.4vw, 4.25rem);
	font-weight: 400;
	color: var(--wp--preset--color--honey);
	line-height: 1;
	margin: 0 0 1rem;
	letter-spacing: -0.02em;
	max-width: none;
}

.v-step h3 {
	color: var(--wp--preset--color--ink-inverse);
	font-size: clamp(1.45rem, 1.3vw + 1rem, 1.7rem);
	margin: 0 0 0.65rem;
}

.v-step p {
	font-size: 0.97rem;
	color: color-mix(in srgb, var(--wp--preset--color--ink-inverse) 74%, transparent);
	line-height: 1.62;
	margin: 0;
	max-width: 30ch;
}

@media (max-width: 899px) {
	.v-steps {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 519px) {
	.v-steps {
		grid-template-columns: 1fr;
		row-gap: 2.25rem;
	}

	.v-step {
		padding-right: 0;
	}
}

/* ---------- 10. Articole — carduri de publicație ---------- */

.v-articles__grid {
	margin-top: 2.6rem;
}

.v-articles__grid .wp-block-post-template.is-layout-grid {
	gap: 1.2rem;
}

.v-press-card {
	border: 1px solid var(--v-line);
	border-radius: 4px;
	padding: 1.5rem 1.4rem;
	background: var(--wp--preset--color--base);
	transition: border-color 0.18s, transform 0.18s;
	height: 100%;
	display: flex;
	flex-direction: column;
}

/* Cardurile din grilă nu preiau distanța implicită dintre blocuri. */
.v-articles__grid .wp-block-post-template > * {
	margin-block: 0;
}

/* Imaginea reprezentativă: 4:3, decupaj consecvent, colțuri fine. */
.v-press-card .wp-block-post-featured-image {
	margin: 0 0 1.1rem;
}

.v-press-card .wp-block-post-featured-image img {
	display: block;
	width: 100%;
	border-radius: 3px;
}

/* Data rămâne pe aceeași linie de bază în toate cardurile. */
.v-press-card .wp-block-post-date {
	margin-top: auto;
}

.v-press-card:hover {
	border-color: var(--wp--preset--color--accent);
	transform: translateY(-2px);
}

.v-press-card h3 {
	font-size: 1.2rem;
	line-height: 1.3;
	margin: 0;
}

.v-press-card h3 a {
	text-decoration: none;
}

.v-press-card h3 a:hover,
.v-press-card h3 a:focus-visible {
	color: var(--wp--preset--color--accent-deep);
}

.v-press-card .wp-block-post-excerpt {
	font-size: 0.88rem;
	color: var(--wp--preset--color--ink-soft);
	margin-top: 0.4rem;
}

.v-press-card .wp-block-post-excerpt p {
	margin: 0;
}

.v-press-card time {
	display: block;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.13em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent-deep);
	margin-top: 0.9rem;
}

.v-articles .v-arrow {
	margin-top: 1.8rem;
}

.v-articles__more {
	margin-top: 2.4rem;
}

/* Cardurile de presă statice (model neplasat încă). */
.v-press-card .v-pub {
	font-family: var(--wp--preset--font-family--serif);
	font-size: 1.2rem;
	color: var(--wp--preset--color--ink);
	margin: 0;
	line-height: 1.25;
}

.v-press-card .v-ttl {
	font-size: 0.88rem;
	color: var(--wp--preset--color--ink-soft);
	margin: 0.4rem 0 0;
	line-height: 1.45;
}

/* ---------- 11. Întrebări frecvente ---------- */

.v-faq {
	margin-top: 2.6rem;
	max-width: 56em;
	margin-inline: auto 0;
	border-top: 1px solid var(--v-line);
}

.v-wrap .v-faq {
	margin-inline: 0;
}

.v-faq details {
	border-bottom: 1px solid var(--v-line);
}

.v-faq summary {
	cursor: pointer;
	list-style: none;
	padding: 1.3rem 2.5rem 1.3rem 0;
	position: relative;
	font-family: var(--wp--preset--font-family--serif);
	font-size: 1.32rem;
	font-weight: 500;
	color: var(--wp--preset--color--ink);
	line-height: 1.35;
}

.v-faq summary::-webkit-details-marker {
	display: none;
}

.v-faq summary::after {
	content: "";
	position: absolute;
	right: 0.45rem;
	top: 1.8rem;
	width: 11px;
	height: 11px;
	border-right: 1.6px solid var(--wp--preset--color--accent);
	border-bottom: 1.6px solid var(--wp--preset--color--accent);
	transform: rotate(45deg);
	transition: transform 0.22s;
}

.v-faq details[open] summary::after {
	transform: rotate(-135deg);
}

.v-faq details > :not(summary) {
	padding: 0 3rem 0 0;
	max-width: 44em;
	line-height: 1.62;
}

/* Răspunsul stă aproape de întrebarea lui — fără distanța implicită dintre blocuri. */
.v-faq details > p {
	margin-block: 0;
}

.v-faq details > p:first-of-type {
	margin-top: -0.3rem;
}

.v-faq details > p + p {
	margin-top: 0.8rem;
}

.v-faq details > p:last-child {
	padding-bottom: 1.4rem;
}

/* ---------- 12. Contact / programare ---------- */

.v-contact {
	display: grid;
	grid-template-columns: 0.9fr 1.1fr;
	gap: clamp(2rem, 5vw, 4.5rem);
	margin-top: 0.6rem;
	align-items: start;
}

/* Titlul locuiește în coloana stângă — vârful cardului și al titlului
   împart aceeași linie a grilei. */
.v-cinfo .v-contact__title {
	margin: 0 0 2.2rem;
	line-height: 1.12;
}

/* Ambele coloane pornesc de pe aceeași linie — fără distanța implicită
   dintre blocuri pe elementele grilei. */
.v-contact > * {
	margin-block: 0;
}

.v-ct {
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--wp--preset--color--ink-soft);
	margin: 1.5rem 0 0;
}

.v-ct:first-child {
	margin-top: 0;
}

.v-cd {
	font-size: 1.04rem;
	color: var(--wp--preset--color--ink);
	margin: 0.3rem 0 0;
	line-height: 1.5;
}

.v-cd a {
	color: var(--wp--preset--color--accent-deep);
	text-decoration: none;
	border-bottom: 1px solid color-mix(in srgb, var(--wp--preset--color--accent) 40%, transparent);
}

.v-cd a:hover,
.v-cd a:focus-visible {
	border-bottom-color: var(--wp--preset--color--accent-deep);
}

.v-book {
	background: var(--wp--preset--color--tint);
	border: 1px solid var(--v-line);
	border-radius: 4px;
	padding: clamp(1.6rem, 3vw, 2.3rem);
}

/* Cardul de programare: etichetele și casetele câmpurilor. Formularul real (Contact Form 7)
   folosește aceste stiluri; regulile specifice pluginului urmează mai jos. */
.v-book .v-field__label {
	font-size: 0.74rem;
	font-weight: 700;
	letter-spacing: 0.13em;
	text-transform: uppercase;
	color: var(--wp--preset--color--ink-soft);
	margin: 1.05rem 0 0.42rem;
}

.v-book .v-field__box {
	background: var(--wp--preset--color--base);
	border: 1px solid var(--v-line);
	border-radius: 3px;
	padding: 0.8rem 0.95rem;
	font-size: 0.98rem;
	line-height: 1.4;
	color: color-mix(in srgb, var(--wp--preset--color--ink-soft) 62%, transparent);
	margin: 0;
}

.v-book .v-field__box--area {
	min-height: 104px;
}

/* Pe secțiuni tint (finalul paginii Servicii), cardul inversează tonurile:
   card ivory + casete tint — același limbaj, contrast păstrat. */
.v-sec--tint .v-book .v-field__box {
	background: var(--wp--preset--color--tint);
}

/* Formularul real (Contact Form 7), îmbrăcat în stilurile temei. Stilul implicit al
   pluginului este oprit din inc/forms.php, deci tot ce ține de aspect e aici. */
.v-book .wpcf7 form {
	margin: 0;
}

.v-book .wpcf7 .hidden-fields-container {
	display: none;
}

.v-book label.v-field__label {
	display: block;
}

.v-book .v-field__opt {
	font-weight: 400;
	letter-spacing: 0.04em;
	text-transform: none;
}

.v-book .wpcf7-form-control-wrap {
	display: block;
}

.v-book .v-field__input {
	display: block;
	width: 100%;
	box-sizing: border-box;
	margin: 0;
	padding: 0.8rem 0.95rem;
	font: inherit;
	font-size: 0.98rem;
	line-height: 1.4;
	color: var(--wp--preset--color--ink);
	background: var(--wp--preset--color--base);
	border: 1px solid var(--v-line);
	border-radius: 3px;
	-webkit-appearance: none;
	appearance: none;
}

.v-book textarea.v-field__input {
	min-height: 104px;
	resize: vertical;
}

.v-book .v-field__input::placeholder {
	color: var(--wp--preset--color--ink-soft);
	opacity: 1;
}

.v-book .v-field__input:focus-visible {
	outline: 2px solid var(--wp--preset--color--accent);
	outline-offset: 1px;
	border-color: var(--wp--preset--color--accent);
}

.v-sec--tint .v-book .v-field__input {
	background: var(--wp--preset--color--tint);
}

.v-book .v-field__input.wpcf7-not-valid {
	border-color: var(--wp--preset--color--accent-deep);
}

.v-book .wpcf7-not-valid-tip {
	display: block;
	margin-top: 0.35rem;
	font-size: 0.82rem;
	color: var(--wp--preset--color--accent-deep);
}

/* Bifa de acord: căsuță reală în locul celei desenate. */
.v-book .wpcf7 .v-book__consent {
	padding-left: 0;
}

.v-book .wpcf7 .v-book__consent::before {
	content: none;
}

.v-book .wpcf7-acceptance .wpcf7-list-item {
	margin: 0;
}

.v-book .wpcf7-acceptance label {
	display: flex;
	align-items: flex-start;
	gap: 0.6rem;
	cursor: pointer;
}

.v-book .wpcf7-acceptance input[type="checkbox"] {
	flex: none;
	width: 17px;
	height: 17px;
	margin: 0.14rem 0 0;
	accent-color: var(--wp--preset--color--accent);
}

.v-book .wpcf7-acceptance a {
	color: inherit;
	text-underline-offset: 0.18em;
}

.v-book input.wp-block-button__link {
	border: 0;
	cursor: pointer;
	font-family: inherit;
	-webkit-appearance: none;
	appearance: none;
}

.v-book .wpcf7 form.submitting input.wp-block-button__link {
	opacity: 0.65;
	cursor: progress;
}

.v-book .wpcf7-spinner {
	display: none;
}

.v-book .wpcf7-response-output {
	margin: 1rem 0 0;
	padding: 0.8rem 1rem;
	font-size: 0.92rem;
	line-height: 1.5;
	border: 1px solid var(--v-line);
	border-radius: 3px;
	background: var(--wp--preset--color--tint);
	color: var(--wp--preset--color--ink);
}

.v-book .wpcf7 form.init .wpcf7-response-output,
.v-book .wpcf7 form.resetting .wpcf7-response-output,
.v-book .wpcf7 form.submitting .wpcf7-response-output {
	display: none;
}

.v-book .wpcf7 form.sent .wpcf7-response-output {
	border-color: var(--wp--preset--color--accent);
}

.v-book .wpcf7 form.invalid .wpcf7-response-output,
.v-book .wpcf7 form.unaccepted .wpcf7-response-output,
.v-book .wpcf7 form.failed .wpcf7-response-output,
.v-book .wpcf7 form.aborted .wpcf7-response-output,
.v-book .wpcf7 form.spam .wpcf7-response-output {
	border-color: var(--wp--preset--color--accent-deep);
	color: var(--wp--preset--color--accent-deep);
}

/* Mesajele pentru cititoarele de ecran și câmpul-capcană: prezente în pagină, nevăzute. */
.wpcf7 .screen-reader-response,
.v-hp {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	border: 0;
	white-space: nowrap;
}

.v-book .wp-block-buttons {
	margin-top: 1.4rem;
}

.v-book h3 {
	font-size: 1.85rem;
	margin: 0 0 1rem;
}

.v-book__sm {
	font-size: 0.9rem;
	color: var(--wp--preset--color--ink-soft);
	margin: 0 0 1.4rem;
}

.v-book__row {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 1rem;
	padding-block: 0.85rem;
	border-top: 1px solid var(--v-line);
}

.v-book__row p {
	margin: 0;
}

.v-book__k {
	font-size: 0.74rem;
	font-weight: 700;
	letter-spacing: 0.13em;
	text-transform: uppercase;
	color: var(--wp--preset--color--ink-soft);
}

.v-book__v {
	font-family: var(--wp--preset--font-family--serif);
	font-size: 1.15rem;
	color: var(--wp--preset--color--ink);
}

.v-book__v a {
	color: inherit;
	text-decoration: none;
}

.v-book__v a:hover,
.v-book__v a:focus-visible {
	color: var(--wp--preset--color--accent-deep);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.v-book .wp-block-buttons {
	margin-top: 1.3rem;
}

.v-book .wp-block-button,
.v-book .wp-block-button__link {
	width: 100%;
	text-align: center;
}

.v-book__gdpr {
	font-size: 0.78rem;
	color: var(--wp--preset--color--ink-soft);
	margin: 1rem 0 0;
	line-height: 1.5;
}

@media (max-width: 859px) {
	.v-contact {
		grid-template-columns: 1fr;
	}
}

/* ---------- 13. Antetul paginilor interioare ---------- */

.v-page-head {
	padding-block: clamp(2.5rem, 5vw, 4.5rem) clamp(1.5rem, 3vw, 2.5rem);
	border-bottom: 1px solid var(--v-line);
	margin-bottom: var(--wp--preset--spacing--l);
}

/* ---------- 14. Subsol ---------- */

.v-footer {
	padding-block: 3.2rem 2.2rem;
	font-size: 0.9rem;
}

.v-footer a {
	color: inherit;
	text-decoration: none;
	transition: color 0.18s;
}

.v-footer a:hover,
.v-footer a:focus-visible {
	color: var(--wp--preset--color--honey);
}

.v-footer__cols {
	row-gap: 2.5rem;
	padding-bottom: 2.4rem;
	border-bottom: 1px solid color-mix(in srgb, var(--wp--preset--color--ink-inverse) 13%, transparent);
}

.v-footer .v-brand a {
	color: var(--wp--preset--color--ink-inverse);
}

.v-footer .v-brand-sub {
	color: color-mix(in srgb, var(--wp--preset--color--ink-inverse) 70%, transparent);
}

.v-footer__note {
	margin-top: 1rem;
	max-width: 26em;
	font-size: 0.88rem;
	color: color-mix(in srgb, var(--wp--preset--color--ink-inverse) 78%, transparent);
}

.v-footer h5,
.v-footer .v-foot-h {
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: color-mix(in srgb, var(--wp--preset--color--ink-inverse) 70%, transparent);
	margin: 0 0 0.9rem;
	font-family: var(--wp--preset--font-family--sans);
}

.v-footer__pages,
.v-footer ul {
	list-style: none;
	padding: 0;
	margin: 0;
	color: color-mix(in srgb, var(--wp--preset--color--ink-inverse) 78%, transparent);
}

.v-footer__pages .wp-block-pages-list__item,
.v-footer ul li {
	margin-bottom: 0.5rem;
}

.v-footer__fine {
	padding-top: 1.6rem;
	font-size: 0.8rem;
	color: color-mix(in srgb, var(--wp--preset--color--ink-inverse) 68%, transparent);
	row-gap: 0.25rem;
}

.v-footer__fine p {
	margin: 0;
}

/* Creditul agenției, pe rândul de sub copyright. */
.v-footer__credit {
	white-space: nowrap;
}

/* ---------- 15. Butoane ---------- */

.wp-block-button__link {
	transition: background-color 0.18s, color 0.18s, border-color 0.18s;
	border: 1.5px solid transparent;
}

.wp-block-button.is-style-outline .wp-block-button__link {
	background: transparent;
	border: 1.5px solid var(--wp--preset--color--ink);
	color: var(--wp--preset--color--ink);
	/* Aceeași înălțime cu butoanele pline — nucleul aplică altfel padding-ul
	   variantei contur. */
	padding: 0.78rem 1.5rem;
}

.wp-block-button.is-style-outline .wp-block-button__link:hover,
.wp-block-button.is-style-outline .wp-block-button__link:focus-visible {
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--ink-inverse);
}

/* Varianta contur pe benzile închise. */
.v-sec--deep .is-style-outline .wp-block-button__link,
.v-footer .is-style-outline .wp-block-button__link {
	border-color: var(--wp--preset--color--ink-inverse);
	color: var(--wp--preset--color--ink-inverse);
}

.v-sec--deep .is-style-outline .wp-block-button__link:hover,
.v-footer .is-style-outline .wp-block-button__link:hover {
	background: var(--wp--preset--color--ink-inverse);
	color: var(--wp--preset--color--surface-deep);
}

/* ---------- 16. Banda fotografică (model opțional, neplasat) ---------- */

.v-band {
	padding-block: 0 var(--wp--preset--spacing--xl);
}

.v-band figure {
	max-width: min(1320px, 100%);
	margin-inline: auto;
}

.v-band img {
	display: block;
	width: 100%;
	aspect-ratio: 21 / 9;
	object-fit: cover;
	max-height: 68vh;
	border-radius: 3px;
}

.v-band__caption {
	max-width: min(1140px, 100%);
	margin-inline: auto;
	display: flex;
	justify-content: flex-end;
	padding-block: 0.9rem;
}

.v-band__caption p {
	margin: 0;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.09em;
	text-transform: uppercase;
	color: var(--wp--preset--color--ink-soft);
}

/* ---------- 17. Testimoniale (model neplasat până există conținut real) ---------- */

.v-tests {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.5rem;
	margin-top: 2.8rem;
}

.v-test {
	background: var(--wp--preset--color--base);
	border: 1px solid var(--v-line);
	border-radius: 4px;
	padding: 1.9rem;
}

.v-test__qm {
	font-family: var(--wp--preset--font-family--serif);
	font-size: 2.8rem;
	color: var(--wp--preset--color--honey);
	line-height: 0.6;
	margin: 0 0 0.7rem;
}

.v-test__q {
	font-family: var(--wp--preset--font-family--serif);
	font-size: 1.12rem;
	color: var(--wp--preset--color--ink);
	line-height: 1.5;
	margin: 0;
}

.v-test__who {
	font-size: 0.82rem;
	color: var(--wp--preset--color--ink-soft);
	margin: 1.2rem 0 0;
	padding-top: 1rem;
	border-top: 1px solid var(--v-line);
}

@media (max-width: 899px) {
	.v-tests {
		grid-template-columns: 1fr;
	}

	.v-press-cards {
		grid-template-columns: 1fr;
	}
}

/* Grila statică de presă (model neplasat). */
.v-press-cards {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1.2rem;
	margin-top: 2.6rem;
}

/* ---------- 12. Pagina „Despre mine" ---------- */

/* Șablonul „Pagină din secțiuni" — același flux fără margini moștenite ca pe Acasă. */
.page-template-page-sections .v-main > *,
.page-template-page-sections .v-main .wp-block-post-content > * {
	margin-block: 0;
}

/* Grilele proprii paginii, ancorate la aceeași lățime de conținut. */
.v-phero__grid,
.v-story,
.v-cta2 {
	max-width: min(1140px, 100%);
	margin-inline: auto;
}

/* Eroul paginii. */
.v-phero {
	padding-block: clamp(3rem, 6vw, 5rem) clamp(3.5rem, 7vw, 6rem);
}

.v-phero__grid {
	display: grid;
	grid-template-columns: 1.25fr 0.75fr;
	gap: clamp(2rem, 5vw, 4.5rem);
	align-items: start;
}

.v-phero__grid > *,
.v-phero__text > *,
.v-phero__sig > * {
	margin-block: 0;
}

/* Aer în eroul paginii Despre: sub sprânceană și înaintea butoanelor. */
.v-phero .v-eyebrow {
	margin-bottom: 2rem;
}

.v-phero .v-about__cta {
	margin-top: clamp(1.8rem, 3vw, 2.4rem);
}

.v-phero h1 {
	font-size: clamp(2.1rem, 1.5vw + 1.55rem, 3.35rem);
	line-height: 1.12;
	max-width: 15em;
	margin: 0;
}

.v-phero__lead {
	margin-top: 1.5rem;
	font-size: var(--wp--preset--font-size--lead);
	line-height: 1.7;
	color: var(--wp--preset--color--ink-soft);
	max-width: 34em;
}

.v-phero__sig {
	margin-top: 2.1rem;
	gap: 1rem;
}

/* Semnătura de sub textul din Despre: același scris de mână ca în antet (font deja
   încărcat, fără cereri în plus). Rând cu înălțime fixă, pe o singură linie. */
.v-phero__nm {
	font-family: var(--wp--preset--font-family--script);
	font-size: 1.95rem;
	font-weight: 400;
	line-height: 1;
	letter-spacing: 0;
	white-space: nowrap;
	color: var(--wp--preset--color--ink);
}

.v-phero__rl {
	font-size: 0.82rem;
	letter-spacing: 0.05em;
	color: var(--wp--preset--color--ink-soft);
	padding-left: 1rem;
	border-left: 1px solid var(--v-line);
}

.v-phero__media img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 3 / 4;
	object-fit: cover;
	object-position: 50% 20%;
	border-radius: 6px;
}

/* Povestea — etichetă în stânga, narativ în dreapta. */
.v-story {
	display: grid;
	grid-template-columns: 0.28fr 0.72fr;
	gap: clamp(2rem, 4vw, 4rem);
}

.v-story > *,
.v-story__body > * {
	margin-block: 0;
}

.v-story__label {
	align-self: start;
	border-top: 2px solid var(--wp--preset--color--accent);
	padding-top: 1rem;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent-deep);
}

.v-story__body > * + * {
	margin-block-start: 1.15rem;
}

.v-story__body p {
	max-width: 36em;
	font-size: 1.06rem;
	line-height: 1.75;
}

.v-story__body p.has-drop-cap::first-letter {
	font-family: var(--wp--preset--font-family--serif);
	font-weight: 400;
	font-size: 4.4em;
	line-height: 0.68;
	color: var(--wp--preset--color--accent);
	margin: 0.06em 0.14em 0 0;
}

.v-story__body .v-pull,
.v-article .v-pull {
	margin-block: 2.1rem;
	border: 0;
	border-left: 3px solid var(--wp--preset--color--accent);
	padding: 0.35rem 0 0.35rem 1.4rem;
}

.v-story__body .v-pull p,
.v-article .v-pull p {
	font-family: var(--wp--preset--font-family--serif);
	font-style: italic;
	font-size: clamp(1.35rem, 0.9vw + 1.05rem, 1.85rem);
	line-height: 1.42;
	color: var(--wp--preset--color--accent-deep);
	max-width: 22em;
}

/* Principiile — numerale mari, fără carduri. */
.v-prin {
	margin-top: 2.6rem;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 clamp(2.5rem, 5vw, 5rem);
}

.v-prin > *,
.v-prin__i > * {
	margin-block: 0;
}

.v-prin__i {
	border-top: 1px solid var(--v-line);
	padding-block: 2rem 2.4rem;
}

.v-prin .v-prin__n {
	font-family: var(--wp--preset--font-family--serif);
	font-size: clamp(2.6rem, 2vw + 1.8rem, 3.6rem);
	line-height: 0.9;
	color: var(--wp--preset--color--accent);
	margin-bottom: 1rem;
}

.v-prin__i h3 {
	font-size: 1.3rem;
	margin-bottom: 0.7rem;
}

.v-prin__i p {
	color: var(--wp--preset--color--ink-soft);
	line-height: 1.7;
}

/* „Ce nu veți găsi" — pe espresso, doar linii fine. */
.v-deny {
	margin-top: 2.8rem;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0 clamp(2rem, 4vw, 3.5rem);
}

.v-deny > *,
.v-deny__i > * {
	margin-block: 0;
}

.v-deny__i {
	border-top: 1px solid color-mix(in srgb, var(--wp--preset--color--ink-inverse) 18%, transparent);
	padding-block: 1.6rem 2rem;
}

.v-deny__i h3 {
	font-family: var(--wp--preset--font-family--serif);
	font-weight: 500;
	font-size: 1.28rem;
	color: var(--wp--preset--color--ink-inverse);
	margin-bottom: 0.6rem;
}

.v-deny__i p {
	font-size: 0.98rem;
	line-height: 1.65;
	color: color-mix(in srgb, var(--wp--preset--color--ink-inverse) 70%, transparent);
}

/* Parcursul profesional — ani mari serif, rânduri liniate. */
.v-rail {
	margin-top: 2.6rem;
}

.v-rail > *,
.v-rail__i > *,
.v-rail__yr > *,
.v-rail__body > * {
	margin-block: 0;
}

.v-rail__i {
	display: grid;
	grid-template-columns: 0.18fr 0.82fr;
	gap: clamp(1.5rem, 3vw, 3rem);
	border-top: 1px solid var(--v-line);
	padding-block: 1.9rem 2.2rem;
}

.v-rail__i:last-child {
	border-bottom: 1px solid var(--v-line);
}

.v-rail .v-rail__y {
	font-family: var(--wp--preset--font-family--serif);
	font-size: clamp(1.7rem, 1vw + 1.35rem, 2.4rem);
	line-height: 1;
	font-variant-numeric: tabular-nums;
	color: var(--wp--preset--color--accent);
}

.v-rail .v-rail__tag {
	margin-top: 0.55rem;
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--wp--preset--color--ink-soft);
}

.v-rail__body h3 {
	font-size: 1.3rem;
}

.v-rail__body p {
	margin-top: 0.8rem;
	color: var(--wp--preset--color--ink-soft);
	max-width: 44em;
	line-height: 1.7;
}

.v-rail__body .v-rail__org {
	margin-top: 0.35rem;
	font-size: 0.92rem;
	color: var(--wp--preset--color--accent-deep);
}

/* Afilieri — model pregătit, neplasat. */
.v-aff {
	margin-top: 2.4rem;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0 2.5rem;
}

.v-aff > *,
.v-aff__i > * {
	margin-block: 0;
}

.v-aff__i {
	border-top: 1px solid var(--v-line);
	padding-block: 1.5rem 2rem;
}

.v-aff__c {
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent-deep);
	margin-bottom: 0.6rem;
}

.v-aff__i h3 {
	font-size: 1.18rem;
	margin-bottom: 0.4rem;
}

.v-aff__s {
	color: var(--wp--preset--color--ink-soft);
	font-size: 0.95rem;
}

/* Închiderea — CTA pe fundal deschis (tint) cu caseta cabinetului. */
.v-cta2 {
	display: grid;
	grid-template-columns: 1.15fr 0.85fr;
	gap: clamp(2.5rem, 5vw, 4.5rem);
	align-items: start;
}

.v-cta2 > *,
.v-cta2__text > *,
.v-cta2__box > * {
	margin-block: 0;
}

/* Sprânceana secțiunii își păstrează aerul de sub ea și aici. */
.v-cta2__text > .v-eyebrow {
	margin-bottom: 1.8rem;
}

.v-cta2__text .v-intro {
	margin-top: 1.1rem;
}

.v-cta2__act {
	margin-top: 2.1rem;
	gap: 0.9rem;
}

.v-cta2__box {
	background: var(--wp--preset--color--base);
	border: 1px solid var(--v-line);
	border-radius: 8px;
	padding: clamp(1.6rem, 3vw, 2.2rem);
}

.v-cta2__box .v-cta2__k {
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent-deep);
}

.v-cta2__box .v-cta2__v {
	margin-top: 0.3rem;
	color: var(--wp--preset--color--ink-soft);
	line-height: 1.55;
}

.v-cta2__box .v-cta2__v + .v-cta2__k {
	margin-top: 1.4rem;
}

.v-cta2__v a {
	color: var(--wp--preset--color--ink);
	text-underline-offset: 3px;
}

/* Despre mine — mobil. */
@media (max-width: 899px) {
	.v-phero__grid {
		grid-template-columns: 1fr;
		gap: 2.2rem;
	}

	.v-phero__media {
		order: -1;
		width: min(85%, 420px);
		margin-inline: auto;
	}

	.v-story {
		grid-template-columns: 1fr;
		gap: 1.6rem;
	}

	.v-prin {
		grid-template-columns: 1fr;
	}

	.v-deny {
		grid-template-columns: 1fr;
		margin-top: 2.2rem;
	}

	.v-rail__i {
		grid-template-columns: 1fr;
		gap: 0.9rem;
		padding-block: 1.6rem 1.9rem;
	}

	.v-rail__yr {
		display: flex;
		align-items: baseline;
		gap: 0.8rem;
	}

	.v-rail .v-rail__tag {
		margin-top: 0;
	}

	.v-aff {
		grid-template-columns: 1fr;
	}

	.v-cta2 {
		grid-template-columns: 1fr;
		gap: 2.4rem;
	}
}

/* Cabinetul — o fotografie principală + două detalii. */
.v-cab {
	margin-top: 2.8rem;
	display: grid;
	grid-template-columns: 1.4fr 1fr 1fr;
	gap: 1.2rem;
	align-items: stretch;
}

.v-cab > *,
.v-cab figure {
	margin-block: 0;
}

.v-cab .v-cab__main {
	aspect-ratio: 4 / 3;
}

.v-cab figure img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 4px;
}

@media (max-width: 899px) {
	.v-cab {
		grid-template-columns: 1fr 1fr;
		gap: 1rem;
	}

	.v-cab .v-cab__main {
		grid-column: 1 / -1;
	}

	.v-cab .v-cab__det {
		aspect-ratio: 1 / 1;
	}
}

@media (max-width: 559px) {
	.v-cab {
		grid-template-columns: 1fr;
	}

	.v-cab .v-cab__det {
		aspect-ratio: 4 / 3;
	}
}

/* ---------- 13. Pagina „Servicii și tarife" ---------- */

/* Eroul compact — pagina de serviciu ajunge repede la conținut. */
.v-shero {
	padding-block: clamp(2.75rem, 5vw, 4.25rem) clamp(1rem, 2vw, 1.75rem);
}

/* Pagina 404: același erou de pagină, dar urmat direct de subsol, deci cu aer și jos. */
.v-404 {
	padding-block: clamp(4rem, 9vw, 7.5rem);
}

.v-shero__grid {
	max-width: min(1140px, 100%);
	margin-inline: auto;
	display: grid;
	grid-template-columns: 1.35fr 0.65fr;
	gap: clamp(2rem, 5vw, 4.5rem);
	align-items: center;
}

.v-shero__grid > *,
.v-shero__text > * {
	margin-block: 0;
}

.v-shero__media img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	object-position: 50% 40%;
	border-radius: 6px;
}

/* Aer în eroul Serviciilor: sub sprânceană și înaintea butoanelor. */
.v-shero .v-eyebrow {
	margin-bottom: 2rem;
}

.v-shero .v-about__cta {
	margin-top: clamp(1.8rem, 3vw, 2.4rem);
}

.v-shero h1 {
	font-size: clamp(2.15rem, 3vw + 1.3rem, 4.1rem);
	line-height: 1.05;
	max-width: 14em;
}

.v-shero__lead {
	margin-top: 1.5rem;
	font-size: var(--wp--preset--font-size--lead);
	line-height: 1.65;
	color: var(--wp--preset--color--ink-soft);
	max-width: 38em;
}

/* Lista editorială de servicii. */
.v-sec--svcd {
	padding-block: clamp(1.5rem, 3vw, 2.5rem) clamp(3rem, 6vw, 5rem);
}

.v-svcd {
	border-top: 2px solid var(--wp--preset--color--ink);
	padding-top: clamp(1.8rem, 3.5vw, 2.8rem);
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(1.4rem, 2.8vw, 2.4rem);
}

.v-svcd > *,
.v-svcd__i > *,
.v-svcd__l > *,
.v-svcd__r > * {
	margin-block: 0;
}

/* Cardul unui serviciu: conținutul curge vertical (numeral → titlu → preț →
   buton → descriere → „Ce include"). Cardurile de pe același rând se întind
   automat la aceeași înălțime. */
.v-svcd__i {
	position: relative;
	border: 1px solid var(--v-line);
	border-radius: 8px;
	padding: clamp(1.5rem, 2.8vw, 2.3rem);
}

/* În perechea V–VI titlul din stânga are un singur rând, iar cel din dreapta
   două — doar aici titlul rezervă loc de două rânduri, ca durata, prețul și
   restul să înceapă la aceeași înălțime. Celelalte perechi se aliniază natural. */
.v-svcd > .v-svcd__i:nth-child(5) .v-svcd__l h2,
.v-svcd > .v-svcd__i:nth-child(6) .v-svcd__l h2 {
	min-height: 2.2em;
}

.v-svcd__i .v-svcd__r {
	margin-top: 1.7rem;
}

.v-svcd__r .v-svcd__desc + .v-svcd__desc {
	margin-top: 0.9rem;
}

.v-svcd__i--lead {
	background: var(--wp--preset--color--tint);
	border-color: transparent;
}

/* Pachetele — pe tot rândul, cu compoziția lată (stânga/dreapta) a listei vechi. */
.v-svcd__i--wide {
	grid-column: 1 / -1;
	display: grid;
	grid-template-columns: 0.34fr 0.66fr;
	gap: clamp(1.5rem, 4vw, 4rem);
	align-items: start;
}

.v-svcd__i--wide .v-svcd__r {
	margin-top: 0;
	align-self: center;
}

.v-svcd .v-svcd__kn {
	font-family: var(--wp--preset--font-family--serif);
	font-size: clamp(2rem, 1.4vw + 1.5rem, 2.6rem);
	line-height: 0.9;
	letter-spacing: 0.04em;
	color: var(--wp--preset--color--accent);
}

/* Eticheta stă în colțul din dreapta-sus, ca să nu împingă conținutul în jos —
   altfel cardul etichetat s-ar decala față de perechea lui de pe rând. */
.v-svcd .v-svcd__tag {
	position: absolute;
	top: clamp(1.5rem, 2.8vw, 2.3rem);
	right: clamp(1.5rem, 2.8vw, 2.3rem);
	width: fit-content;
	font-size: 0.63rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--white, #fff);
	background: var(--wp--preset--color--accent);
	padding: 0.28rem 0.65rem;
	border-radius: 2px;
	margin-top: 0;
}

.v-svcd__l h2 {
	font-size: clamp(1.7rem, 1.4vw + 1.25rem, 2.3rem);
	line-height: 1.1;
	max-width: 9em;
	margin-top: 0.7rem;
}

.v-svcd .v-svcd__meta {
	font-size: 0.88rem;
	color: var(--wp--preset--color--ink-soft);
	margin-top: 0.7rem;
}

.v-svcd .v-svcd__price {
	font-family: var(--wp--preset--font-family--serif);
	font-size: clamp(1.9rem, 1.6vw + 1.35rem, 2.6rem);
	font-weight: 500;
	line-height: 1;
	margin-top: 1.4rem;
}

.v-svcd .v-svcd__note {
	font-size: 0.83rem;
	color: var(--wp--preset--color--ink-soft);
	margin-top: 0.5rem;
}

/* Apariții în presă (banda espresso de pe Despre) — listă editorială. */
.v-media {
	margin-top: clamp(2rem, 4vw, 3rem);
}

.v-media > *,
.v-media__i > * {
	margin-block: 0;
}

.v-media__i {
	display: grid;
	grid-template-columns: 4.5rem 1fr auto auto;
	gap: 0.35rem 1.6rem;
	align-items: baseline;
	padding-block: 1.15rem;
	border-top: 1px solid color-mix(in srgb, var(--wp--preset--color--ink-inverse) 16%, transparent);
}

.v-media .v-media__i:last-child {
	border-bottom: 1px solid color-mix(in srgb, var(--wp--preset--color--ink-inverse) 16%, transparent);
}

.v-media .v-media__yr {
	font-family: var(--wp--preset--font-family--serif);
	font-style: italic;
	font-size: 1.2rem;
	color: var(--wp--preset--color--honey);
}

.v-media .v-media__t {
	font-family: var(--wp--preset--font-family--serif);
	font-weight: 500;
	font-size: 1.15rem;
	line-height: 1.35;
	letter-spacing: -0.01em;
	color: var(--wp--preset--color--ink-inverse);
}

.v-media .v-media__src {
	font-size: 0.85rem;
	color: color-mix(in srgb, var(--wp--preset--color--ink-inverse) 68%, transparent);
	white-space: nowrap;
}

.v-media .v-media__go a {
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.11em;
	text-transform: uppercase;
	color: var(--wp--preset--color--honey);
	text-decoration: none;
	border-bottom: 1.5px solid color-mix(in srgb, var(--wp--preset--color--honey) 55%, transparent);
	padding-bottom: 0.15rem;
	white-space: nowrap;
}

.v-media .v-media__go a:hover {
	border-bottom-color: var(--wp--preset--color--honey);
	color: var(--wp--preset--color--honey);
}

/* Nota comună de sub lista de servicii — disclaimerul consultațiilor. */
.v-svcd .v-svcd__foot {
	grid-column: 1 / -1;
	font-size: 0.9rem;
	color: var(--wp--preset--color--ink-soft);
	max-width: 46em;
	margin-top: clamp(0.6rem, 1.5vw, 1.2rem);
	padding-top: 1.4rem;
	border-top: 1px solid var(--v-line);
}

.v-svcd__l .wp-block-buttons {
	margin-top: 1.5rem;
}

.v-svcd__desc {
	font-size: 1.06rem;
	line-height: 1.7;
	max-width: 34em;
}

.v-svcd .v-svcd__ch {
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--wp--preset--color--ink-soft);
	margin-top: 1.8rem;
	padding-bottom: 0.7rem;
	border-bottom: 1px solid var(--v-line);
}

.v-svcd__list {
	list-style: none;
	margin: 1.1rem 0 0;
	padding: 0;
}

.v-svcd__list li {
	position: relative;
	padding-left: 1.3rem;
	margin-bottom: 0.85rem;
	font-size: 0.95rem;
	line-height: 1.5;
	break-inside: avoid;
}

.v-svcd__list li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.58rem;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--wp--preset--color--accent);
	opacity: 0.55;
}

/* Pentru cine sunt consultațiile — trei grupe tematice, cu linia de accent
   a ghidului de alegere. */
.v-aud {
	margin-top: clamp(2rem, 4vw, 3rem);
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: clamp(1.5rem, 3vw, 2.6rem);
}

.v-aud > *,
.v-aud__g > * {
	margin-block: 0;
}

.v-aud__g {
	border-top: 2px solid var(--wp--preset--color--accent);
	padding-top: 1.3rem;
}

.v-aud__g .v-aud__k {
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent-deep);
}

.v-aud__list {
	list-style: none;
	margin: 0.9rem 0 0;
	padding: 0;
}

.v-aud__list li {
	font-family: var(--wp--preset--font-family--serif);
	font-size: clamp(1.12rem, 0.5vw + 0.95rem, 1.3rem);
	line-height: 1.4;
	letter-spacing: -0.01em;
	padding-block: 0.65rem;
}

.v-aud__list li + li {
	border-top: 1px solid var(--v-line);
}

.v-aud__note {
	margin-top: clamp(1.6rem, 3vw, 2.2rem);
	font-size: 0.9rem;
	color: var(--wp--preset--color--ink-soft);
}

/* Ghidul de alegere — trei situații, fără carduri. */
.v-fit {
	margin-top: 3rem;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: clamp(1.5rem, 3vw, 2.6rem);
}

.v-fit > *,
.v-fit__i > * {
	margin-block: 0;
}

.v-fit__i {
	border-top: 2px solid var(--wp--preset--color--accent);
	padding-top: 1.4rem;
}

.v-fit__i p {
	margin-top: 0.9rem;
	font-size: 0.96rem;
	line-height: 1.6;
	color: var(--wp--preset--color--ink-soft);
}

/* Varianta cu titlu simplu (cardurile „Cu ce vă pot ajuta" de pe Acasă). */
.v-fit__i .v-fit__t {
	margin: 0;
	font-size: clamp(1.3rem, 1.2vw + 0.9rem, 1.5rem);
	line-height: 1.25;
}

.v-fit__i .v-fit__q {
	margin-top: 0;
	font-family: var(--wp--preset--font-family--serif);
	font-style: italic;
	font-size: 1.3rem;
	line-height: 1.35;
	color: var(--wp--preset--color--ink);
}

.v-fit__i .v-fit__go {
	margin-top: 1.1rem;
}

.v-fit__go a {
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.11em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent-deep);
	text-decoration: none;
	border-bottom: 1.5px solid var(--wp--preset--color--accent);
	padding-bottom: 0.15rem;
}

.v-fit__go a:hover {
	color: var(--wp--preset--color--ink);
	border-bottom-color: var(--wp--preset--color--ink);
}

/* Documentele primite — patru numerale, fără carduri. */
.v-out {
	margin-top: 3rem;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 0 clamp(1.5rem, 3vw, 2.8rem);
}

/* Varianta cu trei pași (Cum decurge o consultație). */
.v-out--3 {
	grid-template-columns: repeat(3, 1fr);
}

.v-out > *,
.v-out__i > * {
	margin-block: 0;
}

.v-out__i {
	border-top: 1px solid var(--v-line);
	padding-block: 1.6rem 0.5rem;
}

.v-out .v-out__n {
	font-family: var(--wp--preset--font-family--serif);
	font-size: 2.6rem;
	line-height: 1;
	font-weight: 500;
	color: var(--wp--preset--color--honey);
}

.v-out__i h3 {
	font-size: 1.2rem;
	margin: 0.7rem 0 0.5rem;
}

.v-out__i p {
	font-size: 0.93rem;
	line-height: 1.6;
	color: var(--wp--preset--color--ink-soft);
}

/* Consultațiile online — text și fotografie. */
.v-onl {
	margin-top: 2.6rem;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(2rem, 5vw, 4rem);
	align-items: center;
}

.v-onl > *,
.v-onl__txt > * {
	margin-block: 0;
}

.v-onl__txt > p {
	font-size: 1.06rem;
	line-height: 1.7;
	max-width: 34em;
}

.v-onl__list {
	list-style: none;
	margin: 1.5rem 0 0;
	padding: 0;
}

.v-onl__list li {
	position: relative;
	padding-left: 1.5rem;
	margin-bottom: 0.75rem;
	font-size: 0.98rem;
	line-height: 1.55;
	color: var(--wp--preset--color--ink-soft);
}

.v-onl__list li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.55rem;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--wp--preset--color--accent);
}

.v-onl__list li strong {
	color: var(--wp--preset--color--ink);
}

.v-onl__media figure {
	margin: 0;
}

.v-onl__media img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 6px;
}

/* Condițiile practice — listă de definiții, fără cutii. */
.v-cond {
	margin-top: 2.4rem;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 clamp(2rem, 5vw, 4.5rem);
}

.v-cond > *,
.v-cond__i > * {
	margin-block: 0;
}

.v-cond__i {
	display: grid;
	grid-template-columns: 0.34fr 0.66fr;
	gap: 1.5rem;
	padding-block: 1.4rem;
	border-bottom: 1px solid var(--v-line);
}

.v-cond__i h3 {
	font-size: 1.18rem;
	font-weight: 500;
	line-height: 1.3;
}

.v-cond__i p {
	font-size: 0.94rem;
	line-height: 1.6;
	color: var(--wp--preset--color--ink-soft);
}

/* Servicii — mobil. */
@media (max-width: 899px) {
	.v-shero__grid {
		grid-template-columns: 1fr;
		gap: 1.8rem;
	}

	/* Pe mobil, fotografia vine PRIMA (înaintea textului), centrată, și
	   păstrează decupajul natural 4:5 al fișierului — nimic tăiat abrupt. */
	.v-shero__media {
		order: -1;
		width: min(85%, 400px);
		margin-inline: auto;
	}

	.v-svcd {
		grid-template-columns: 1fr;
	}

	/* Pe o singură coloană nu mai există perechi de aliniat — titlurile
	   scurte nu lasă rând gol. */
	.v-svcd > .v-svcd__i:nth-child(5) .v-svcd__l h2,
	.v-svcd > .v-svcd__i:nth-child(6) .v-svcd__l h2 {
		min-height: 0;
	}

	.v-svcd__i--wide {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.v-svcd__i--wide .v-svcd__r {
		margin-top: 1.7rem;
	}

	.v-fit {
		grid-template-columns: 1fr;
	}

	.v-aud {
		grid-template-columns: 1fr;
	}

	.v-out {
		grid-template-columns: 1fr 1fr;
	}

	.v-out--3 {
		grid-template-columns: 1fr;
	}

	.v-onl {
		grid-template-columns: 1fr;
		gap: 1.8rem;
	}

	.v-media__i {
		grid-template-columns: 1fr;
		gap: 0.2rem;
		padding-block: 1rem;
	}

	.v-cond {
		grid-template-columns: 1fr;
	}

	.v-cond__i {
		grid-template-columns: 1fr;
		gap: 0.4rem;
	}
}

@media (max-width: 559px) {
	.v-out {
		grid-template-columns: 1fr;
	}
}

/* ---------- 14. Pagina „Contact și programare" ---------- */

/* Canalele din erou — două coloane peste linia de deschidere. */
.v-chan {
	margin-top: 2.4rem;
	border-top: 2px solid var(--wp--preset--color--ink);
	padding-top: 1.8rem;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(1.5rem, 3vw, 2.5rem);
}

.v-chan > *,
.v-chan__i > * {
	margin-block: 0;
}

.v-chan .v-chan__lb {
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.17em;
	text-transform: uppercase;
	color: var(--wp--preset--color--ink-soft);
	margin-bottom: 0.5rem;
}

.v-chan__vl {
	font-family: var(--wp--preset--font-family--serif);
	font-size: clamp(1.35rem, 1vw + 1rem, 1.85rem);
	line-height: 1.2;
}

.v-chan__vl a {
	color: var(--wp--preset--color--ink);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-decoration-color: var(--wp--preset--color--accent);
	text-underline-offset: 5px;
}

.v-chan__vl a:hover,
.v-chan__vl a:focus-visible {
	color: var(--wp--preset--color--accent-deep);
}

.v-chan .v-chan__nt {
	font-size: 0.87rem;
	line-height: 1.5;
	color: var(--wp--preset--color--ink-soft);
	margin-top: 0.5rem;
}

/* Portretul circular (componenta de pe Acasă) în eroul de contact. */
.v-shero__grid .v-about__portrait {
	justify-self: center;
}

/* Grila informații + formular. */
.v-cgrid {
	margin-top: 2.6rem;
	display: grid;
	grid-template-columns: 0.85fr 1.15fr;
	gap: clamp(2rem, 5vw, 4.5rem);
	align-items: start;
}

.v-cgrid > *,
.v-cgrid .v-cinfo > * {
	margin-block: 0;
}

/* Aer între linkurile sociale și caseta hărții, pe pagina Contact. */
.v-cgrid .v-cinfo .v-map {
	margin-top: 2.8rem;
}

.v-cds {
	font-size: 0.86rem;
	color: var(--wp--preset--color--ink-soft);
	margin: 0.25rem 0 0;
}

/* Coloana de informații de pe pagina Contact — mai mult aer între grupuri
   (Cabinet / Program / Online / Urmăriți-mă) și text puțin mai mare.
   Doar aici: benzile de programare de pe celelalte pagini rămân compacte. */
.v-cgrid .v-ct {
	margin-top: 2.6rem;
	font-size: 0.74rem;
	color: var(--wp--preset--color--accent-deep);
}

.v-cgrid .v-cinfo > .v-ct:first-child {
	margin-top: 0;
}

.v-cgrid .v-cd {
	font-size: 1.12rem;
	margin-top: 0.5rem;
}

.v-cgrid .v-cds {
	font-size: 0.94rem;
	margin-top: 0.4rem;
}

.v-cgrid .v-hours {
	margin-top: 0.9rem;
	max-width: 26rem;
	font-size: 1.02rem;
}

.v-cgrid .v-hours__r {
	padding-block: 0.55rem;
}

/* Programul pe zile. */
.v-hours {
	margin-top: 0.5rem;
	max-width: 24rem;
}

.v-hours > * {
	margin-block: 0;
}

.v-hours__r {
	padding-block: 0.45rem;
	border-bottom: 1px solid var(--v-line);
}

.v-hours__r > p {
	margin: 0;
	font-size: 0.98rem;
}

.v-hours__r:last-child {
	border-bottom: 0;
}

.v-hours .v-hours__d {
	color: var(--wp--preset--color--ink);
}

.v-hours .v-hours__t {
	color: var(--wp--preset--color--ink-soft);
	font-variant-numeric: tabular-nums;
}

.v-hours .v-hours__r--off .v-hours__t {
	/* 90% (nu 55%): 4,8:1 pe fundalul piersică, peste pragul AA de 4,5:1, dar tot mai stins decât orele. */
	color: color-mix(in srgb, var(--wp--preset--color--ink-soft) 90%, transparent);
}

/* Zona rezervată hărții — elegantă, fără hartă încărcată încă. */
.v-map {
	margin-top: 1.8rem;
	min-height: 240px;
	border: 1px solid var(--v-line);
	border-radius: 6px;
	background: var(--wp--preset--color--base);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.4rem;
	text-align: center;
	padding: 1.5rem;
}

.v-map::before {
	content: "";
	width: 32px;
	height: 32px;
	margin-bottom: 0.35rem;
	background: no-repeat center / contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C94A17' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.2-7-11a7 7 0 0 1 14 0c0 4.8-7 11-7 11z'/%3E%3Ccircle cx='12' cy='10' r='2.6'/%3E%3C/svg%3E");
}

.v-map > * {
	margin-block: 0;
}

.v-map .v-map__t {
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent-deep);
}

.v-map .v-map__s {
	font-size: 0.85rem;
	line-height: 1.5;
	color: var(--wp--preset--color--ink-soft);
	max-width: 20em;
}

/* Linia de consimțământ din cardul de solicitare — previzualizarea viitoarei
   căsuțe; devine bifă reală odată cu formularul funcțional. */
.v-book .v-book__consent {
	position: relative;
	padding-left: 1.75rem;
	font-size: 0.88rem;
	line-height: 1.5;
	color: var(--wp--preset--color--ink-soft);
	margin: 1.2rem 0 0;
}

.v-book .v-book__consent::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.14rem;
	width: 15px;
	height: 15px;
	border: 1.5px solid var(--wp--preset--color--accent);
	border-radius: 3px;
	background: var(--wp--preset--color--base);
}

/* „Începe acum" — două direcții editoriale. */
.v-start {
	margin-top: 3rem;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(2rem, 4vw, 4rem);
}

.v-start > *,
.v-start__i > * {
	margin-block: 0;
}

.v-start__i {
	border-top: 2px solid var(--wp--preset--color--accent);
	padding-top: 1.6rem;
}

.v-start__i h3 {
	font-size: 1.55rem;
}

.v-start__i p {
	margin-top: 0.8rem;
	line-height: 1.65;
	color: var(--wp--preset--color--ink-soft);
	max-width: 30em;
}

.v-start__i .v-fit__go {
	margin-top: 1.2rem;
}

/* Contact — mobil. */
@media (max-width: 899px) {
	.v-chan {
		grid-template-columns: 1fr;
		gap: 1.6rem;
	}

	/* Portretul deschide pagina, centrat — aceeași convenție ca pe Acasă. */
	.v-shero__grid .v-about__portrait {
		order: -1;
		max-width: 17rem;
	}

	.v-cgrid {
		grid-template-columns: 1fr;
		gap: 2.2rem;
	}

	.v-hours {
		max-width: none;
	}

	.v-start {
		grid-template-columns: 1fr;
		gap: 2rem;
	}
}

/* ---------- 15. Blog — arhivă și articol ---------- */

/* Eticheta de categorie de pe carduri. */
.v-press-card .v-card-cat {
	margin: 0.9rem 0 0;
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.v-press-card .v-card-cat a {
	color: var(--wp--preset--color--accent-deep);
	text-decoration: none;
}

.v-press-card .v-card-cat a:hover,
.v-press-card .v-card-cat a:focus-visible {
	text-decoration: underline;
}

.v-press-card .v-card-cat + .wp-block-post-title {
	margin-top: 0.5rem;
}

/* Paginarea nativă. */
.v-pagination {
	margin-top: 3rem;
	font-size: 0.95rem;
	gap: 1rem;
}

.v-pagination a,
.v-pagination .page-numbers {
	color: var(--wp--preset--color--ink);
	text-decoration: none;
	padding: 0.35rem 0.6rem;
}

.v-pagination a:hover,
.v-pagination a:focus-visible {
	color: var(--wp--preset--color--accent-deep);
}

.v-pagination .page-numbers.current {
	color: var(--wp--preset--color--accent-deep);
	border-bottom: 2px solid var(--wp--preset--color--accent);
}

/* Antetul articolului. */
.v-apost {
	padding-block: clamp(2.5rem, 5vw, 4rem) clamp(1.8rem, 3.5vw, 2.75rem);
}

/* Pe /blog/, grila începe puțin mai devreme după erou. */
.v-sec--blog {
	padding-block-start: clamp(2.25rem, 4.5vw, 3.75rem);
}

.v-ahead > * {
	margin-block: 0;
}

.v-ahead .v-acat {
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.2em;
	text-transform: uppercase;
}

.v-ahead .v-acat a {
	color: var(--wp--preset--color--accent-deep);
	text-decoration: none;
}

.v-ahead .v-acat a:hover,
.v-ahead .v-acat a:focus-visible {
	text-decoration: underline;
}

.v-ahead .wp-block-post-title {
	margin-top: 0.9rem;
	font-size: clamp(1.9rem, 2.2vw + 1.25rem, 3.1rem);
	line-height: 1.12;
}

.v-ahead .v-adek {
	margin-top: 1.2rem;
}

.v-ahead .v-adek p {
	margin: 0;
	font-size: 1.12rem;
	line-height: 1.65;
	color: var(--wp--preset--color--ink-soft);
	max-width: 36em;
}

.v-byline {
	margin-top: 1.7rem;
	padding-top: 1.3rem;
	border-top: 1px solid var(--v-line);
	row-gap: 0.5rem;
	column-gap: 1.4rem;
}

.v-byline > *,
.v-byline__who > * {
	margin-block: 0;
}

/* Numele de sub titlul articolului: același scris de mână ca în antet (font deja încărcat). */
.v-byline .v-byline__nm {
	font-family: var(--wp--preset--font-family--script);
	font-size: 1.7rem;
	font-weight: 400;
	line-height: 1.1;
	letter-spacing: 0;
	white-space: nowrap;
}

.v-byline .v-byline__rl {
	font-size: 0.8rem;
	color: var(--wp--preset--color--ink-soft);
	margin-top: 0.15rem;
}

.v-byline .v-byline__dt {
	font-size: 0.85rem;
	color: var(--wp--preset--color--ink-soft);
	margin-left: auto;
	padding-left: 1.4rem;
	border-left: 1px solid var(--v-line);
}

/* Imaginea reprezentativă. */
.v-apost .v-afig {
	margin-block: clamp(1.8rem, 3.5vw, 2.6rem) 0;
}

.v-apost .v-afig img {
	border-radius: 8px;
}

/* Corpul articolului — clienta scrie blocuri obișnuite, șablonul le îmbracă. */
.v-article .wp-block-post-content {
	margin-top: clamp(1.8rem, 3.5vw, 2.6rem);
}

/* Paragrafele din corpul articolului: aliniate stânga-dreapta (cerința clientei),
   cu despărțire în silabe acolo unde browserul are dicționar românesc, ca spațiile
   dintre cuvinte să rămână cât mai firești. Titlurile, „Pe scurt", listele și
   citatele rămân aliniate la stânga. */
.v-article .wp-block-post-content > p {
	font-size: 1.06rem;
	line-height: 1.8;
	margin-block: 0 1.35rem;
	text-align: justify;
	-webkit-hyphens: auto;
	hyphens: auto;
	hyphenate-limit-chars: 6 3 3;
}

.v-article .wp-block-post-content > p:first-child {
	font-size: 1.13rem;
	line-height: 1.75;
}

.v-article .wp-block-post-content > h2 {
	font-size: clamp(1.5rem, 1vw + 1.2rem, 1.85rem);
	margin-block: 2.4rem 1rem;
	max-width: none;
}

.v-article .wp-block-post-content > h3 {
	font-size: 1.25rem;
	margin-block: 2rem 0.8rem;
}

.v-article .wp-block-post-content > ul,
.v-article .wp-block-post-content > ol,
.v-article .v-tldr ul,
.v-article .v-asrc ol {
	margin-block: 0 1.35rem;
	padding-left: 1.5rem;
	line-height: 1.7;
}

.v-article .wp-block-post-content li {
	margin-bottom: 0.55rem;
}

.v-article .wp-block-post-content li::marker {
	color: var(--wp--preset--color--accent);
}

.v-article .wp-block-post-content a:not(.wp-element-button) {
	color: var(--wp--preset--color--accent-deep);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

.v-article .wp-block-post-content > .wp-block-quote:not(.v-pull) {
	border-left: 3px solid var(--wp--preset--color--accent);
	padding: 0.35rem 0 0.35rem 1.4rem;
	margin-block: 2rem;
	font-family: var(--wp--preset--font-family--serif);
	font-style: italic;
	font-size: 1.2rem;
	color: var(--wp--preset--color--accent-deep);
}

.v-article .v-pull {
	margin-block: 2.2rem;
}

/* Imaginile inserate de clientă în articol — șlefuite automat. */
.v-article .wp-block-post-content .wp-block-image {
	margin-block: 2.2rem;
}

.v-article .wp-block-post-content .wp-block-image img {
	border-radius: 6px;
	width: 100%;
	height: auto;
}

.v-article .wp-block-post-content .wp-block-image figcaption,
.v-apost .v-afig figcaption {
	margin-top: 0.7rem;
	font-size: 0.85rem;
	color: var(--wp--preset--color--ink-soft);
	text-align: left;
}

.v-article .wp-block-post-content .wp-block-gallery {
	margin-block: 2.2rem;
	gap: 0.8rem;
}

.v-article .wp-block-post-content .wp-block-gallery img {
	border-radius: 6px;
}

/* Modelele editoriale opționale. */
.v-article .v-tldr {
	background: var(--wp--preset--color--tint);
	border-radius: 8px;
	padding: 1.5rem 1.7rem 1.2rem;
	margin-block: 0 2.2rem;
}

.v-article .v-tldr__h,
.v-article .v-anote__h,
.v-article .v-asrc__h {
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent-deep);
	margin: 0 0 0.8rem;
}

.v-article .v-tldr ul {
	margin-bottom: 0;
}

.v-article .v-anote {
	background: var(--wp--preset--color--tint);
	border-left: 3px solid var(--wp--preset--color--accent);
	border-radius: 0 6px 6px 0;
	padding: 1.3rem 1.6rem;
	margin-block: 2.2rem;
}

.v-article .v-anote p {
	margin: 0;
	font-size: 0.98rem;
	line-height: 1.65;
}

.v-article .v-anote .v-anote__h {
	margin-bottom: 0.5rem;
}

.v-article .v-asrc {
	border-top: 1px solid var(--v-line);
	padding-top: 1.6rem;
	margin-block: 2.6rem 0;
}

.v-article .v-asrc ol {
	font-size: 0.92rem;
	color: var(--wp--preset--color--ink-soft);
	margin-bottom: 0;
}

/* Caseta autorului. */
.v-abox {
	padding-block: clamp(2.25rem, 4.5vw, 3.75rem);
}

.v-abox__in {
	max-width: min(1140px, 100%);
	margin-inline: auto;
	display: grid;
	grid-template-columns: 180px 1fr;
	gap: clamp(1.8rem, 4vw, 3rem);
	align-items: center;
}

.v-abox__in > *,
.v-abox__txt > * {
	margin-block: 0;
}

.v-abox__media img {
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	object-position: 50% 22%;
	border-radius: 50%;
}

/* Numele din caseta autorului: același scris de mână ca în antet (font deja încărcat).
   Rând cu înălțime fixă, pe o singură linie. */
.v-abox .v-abox__nm {
	font-family: var(--wp--preset--font-family--script);
	font-size: 2.2rem;
	font-weight: 400;
	line-height: 1.1;
	letter-spacing: 0;
	white-space: nowrap;
	max-width: none;
}

.v-abox .v-abox__rl {
	margin-top: 0.3rem;
	font-size: 0.9rem;
	color: var(--wp--preset--color--ink-soft);
}

.v-abox .v-abox__bio {
	margin-top: 0.9rem;
	line-height: 1.65;
	max-width: 40em;
}

.v-abox .v-abox__acts {
	margin-top: 1.4rem;
	column-gap: 0.8rem;
	row-gap: 0.8rem;
}

/* Blog — mobil. */
@media (max-width: 899px) {
	.v-byline .v-byline__dt {
		margin-left: 0;
		padding-left: 0;
		border-left: 0;
		width: 100%;
	}

	.v-abox__in {
		grid-template-columns: 1fr;
		text-align: center;
	}

	.v-abox__media {
		width: min(45%, 180px);
		margin-inline: auto;
	}

	.v-abox .v-abox__bio {
		margin-inline: auto;
	}

	.v-abox .v-abox__acts {
		justify-content: center;
	}
}

/* ---------- 16. Pagini legale ---------- */

.v-shero__upd {
	margin-top: 1.1rem;
	font-size: 0.85rem;
	color: var(--wp--preset--color--ink-soft);
}

/* Coloana de citit a paginilor legale — aceleași reguli ca articolele. */
.v-legal {
	max-width: 720px;
}

.v-legal > * {
	margin-block: 0;
}

.v-legal > p {
	font-size: 1.02rem;
	line-height: 1.75;
	margin-bottom: 1.15rem;
}

.v-legal > h2 {
	font-size: clamp(1.4rem, 0.9vw + 1.15rem, 1.7rem);
	margin-block: 2.4rem 0.9rem;
	max-width: none;
}

.v-legal > h3 {
	font-size: 1.18rem;
	margin-block: 1.8rem 0.6rem;
}

.v-legal > ul,
.v-legal > ol {
	margin-block: 0 1.15rem;
	padding-left: 1.5rem;
	line-height: 1.7;
}

.v-legal li {
	margin-bottom: 0.45rem;
}

.v-legal li::marker {
	color: var(--wp--preset--color--accent);
}

.v-legal a {
	color: var(--wp--preset--color--accent-deep);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

/* Tabelul cookie-urilor — linii fine, defilare orizontală pe ecrane mici. */
.v-legal .wp-block-table {
	margin-block: 1.4rem 1.6rem;
	overflow-x: auto;
}

.v-legal .wp-block-table table {
	border-collapse: collapse;
	width: 100%;
	min-width: 640px;
	font-size: 0.9rem;
	line-height: 1.5;
}

.v-legal .wp-block-table th,
.v-legal .wp-block-table td {
	border: 0;
}

.v-legal .wp-block-table th {
	font-family: var(--wp--preset--font-family--sans);
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.13em;
	text-transform: uppercase;
	color: var(--wp--preset--color--ink-soft);
	text-align: left;
	padding: 0.7rem 0.9rem 0.7rem 0;
	border-bottom: 2px solid var(--wp--preset--color--ink);
}

.v-legal .wp-block-table td {
	padding: 0.75rem 0.9rem 0.75rem 0;
	border-bottom: 1px solid var(--v-line);
	vertical-align: top;
}

.v-legal .wp-block-table td:first-child {
	font-weight: 700;
	color: var(--wp--preset--color--ink);
}

/* Pictogramele sociale din subsol — SVG-uri native (blocul Social Icons),
   discrete pe espresso, cu zonă de atingere confortabilă. */
.v-footer .v-social {
	margin-top: 1.4rem;
	gap: 0.35rem;
}

.v-footer .v-social.v-social .wp-block-social-link a {
	color: color-mix(in srgb, var(--wp--preset--color--ink-inverse) 62%, transparent);
	padding: 0.45rem;
	transition: color 0.18s;
}

.v-footer .v-social.v-social .wp-block-social-link a:hover,
.v-footer .v-social.v-social .wp-block-social-link a:focus-visible {
	color: var(--wp--preset--color--honey);
	transform: none;
}

.v-footer .v-social .wp-block-social-link svg {
	width: 22px;
	height: 22px;
}

/* Eticheta „Dincolo de cabinet" de sub cronologia CV-ului. */
.v-wrap .v-rail-beyond {
	margin: 3.2rem 0 0;
}
