/*
Theme Name: Hello Elementor Child
Theme URI: https://portfolio1.maddieverse.ro
Description: Temă copil pentru Hello Elementor. Stratul vizual al site-ului demonstrativ.
Author: Novamira
Template: hello-elementor
Version: 5.0.0
Text Domain: hello-elementor-child
*/

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;1,300;1,400&family=Open+Sans:wght@300;400;500;600&family=Dancing+Script:wght@400;500&display=swap');

:root {
	--nv-bg: #F8F6F1;
	--nv-sand: #E7DFD3;
	--nv-sand-soft: #F1ECE3;
	--nv-surface: #FFFFFF;
	--nv-text: #2F2E2B;
	--nv-muted: #78766F;
	--nv-accent: #2E7D32;
	--nv-accent-deep: #1F5C24;
	--nv-deep: #1F5A28;
	--nv-border: #DFD8CC;

	--nv-radius: 2px;
	--nv-radius-lg: 3px;
	--nv-pill: 999px;
	--nv-content: 1240px;
	--nv-narrow: 720px;
	--nv-gutter: 24px;
	--nv-section-y: 140px;

	--nv-font-head: 'Gilda Display', 'Cormorant Garamond', Georgia, serif;
	--nv-font-body: 'Open Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
	--nv-font-script: 'Dancing Script', 'Cormorant Garamond', cursive;
	--nv-ease: cubic-bezier(0.22, 1, 0.36, 1);
}

@media (max-width: 1024px) { :root { --nv-section-y: 96px; } }
@media (max-width: 781px)  { :root { --nv-section-y: 72px; --nv-gutter: 20px; } }

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

body {
	background-color: var(--nv-bg);
	color: var(--nv-muted);
	font-family: var(--nv-font-body);
	font-size: 15.5px;
	line-height: 1.9;
	-webkit-font-smoothing: antialiased;
	overflow-wrap: break-word;
}

* { box-sizing: border-box; }
img, video, iframe { max-width: 100%; height: auto; }

h1, h2, h3, h4, h5, h6 {
	font-family: var(--nv-font-head);
	color: var(--nv-text);
	font-weight: 300;
	line-height: 1.22;
	margin: 0 0 0.6em;
	text-wrap: balance;
}

h1 { font-size: clamp(2.3rem, 1.5rem + 2.8vw, 3.5rem); }
h2 { font-size: clamp(1.9rem, 1.35rem + 1.9vw, 2.7rem); }
h3 { font-size: clamp(1.15rem, 1.06rem + 0.4vw, 1.32rem); font-weight: 400; }
h4 { font-size: 1.1rem; font-weight: 400; }
h5, h6 { font-size: 1rem; font-weight: 500; }

h1 .nv-hl, h2 .nv-hl, h3 .nv-hl {
	font-family: var(--nv-font-script);
	font-style: normal;
	font-weight: 400;
	color: var(--nv-accent);
	font-size: 1.18em;
	line-height: 1;
	padding: 0 0.06em;
}

p { margin: 0 0 1.4em; }
p:last-child { margin-bottom: 0; }

.entry-content p, .entry-content li,
.page-content p, .page-content li { color: var(--nv-muted); }

a {
	color: var(--nv-accent-deep);
	text-underline-offset: 0.24em;
	text-decoration-color: rgba(46, 125, 50, 0.5);
	transition: color 0.3s var(--nv-ease), text-decoration-color 0.3s var(--nv-ease);
}

a:hover, a:focus-visible { color: var(--nv-text); text-decoration-color: currentColor; }
:focus-visible { outline: 2px solid var(--nv-accent-deep); outline-offset: 3px; }
strong { font-weight: 600; color: var(--nv-text); }

.site-main, .site-main > .page-content, .site-main > article, .entry-content {
	max-width: 100%; width: 100%; padding-left: 0; padding-right: 0;
}

.page .page-header { display: none; }

.entry-content > *:not(.alignfull):not(.alignwide),
.page-content > *:not(.alignfull):not(.alignwide) {
	max-width: var(--nv-content);
	margin-left: auto; margin-right: auto;
	padding-left: var(--nv-gutter); padding-right: var(--nv-gutter);
}

.nv-section { padding-top: var(--nv-section-y); padding-bottom: var(--nv-section-y); }
.nv-section--tight { padding-top: calc(var(--nv-section-y) * 0.5); padding-bottom: calc(var(--nv-section-y) * 0.5); }
.nv-section--alt { background-color: var(--nv-sand-soft); }

.nv-section--sage, .nv-section--band { background-color: var(--nv-deep); color: #FFFFFF; }
.nv-section--sage h1, .nv-section--sage h2, .nv-section--sage h3,
.nv-section--band h1, .nv-section--band h2, .nv-section--band h3 { color: #FFFFFF; }
.nv-section--sage h2 .nv-hl, .nv-section--band h2 .nv-hl { color: #F1D5D0; }
.nv-section--sage p, .nv-section--band p { color: rgba(255, 255, 255, 0.86); }
.nv-section--sage .nv-eyebrow, .nv-section--band .nv-eyebrow { color: rgba(255, 255, 255, 0.66); }
.nv-section--sage .nv-card, .nv-section--band .nv-card { background-color: rgba(255, 255, 255, 0.07); }
.nv-section--sage .nv-card h3, .nv-section--band .nv-card h3 { color: #FFFFFF; }
.nv-section--sage .nv-card p, .nv-section--band .nv-card p { color: rgba(255, 255, 255, 0.86); }

.nv-inner {
	max-width: var(--nv-content); margin-left: auto; margin-right: auto;
	padding-left: var(--nv-gutter); padding-right: var(--nv-gutter);
}
.nv-inner--narrow { max-width: var(--nv-narrow); }

.nv-eyebrow {
	font-family: var(--nv-font-body);
	font-size: 0.66rem; font-weight: 500;
	letter-spacing: 0.22em; text-transform: uppercase;
	color: var(--nv-muted); margin-bottom: 1.6em;
}

.nv-lead { font-size: 0.98rem; line-height: 1.9; color: var(--nv-muted); max-width: 46ch; }
.nv-muted { color: var(--nv-muted); font-size: 0.9rem; }

.nv-meta {
	font-family: var(--nv-font-body); font-size: 0.66rem; font-weight: 500;
	letter-spacing: 0.22em; text-transform: uppercase; color: var(--nv-muted);
}

.wp-block-buttons { gap: 18px; }

.wp-block-button__link {
	font-family: var(--nv-font-body);
	font-size: 0.68rem; font-weight: 500;
	letter-spacing: 0.2em; text-transform: uppercase;
	line-height: 1.4; padding: 16px 34px;
	border-radius: var(--nv-pill);
	background-color: var(--nv-text); color: var(--nv-bg);
	border: 1px solid var(--nv-text);
	text-decoration: none !important;
	transition: background-color 0.35s var(--nv-ease), color 0.35s var(--nv-ease), border-color 0.35s var(--nv-ease);
}

.wp-block-button__link::after { content: none; }

.wp-block-button__link:hover, .wp-block-button__link:focus-visible {
	background-color: var(--nv-accent-deep); border-color: var(--nv-accent-deep);
	color: #FFFFFF; transform: none; box-shadow: none;
}

.wp-block-button.is-style-outline > .wp-block-button__link {
	background-color: transparent; color: var(--nv-text); border: 1px solid var(--nv-border);
}
.wp-block-button.is-style-outline > .wp-block-button__link:hover {
	background-color: transparent; border-color: var(--nv-text); color: var(--nv-text);
}

.nv-section--sage .wp-block-button__link, .nv-section--band .wp-block-button__link {
	background-color: #FFFFFF; border-color: #FFFFFF; color: var(--nv-text);
}
.nv-section--sage .wp-block-button__link:hover, .nv-section--band .wp-block-button__link:hover {
	background-color: transparent; color: #FFFFFF;
}
.nv-section--sage .wp-block-button.is-style-outline > .wp-block-button__link,
.nv-section--band .wp-block-button.is-style-outline > .wp-block-button__link {
	border-color: rgba(255, 255, 255, 0.5); color: #FFFFFF;
}

.wp-block-columns { gap: 56px; margin-bottom: 0; }
.wp-block-column { min-width: 0; }
.wp-block-group { margin-top: 0; }
@media (max-width: 781px) { .wp-block-columns:not(.is-not-stacked-on-mobile) { gap: 30px; } }

.nv-card {
	background-color: transparent; border: none;
	border-top: 1px solid var(--nv-border);
	border-radius: 0; padding: 30px 0 0; height: 100%;
	box-shadow: none; transition: border-color 0.35s var(--nv-ease);
}
.nv-card > *:last-child { margin-bottom: 0; }
.nv-card h3 {
	margin-bottom: 0.7em; font-family: var(--nv-font-body);
	font-size: 0.82rem; font-weight: 600; letter-spacing: 0.02em;
	color: var(--nv-text); text-transform: none;
}
.nv-card p { font-size: 0.92rem; line-height: 1.85; }
.nv-card:hover { transform: none; box-shadow: none; border-top-color: var(--nv-accent); }

.nv-step .nv-step-num {
	display: block; font-family: var(--nv-font-script);
	font-size: 2.6rem; font-weight: 400; line-height: 1;
	color: var(--nv-accent); opacity: 1; margin-bottom: 14px;
	background: none; width: auto; height: auto; border-radius: 0;
}

.nv-icon {
	display: inline-flex; align-items: center; justify-content: center;
	width: 34px; height: 34px; border-radius: 0; background: none;
	color: var(--nv-accent); margin-bottom: 18px;
	transition: color 0.35s var(--nv-ease);
}
.nv-icon svg { width: 26px; height: 26px; display: block; }
.nv-card:hover .nv-icon { background: none; color: var(--nv-accent-deep); }
.nv-glass-cards .nv-icon, .nv-cta-band .nv-icon { background: none; color: #F1D5D0; }
.nv-glass-cards .nv-card:hover .nv-icon { background: none; color: #FFFFFF; }

.wp-block-quote {
	background: none; border: none;
	border-left: 1px solid var(--nv-accent);
	border-radius: 0; margin: 0; padding: 6px 0 6px 30px; font-style: normal;
}
.wp-block-quote p {
	font-family: var(--nv-font-head);
	font-size: clamp(1.15rem, 1rem + 0.7vw, 1.45rem);
	font-weight: 300; line-height: 1.5; color: var(--nv-text);
}
.wp-block-quote cite {
	display: block; margin-top: 22px; font-family: var(--nv-font-body);
	font-size: 0.66rem; font-style: normal; font-weight: 500;
	letter-spacing: 0.2em; text-transform: uppercase; color: var(--nv-muted);
}
.nv-section--sage .wp-block-quote p, .nv-section--band .wp-block-quote p { color: #FFFFFF; }
.nv-section--sage .wp-block-quote, .nv-section--band .wp-block-quote { border-left-color: rgba(255,255,255,0.4); }

.entry-content ul, .entry-content ol { padding-left: 1.2em; margin: 0 0 1.4em; }
.entry-content li { margin-bottom: 0.6em; }
.entry-content li::marker { color: var(--nv-accent); }

.nv-list-check { list-style: none; padding-left: 0; }
.nv-list-check li { position: relative; padding-left: 1.8em; }
.nv-list-check li::before {
	content: ""; position: absolute; left: 0; top: 0.85em;
	width: 14px; height: 1px; background-color: var(--nv-accent); border-radius: 0;
}

.wp-block-table { margin: 0; }
.wp-block-table table {
	border-collapse: collapse; width: 100%; background: none;
	border: none; border-top: 1px solid var(--nv-border); border-radius: 0;
}
.wp-block-table th, .wp-block-table td {
	border: none; border-bottom: 1px solid var(--nv-border);
	padding: 22px 0; text-align: left; vertical-align: top;
}
.wp-block-table thead th {
	font-family: var(--nv-font-body); font-size: 0.66rem; font-weight: 500;
	letter-spacing: 0.2em; text-transform: uppercase;
	color: var(--nv-muted); background: none; padding-top: 16px;
}
.wp-block-table td:last-child {
	white-space: nowrap; font-family: var(--nv-font-head);
	font-size: 1.3rem; font-weight: 400; color: var(--nv-text); text-align: right;
}
.wp-block-table thead th:last-child { text-align: right; }
@media (max-width: 600px) { .wp-block-table th, .wp-block-table td { padding: 16px 0; font-size: 0.9rem; } }

.wp-block-separator { border: none; border-top: 1px solid var(--nv-border); max-width: 100%; opacity: 1; margin: 0; }

.wp-block-image { margin: 0; }
.wp-block-image img { border-radius: var(--nv-radius); display: block; }
.wp-block-image figcaption, .wp-element-caption {
	font-family: var(--nv-font-body); font-size: 0.66rem; font-weight: 500;
	letter-spacing: 0.2em; text-transform: uppercase;
	color: var(--nv-muted); text-align: left; margin-top: 16px;
}
.wp-block-spacer { flex-shrink: 0; }

.nv-hero { padding-top: calc(var(--nv-section-y) * 0.7); padding-bottom: calc(var(--nv-section-y) * 0.7); overflow: hidden; }
.nv-hero h1 { max-width: 16ch; }
.nv-hero .nv-lead { max-width: 44ch; }

.nv-figure { position: relative; }
.nv-figure::before { content: none; }
.nv-figure .wp-block-image {
	background: none; padding: 0; border-radius: 0;
	animation: none !important; opacity: 1 !important; transform: none !important;
}
.nv-figure .wp-block-image img {
	border-radius: var(--nv-radius); width: 100%;
	height: clamp(360px, 42vw, 560px); object-fit: cover;
}
.nv-figure--portrait .wp-block-image img { object-position: center 28%; }

.nv-hero-img { margin: 0 !important; line-height: 0; }
.nv-hero-img img { width: 100%; height: clamp(320px, 40vw, 560px); object-fit: cover; border-radius: 0; }

.nv-hero .wp-block-image, .nv-hero .wp-block-columns, .nv-hero-img, .nv-figure .wp-block-image {
	animation: none !important; opacity: 1 !important; transform: none !important;
}

@media (max-width: 781px) {
	.nv-hero h1 { max-width: none; }
	.nv-figure .wp-block-image img { height: 340px; }
}

.nv-band {
	background-color: var(--nv-bg);
	padding-top: var(--nv-section-y); padding-bottom: var(--nv-section-y);
	overflow: hidden;
}
.nv-band .wp-block-columns { gap: clamp(40px, 5vw, 76px); align-items: center; }
.nv-band--flip .wp-block-columns { flex-direction: row-reverse; }
.nv-band .wp-block-column.nv-band-media {
	flex-basis: 50% !important; display: flex;
	align-items: center; justify-content: center;
}
.nv-band .wp-block-column:not(.nv-band-media) {
	display: flex; flex-direction: column; justify-content: center;
}
.nv-band-media .wp-block-image { width: 100%; height: auto; margin: 0; line-height: 0; }
.nv-band-media img {
	width: 100%; height: clamp(340px, 31vw, 470px);
	min-height: 0; max-height: 470px; object-fit: cover;
	border-radius: var(--nv-radius); box-shadow: none;
}
.nv-band h2 { color: var(--nv-text); margin-bottom: 0.5em; }
.nv-band h2::before { content: none; }
.nv-band .nv-lead { color: var(--nv-muted); }
.nv-band-detail { margin-top: 34px; padding-top: 26px; border-top: 1px solid var(--nv-border); }
.nv-band-label {
	font-family: var(--nv-font-body); font-size: 0.66rem; font-weight: 500;
	letter-spacing: 0.22em; text-transform: uppercase;
	color: var(--nv-accent-deep); margin-bottom: 0.9em;
}
.nv-band-detail p:not(.nv-band-label) { font-size: 0.92rem; line-height: 1.85; color: var(--nv-muted); margin-bottom: 0; }

.nv-band-dark { background-color: var(--nv-deep); }
.nv-band-dark h2 { color: #FFFFFF; }
.nv-band-dark .nv-lead { color: rgba(255, 255, 255, 0.88); }
.nv-band-dark .nv-band-detail { border-top-color: rgba(255, 255, 255, 0.24); }
.nv-band-dark .nv-band-label { color: #F1D5D0; }
.nv-band-dark .nv-band-detail p:not(.nv-band-label) { color: rgba(255, 255, 255, 0.86); }

.nv-svc-1, .nv-svc-2, .nv-svc-3, .nv-svc-4, .nv-svc-5, .nv-svc-6 { --svc-ink: var(--nv-accent-deep); }
.nv-svc-2 .nv-card, .nv-svc-3 .nv-card, .nv-svc-4 .nv-card, .nv-svc-5 .nv-card, .nv-svc-1 .nv-card, .nv-svc-6 .nv-card {
	background-color: transparent; border: none; border-top: 1px solid var(--nv-border);
	border-radius: 0; padding: 30px 0 0;
}

@media (max-width: 900px) {
	.nv-band .wp-block-columns, .nv-band--flip .wp-block-columns { flex-direction: column; }
	.nv-band .wp-block-column.nv-band-media { flex-basis: auto !important; }
	.nv-band-media img { height: 260px; max-height: 260px; }
}

.nv-faq .wp-block-columns { gap: 70px; align-items: flex-start; }
.nv-faq-intro { position: sticky; top: 140px; }
.nv-faq-intro h2 { margin-bottom: 0.5em; }
.nv-faq-intro p { font-size: 0.95rem; }
.nv-faq-intro .wp-block-buttons { margin-top: 30px; }

.wp-block-details, .nv-faq .wp-block-details {
	background: none; border: none;
	border-bottom: 1px solid var(--nv-border);
	border-radius: 0; padding: 26px 48px 26px 0;
	margin: 0; position: relative; box-shadow: none;
}
.nv-faq .wp-block-details:hover { box-shadow: none; border-color: var(--nv-border); }
.nv-faq .wp-block-details[open] { background: none; border-color: var(--nv-border); }

.wp-block-details summary, .nv-faq .wp-block-details summary {
	font-family: var(--nv-font-body); font-size: 0.78rem; font-weight: 500;
	letter-spacing: 0.14em; text-transform: uppercase;
	color: var(--nv-text); cursor: pointer; list-style: none;
	padding-right: 0; transition: color 0.3s var(--nv-ease);
}
.wp-block-details summary:hover { color: var(--nv-accent-deep); }
.wp-block-details summary::-webkit-details-marker { display: none; }
.wp-block-details summary::before { content: none; }

.wp-block-details summary::after, .nv-faq .wp-block-details summary::after {
	content: "+"; position: absolute; right: 4px; top: 22px;
	width: auto; height: auto; border: none; transform: none;
	background: none; border-radius: 0;
	font-family: var(--nv-font-body); font-size: 1.15rem; font-weight: 300;
	line-height: 1; color: var(--nv-accent);
}
.wp-block-details[open] summary::after { content: "\2212"; transform: none; background: none; color: var(--nv-accent-deep); }
.wp-block-details[open] summary { color: var(--nv-accent-deep); }
.wp-block-details p {
	margin-top: 20px; font-size: 0.92rem; line-height: 1.85;
	text-transform: none; letter-spacing: 0;
	animation: nv-reveal 0.45s var(--nv-ease) both;
}
@keyframes nv-reveal { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }

.site-header {
	background-color: rgba(248, 246, 241, 0.95);
	-webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
	border-bottom: none; padding: 22px var(--nv-gutter);
	position: sticky; top: 0; z-index: 100;
}
.admin-bar .site-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .site-header { top: 46px; } }

.site-header .site-title { font-family: var(--nv-font-head); font-size: 1.4rem; font-weight: 300; margin: 0; }
.site-header .site-title a { color: var(--nv-text); text-decoration: none; }
.site-header .site-description { display: none; }

.site-header .site-logo img.custom-logo {
	height: 64px !important; width: auto !important;
	max-width: none !important; max-height: none !important; display: block;
}

.site-navigation ul.menu { gap: 34px; }
.site-navigation ul.menu li a, .site-navigation a {
	font-family: var(--nv-font-body); font-size: 0.68rem; font-weight: 500;
	letter-spacing: 0.18em; text-transform: uppercase;
	color: var(--nv-text); text-decoration: none; padding: 6px 0; position: relative;
}
.site-navigation ul.menu li a::after {
	content: ""; position: absolute; left: 0; bottom: 0;
	width: 100%; height: 1px; background-color: var(--nv-text);
	transform: scaleX(0); transform-origin: right;
	transition: transform 0.35s var(--nv-ease);
}
.site-navigation ul.menu li a:hover::after,
.site-navigation ul.menu li.current-menu-item > a::after { transform: scaleX(1); transform-origin: left; }

.site-header .site-navigation ul.menu li.nv-nav-cta > a {
	background: none; color: var(--nv-text);
	border: 1px solid var(--nv-border); border-radius: var(--nv-pill);
	padding: 11px 24px; font-size: 0.64rem; letter-spacing: 0.2em;
	transition: border-color 0.35s var(--nv-ease), color 0.35s var(--nv-ease);
	box-shadow: none;
}
.site-header .site-navigation ul.menu li.nv-nav-cta > a::after { content: none; }
.site-header .site-navigation ul.menu li.nv-nav-cta > a:hover,
.site-header .site-navigation ul.menu li.nv-nav-cta > a:focus-visible {
	background: none; border-color: var(--nv-text); color: var(--nv-text);
	transform: none; box-shadow: none;
}
.site-header .site-navigation ul.menu li.nv-nav-cta { margin-left: 10px; }

@media (max-width: 1024px) {
	.site-navigation ul.menu { gap: 22px; }
	.site-header .site-navigation ul.menu li.nv-nav-cta > a { padding: 10px 18px; }
	.site-header .site-logo img.custom-logo { height: 52px !important; }
}

.site-footer {
	background-color: var(--nv-sand-soft);
	border-top: 1px solid var(--nv-border);
	padding: 72px var(--nv-gutter) 44px;
}
.site-footer .footer-inner {
	max-width: var(--nv-content); margin: 0 auto;
	display: flex; flex-direction: column; align-items: center;
	text-align: center; gap: 26px;
}
.site-footer .site-logo img.custom-logo {
	height: 62px !important; width: auto !important;
	max-width: none !important; max-height: none !important;
	filter: none; opacity: 1;
}
.site-footer .site-branding { display: flex; flex-direction: column; align-items: center; gap: 14px; }
.site-footer .site-title { margin: 0; }
.site-footer .site-title a { font-family: var(--nv-font-head); font-size: 1.3rem; font-weight: 300; color: var(--nv-text); text-decoration: none; }
.site-footer .site-description { display: block; color: var(--nv-muted); font-size: 0.86rem; margin: 0; }

.site-footer .site-navigation ul, .site-footer .site-navigation ul.menu {
	display: flex; flex-wrap: wrap; justify-content: center;
	gap: 12px 34px; list-style: none; padding: 0; margin: 0;
}
.site-footer .site-navigation ul.menu li a,
.site-footer .site-navigation ul.menu li.current-menu-item > a {
	color: var(--nv-muted); font-size: 0.64rem; font-weight: 500;
	letter-spacing: 0.2em; text-transform: uppercase; padding: 4px 0;
}
.site-footer .site-navigation ul.menu li a::after { background-color: var(--nv-text); height: 1px; }
.site-footer .site-navigation ul.menu li a:hover { color: var(--nv-text); }
.site-footer .site-navigation ul.menu li.nv-nav-cta > a {
	background: none; border: none; padding: 4px 0; border-radius: 0;
}
.site-footer .copyright p { color: var(--nv-muted); font-size: 0.78rem; margin: 0; }

.site-footer::after {
	content: "Site demonstrativ. Cabinetul și persoana prezentate sunt fictive.";
	display: block; max-width: var(--nv-content); margin: 30px auto 0;
	padding-top: 26px; border-top: 1px solid var(--nv-border);
	text-align: center; font-family: var(--nv-font-body);
	font-size: 0.74rem; letter-spacing: 0.06em; color: var(--nv-muted);
}

.nv-note {
	background-color: var(--nv-sand-soft); border: none;
	border-left: 1px solid var(--nv-accent); border-radius: 0;
	padding: 22px 26px; font-size: 0.86rem; line-height: 1.8;
}
.nv-note, .nv-note p { color: var(--nv-muted); }
.nv-note > *:last-child { margin-bottom: 0; }
.nv-note strong { color: var(--nv-text); }
.nv-section--sage .nv-note, .nv-section--band .nv-note {
	background-color: rgba(255, 255, 255, 0.08); border-left-color: rgba(255, 255, 255, 0.5);
}
.nv-section--sage .nv-note, .nv-section--sage .nv-note p, .nv-section--sage .nv-note strong { color: rgba(255, 255, 255, 0.9); }

.nv-credits { font-size: 0.84rem; color: var(--nv-muted); }
.nv-credits ul { list-style: none; padding-left: 0; }
.nv-credits li { margin-bottom: 0.5em; }
.nv-article-body { max-width: var(--nv-narrow); margin-left: auto; margin-right: auto; }

.nv-ambient { position: relative; overflow: hidden; }
.nv-ambient::before, .nv-ambient::after {
	content: ""; position: absolute; border-radius: 50%;
	filter: blur(100px); z-index: 0; pointer-events: none;
}
.nv-ambient::before {
	width: 44vw; height: 44vw; max-width: 600px; max-height: 600px;
	top: -14%; left: -10%; background: rgba(46, 125, 50, 0.20);
}
.nv-ambient::after {
	width: 38vw; height: 38vw; max-width: 520px; max-height: 520px;
	bottom: -18%; right: -8%; background: rgba(231, 223, 211, 0.65);
}
.nv-ambient > .nv-inner { position: relative; z-index: 1; }
.nv-ambient .nv-card {
	background: none; border: none; border-top: 1px solid var(--nv-border);
	box-shadow: none; -webkit-backdrop-filter: none; backdrop-filter: none;
}
.nv-ambient .nv-card:hover { background: none; border-top-color: var(--nv-accent); box-shadow: none; }

.nv-glass-cards .nv-card {
	background-color: rgba(255, 255, 255, 0.08); border: none;
	border-top: 1px solid rgba(255, 255, 255, 0.3);
	-webkit-backdrop-filter: none; backdrop-filter: none;
}
.nv-glass-cards .nv-card h3 { color: #FFFFFF; }
.nv-glass-cards .nv-card p { color: rgba(255, 255, 255, 0.86); }
.nv-glass-cards .nv-card:hover { background-color: rgba(255, 255, 255, 0.12); box-shadow: none; }

.nv-cta-band {
	position: relative; overflow: hidden;
	background-color: var(--nv-deep);
	background-image: linear-gradient(100deg, #27642C 0%, #235C29 45%, #1F5A28 100%);
}
.nv-cta-band::before {
	content: ""; position: absolute; left: -14%; top: -30%;
	width: 60%; height: 160%;
	background: radial-gradient(circle at 34% 50%, rgba(70, 150, 78, 0.55) 0%, transparent 68%);
	filter: blur(80px); z-index: 0; pointer-events: none;
}
.nv-cta-band::after { content: none; }
.nv-cta-band > .nv-inner { position: relative; z-index: 1; }
@media (max-width: 781px) {
	.nv-cta-band { background-image: linear-gradient(160deg, #27642C 0%, #1F5A28 100%); }
	.nv-cta-band::before { width: 100%; left: -20%; }
}

.blog .page-header, .archive .page-header {
	max-width: var(--nv-content); margin: 0 auto;
	padding: var(--nv-section-y) var(--nv-gutter) 0;
}
.blog .page-header .entry-title, .archive .page-header .entry-title { font-size: 0; line-height: 1; margin-bottom: 0; }
.blog .page-header .entry-title::after, .archive .page-header .entry-title::after {
	content: "Resurse pentru starea ta de bine"; display: block;
	font-size: clamp(1.9rem, 1.35rem + 1.9vw, 2.7rem); line-height: 1.22; font-weight: 300;
}
.blog .page-content, .archive .page-content {
	display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 56px 40px; max-width: var(--nv-content); margin: 0 auto;
	padding: 56px var(--nv-gutter) var(--nv-section-y);
}
.blog article.post, .archive article.post { display: flex; flex-direction: column; margin: 0; }
.blog article.post > a, .archive article.post > a {
	order: -1; display: block; overflow: hidden;
	border-radius: var(--nv-radius); margin-bottom: 26px; line-height: 0;
}
.blog article.post > a img, .archive article.post > a img {
	width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover;
	border-radius: 0; display: block; transition: transform 0.7s var(--nv-ease);
}
.blog article.post > a:hover img, .archive article.post > a:hover img { transform: scale(1.04); }
.blog article.post .entry-title, .archive article.post .entry-title {
	font-family: var(--nv-font-head); font-size: 1.28rem; font-weight: 300;
	line-height: 1.3; margin: 0 0 14px;
}
.blog article.post .entry-title a, .archive article.post .entry-title a { color: var(--nv-text); text-decoration: none; }
.blog article.post .entry-title a:hover, .archive article.post .entry-title a:hover { color: var(--nv-accent-deep); }
.blog article.post p, .archive article.post p { font-size: 0.9rem; line-height: 1.85; color: var(--nv-muted); margin: 0; }

@media (max-width: 1000px) { .blog .page-content, .archive .page-content { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 44px 30px; } }
@media (max-width: 640px) {
	.blog .page-content, .archive .page-content { grid-template-columns: 1fr; gap: 44px; }
	.blog article.post > a img, .archive article.post > a img { aspect-ratio: 16 / 10; }
}

.single .page-header { max-width: var(--nv-narrow); margin: 0 auto; padding: var(--nv-section-y) var(--nv-gutter) 0; }
.single .page-header .entry-title { font-size: clamp(2rem, 1.4rem + 2.2vw, 3rem); font-weight: 300; margin-bottom: 0; }
.single .page-content { max-width: var(--nv-narrow); margin: 0 auto; padding: 40px var(--nv-gutter) var(--nv-section-y); }
.single .page-content p, .single .page-content li { color: var(--nv-muted); }
.single .page-content h2 { margin-top: 1.8em; }

@supports (animation-timeline: view()) {
	@media (prefers-reduced-motion: no-preference) {
		.nv-section .wp-block-columns,
		.nv-section .wp-block-table,
		.nv-section .wp-block-details {
			animation: nv-fade-up linear both;
			animation-timeline: view();
			animation-range: entry 5% cover 22%;
		}
		.nv-hero .wp-block-columns { animation: none; opacity: 1; }
	}
}
@keyframes nv-fade-up { from { opacity: 0; transform: translateY(22px); } to { opacity: 1; transform: none; } }

@media (max-width: 900px) { .nv-faq .wp-block-columns { gap: 36px; } .nv-faq-intro { position: static; } }

@media (max-width: 480px) {
	body { font-size: 15px; }
	.wp-block-button__link { padding: 15px 26px; width: 100%; text-align: center; }
	.wp-block-buttons { width: 100%; }
	.nv-inner { padding-left: 20px; padding-right: 20px; }
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	* { transition: none !important; animation: none !important; }
	.wp-block-button__link:hover, .nv-card:hover { transform: none; }
}

/* ==========================================================================
   20. Butoane — text cu linie subțire, ca în referință
   ========================================================================== */

.wp-block-button__link {
	background-color: transparent;
	color: var(--nv-text);
	border: none;
	border-bottom: 1px solid var(--nv-text);
	border-radius: 0;
	padding: 0 0 10px;
	font-size: 0.66rem;
	letter-spacing: 0.22em;
	transition: color 0.35s var(--nv-ease), border-color 0.35s var(--nv-ease);
}

.wp-block-button__link:hover,
.wp-block-button__link:focus-visible {
	background-color: transparent;
	color: var(--nv-accent-deep);
	border-bottom-color: var(--nv-accent-deep);
}

/* Varianta secundară rămâne pastilă cu contur subțire. */
.wp-block-button.is-style-outline > .wp-block-button__link {
	border: 1px solid var(--nv-border);
	border-radius: var(--nv-pill);
	padding: 13px 28px;
	color: var(--nv-text);
}

.wp-block-button.is-style-outline > .wp-block-button__link:hover {
	border-color: var(--nv-text);
	color: var(--nv-text);
}

/* Pe benzile închise la culoare. */
.nv-section--sage .wp-block-button__link,
.nv-section--band .wp-block-button__link {
	background-color: transparent;
	color: #FFFFFF;
	border: none;
	border-bottom: 1px solid rgba(255, 255, 255, 0.7);
	border-radius: 0;
	padding: 0 0 10px;
}

.nv-section--sage .wp-block-button__link:hover,
.nv-section--band .wp-block-button__link:hover {
	background-color: transparent;
	color: #FFFFFF;
	border-bottom-color: #FFFFFF;
}

.nv-section--sage .wp-block-button.is-style-outline > .wp-block-button__link,
.nv-section--band .wp-block-button.is-style-outline > .wp-block-button__link {
	border: 1px solid rgba(255, 255, 255, 0.55);
	border-radius: var(--nv-pill);
	padding: 13px 28px;
	color: #FFFFFF;
}

.wp-block-buttons { gap: 34px; align-items: center; }

@media (max-width: 480px) {
	.wp-block-button__link { width: auto; text-align: left; padding: 0 0 10px; }
	.wp-block-button.is-style-outline > .wp-block-button__link { padding: 13px 24px; }
	.wp-block-buttons { gap: 22px; }
}

/* ==========================================================================
   21. Meniu — pe un singur rând, cu aer
   ========================================================================== */

.site-header .site-navigation ul.menu {
	flex-wrap: nowrap;
	gap: 30px;
	align-items: center;
}

.site-header .site-navigation ul.menu li a {
	white-space: nowrap;
	font-size: 0.66rem;
	letter-spacing: 0.16em;
}

.site-header .site-navigation ul.menu li.nv-nav-cta > a {
	white-space: nowrap;
	padding: 12px 26px;
}

@media (max-width: 1100px) {
	.site-header .site-navigation ul.menu { gap: 20px; }
	.site-header .site-navigation ul.menu li a { font-size: 0.62rem; letter-spacing: 0.12em; }
	.site-header .site-navigation ul.menu li.nv-nav-cta > a { padding: 10px 18px; }
}

@media (max-width: 880px) {
	.site-header .site-navigation ul.menu { flex-wrap: wrap; justify-content: flex-end; gap: 14px 18px; }
}

/* ==========================================================================
   22. Secțiunea de început — fotografia iese în marginea stângă
   ========================================================================== */

.nv-hero {
	position: relative;
	padding-top: 0;
	padding-bottom: clamp(64px, 7vw, 120px);
	overflow: visible;
}

.nv-hero > .nv-inner {
	max-width: none;
	padding-left: 0;
	padding-right: 0;
}

/* Ordinea din markup e text → fotografie; o inversăm vizual. */
.nv-hero .wp-block-columns {
	flex-direction: row-reverse;
	align-items: center;
	gap: 0;
	margin: 0;
}

.nv-hero .wp-block-column.nv-figure {
	flex-basis: 34% !important;
	padding: 0;
}

.nv-hero .nv-figure .wp-block-image img {
	width: 100%;
	height: clamp(420px, 48vw, 720px);
	object-fit: cover;
	border-radius: 0;
}

.nv-hero .wp-block-column:not(.nv-figure) {
	flex-basis: 66% !important;
	padding-top: clamp(56px, 6vw, 110px);
	padding-bottom: clamp(24px, 3vw, 48px);
	padding-left: clamp(36px, 5vw, 92px);
	padding-right: max(var(--nv-gutter), calc((100vw - var(--nv-content)) / 2 + var(--nv-gutter)));
}

.nv-hero .nv-eyebrow {
	color: var(--nv-accent-deep);
	max-width: 34ch;
	margin-bottom: 2.4em;
}

.nv-hero h1 {
	max-width: 18ch;
	font-size: clamp(2.4rem, 1.2rem + 3.4vw, 4rem);
	margin-bottom: 0.5em;
}

.nv-hero .nv-lead { max-width: 48ch; margin-bottom: 2.4em; }

/* Fâșia îngustă care se vede în marginea dreaptă. */
.nv-hero::after {
	content: "";
	position: absolute;
	right: 0;
	top: 26%;
	width: 7.5%;
	height: 48%;
	background-image: url("https://portfolio1.maddieverse.ro/wp-content/uploads/2026/09/pexels-photo-19096629-576x1024.jpeg");
	background-size: cover;
	background-position: center;
	z-index: 0;
	pointer-events: none;
}

.nv-hero > .nv-inner { position: relative; z-index: 1; }

@media (max-width: 900px) {
	.nv-hero .wp-block-columns { flex-direction: column; gap: 0; }

	.nv-hero .wp-block-column.nv-figure,
	.nv-hero .wp-block-column:not(.nv-figure) { flex-basis: auto !important; }

	.nv-hero .wp-block-column:not(.nv-figure) {
		padding: 56px var(--nv-gutter) 40px;
	}

	.nv-hero .nv-figure .wp-block-image img { height: 360px; }
	.nv-hero h1 { max-width: none; }
	.nv-hero::after { display: none; }
}

/* ==========================================================================
   23. Carduri cu fundal — au nevoie de spațiu pe orizontală
   Regula de bază .nv-card are padding doar sus, ceea ce e corect pentru
   cardurile fără fundal, dar taie textul când cardul are o umplere.
   ========================================================================== */

.nv-glass-cards .nv-card,
.nv-section--sage .nv-card,
.nv-section--band .nv-card {
	padding: 30px 30px 32px;
}

@media (max-width: 781px) {
	.nv-glass-cards .nv-card,
	.nv-section--sage .nv-card,
	.nv-section--band .nv-card {
		padding: 26px 24px 28px;
	}
}

/* ==========================================================================
   24. Subsol — așezare pe două coloane, ca în referință
   ========================================================================== */

.site-footer {
	background-color: var(--nv-sand-soft);
	border-top: 1px solid var(--nv-border);
	padding: 84px var(--nv-gutter) 40px;
}

.site-footer .footer-inner {
	max-width: var(--nv-content);
	margin: 0 auto;
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
	align-items: start;
	justify-items: start;
	text-align: left;
	gap: 40px 60px;
}

.site-footer .site-branding {
	grid-column: 1;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 16px;
}

.site-footer .site-description {
	display: block;
	color: var(--nv-muted);
	font-size: 0.86rem;
	line-height: 1.8;
	max-width: 34ch;
	margin: 0;
}

.site-footer .site-navigation {
	grid-column: 2;
	justify-self: end;
}

.site-footer .site-navigation ul,
.site-footer .site-navigation ul.menu {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
	gap: 14px;
}

.site-footer .site-navigation ul.menu li a {
	font-size: 0.66rem;
	letter-spacing: 0.18em;
}

.site-footer .copyright {
	grid-column: 1 / -1;
	justify-self: stretch;
	border-top: 1px solid var(--nv-border);
	padding-top: 26px;
	margin-top: 12px;
}

.site-footer .copyright p { text-align: left; }

.site-footer::after {
	margin: 0;
	padding-top: 10px;
	border-top: none;
	text-align: left;
	max-width: var(--nv-content);
	margin-left: auto;
	margin-right: auto;
}

@media (max-width: 781px) {
	.site-footer { padding-top: 60px; }

	.site-footer .footer-inner {
		grid-template-columns: 1fr;
		gap: 32px;
	}

	.site-footer .site-navigation { grid-column: 1; justify-self: start; }
	.site-footer .copyright { grid-column: 1; }
}

/* ==========================================================================
   25. Subsol — varianta minimală a temei
   Fără Elementor, tema redă doar meniul de subsol: nici logo, nici
   descriere, nici copyright. Regulile de mai jos îl așază ca atare.
   ========================================================================== */

.site-footer {
	background-color: var(--nv-sand-soft);
	border-top: 1px solid var(--nv-border);
	padding: 64px var(--nv-gutter) 52px;
	text-align: center;
}

.site-footer .site-navigation {
	max-width: var(--nv-content);
	margin: 0 auto;
	justify-self: auto;
}

.site-footer .site-navigation ul,
.site-footer .site-navigation ul.menu {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 14px 36px;
	list-style: none;
	padding: 0;
	margin: 0;
}

.site-footer .site-navigation ul.menu li a {
	color: var(--nv-muted);
	font-size: 0.64rem;
	font-weight: 500;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	padding: 4px 0;
}

.site-footer .site-navigation ul.menu li a:hover { color: var(--nv-text); }

/* Numele cabinetului, deasupra linkurilor. */
.site-footer .site-navigation::before {
	content: "Ioana Dobrescu";
	display: block;
	font-family: var(--nv-font-head);
	font-size: 1.5rem;
	font-weight: 300;
	color: var(--nv-text);
	margin-bottom: 10px;
}

.site-footer .site-navigation::after {
	content: "Psihoterapie cognitiv-comportamentală în București";
	display: block;
	font-family: var(--nv-font-body);
	font-size: 0.84rem;
	color: var(--nv-muted);
	margin-bottom: 30px;
}

.site-footer::after {
	content: "Site demonstrativ. Cabinetul și persoana prezentate sunt fictive.";
	display: block;
	max-width: var(--nv-content);
	margin: 34px auto 0;
	padding-top: 26px;
	border-top: 1px solid var(--nv-border);
	text-align: center;
	font-family: var(--nv-font-body);
	font-size: 0.74rem;
	letter-spacing: 0.06em;
	color: var(--nv-muted);
}

/* ==========================================================================
   26. Subsol — corecții de așezare
   Tema face din subsol un container flex, așa că textul generat ajungea
   pe același rând cu meniul. Și îl ținea într-o lățime limitată.
   ========================================================================== */

.site-footer {
	display: block !important;
	width: 100% !important;
	max-width: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	box-sizing: border-box;
}

.site-footer .site-navigation {
	display: block !important;
	width: 100%;
	max-width: var(--nv-content);
	margin: 0 auto;
	float: none;
}

/* Numele și descrierea se așază pe rânduri proprii. */
.site-footer .site-navigation::before,
.site-footer .site-navigation::after {
	display: block !important;
	width: 100%;
	text-align: center;
	flex: none;
}

.site-footer .site-navigation::before {
	font-family: var(--nv-font-head);
	font-size: 1.6rem;
	font-weight: 300;
	line-height: 1.2;
	color: var(--nv-text);
	margin: 0 0 10px;
}

.site-footer .site-navigation::after {
	font-family: var(--nv-font-body);
	font-size: 0.84rem;
	letter-spacing: 0;
	text-transform: none;
	color: var(--nv-muted);
	margin: 0 0 32px;
}

/* Meniul rămâne un rând centrat, sub ele. */
.site-footer .site-navigation ul.menu {
	display: flex !important;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 14px 36px;
	width: 100%;
	margin: 0;
	padding: 0;
	list-style: none;
}

.site-footer::after {
	display: block !important;
	width: 100%;
	max-width: var(--nv-content);
	margin: 34px auto 0;
	padding-top: 26px;
	border-top: 1px solid var(--nv-border);
	text-align: center;
}

/* ==========================================================================
   27. Subsol — marcaj real (Elementor reactivat)
   Anulează textul generat din secțiunile 25–26 și așază elementele reale:
   logo, descriere, meniu, copyright.
   ========================================================================== */

.site-footer .site-navigation::before,
.site-footer .site-navigation::after { content: none !important; }

.site-footer {
	display: block !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	background-color: var(--nv-sand-soft);
	border-top: 1px solid var(--nv-border);
	padding: 72px var(--nv-gutter) 48px;
	text-align: center;
}

.site-footer .footer-inner {
	display: flex !important;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	gap: 26px;
	width: 100%;
	max-width: var(--nv-content);
	margin: 0 auto;
	padding: 0;
}

.site-footer .site-branding {
	display: flex !important;
	flex-direction: column;
	align-items: center;
	gap: 14px;
	margin: 0;
	width: auto;
}

.site-footer .site-logo { margin: 0; }

.site-footer .site-logo img.custom-logo {
	height: 72px !important;
	width: auto !important;
	max-width: none !important;
	max-height: none !important;
	filter: none;
	opacity: 1;
	display: block;
}

.site-footer .site-description {
	display: block !important;
	color: var(--nv-muted);
	font-family: var(--nv-font-body);
	font-size: 0.86rem;
	letter-spacing: 0;
	text-transform: none;
	margin: 0;
}

.site-footer .site-navigation {
	display: block !important;
	width: 100%;
	max-width: none;
	margin: 6px 0 0;
}

.site-footer .site-navigation ul.menu {
	display: flex !important;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 14px 36px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.site-footer .site-navigation ul.menu li a {
	color: var(--nv-muted);
	font-family: var(--nv-font-body);
	font-size: 0.64rem;
	font-weight: 500;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	padding: 4px 0;
}

.site-footer .site-navigation ul.menu li a:hover { color: var(--nv-text); }

.site-footer .copyright {
	width: 100%;
	max-width: var(--nv-content);
	margin: 10px auto 0;
	padding-top: 28px;
	border-top: 1px solid var(--nv-border);
}

.site-footer .copyright p {
	color: var(--nv-muted);
	font-size: 0.78rem;
	margin: 0;
}

.site-footer::after {
	display: block !important;
	width: 100%;
	max-width: var(--nv-content);
	margin: 12px auto 0;
	padding-top: 0;
	border-top: none;
	text-align: center;
	font-size: 0.74rem;
	color: var(--nv-muted);
}

@media (max-width: 781px) {
	.site-footer { padding: 56px var(--nv-gutter) 40px; }
	.site-footer .site-logo img.custom-logo { height: 58px !important; }
	.site-footer .site-navigation ul.menu { gap: 12px 24px; }
}

/* ==========================================================================
   28. Benzile Servicii — fotografia iese în marginea ecranului
   ========================================================================== */

/* Fâșia decorativă din dreapta apare doar pe prima pagină. */
.nv-hero::after { content: none; }
.home .nv-hero::after { content: ""; }

.nv-band {
	padding-top: clamp(60px, 6vw, 104px);
	padding-bottom: clamp(60px, 6vw, 104px);
	overflow: hidden;
}

.nv-band > .nv-inner {
	max-width: none;
	padding-left: 0;
	padding-right: 0;
}

.nv-band .wp-block-columns {
	gap: 0;
	align-items: center;
	margin: 0;
}

.nv-band .wp-block-column.nv-band-media {
	flex-basis: 46% !important;
	padding: 0;
	display: block;
}

.nv-band-media .wp-block-image { width: 100%; margin: 0; line-height: 0; }

.nv-band-media img {
	width: 100%;
	height: clamp(360px, 40vw, 560px);
	min-height: 0;
	max-height: none;
	object-fit: cover;
	border-radius: 0;
	box-shadow: none;
}

.nv-band .wp-block-column:not(.nv-band-media) {
	flex-basis: 54% !important;
	padding-top: clamp(32px, 4vw, 64px);
	padding-bottom: clamp(32px, 4vw, 64px);
}

/* Fotografie în stânga → textul se aliniază la marginea dreaptă a conținutului. */
.nv-band:not(.nv-band--flip) .wp-block-column:not(.nv-band-media) {
	padding-left: clamp(36px, 5vw, 92px);
	padding-right: max(var(--nv-gutter), calc((100vw - var(--nv-content)) / 2 + var(--nv-gutter)));
}

/* Fotografie în dreapta → textul se aliniază la marginea stângă. */
.nv-band--flip .wp-block-column:not(.nv-band-media) {
	padding-right: clamp(36px, 5vw, 92px);
	padding-left: max(var(--nv-gutter), calc((100vw - var(--nv-content)) / 2 + var(--nv-gutter)));
}

/* Tipografia benzii — titlu mai mic, text îngust. */
.nv-band h2 {
	font-size: clamp(1.7rem, 1.25rem + 1.5vw, 2.3rem);
	margin-bottom: 0.6em;
	max-width: 18ch;
}

.nv-band .nv-lead {
	font-size: 0.94rem;
	line-height: 1.9;
	max-width: 44ch;
}

.nv-band-detail {
	margin-top: 30px;
	padding-top: 24px;
	border-top: 1px solid var(--nv-border);
	max-width: 48ch;
}

.nv-band-label {
	font-size: 0.62rem;
	letter-spacing: 0.24em;
	margin-bottom: 1em;
}

.nv-band-detail p:not(.nv-band-label) { font-size: 0.88rem; line-height: 1.9; }

/* Alternanță de fundal: crem / nisip. */
.nv-svc-1, .nv-svc-3, .nv-svc-5 { background-color: var(--nv-bg); }
.nv-svc-2, .nv-svc-4 { background-color: var(--nv-sand-soft); }

.nv-band-dark { background-color: var(--nv-deep); }
.nv-band-dark .nv-band-detail { border-top-color: rgba(255, 255, 255, 0.24); }

@media (max-width: 900px) {
	.nv-band .wp-block-columns,
	.nv-band--flip .wp-block-columns { flex-direction: column; }

	.nv-band .wp-block-column.nv-band-media { flex-basis: auto !important; }

	.nv-band .wp-block-column:not(.nv-band-media),
	.nv-band:not(.nv-band--flip) .wp-block-column:not(.nv-band-media),
	.nv-band--flip .wp-block-column:not(.nv-band-media) {
		flex-basis: auto !important;
		padding: 40px var(--nv-gutter) 8px;
	}

	.nv-band-media img { height: 280px; }
	.nv-band h2 { max-width: none; }
}

/* ==========================================================================
   29. Întrebări frecvente — curățare și lizibilitate
   Regulile vechi din foaia păstrată în cache sunt mai specifice,
   de aceea sunt anulate explicit aici.
   ========================================================================== */

.nv-faq .wp-block-details summary::before,
.wp-block-details summary::before {
	content: none !important;
	background: none !important;
	border: none !important;
	width: 0 !important;
	height: 0 !important;
}

.nv-faq .wp-block-details,
.wp-block-details {
	background: none !important;
	border: none !important;
	border-bottom: 1px solid var(--nv-border) !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	padding: 24px 52px 24px 0 !important;
	margin: 0 !important;
}

.nv-faq .wp-block-details[open],
.wp-block-details[open] { background: none !important; }

/* Întrebările se citesc mai ușor în scriere normală, nu cu majuscule. */
.nv-faq .wp-block-details summary,
.wp-block-details summary {
	font-family: var(--nv-font-body) !important;
	font-size: 0.92rem !important;
	font-weight: 400 !important;
	letter-spacing: 0.005em !important;
	text-transform: none !important;
	line-height: 1.6;
	color: var(--nv-text) !important;
}

.nv-faq .wp-block-details summary:hover,
.wp-block-details summary:hover { color: var(--nv-accent-deep) !important; }

.nv-faq .wp-block-details[open] summary,
.wp-block-details[open] summary { color: var(--nv-accent-deep) !important; }

/* Semnul + / −, fără cerc în spate. */
.nv-faq .wp-block-details summary::after,
.wp-block-details summary::after {
	content: "+" !important;
	position: absolute !important;
	right: 2px !important;
	top: 22px !important;
	width: auto !important;
	height: auto !important;
	border: none !important;
	border-radius: 0 !important;
	background: none !important;
	transform: none !important;
	font-family: var(--nv-font-body) !important;
	font-size: 1.2rem !important;
	font-weight: 300 !important;
	line-height: 1 !important;
	color: var(--nv-accent) !important;
}

.nv-faq .wp-block-details[open] summary::after,
.wp-block-details[open] summary::after {
	content: "\2212" !important;
	color: var(--nv-accent-deep) !important;
}

.nv-faq .wp-block-details p,
.wp-block-details p {
	margin-top: 16px !important;
	font-size: 0.9rem !important;
	line-height: 1.9 !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	color: var(--nv-muted) !important;
}

/* Titlul din stânga — accentul scris nu mai rămâne singur pe rând. */
.nv-faq-intro h2 { max-width: 14ch; }
.nv-faq-intro h2 .nv-hl { white-space: nowrap; }

/* ==========================================================================
   30. Secțiunea-manifest — centrată, cu steluțe în jur
   ========================================================================== */

.nv-statement {
	position: relative;
	overflow: hidden;
	text-align: center;
	padding-top: clamp(80px, 9vw, 150px);
	padding-bottom: clamp(80px, 9vw, 150px);
}

.nv-statement > .nv-inner {
	position: relative;
	z-index: 1;
	max-width: 780px;
}

.nv-statement p {
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}

.nv-statement .nv-lead {
	font-family: var(--nv-font-head);
	font-size: clamp(1.4rem, 1.05rem + 1.4vw, 2.1rem);
	font-weight: 300;
	line-height: 1.42;
	color: var(--nv-text);
	max-width: 22ch;
	margin-bottom: 1.5em;
}

.nv-statement p:not(.nv-lead) {
	font-size: 0.94rem;
	line-height: 1.95;
	color: var(--nv-muted);
	max-width: 60ch;
}

.nv-statement::before,
.nv-statement::after,
.nv-statement > .nv-inner::before,
.nv-statement > .nv-inner::after {
	content: '';
	position: absolute;
	background-image: url('data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22%3E%3Cpath d=%22M12 0c1 8 4 11 12 12-8 1-11 4-12 12-1-8-4-11-12-12 8-1 11-4 12-12z%22 fill=%22%232E7D32%22/%3E%3C/svg%3E');
	background-repeat: no-repeat;
	background-size: contain;
	pointer-events: none;
	z-index: 0;
}

.nv-statement::before {
	width: 30px; height: 30px;
	top: 16%; left: 14%;
	animation: nv-twinkle 4.5s ease-in-out infinite;
}

.nv-statement::after {
	width: 18px; height: 18px;
	bottom: 20%; right: 16%;
	animation: nv-twinkle 5.5s ease-in-out infinite 1.2s;
}

.nv-statement > .nv-inner::before {
	width: 14px; height: 14px;
	top: -34px; right: 6%;
	animation: nv-twinkle 6s ease-in-out infinite 0.6s;
}

.nv-statement > .nv-inner::after {
	width: 22px; height: 22px;
	bottom: -40px; left: 4%;
	animation: nv-twinkle 5s ease-in-out infinite 2s;
}

@keyframes nv-twinkle {
	0%, 100% { transform: scale(1) rotate(0deg); opacity: 0.4; }
	50%      { transform: scale(1.18) rotate(12deg); opacity: 0.9; }
}

@media (max-width: 781px) {
	.nv-statement::before { width: 22px; height: 22px; top: 8%; left: 7%; }
	.nv-statement::after { width: 14px; height: 14px; bottom: 10%; right: 8%; }
	.nv-statement > .nv-inner::before { top: -26px; right: 2%; }
	.nv-statement > .nv-inner::after { bottom: -30px; left: 2%; }
	.nv-statement .nv-lead { max-width: none; }
}

@media (prefers-reduced-motion: reduce) {
	.nv-statement::before,
	.nv-statement::after,
	.nv-statement > .nv-inner::before,
	.nv-statement > .nv-inner::after { animation: none; opacity: 0.7; }
}

/* Mesajul central e acum o singură propoziție — se poate face mai mare. */
.nv-statement .nv-lead {
	font-size: clamp(1.7rem, 1.15rem + 2vw, 2.7rem);
	line-height: 1.3;
	max-width: 16ch;
	margin-bottom: 1.2em;
}

@media (max-width: 600px) {
	.nv-statement .nv-lead { max-width: 14ch; }
}

/* ==========================================================================
   31. Pagina de articol
   ========================================================================== */

.single .page-header {
	max-width: var(--nv-narrow);
	margin: 0 auto;
	padding: clamp(64px, 8vw, 120px) var(--nv-gutter) 0;
	text-align: left;
}

/* Eticheta de deasupra titlului. */
.single .page-header::before {
	content: 'Articol';
	display: block;
	font-family: var(--nv-font-body);
	font-size: 0.66rem;
	font-weight: 500;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--nv-accent-deep);
	margin-bottom: 1.8em;
}

.single .page-header .entry-title {
	font-size: clamp(2rem, 1.3rem + 2.4vw, 3.1rem);
	font-weight: 300;
	line-height: 1.18;
	margin-bottom: 0;
	max-width: 20ch;
}

.single .page-content {
	max-width: var(--nv-narrow);
	margin: 0 auto;
	padding: 28px var(--nv-gutter) clamp(72px, 8vw, 130px);
}

/* Data, imediat sub titlu. */
.single .nv-article-date {
	color: var(--nv-muted);
	margin-bottom: 36px;
}

/* Imaginea din capul articolului. */
.nv-article-hero { margin: 0 0 48px; }

.nv-article-hero img {
	width: 100%;
	aspect-ratio: 3 / 2;
	object-fit: cover;
	border-radius: var(--nv-radius);
}

/* Ritmul textului. */
.single .page-content .nv-lead {
	font-family: var(--nv-font-head);
	font-size: clamp(1.2rem, 1.05rem + 0.7vw, 1.5rem);
	font-weight: 300;
	line-height: 1.55;
	color: var(--nv-text);
	max-width: none;
	margin-bottom: 2em;
	padding-bottom: 2em;
	border-bottom: 1px solid var(--nv-border);
}

.single .page-content h2 {
	font-size: clamp(1.4rem, 1.15rem + 0.9vw, 1.85rem);
	margin-top: 2.4em;
	margin-bottom: 0.7em;
}

.single .page-content p,
.single .page-content li {
	font-size: 1rem;
	line-height: 1.95;
	color: var(--nv-muted);
}

.single .page-content ul,
.single .page-content ol { margin-bottom: 1.8em; }

.single .page-content .wp-block-quote {
	margin: 2.4em 0;
	padding: 4px 0 4px 32px;
}

.single .page-content .nv-note { margin-top: 2.6em; }

/* Pasul următor, la final. */
.nv-article-cta {
	margin-top: 64px;
	padding-top: 48px;
	border-top: 1px solid var(--nv-border);
}

.nv-article-cta h2 {
	margin-top: 0;
	font-size: clamp(1.5rem, 1.2rem + 1vw, 2rem);
	margin-bottom: 0.5em;
}

.nv-article-cta p { margin-bottom: 2em; max-width: 52ch; }

@media (max-width: 600px) {
	.single .page-header .entry-title { max-width: none; }
	.nv-article-hero { margin-bottom: 36px; }
	.nv-article-cta { margin-top: 48px; padding-top: 36px; }
}

/* ==========================================================================
   32. Articol — mai lat, cu imaginea ieșită din coloana de text
   ========================================================================== */

.single .page-header,
.single .page-content {
	max-width: 800px;
}

/* Textul crește odată cu coloana, ca numărul de caractere pe rând să rămână bun. */
.single .page-content p,
.single .page-content li {
	font-size: 1.06rem;
	line-height: 1.9;
}

.single .page-content .nv-lead {
	font-size: clamp(1.3rem, 1.1rem + 0.9vw, 1.65rem);
}

.single .page-header .entry-title {
	font-size: clamp(2.1rem, 1.3rem + 2.8vw, 3.4rem);
	max-width: 22ch;
}

.single .page-content h2 {
	font-size: clamp(1.5rem, 1.2rem + 1vw, 2rem);
}

/* Imaginea depășește coloana de text și rămâne centrată. */
.nv-article-hero {
	width: min(1060px, calc(100vw - 2 * var(--nv-gutter)));
	margin-left: 50%;
	transform: translateX(-50%);
	margin-bottom: 56px;
}

.nv-article-hero img {
	aspect-ratio: 16 / 9;
}

@media (max-width: 900px) {
	.nv-article-hero {
		width: 100%;
		margin-left: 0;
		transform: none;
		margin-bottom: 36px;
	}
	.nv-article-hero img { aspect-ratio: 3 / 2; }
}

@media (max-width: 600px) {
	.single .page-content p,
	.single .page-content li { font-size: 1rem; }
}

/* ==========================================================================
   33. Articol — coloană mai lată, imaginea centrată în ea
   ========================================================================== */

.single .page-header,
.single .page-content {
	max-width: 980px;
}

/* Textul crește proporțional cu lățimea. */
.single .page-content p,
.single .page-content li {
	font-size: 1.15rem;
	line-height: 1.85;
}

.single .page-content .nv-lead {
	font-size: clamp(1.45rem, 1.15rem + 1.1vw, 1.9rem);
	line-height: 1.5;
}

.single .page-header .entry-title {
	font-size: clamp(2.3rem, 1.4rem + 3vw, 3.8rem);
	max-width: 24ch;
}

.single .page-content h2 {
	font-size: clamp(1.6rem, 1.25rem + 1.2vw, 2.2rem);
	margin-top: 2.2em;
}

/* Imaginea stă centrată în coloană, nu mai iese din ea. */
.nv-article-hero {
	width: 100%;
	max-width: 100%;
	margin-left: auto;
	margin-right: auto;
	transform: none;
	margin-bottom: 56px;
}

.nv-article-hero img {
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	display: block;
	margin: 0 auto;
}

.nv-article-cta p { max-width: 58ch; }

@media (max-width: 900px) {
	.nv-article-hero { margin-bottom: 36px; }
	.nv-article-hero img { aspect-ratio: 3 / 2; }
}

@media (max-width: 600px) {
	.single .page-content p,
	.single .page-content li { font-size: 1.02rem; line-height: 1.9; }
	.single .page-header .entry-title { max-width: none; }
}

/* ==========================================================================
   34. Tabelul de tarife — spațiu între coloane
   Regula anterioară avea padding doar pe verticală, așa că textul din
   coloane alăturate se atingea.
   ========================================================================== */

.wp-block-table { overflow-x: auto; }

.wp-block-table table {
	table-layout: auto;
	width: 100%;
	min-width: 520px;
}

.wp-block-table th,
.wp-block-table td {
	padding: 22px 28px 22px 0;
	vertical-align: middle;
}

.wp-block-table th:last-child,
.wp-block-table td:last-child {
	padding-right: 0;
	text-align: right;
}

.wp-block-table th:first-child,
.wp-block-table td:first-child { width: 50%; }

.wp-block-table th:nth-child(2),
.wp-block-table td:nth-child(2) {
	width: 28%;
	white-space: nowrap;
	color: var(--nv-muted);
}

.wp-block-table td:first-child { color: var(--nv-text); }

.wp-block-table tbody tr:hover td { background-color: rgba(46, 125, 50, 0.05); }

@media (max-width: 600px) {
	.wp-block-table th,
	.wp-block-table td { padding: 16px 18px 16px 0; font-size: 0.92rem; }
	.wp-block-table td:last-child { font-size: 1.1rem; }
}

/* ==========================================================================
   35. Benzile Servicii — fotografie fixată + parallax în ramă
   ========================================================================== */

/* overflow:hidden ar bloca position:sticky; clip taie fără să creeze
   un container de derulare. */
.nv-band {
	overflow: visible;
	overflow-x: clip;
}

/* Coloanele pornesc de sus, ca fotografia să aibă pe ce călători. */
.nv-band .wp-block-columns { align-items: flex-start; }

/* Textul primește mai mult aer, ca banda să fie mai înaltă decât imaginea. */
.nv-band .wp-block-column:not(.nv-band-media) {
	padding-top: clamp(48px, 6vw, 96px);
	padding-bottom: clamp(48px, 6vw, 96px);
}

/* Fotografia rămâne pe loc cât trece textul pe lângă ea. */
.nv-band .wp-block-column.nv-band-media {
	position: sticky;
	top: 124px;
	align-self: flex-start;
}

.admin-bar .nv-band .wp-block-column.nv-band-media { top: 156px; }

/* Rama fotografiei: înălțime fixă, conținutul depășește și e tăiat. */
.nv-band-media .wp-block-image {
	position: relative;
	width: 100%;
	height: clamp(340px, 34vw, 480px);
	overflow: hidden;
	margin: 0;
	line-height: 0;
}

.nv-band-media img {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 120%;
	min-height: 0;
	max-height: none;
	object-fit: cover;
	border-radius: 0;
	will-change: transform;
}

/* Parallax: imaginea urcă mai încet decât pagina. */
@supports (animation-timeline: view()) {
	@media (prefers-reduced-motion: no-preference) {
		.nv-band-media img {
			animation: nv-parallax linear both;
			animation-timeline: view();
			animation-range: cover 0% cover 100%;
		}
	}
}

@keyframes nv-parallax {
	from { transform: translateY(-16%); }
	to   { transform: translateY(0%); }
}

/* Pe ecrane mici fotografia nu se mai fixează — nu are pe unde călători. */
@media (max-width: 900px) {
	.nv-band .wp-block-column.nv-band-media,
	.admin-bar .nv-band .wp-block-column.nv-band-media {
		position: static;
		top: auto;
	}

	.nv-band-media .wp-block-image { height: 280px; }
	.nv-band-media img { height: 112%; }
}

@media (prefers-reduced-motion: reduce) {
	.nv-band-media img { transform: none; height: 100%; }
}

/* ==========================================================================
   36. Servicii — secțiuni de forme diferite
   ========================================================================== */

/* --- Declarație: titlu în stânga, text îngust în dreapta --- */
.nv-split { padding-top: clamp(72px, 8vw, 130px); padding-bottom: clamp(72px, 8vw, 130px); }

.nv-split .wp-block-columns { gap: clamp(40px, 6vw, 96px); align-items: flex-start; }
.nv-split .wp-block-column:first-child { flex-basis: 40% !important; }
.nv-split .wp-block-column:last-child { flex-basis: 44% !important; }

.nv-split h2 {
	font-size: clamp(1.5rem, 1.15rem + 1.3vw, 2.1rem);
	line-height: 1.35;
	margin: 0;
	max-width: 18ch;
}

.nv-split p { font-size: 0.92rem; line-height: 1.95; margin-bottom: 1.5em; }

/* --- Listă cu bife, pe două coloane --- */
.nv-checklist { padding-top: clamp(72px, 8vw, 130px); padding-bottom: clamp(88px, 10vw, 160px); }
.nv-checklist .wp-block-columns { gap: clamp(36px, 5vw, 80px); align-items: flex-start; }
.nv-checklist .wp-block-column:first-child { flex-basis: 34% !important; }

.nv-checklist h2 {
	font-size: clamp(1.4rem, 1.1rem + 1.2vw, 1.95rem);
	line-height: 1.35;
	margin: 0;
	max-width: 14ch;
}

.nv-checklist ul {
	list-style: none;
	padding: 0;
	margin: 0;
	columns: 2;
	column-gap: clamp(28px, 4vw, 60px);
}

.nv-checklist li {
	break-inside: avoid;
	position: relative;
	padding-left: 26px;
	margin-bottom: 14px;
	font-size: 0.88rem;
	line-height: 1.7;
	color: var(--nv-muted);
}

.nv-checklist li::before {
	content: '\2713';
	position: absolute;
	left: 0;
	top: 0;
	color: var(--nv-accent);
	font-size: 0.82rem;
}

@media (max-width: 640px) { .nv-checklist ul { columns: 1; } }

/* --- Rânduri cu linii, pentru ariile secundare --- */
.nv-rowlist { padding-top: clamp(72px, 8vw, 130px); padding-bottom: clamp(72px, 8vw, 130px); }
.nv-rowlist .wp-block-columns { gap: clamp(40px, 6vw, 96px); align-items: flex-start; }
.nv-rowlist .wp-block-column:first-child { flex-basis: 34% !important; }

.nv-rowlist h2 {
	font-size: clamp(1.4rem, 1.1rem + 1.2vw, 1.95rem);
	line-height: 1.35;
	margin: 0;
	max-width: 13ch;
}

.nv-row {
	border-top: 1px solid var(--nv-border);
	padding: 26px 0;
}

.nv-row:last-child { border-bottom: 1px solid var(--nv-border); }

.nv-row-title {
	font-family: var(--nv-font-body);
	font-size: 0.68rem;
	font-weight: 500;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--nv-text);
	margin-bottom: 0.9em;
}

.nv-row p:not(.nv-row-title) {
	font-size: 0.9rem;
	line-height: 1.9;
	color: var(--nv-muted);
	margin: 0;
	max-width: 56ch;
}

/* --- Bandă foto pe toată lățimea, cu text deasupra --- */
.nv-photoband { padding: 0; }

.nv-photoband .wp-block-cover {
	min-height: clamp(360px, 42vw, 520px);
	align-items: center;
	padding: 0;
}

.nv-photoband .wp-block-cover__inner-container {
	max-width: var(--nv-content);
	margin: 0 auto;
	width: 100%;
	padding: 0 var(--nv-gutter);
}

.nv-photoband h2 {
	color: #FFFFFF;
	font-size: clamp(1.7rem, 1.25rem + 1.8vw, 2.6rem);
	line-height: 1.3;
	max-width: 18ch;
	margin-bottom: 1.1em;
}

.nv-photoband .wp-block-button__link {
	background: transparent;
	border: 1px solid rgba(255, 255, 255, 0.6);
	border-radius: var(--nv-pill);
	padding: 13px 30px;
	color: #FFFFFF;
}

.nv-photoband .wp-block-button__link:hover {
	background: rgba(255, 255, 255, 0.14);
	border-color: #FFFFFF;
	color: #FFFFFF;
}

@media (max-width: 900px) {
	.nv-split .wp-block-column:first-child,
	.nv-split .wp-block-column:last-child,
	.nv-checklist .wp-block-column:first-child,
	.nv-rowlist .wp-block-column:first-child { flex-basis: auto !important; }

	.nv-split h2, .nv-checklist h2, .nv-rowlist h2 { max-width: none; }
}

/* ==========================================================================
   37. Benzile Servicii — coloana de text, mai afirmativă
   ========================================================================== */

.nv-band .wp-block-column:not(.nv-band-media) {
	flex-basis: 50% !important;
}

.nv-band .nv-eyebrow {
	color: var(--nv-accent-deep);
	margin-bottom: 1.4em;
}

/* Titlul devine o propoziție, pe două rânduri. */
.nv-band h2 {
	font-size: clamp(2rem, 1.35rem + 2.2vw, 3.1rem);
	line-height: 1.18;
	max-width: 13ch;
	margin-bottom: 0.7em;
}

.nv-band .nv-lead {
	font-size: 1rem;
	line-height: 1.9;
	max-width: 42ch;
	color: var(--nv-muted);
	margin-bottom: 0;
}

/* Detaliile se string mai aproape, cu linii mai discrete. */
.nv-band-detail {
	margin-top: 38px;
	padding-top: 26px;
	border-top: 1px solid var(--nv-border);
	max-width: 44ch;
}

.nv-band-detail + .nv-band-detail { margin-top: 26px; }

.nv-band-label {
	font-size: 0.62rem;
	letter-spacing: 0.24em;
	color: var(--nv-accent-deep);
	margin-bottom: 0.9em;
}

.nv-band-detail p:not(.nv-band-label) {
	font-size: 0.9rem;
	line-height: 1.9;
}

/* Pe banda închisă la culoare. */
.nv-band-dark .nv-eyebrow,
.nv-band-dark .nv-band-label { color: #F1D5D0; }

@media (max-width: 900px) {
	.nv-band .wp-block-column:not(.nv-band-media) { flex-basis: auto !important; }
	.nv-band h2 { max-width: none; font-size: clamp(1.8rem, 1.3rem + 2vw, 2.4rem); }
	.nv-band .nv-lead, .nv-band-detail { max-width: none; }
}

/* ==========================================================================
   38. Blog — primul articol e principal, celelalte alături
   ========================================================================== */

.blog .page-header,
.archive .page-header {
	max-width: var(--nv-content);
	margin: 0 auto;
	padding: clamp(72px, 8vw, 130px) var(--nv-gutter) 0;
	text-align: left;
}

.blog .page-header::before,
.archive .page-header::before {
	content: 'Resurse';
	display: block;
	font-family: var(--nv-font-body);
	font-size: 0.66rem;
	font-weight: 500;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--nv-accent-deep);
	margin-bottom: 1.8em;
}

.blog .page-header .entry-title::after,
.archive .page-header .entry-title::after {
	content: 'Resurse pentru starea ta de bine';
	display: block;
	font-size: clamp(2.1rem, 1.4rem + 2.4vw, 3.2rem);
	line-height: 1.2;
	font-weight: 300;
	max-width: 18ch;
}

.blog .page-header::after,
.archive .page-header::after {
	content: 'Câteva texte scurte despre lucruri care apar des în cabinet — scrise pentru cine se întreabă dacă e cazul să ceară ajutor.';
	display: block;
	max-width: 52ch;
	margin-top: 22px;
	font-family: var(--nv-font-body);
	font-size: 0.94rem;
	line-height: 1.9;
	color: var(--nv-muted);
}

.blog .page-content,
.archive .page-content {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(48px, 6vw, 88px) clamp(32px, 4vw, 56px);
	max-width: var(--nv-content);
	margin: 0 auto;
	padding: clamp(48px, 6vw, 80px) var(--nv-gutter) var(--nv-section-y);
}

/* Primul articol ocupă toată lățimea, cu fotografia alături de text. */
.blog article.post:first-child,
.archive article.post:first-child {
	grid-column: 1 / -1;
	display: grid;
	grid-template-columns: 1.15fr 1fr;
	grid-template-rows: auto auto;
	column-gap: clamp(36px, 5vw, 72px);
	row-gap: 18px;
	align-items: center;
	padding-bottom: clamp(40px, 5vw, 64px);
	border-bottom: 1px solid var(--nv-border);
}

.blog article.post:first-child > a,
.archive article.post:first-child > a {
	grid-column: 1;
	grid-row: 1 / 3;
	margin-bottom: 0;
}

.blog article.post:first-child > a img,
.archive article.post:first-child > a img { aspect-ratio: 4 / 3; }

.blog article.post:first-child .entry-title,
.archive article.post:first-child .entry-title {
	grid-column: 2;
	grid-row: 1;
	align-self: end;
	font-size: clamp(1.5rem, 1.15rem + 1.4vw, 2.2rem);
	line-height: 1.22;
	margin: 0;
	max-width: 16ch;
}

.blog article.post:first-child p,
.archive article.post:first-child p {
	grid-column: 2;
	grid-row: 2;
	align-self: start;
	font-size: 0.98rem;
	max-width: 46ch;
}

/* Celelalte două, alături. */
.blog article.post .entry-title,
.archive article.post .entry-title {
	font-family: var(--nv-font-head);
	font-size: 1.35rem;
	font-weight: 300;
	line-height: 1.28;
	margin: 0 0 14px;
	max-width: 22ch;
}

.blog article.post > a img,
.archive article.post > a img { aspect-ratio: 3 / 2; }

.blog article.post .entry-title a:hover,
.archive article.post .entry-title a:hover { color: var(--nv-accent-deep); }

@media (max-width: 820px) {
	.blog .page-content, .archive .page-content { grid-template-columns: 1fr; }

	.blog article.post:first-child,
	.archive article.post:first-child {
		grid-template-columns: 1fr;
		grid-template-rows: auto auto auto;
		row-gap: 14px;
	}

	.blog article.post:first-child > a,
	.archive article.post:first-child > a { grid-column: 1; grid-row: 1; margin-bottom: 12px; }

	.blog article.post:first-child .entry-title,
	.archive article.post:first-child .entry-title { grid-column: 1; grid-row: 2; max-width: none; }

	.blog article.post:first-child p,
	.archive article.post:first-child p { grid-column: 1; grid-row: 3; max-width: none; }

	.blog article.post .entry-title, .archive article.post .entry-title { max-width: none; }
}

/* ==========================================================================
   39. Blog — listă construită cu blocul Query Loop
   Date reale, linkuri reale; nu mai depinde de șablonul de arhivă.
   ========================================================================== */

.nv-blog-head { padding-bottom: 0; }
.nv-blog-head h1 { max-width: 16ch; margin-bottom: 0.45em; }
.nv-blog-head .nv-lead { max-width: 50ch; }

.nv-posts .wp-block-post-template {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(48px, 6vw, 84px) clamp(32px, 4vw, 56px);
}

.nv-posts .wp-block-post {
	display: flex;
	flex-direction: column;
	margin: 0;
}

.nv-posts .wp-block-post-featured-image {
	margin: 0 0 22px;
	overflow: hidden;
	border-radius: var(--nv-radius);
}

.nv-posts .wp-block-post-featured-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	border-radius: 0;
	transition: transform 0.8s var(--nv-ease);
}

.nv-posts .wp-block-post-featured-image:hover img { transform: scale(1.04); }

.nv-posts .wp-block-post-date {
	margin: 0 0 12px;
	font-family: var(--nv-font-body);
	font-size: 0.64rem;
	font-weight: 500;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--nv-accent-deep);
}

.nv-posts .wp-block-post-title {
	font-family: var(--nv-font-head);
	font-size: 1.4rem;
	font-weight: 300;
	line-height: 1.26;
	margin: 0 0 14px;
	max-width: 22ch;
}

.nv-posts .wp-block-post-title a { color: var(--nv-text); text-decoration: none; }
.nv-posts .wp-block-post-title a:hover { color: var(--nv-accent-deep); }

.nv-posts .wp-block-post-excerpt__excerpt {
	font-size: 0.92rem;
	line-height: 1.9;
	color: var(--nv-muted);
	margin: 0 0 18px;
}

.nv-posts .wp-block-post-excerpt__more-text { margin: 0; }

.nv-posts .wp-block-post-excerpt__more-link {
	display: inline-block;
	font-family: var(--nv-font-body);
	font-size: 0.64rem;
	font-weight: 500;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--nv-text);
	text-decoration: none;
	border-bottom: 1px solid var(--nv-text);
	padding-bottom: 7px;
	transition: color 0.3s var(--nv-ease), border-color 0.3s var(--nv-ease);
}

.nv-posts .wp-block-post-excerpt__more-link:hover {
	color: var(--nv-accent-deep);
	border-bottom-color: var(--nv-accent-deep);
}

/* Primul articol, pe toată lățimea, cu fotografia alături. */
.nv-posts .wp-block-post:first-child {
	grid-column: 1 / -1;
	display: grid;
	grid-template-columns: 1.15fr 1fr;
	grid-template-rows: auto auto auto auto;
	column-gap: clamp(36px, 5vw, 72px);
	align-content: center;
	padding-bottom: clamp(40px, 5vw, 64px);
	border-bottom: 1px solid var(--nv-border);
}

.nv-posts .wp-block-post:first-child .wp-block-post-featured-image {
	grid-column: 1;
	grid-row: 1 / 5;
	margin: 0;
	align-self: center;
}

.nv-posts .wp-block-post:first-child .wp-block-post-date { grid-column: 2; grid-row: 1; align-self: end; }
.nv-posts .wp-block-post:first-child .wp-block-post-title {
	grid-column: 2; grid-row: 2;
	font-size: clamp(1.6rem, 1.2rem + 1.5vw, 2.3rem);
	max-width: 16ch;
}
.nv-posts .wp-block-post:first-child .wp-block-post-excerpt {
	grid-column: 2; grid-row: 3;
	max-width: 46ch;
}
.nv-posts .wp-block-post:first-child .wp-block-post-excerpt__excerpt { font-size: 0.98rem; }

@media (max-width: 820px) {
	.nv-posts .wp-block-post-template { grid-template-columns: 1fr; }

	.nv-posts .wp-block-post:first-child {
		grid-template-columns: 1fr;
		grid-template-rows: auto;
		display: flex;
		flex-direction: column;
	}

	.nv-posts .wp-block-post:first-child .wp-block-post-featured-image { margin-bottom: 22px; }
	.nv-posts .wp-block-post:first-child .wp-block-post-title,
	.nv-posts .wp-block-post:first-child .wp-block-post-excerpt { max-width: none; }
	.nv-posts .wp-block-post-title { max-width: none; }
}

/* ==========================================================================
   40. Blog — rafinare (unul principal, două dedesubt)
   ========================================================================== */

.blog .page-header,
.archive .page-header {
	padding-bottom: clamp(36px, 4vw, 56px);
	border-bottom: 1px solid var(--nv-border);
	max-width: var(--nv-content);
}

.blog .page-header .entry-title::after,
.archive .page-header .entry-title::after {
	content: 'Texte pentru zilele grele';
	font-size: clamp(2.2rem, 1.4rem + 2.6vw, 3.4rem);
	line-height: 1.18;
	max-width: 15ch;
}

.blog .page-content,
.archive .page-content {
	gap: clamp(56px, 7vw, 96px) clamp(36px, 4.5vw, 64px);
	padding-top: clamp(52px, 6vw, 84px);
}

/* --- Articolul principal --- */
.blog article.post:first-child,
.archive article.post:first-child {
	grid-template-columns: 1.2fr 1fr;
	column-gap: clamp(40px, 5.5vw, 80px);
	row-gap: 22px;
	padding-bottom: clamp(48px, 6vw, 76px);
}

.blog article.post:first-child > a img,
.archive article.post:first-child > a img { aspect-ratio: 5 / 4; }

.blog article.post:first-child .entry-title,
.archive article.post:first-child .entry-title {
	font-size: clamp(1.7rem, 1.2rem + 1.8vw, 2.5rem);
	line-height: 1.18;
	max-width: 15ch;
	position: relative;
	padding-top: 26px;
}

/* Linia subțire de deasupra titlului principal. */
.blog article.post:first-child .entry-title::before,
.archive article.post:first-child .entry-title::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 46px;
	height: 1px;
	background-color: var(--nv-accent);
}

.blog article.post:first-child p,
.archive article.post:first-child p {
	font-size: 1rem;
	line-height: 1.92;
	max-width: 44ch;
}

/* --- Cele două de dedesubt --- */
.blog article.post:not(:first-child) .entry-title,
.archive article.post:not(:first-child) .entry-title {
	font-size: 1.45rem;
	line-height: 1.26;
	max-width: 20ch;
	padding-top: 22px;
	position: relative;
}

.blog article.post:not(:first-child) .entry-title::before,
.archive article.post:not(:first-child) .entry-title::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 34px;
	height: 1px;
	background-color: var(--nv-border);
	transition: background-color 0.35s var(--nv-ease), width 0.35s var(--nv-ease);
}

.blog article.post:not(:first-child):hover .entry-title::before,
.archive article.post:not(:first-child):hover .entry-title::before {
	background-color: var(--nv-accent);
	width: 56px;
}

.blog article.post:not(:first-child) > a,
.archive article.post:not(:first-child) > a { margin-bottom: 0; }

.blog article.post:not(:first-child) > a img,
.archive article.post:not(:first-child) > a img { aspect-ratio: 4 / 3; }

.blog article.post p,
.archive article.post p { font-size: 0.94rem; line-height: 1.9; max-width: 42ch; }

@media (max-width: 820px) {
	.blog article.post:first-child .entry-title,
	.archive article.post:first-child .entry-title,
	.blog article.post:not(:first-child) .entry-title,
	.archive article.post:not(:first-child) .entry-title { max-width: none; }

	.blog article.post p, .archive article.post p { max-width: none; }
}

/* ==========================================================================
   41. Tipografie — sans geometric, corp de text mai mic
   ========================================================================== */

:root {
	--nv-font-body: 'Open Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
}

/* Toate mărimile în rem scad proporțional. */
html { font-size: 15.2px; }

body {
	font-family: var(--nv-font-body);
	font-size: 0.97rem;
	font-weight: 400;
	line-height: 1.9;
	letter-spacing: 0.012em;
}

.entry-content p, .entry-content li,
.page-content p, .page-content li {
	font-size: 0.97rem;
	line-height: 1.9;
}

.nv-lead { font-size: 1rem; line-height: 1.9; }

.nv-band .nv-lead { font-size: 0.98rem; }
.nv-band-detail p:not(.nv-band-label) { font-size: 0.9rem; }
.nv-split p { font-size: 0.92rem; }
.nv-checklist li { font-size: 0.88rem; }
.nv-row p:not(.nv-row-title) { font-size: 0.9rem; }
.nv-card p { font-size: 0.92rem; }

/* Articolul revine la o mărime apropiată de restul site-ului. */
.single .page-content p,
.single .page-content li { font-size: 1.02rem; line-height: 1.92; }

.single .page-content .nv-lead { font-size: clamp(1.25rem, 1.05rem + 0.9vw, 1.6rem); }

/* Etichetele mici rămân lizibile după scădere. */
.nv-eyebrow, .nv-meta, .nv-band-label, .nv-row-title,
.wp-block-button__link,
.site-navigation ul.menu li a,
.site-footer .site-navigation ul.menu li a { font-size: 0.7rem; }

.site-header .site-navigation ul.menu li.nv-nav-cta > a { font-size: 0.68rem; }

.wp-block-details summary,
.nv-faq .wp-block-details summary { font-size: 0.95rem !important; }

.wp-block-details p, .nv-faq .wp-block-details p { font-size: 0.93rem !important; }

@media (max-width: 600px) {
	html { font-size: 15.6px; }
	body { font-size: 1rem; }
}

/* ==========================================================================
   42. Mărimea textului — corp de 18px
   ========================================================================== */

html { font-size: 16px; }

body {
	font-size: 1.125rem;   /* 18px */
	line-height: 1.78;
	letter-spacing: 0.005em;
}

.entry-content p, .entry-content li,
.page-content p, .page-content li {
	font-size: 1.125rem;
	line-height: 1.78;
}

.nv-lead { font-size: 1.2rem; line-height: 1.75; }

.nv-band .nv-lead { font-size: 1.15rem; line-height: 1.78; }
.nv-band-detail p:not(.nv-band-label) { font-size: 1.06rem; line-height: 1.78; }
.nv-split p { font-size: 1.08rem; line-height: 1.8; }
.nv-checklist li { font-size: 1.04rem; line-height: 1.7; margin-bottom: 16px; }
.nv-row p:not(.nv-row-title) { font-size: 1.06rem; line-height: 1.78; }
.nv-card p { font-size: 1.06rem; line-height: 1.78; }
.nv-note, .nv-note p { font-size: 1rem; line-height: 1.75; }
.nv-muted { font-size: 1rem; }

/* Articolul — puțin peste restul, ca text lung. */
.single .page-content p,
.single .page-content li { font-size: 1.16rem; line-height: 1.85; }
.single .page-content .nv-lead { font-size: clamp(1.35rem, 1.1rem + 1vw, 1.7rem); }

/* Blogul. */
.blog article.post p, .archive article.post p { font-size: 1.06rem; line-height: 1.78; }
.blog article.post:first-child p, .archive article.post:first-child p { font-size: 1.12rem; }

/* Întrebări frecvente. */
.wp-block-details summary,
.nv-faq .wp-block-details summary { font-size: 1.08rem !important; }
.wp-block-details p, .nv-faq .wp-block-details p { font-size: 1.06rem !important; line-height: 1.8 !important; }

/* Etichetele mici cresc și ele puțin. */
.nv-eyebrow, .nv-meta, .nv-band-label, .nv-row-title { font-size: 0.75rem; }
.wp-block-button__link { font-size: 0.75rem; }
.site-navigation ul.menu li a { font-size: 0.74rem; }
.site-header .site-navigation ul.menu li.nv-nav-cta > a { font-size: 0.72rem; }
.site-footer .site-navigation ul.menu li a { font-size: 0.72rem; }
.wp-block-quote cite { font-size: 0.75rem; }
.wp-block-image figcaption, .wp-element-caption { font-size: 0.75rem; }
.site-footer .site-description { font-size: 0.98rem; }
.site-footer .copyright p, .site-footer::after { font-size: 0.86rem; }

/* Tabelul de tarife. */
.wp-block-table th, .wp-block-table td { font-size: 1.06rem; }
.wp-block-table thead th { font-size: 0.75rem; }

@media (max-width: 600px) {
	body { font-size: 1.06rem; }
	.entry-content p, .entry-content li,
	.page-content p, .page-content li { font-size: 1.06rem; }
	.single .page-content p, .single .page-content li { font-size: 1.08rem; }
}

/* ==========================================================================
   43. Secțiunea de început — butonul se vede fără derulare
   ========================================================================== */

:root { --nv-header-h: 112px; }
@media (max-width: 1024px) { :root { --nv-header-h: 100px; } }
@media (max-width: 781px)  { :root { --nv-header-h: 92px; } }

.home .nv-hero {
	padding-top: 0;
	padding-bottom: 0;
}

/* Înălțimea rămasă sub antet; svh ține cont de bara browserului pe telefon. */
.home .nv-hero .wp-block-columns {
	min-height: calc(100svh - var(--nv-header-h));
	align-items: center;
}

.admin-bar .home .nv-hero .wp-block-columns {
	min-height: calc(100svh - var(--nv-header-h) - 32px);
}

.home .nv-hero .nv-figure .wp-block-image img {
	height: calc(100svh - var(--nv-header-h));
	max-height: 820px;
	min-height: 420px;
}

.admin-bar .home .nv-hero .nv-figure .wp-block-image img {
	height: calc(100svh - var(--nv-header-h) - 32px);
}

/* Textul se strânge, ca titlul, descrierea și butoanele să încapă. */
.home .nv-hero .wp-block-column:not(.nv-figure) {
	padding-top: clamp(28px, 3vw, 48px);
	padding-bottom: clamp(28px, 3vw, 48px);
}

.home .nv-hero .nv-eyebrow { margin-bottom: 1.5em; }

.home .nv-hero h1 {
	font-size: clamp(2rem, 1.1rem + 2.6vw, 3.3rem);
	line-height: 1.16;
	max-width: 17ch;
	margin-bottom: 0.6em;
}

.home .nv-hero .nv-lead {
	font-size: 1.1rem;
	line-height: 1.7;
	max-width: 44ch;
	margin-bottom: 2em;
}

.home .nv-hero .wp-block-buttons { margin-bottom: 0; }

/* Pe ecrane scunde conținutul poate depăși — atunci curge normal. */
@media (max-height: 640px) {
	.home .nv-hero .wp-block-columns { min-height: 0; }
	.home .nv-hero .nv-figure .wp-block-image img { height: 420px; }
	.home .nv-hero .wp-block-column:not(.nv-figure) { padding-top: 40px; padding-bottom: 40px; }
}

@media (max-width: 900px) {
	.home .nv-hero .wp-block-columns { min-height: 0; }

	.home .nv-hero .nv-figure .wp-block-image img,
	.admin-bar .home .nv-hero .nv-figure .wp-block-image img {
		height: 300px;
		min-height: 0;
	}

	.home .nv-hero .wp-block-column:not(.nv-figure) { padding: 36px var(--nv-gutter) 44px; }
	.home .nv-hero h1 { max-width: none; font-size: clamp(1.9rem, 1.3rem + 2.2vw, 2.6rem); }
	.home .nv-hero .nv-lead { margin-bottom: 1.8em; }
}

/* ==========================================================================
   44. Corecții pentru mobil
   ========================================================================== */

/* --- Plasă de siguranță pentru derularea pe orizontală ---------------------
   Secțiunile alignfull primesc de la tema părinte width:100vw, iar 100vw
   include bara de derulare. Pe telefon bara e suprapusă și nu se vede,
   dar în browserele cu bară clasică apare o derulare laterală nedorită.
   clip taie fără să creeze un container de derulare, deci position:sticky
   continuă să funcționeze. */
html, body { overflow-x: clip; }

@media (max-width: 900px) {

	/* --- Butoane: țintă de atingere de cel puțin 44px ---------------------- */
	.wp-block-button__link {
		display: inline-flex;
		align-items: center;
		min-height: 44px;
		padding: 12px 0 10px;
		width: auto;
		text-align: left;
	}

	.wp-block-button.is-style-outline > .wp-block-button__link {
		padding: 12px 26px;
		justify-content: center;
	}

	.wp-block-buttons { gap: 18px; }

	/* --- Linkuri de subsol și de contact ---------------------------------- */
	.site-footer .site-navigation ul.menu li a {
		display: inline-flex;
		align-items: center;
		min-height: 44px;
		padding: 4px 0;
	}

	.entry-content a[href^="mailto:"],
	.entry-content a[href^="tel:"] {
		display: inline-block;
		padding: 10px 0;
	}
}

/* ==========================================================================
   45. Meniul de pe mobil
   ========================================================================== */

/* --- Butonul hamburger ---------------------------------------------------- */
.site-navigation-toggle-holder .site-navigation-toggle,
.site-header .site-navigation-toggle {
	width: 46px;
	height: 46px;
	background: none;
	border: 1px solid var(--nv-border);
	border-radius: 50%;
	color: var(--nv-text);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	transition: border-color 0.3s var(--nv-ease), color 0.3s var(--nv-ease);
}

.site-header .site-navigation-toggle:hover,
.site-header .site-navigation-toggle:focus-visible {
	background: none;
	border-color: var(--nv-accent);
	color: var(--nv-accent-deep);
}

/* --- Panoul care se deschide --------------------------------------------- */
.site-navigation-dropdown.show,
.site-navigation-dropdown {
	background-color: var(--nv-bg);
	border-top: 1px solid var(--nv-border);
	box-shadow: 0 18px 40px rgba(47, 46, 43, 0.10);
}

.site-navigation-dropdown ul.menu {
	background-color: var(--nv-bg);
	padding: 8px var(--nv-gutter) 20px;
	margin: 0;
	list-style: none;
}

.site-navigation-dropdown ul.menu li {
	background: none;
	border-bottom: 1px solid var(--nv-border);
}

.site-navigation-dropdown ul.menu li:last-child { border-bottom: none; }

/* Linkurile preiau tratamentul din antet: majuscule mici, spațiate. */
.site-navigation-dropdown ul.menu li a {
	display: flex;
	align-items: center;
	min-height: 56px;
	padding: 10px 0;
	font-family: var(--nv-font-body);
	font-size: 0.78rem;
	font-weight: 500;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--nv-text);
	background: none;
	text-decoration: none;
}

.site-navigation-dropdown ul.menu li a:hover,
.site-navigation-dropdown ul.menu li a:focus-visible {
	color: var(--nv-accent-deep);
	background: none;
}

/* Pagina curentă: accent discret în stânga, nu o bandă închisă la culoare. */
.site-navigation-dropdown ul.menu li.current-menu-item > a,
.site-navigation-dropdown ul.menu li.current_page_item > a {
	color: var(--nv-accent-deep);
	background: none;
	position: relative;
	padding-left: 18px;
}

.site-navigation-dropdown ul.menu li.current-menu-item > a::before,
.site-navigation-dropdown ul.menu li.current_page_item > a::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 8px;
	height: 1px;
	background-color: var(--nv-accent);
}

/* Butonul de programare rămâne evidențiat și în meniul de pe mobil. */
.site-navigation-dropdown ul.menu li.nv-nav-cta {
	border-bottom: none;
	margin-top: 14px;
}

.site-navigation-dropdown ul.menu li.nv-nav-cta > a {
	justify-content: center;
	border: 1px solid var(--nv-text);
	border-radius: var(--nv-pill);
	min-height: 50px;
	padding: 10px 24px;
	color: var(--nv-text);
}

.site-navigation-dropdown ul.menu li.nv-nav-cta > a::before { content: none; }

.site-navigation-dropdown ul.menu li.nv-nav-cta > a:hover {
	background-color: var(--nv-text);
	color: var(--nv-bg);
}

/* ==========================================================================
   46. Ținte de atingere rămase
   ========================================================================== */

@media (max-width: 900px) {

	/* Rândurile din Întrebări frecvente — zona de atins era de 28px. */
	.wp-block-details summary,
	.nv-faq .wp-block-details summary {
		display: flex !important;
		align-items: center;
		min-height: 48px;
		padding-top: 4px;
		padding-bottom: 4px;
	}

	.wp-block-details,
	.nv-faq .wp-block-details { padding-top: 14px !important; padding-bottom: 14px !important; }

	.wp-block-details summary::after,
	.nv-faq .wp-block-details summary::after { top: 50% !important; transform: translateY(-50%); }

	.wp-block-details[open] summary::after,
	.nv-faq .wp-block-details[open] summary::after { transform: translateY(-50%); }

	/* Adresa de e-mail și telefonul de pe pagina de contact. */
	.page-content a[href^="mailto:"],
	.page-content a[href^="tel:"] {
		display: inline-block;
		padding: 11px 0;
	}
}

/* ==========================================================================
   47. Panoul meniului de pe mobil — corecție
   Containerul temei are înălțime 0 și lasă lista să depășească, deci
   fundalul și umbra trebuie puse pe listă, nu pe container.
   ========================================================================== */

.site-navigation-dropdown,
.site-navigation-dropdown.show {
	background: none;
	border-top: none;
	box-shadow: none;
}

.site-navigation-dropdown ul.menu {
	background-color: var(--nv-bg);
	border-top: 1px solid var(--nv-border);
	border-bottom: 1px solid var(--nv-border);
	box-shadow: 0 22px 44px rgba(47, 46, 43, 0.14);
	padding: 8px var(--nv-gutter) 22px;
}

/* Meniul de pe mobil e navigarea principală — are nevoie de text mai mare
   decât etichetele din antetul de desktop. */
.site-navigation-dropdown ul.menu li a {
	font-size: 0.88rem;
	letter-spacing: 0.15em;
}

.site-navigation-dropdown ul.menu li.nv-nav-cta > a { font-size: 0.8rem; }


/* ============================================================
   48. BLOG — grila de carduri (Query Loop)
   ============================================================ */

:root {
	--nv-tint: #E9F0E6;
	--nv-ico-cal: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='black'%20stroke-width='2'%20stroke-linecap='round'%3E%3Crect%20x='3'%20y='5'%20width='18'%20height='16'%20rx='2'/%3E%3Cpath%20d='M3%2010h18M8%203v4M16%203v4'/%3E%3C/svg%3E");
	--nv-ico-arrow: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='black'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Ccircle%20cx='12'%20cy='12'%20r='9'/%3E%3Cpath%20d='M9%2012h6'/%3E%3Cpath%20d='M13%209l3%203-3%203'/%3E%3C/svg%3E");
}

.nv-blogwrap {
	background-color: var(--nv-bg);
	padding-block: clamp(56px, 8vw, 112px);
}

/* Lista de articole are nevoie de toata latimea, nu de coloana ingusta. */
.nv-blogwrap .nv-inner {
	max-width: var(--nv-content);
	margin-inline: auto;
	padding-inline: var(--nv-gutter);
}

/* Layout-ul "constrained" al grupului limiteaza copiii la content-size;
   grila are nevoie de toata latimea lui .nv-inner. */
.nv-blogwrap .nv-inner > .wp-block-query {
	max-width: none;
	width: 100%;
}

.nv-blogcards.wp-block-post-template {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 30px;
	align-items: stretch;
	margin: 0;
	padding: 0;
	list-style: none;
}

.nv-blogcards > li.wp-block-post { margin: 0; }

.nv-blogcards > li.wp-block-post { display: flex; }

.nv-blogcard {
	display: flex;
	flex-direction: column;
	width: 100%;
	background-color: var(--nv-tint);
	padding: 10px 10px 4px;
	transition: transform 0.5s var(--nv-ease), box-shadow 0.5s var(--nv-ease);
}

.nv-blogcards > li:hover .nv-blogcard {
	transform: translateY(-5px);
	box-shadow: 0 20px 44px rgba(47, 46, 43, 0.12);
}

/* Imaginea */
.nv-blogcard-img.wp-block-post-featured-image { margin: 0 0 20px; }
.nv-blogcard-img a { display: block; }
.nv-blogcard-img img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

/* Toate imaginile au acelasi raport — randul se citeste mai curat. */

/* Corpul cardului creste, iar butonul ramane aliniat jos pe tot randul. */
.nv-blogcard-body {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	padding: 0 14px 20px;
}
/* Layout-ul "constrained" pune margin-inline:auto pe copii, ceea ce le centreaza
   intr-un flex column — le aducem inapoi la stanga. */
.nv-blogcard-body > * {
	margin-inline: 0;
	max-width: none;
}
.nv-blogcard-body > a.nv-blogcard-more { margin-top: auto; align-self: flex-start; }

.nv-blogcard-title {
	margin: 0 0 14px;
	font-family: var(--nv-font-head);
	font-size: clamp(1.18rem, 1.5vw, 1.45rem);
	line-height: 1.3;
	letter-spacing: 0;
}
.nv-blogcard-title a {
	color: var(--nv-text);
	text-decoration: none;
	transition: color 0.3s var(--nv-ease);
}
.nv-blogcard-title a:hover { color: var(--nv-accent-deep); }

/* Data, cu o iconita discreta de calendar */
.nv-blogcard-date {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 22px;
	font-family: var(--nv-font-body);
	font-size: 0.8rem;
	color: var(--nv-muted);
}
.nv-blogcard-date::before {
	content: "";
	flex: none;
	width: 14px;
	height: 14px;
	background-color: currentColor;
	-webkit-mask: var(--nv-ico-cal) center / contain no-repeat;
	mask: var(--nv-ico-cal) center / contain no-repeat;
}

/* Butonul "Citeste articolul" */
a.nv-blogcard-more.wp-block-read-more {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	min-height: 44px;
	padding: 10px 22px;
	background-color: var(--nv-deep);
	color: #FFFFFF;
	border-radius: var(--nv-pill);
	font-family: var(--nv-font-body);
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	text-decoration: none;
	white-space: nowrap;
	transition: background-color 0.35s var(--nv-ease);
}
a.nv-blogcard-more.wp-block-read-more::after {
	content: "";
	flex: none;
	width: 16px;
	height: 16px;
	background-color: currentColor;
	-webkit-mask: var(--nv-ico-arrow) center / contain no-repeat;
	mask: var(--nv-ico-arrow) center / contain no-repeat;
}
a.nv-blogcard-more.wp-block-read-more:hover { background-color: var(--nv-accent-deep); }

@media (max-width: 900px) {
	.nv-blogcards.wp-block-post-template { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
}

@media (max-width: 600px) {
	.nv-blogcards.wp-block-post-template { grid-template-columns: minmax(0, 1fr); gap: 20px; }
}


/* ============================================================
   49. "TREI PASI" — traseul: o sina cu noduri numerotate
   Sectiunea promite pasi, dar arata trei cutii paralele.
   Sina le leaga 1 > 2 > 3, iar numerele ies pe ea, unde se vad:
   pe banda inchisa, verdele accent avea 1.6:1, practic invizibil.
   ============================================================ */

.nv-glass-cards .wp-block-columns {
	position: relative;
	margin-top: 78px;
}

/* Sina sta in spatiu liber, deasupra cardurilor: peste fundalul lor
   translucid s-ar fi vazut inegal — luminoasa in goluri, stinsa pe card.
   Merge exact din centrul primului nod in centrul ultimului:
   30px padding de card + 28px jumatate de nod = 58px. */
.nv-glass-cards .wp-block-columns::before {
	content: "";
	position: absolute;
	top: -38px;
	left: 58px;
	/* Ultimul nod e la 58px de marginea STANGA a coloanei lui, nu de
	   marginea dreapta a randului: scadem latimea unei coloane.
	   Coloana = (100% - 2 x gap de 56px) / 3. */
	right: calc((100% - 112px) / 3 - 58px);
	height: 1px;
	background-color: rgba(203, 227, 204, 0.4);
}

.nv-glass-cards .nv-card.nv-step {
	position: relative;
}

/* Nodul sta complet deasupra cardului, cu un mic respiro intre ele. */
.nv-glass-cards .nv-step > p:first-child {
	position: absolute;
	top: -66px;
	left: 30px;
	margin: 0;
}

.nv-glass-cards .nv-step .nv-step-num {
	display: grid;
	place-items: center;
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background-color: #F1D5D0;
	color: var(--nv-deep);
	font-size: 1.75rem;
	line-height: 1;
}

@media (max-width: 781px) {
	/* Coloanele se stivuiesc — o sina orizontala nu mai leaga nimic. */
	.nv-glass-cards .wp-block-columns::before { display: none; }
	.nv-glass-cards .wp-block-columns { margin-top: 34px; }

	/* Fara sina, nodul nu mai are de ce sa iasa din card — iar ridicat
	   cu 66px ar cadea peste cardul de deasupra. Intra inapoi in flux. */
	.nv-glass-cards .nv-step > p:first-child {
		position: static;
		margin: 0 0 18px;
	}
}


/* ============================================================
   50. SEMNATURA — pe cele doua pasaje in care vorbeste Ioana
   "Primul pas e doar o conversatie" (Acasa) si "Cum am ajuns
   aici" (Despre mine). Un filet scurt si numele scris de mana:
   pasajul se citeste ca un bilet, nu ca text de site.
   ============================================================ */

.nv-statement .nv-inner > p:last-of-type::after,
.page-id-30 .nv-section--alt .nv-inner > p:last-of-type::after {
	content: "Ioana";
	display: block;
	width: max-content;
	min-width: 110px;
	margin-top: 38px;
	padding-top: 14px;
	border-top: 1px solid rgba(46, 125, 50, 0.4);
	font-family: var(--nv-font-script);
	font-size: 1.95rem;
	line-height: 1.15;
	color: var(--nv-accent);
}

/* Pasajul de pe Acasa e centrat — semnatura il urmeaza. */
.nv-statement .nv-inner > p:last-of-type::after {
	margin-inline: auto;
	text-align: center;
}


/* ============================================================
   50b. ARII DE LUCRU — carduri cu fotografie
   Fotografiile arata cadrul si munca, nu suferinta: o cana in
   maini, lumina de dimineață, flori uscate. Ilustrarea literala
   a fiecarei stari ar fi dus exact la clișeele interzise.
   ============================================================ */

.nv-svc-head {
	display: grid;
	grid-template-columns: 1.05fr 1fr;
	gap: 40px 70px;
	align-items: end;
	margin-bottom: 54px;
}
.nv-svc-head .nv-eyebrow { margin: 0 0 18px; }
.nv-svc-h2 { margin: 0; }
.nv-svc-head-r p { margin: 0; color: var(--nv-muted); }

/* Sagetile stau in stanga si in dreapta, ca in model — dar pe
   santuri proprii, nu peste fotografii: pista e trasa spre interior. */
.nv-svc-stage {
	position: relative;
	padding-inline: 58px;
}

.nv-svc-nav {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: space-between;
	pointer-events: none;
	z-index: 2;
}
.nv-svc-nav button.nv-svc-arrow { pointer-events: auto; }
button.nv-svc-arrow {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: none;
	background: none;
	color: var(--nv-muted);
	font-family: var(--nv-font-body);
	font-size: 2.1rem;
	line-height: 1;
	cursor: pointer;
	transition: color 0.3s var(--nv-ease), transform 0.3s var(--nv-ease);
}
/* Culoare de hover explicita — altfel butonul prinde o nuanta
   straina de paleta din stilurile implicite. */
.nv-svc button.nv-svc-arrow:hover,
.nv-svc button.nv-svc-arrow:focus-visible {
	color: var(--nv-text);
	background: none;
}
button.nv-svc-arrow[data-nv-dir="-1"]:hover { transform: translateX(-3px); }
button.nv-svc-arrow[data-nv-dir="1"]:hover { transform: translateX(3px); }

/* Fara scroll-behavior: smooth in CSS — cu scroll-snap mandatory
   blocheaza scrollTo() programatic. Derularea lina o cere JS-ul. */
.nv-svc-track {
	display: flex;
	gap: 26px;
	overflow-x: auto;
	scroll-snap-type: x proximity;
	scrollbar-width: none;
	position: relative;
}
.nv-svc-track::-webkit-scrollbar { display: none; }

.nv-svc-card {
	position: relative;
	flex: 0 0 calc((100% - 52px) / 3);
	scroll-snap-align: start;
	overflow: hidden;
	background-color: var(--nv-sand-soft);
}

.nv-svc-card img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	transition: transform 0.9s var(--nv-ease);
}
.nv-svc-card:hover img { transform: scale(1.04); }

/* Gradientul tine textul lizibil peste orice fotografie. */
.nv-svc-card::after {
	content: "";
	position: absolute;
	inset: 0;
	background-image: linear-gradient(180deg, rgba(28, 25, 21, 0) 42%, rgba(28, 25, 21, 0.72) 100%);
	pointer-events: none;
}

.nv-svc-meta {
	position: absolute;
	left: 26px;
	right: 26px;
	bottom: 24px;
	z-index: 1;
	color: #FFFFFF;
}
.nv-svc-num {
	display: block;
	margin-bottom: 6px;
	font-family: var(--nv-font-head);
	font-size: 0.9rem;
	color: rgba(255, 255, 255, 0.82);
}
.nv-svc-title {
	margin: 0 0 10px;
	font-family: var(--nv-font-head);
	font-size: clamp(1.25rem, 1.7vw, 1.6rem);
	line-height: 1.2;
	color: #FFFFFF;
}
.nv-svc-link {
	display: inline-block;
	font-family: var(--nv-font-body);
	font-size: 0.82rem;
	font-style: italic;
	color: #FFFFFF;
	text-decoration: underline;
	text-underline-offset: 0.3em;
	text-decoration-color: rgba(255, 255, 255, 0.55);
}
.nv-svc-link:hover { text-decoration-color: #FFFFFF; }

@media (max-width: 1024px) {
	.nv-svc-head { grid-template-columns: 1fr; align-items: start; }
	.nv-svc-card { flex: 0 0 calc((100% - 26px) / 2); }
}

@media (max-width: 900px) {
	/* Pe ecran ingust nu mai e loc de santuri — sagetile trec dedesubt. */
	.nv-svc-stage { padding-inline: 0; }
	.nv-svc-nav {
		position: static;
		justify-content: center;
		gap: 22px;
		margin-top: 26px;
	}
}

@media (max-width: 700px) {
	.nv-svc-card { flex: 0 0 82%; }
}


/* ============================================================
   50c. DESPRE MINE — sectiune editoriala, trei coloane
   Coloana din stanga e marginala (semn, citat, legenda), iar
   cele doua fotografii stau decalat pe verticala: asta rupe
   ritmul plat al paginii.
   ============================================================ */

.nv-rel-grid {
	display: grid;
	grid-template-columns: 0.72fr 1.22fr 1.06fr;
	gap: 48px;
	align-items: start;
}

/* Coloana marginala */
.nv-rel-aside {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	text-align: right;
	padding-top: 128px;
	height: 100%;
}
.nv-rel-badge {
	display: block;
	width: 62px;
	height: 62px;
	border-radius: 50%;
	background-color: var(--nv-sand-soft);
	background-repeat: no-repeat;
	background-position: center;
	background-size: 30px 30px;
	margin-bottom: 22px;
}
.nv-rel-quote {
	margin: 0;
	max-width: 15em;
	font-size: 0.95rem;
	line-height: 1.7;
	color: var(--nv-muted);
}
.nv-rel-quote em {
	font-style: italic;
	color: var(--nv-text);
}
.nv-rel-cap {
	margin: auto 0 0;
	padding-top: 40px;
	font-style: italic;
	font-size: 0.9rem;
	line-height: 1.6;
	color: var(--nv-muted);
}

/* Coloana centrala */
.nv-rel-main .nv-eyebrow { margin: 0 0 20px; }
.nv-rel-h2 {
	margin: 0 0 24px;
	font-size: clamp(2rem, 3.3vw, 3.05rem);
	line-height: 1.14;
}
.nv-rel-lead {
	margin: 0 0 40px;
	max-width: 30em;
	color: var(--nv-muted);
}

/* Coloana din dreapta — textul sus, fotografia mai inalta */
.nv-rel-note {
	margin: 0 0 34px;
	color: var(--nv-muted);
}

.nv-rel-fig { margin: 0; overflow: hidden; }
.nv-rel-fig img {
	display: block;
	width: 100%;
	object-fit: cover;
}
.nv-rel-fig--a img { aspect-ratio: 4 / 5; }
.nv-rel-fig--b img { aspect-ratio: 3 / 4.5; }

@media (max-width: 1024px) {
	.nv-rel-grid { grid-template-columns: 1fr 1fr; gap: 36px; }
	.nv-rel-aside {
		grid-column: 1 / -1;
		flex-direction: row;
		align-items: center;
		text-align: left;
		gap: 24px;
		padding-top: 0;
		height: auto;
	}
	.nv-rel-badge { margin: 0; flex: none; }
	.nv-rel-quote { max-width: 28em; }
	.nv-rel-cap { margin: 0 0 0 auto; padding-top: 0; }
}

@media (max-width: 700px) {
	.nv-rel-grid { grid-template-columns: 1fr; }
	.nv-rel-aside { flex-wrap: wrap; }
	.nv-rel-cap { margin: 0; }
}


/* ============================================================
   51. TESTIMONIALE — carusel cu carduri
   ============================================================ */

.nv-tst { position: relative; }
.nv-tst .nv-inner { position: relative; z-index: 1; }

/* Frunze — doua crengute discrete, in coltul de jos-stanga si in
   cel de sus-dreapta. Roz-taupe stins (#BE9AA0), ca sa stea in
   familia roz-bej a paletei. Statice si foarte palide: decor, nu desen. */
.nv-tst::before,
.nv-tst::after {
	content: "";
	position: absolute;
	width: 290px;
	height: 245px;
	z-index: 0;
	pointer-events: none;
	opacity: 0.34;
	background-repeat: no-repeat;
	background-size: contain;
}

.nv-tst::before {
	left: 0;
	bottom: 0;
	background-position: left bottom;
	background-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20260%20220'%3E%3Cpath%20d='M24%20206%20C%2070%20170,%20120%20140,%20176%2078'%20fill='none'%20stroke='%23BE9AA0'%20stroke-width='1.3'%20stroke-linecap='round'/%3E%3Cg%20fill='%23BE9AA0'%3E%3Cellipse%20cx='46'%20cy='186'%20rx='17'%20ry='7'%20transform='rotate(28%2046%20186)'/%3E%3Cellipse%20cx='66'%20cy='172'%20rx='17'%20ry='7'%20transform='rotate(-48%2066%20172)'/%3E%3Cellipse%20cx='88'%20cy='158'%20rx='17'%20ry='7'%20transform='rotate(28%2088%20158)'/%3E%3Cellipse%20cx='108'%20cy='144'%20rx='17'%20ry='7'%20transform='rotate(-48%20108%20144)'/%3E%3Cellipse%20cx='130'%20cy='126'%20rx='17'%20ry='7'%20transform='rotate(28%20130%20126)'/%3E%3Cellipse%20cx='150'%20cy='106'%20rx='16'%20ry='6.5'%20transform='rotate(-48%20150%20106)'/%3E%3Cellipse%20cx='170'%20cy='84'%20rx='14'%20ry='6'%20transform='rotate(28%20170%2084)'/%3E%3C/g%3E%3C/svg%3E");
}

.nv-tst::after {
	right: 0;
	top: 0;
	background-position: right top;
	background-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20260%20220'%3E%3Cg%20transform='translate(260,220)%20rotate(180)'%3E%3Cpath%20d='M24%20206%20C%2070%20170,%20120%20140,%20176%2078'%20fill='none'%20stroke='%23BE9AA0'%20stroke-width='1.3'%20stroke-linecap='round'/%3E%3Cg%20fill='%23BE9AA0'%3E%3Cellipse%20cx='46'%20cy='186'%20rx='17'%20ry='7'%20transform='rotate(28%2046%20186)'/%3E%3Cellipse%20cx='66'%20cy='172'%20rx='17'%20ry='7'%20transform='rotate(-48%2066%20172)'/%3E%3Cellipse%20cx='88'%20cy='158'%20rx='17'%20ry='7'%20transform='rotate(28%2088%20158)'/%3E%3Cellipse%20cx='108'%20cy='144'%20rx='17'%20ry='7'%20transform='rotate(-48%20108%20144)'/%3E%3Cellipse%20cx='130'%20cy='126'%20rx='17'%20ry='7'%20transform='rotate(28%20130%20126)'/%3E%3Cellipse%20cx='150'%20cy='106'%20rx='16'%20ry='6.5'%20transform='rotate(-48%20150%20106)'/%3E%3Cellipse%20cx='170'%20cy='84'%20rx='14'%20ry='6'%20transform='rotate(28%20170%2084)'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
}

@media (max-width: 900px) {
	.nv-tst::before,
	.nv-tst::after { width: 170px; height: 145px; opacity: 0.38; }
}

/* Antetul sectiunii, centrat. */
.nv-tst .nv-inner { text-align: center; }
.nv-tst .nv-inner > h2 { margin: 0 0 20px; }
.nv-tst .nv-eyebrow { margin: 0 0 22px; }
.nv-tst .nv-eyebrow::before { display: none; }
.nv-tst-sub {
	margin: 0 auto 54px;
	max-width: 40em;
	color: var(--nv-muted);
}

/* Ca la arii de lucru: sageti pe santurile din lateral. */
.nv-tst-stage {
	position: relative;
	padding-inline: 58px;
}

.nv-tst-nav {
	position: absolute;
	inset: 0 0 34px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	pointer-events: none;
	z-index: 2;
	margin: 0;
}
.nv-tst-nav button.nv-tst-arrow { pointer-events: auto; }

.nv-tst-dots { display: flex; align-items: center; gap: 11px; }

.nv-tst-dot {
	display: block;
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background-color: var(--nv-border);
	transition: background-color 0.3s var(--nv-ease), transform 0.3s var(--nv-ease);
}
.nv-tst-dot.is-on { background-color: var(--nv-accent); transform: scale(1.3); }

.nv-tst-arrows { display: flex; gap: 12px; }

button.nv-tst-arrow {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: none;
	background: none;
	color: var(--nv-muted);
	font-family: var(--nv-font-body);
	font-size: 2.1rem;
	line-height: 1;
	cursor: pointer;
	transition: color 0.3s var(--nv-ease), transform 0.3s var(--nv-ease);
}
.nv-tst button.nv-tst-arrow:hover,
.nv-tst button.nv-tst-arrow:focus-visible {
	color: var(--nv-text);
	background: none;
}
button.nv-tst-arrow[data-nv-dir="-1"]:hover { transform: translateX(-3px); }
button.nv-tst-arrow[data-nv-dir="1"]:hover { transform: translateX(3px); }

/* Pista: un card pe ecran, trasa cu degetul pe mobil. */
.nv-tst-track {
	position: relative;
	display: flex;
	gap: 28px;
	overflow-x: auto;
	scroll-snap-type: x proximity;
	scrollbar-width: none;
	padding-bottom: 34px;
}
.nv-tst-track::-webkit-scrollbar { display: none; }

.nv-tst-card {
	position: relative;
	flex: 0 0 calc((100% - 56px) / 3);
	scroll-snap-align: start;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	background-color: var(--nv-surface);
	border: none;
	box-shadow: 0 18px 44px -28px rgba(47, 46, 43, 0.4);
	padding: 46px 36px 44px;
}

/* Ghilimelele, mari, in capul cardului. */
.nv-tst-card::before {
	content: "\201D";
	display: block;
	margin-bottom: 4px;
	font-family: Georgia, 'Times New Roman', serif;
	font-size: 5.4rem;
	font-weight: 700;
	line-height: 0.8;
	color: var(--nv-accent-deep);
}

.nv-tst-quote {
	margin: 0 0 30px;
	font-family: var(--nv-font-body);
	font-size: 1rem;
	font-style: italic;
	line-height: 1.8;
	color: var(--nv-muted);
}

/* Numele, cu serifa, sub citat. Selector lung: regula de paragraf a
   sectiunii impune altfel culoarea --nv-muted. */
.nv-tst .nv-tst-card .nv-tst-name {
	margin: auto 0 0;
	font-family: var(--nv-font-head);
	font-size: 1.25rem;
	line-height: 1.3;
	color: var(--nv-text);
}

.nv-tst .nv-tst-card .nv-tst-name .nv-tst-tag {
	display: block;
	margin-top: 8px;
	font-family: var(--nv-font-body);
	font-size: 0.62rem;
	text-transform: uppercase;
	letter-spacing: 0.16em;
	color: var(--nv-muted);
}

/* Cele trei incap pe un rand — sagetile nu au ce sa deruleze. */
@media (min-width: 1025px) {
	.nv-tst-nav { display: none; }
}

@media (max-width: 1024px) {
	.nv-tst-card { flex: 0 0 calc((100% - 28px) / 2); }
}

@media (max-width: 900px) {
	.nv-tst-stage { padding-inline: 0; }
	.nv-tst-nav {
		position: static;
		justify-content: center;
		gap: 22px;
		margin-top: 8px;
	}
}

@media (max-width: 700px) {
	.nv-tst-card { flex: 0 0 100%; padding: 38px 26px 34px; }
	.nv-tst-card::before { font-size: 4.4rem; }
}


/* ============================================================
   52. HERO — fotografia atinge sectiunea urmatoare
   Pe paginile interioare hero-ul avea padding-bottom, iar
   fotografia e mereu coloana cea mai inalta: raminea o banda
   de fundal sub poza. Pe desktop o scoatem; pe mobil coloanele
   se stivuiesc, iar textul ajunge jos — acolo spatiul ramane.
   ============================================================ */

@media (min-width: 782px) {
	.nv-hero { padding-bottom: 0; }
}


/* ============================================================
   53. HERO ACASA — fotografie pe toata latimea, text peste ea
   Fotografia e portret (1200x1600), deci taierea conteaza:
   center 50% tine fotoliul in stanga, iucca la mijloc si
   ficusul in dreapta. Voalul ivoriu porneste din stanga, unde
   sta textul, si se stinge spre dreapta, ca poza sa respire.
   ============================================================ */

.nv-hero-full.wp-block-cover {
	position: relative;
	min-height: clamp(560px, 86svh, 820px);
	padding: 0;
	align-items: center;
	justify-content: center;
	background-color: #2A2722;
	text-align: center;
}

.nv-hero-full img.wp-block-cover__image-background {
	object-fit: cover;
	object-position: center 42%;
}

/* Voalul foloseste chiar stratul de overlay al blocului cover: acolo
   stiva e deja corecta (sub continut, peste imagine). Un ::after propriu
   ar fi trebuit sa bata un selector de core foarte specific. */
.nv-hero-full.wp-block-cover .wp-block-cover__background.nv-hero-veil {
	opacity: 1;
	background-color: transparent;
	/* Text alb peste fotografie: voalul e acum intunecat, nu ivoriu.
	   Mai dens sus si jos, ca sa tina antetul si butoanele lizibile,
	   si mai transparent la mijloc, unde sta chipul. */
	background-image: linear-gradient(
		180deg,
		rgba(32, 29, 24, 0.46) 0%,
		rgba(32, 29, 24, 0.34) 34%,
		rgba(32, 29, 24, 0.40) 62%,
		rgba(32, 29, 24, 0.56) 100%
	);
}

.nv-hero-full.wp-block-cover > .wp-block-cover__inner-container {
	width: 100%;
	max-width: var(--nv-content);
	margin-inline: auto;
	padding-inline: var(--nv-gutter);
}

/* Totul centrat, peste fotografie. */
.nv-hero-full-inner {
	max-width: 940px;
	margin-inline: auto;
	padding-block: clamp(56px, 7vw, 96px);
	text-align: center;
}

.nv-hero-full-inner .nv-eyebrow {
	margin: 0 0 26px;
	color: rgba(255, 255, 255, 0.82);
}
.nv-hero-full-inner .nv-eyebrow::before { display: none; }

.nv-hero-full-inner h1 {
	margin: 0 0 26px;
	color: #FFFFFF;
	font-weight: 400;
	font-size: clamp(2.6rem, 6vw, 5rem);
	line-height: 1.12;
	letter-spacing: 0.005em;
	text-wrap: balance;
	text-shadow: 0 2px 30px rgba(0, 0, 0, 0.26);
}

.nv-hero-full-inner .nv-lead {
	margin: 0 auto 40px;
	max-width: 30em;
	color: rgba(255, 255, 255, 0.92);
	text-shadow: 0 1px 18px rgba(0, 0, 0, 0.3);
}

.nv-hero-full-inner .wp-block-buttons {
	justify-content: center;
	flex-wrap: wrap;
	gap: 20px;
}

/* Butonul secundar, conturat, trebuie sa se vada pe fotografie.
   !important pentru ca blocul din Customizer ("Design refresh") se
   incarca dupa style.css si impune butoanelor culoarea inchisa. */
.nv-hero-full .nv-hero-full-inner .wp-block-buttons .wp-block-button.is-style-outline > .wp-block-button__link {
	border: 1px solid rgba(255, 255, 255, 0.78) !important;
	color: #FFFFFF !important;
	background: transparent !important;
}
.nv-hero-full .nv-hero-full-inner .wp-block-buttons .wp-block-button.is-style-outline > .wp-block-button__link:hover {
	border-color: #FFFFFF !important;
	background: rgba(255, 255, 255, 0.16) !important;
	color: #FFFFFF !important;
}

@media (max-width: 781px) {
	.nv-hero-full.wp-block-cover { min-height: clamp(540px, 88svh, 720px); }
	/* Pe ecran ingust chipul se pierde la 42% — il aducem in cadru. */
	.nv-hero-full img.wp-block-cover__image-background { object-position: 58% 38%; }
	.nv-hero-full.wp-block-cover .wp-block-cover__background.nv-hero-veil {
		background-image: linear-gradient(
			180deg,
			rgba(32, 29, 24, 0.52) 0%,
			rgba(32, 29, 24, 0.42) 38%,
			rgba(32, 29, 24, 0.50) 68%,
			rgba(32, 29, 24, 0.62) 100%
		);
	}
	.nv-hero-full-inner { max-width: none; }
	.nv-hero-full-inner .wp-block-buttons { gap: 14px; }
}


/* =========================================================
   54) TARIFE — carduri cu fotografie + banda primului contact
   Pagina era un tabel si doua paragrafe. O rescriem in
   limbajul deja folosit pe Arii de lucru si pe testimoniale:
   fotografie, pret in serif, spatiu de respiro.
   ========================================================= */

/* --- 54.1 Cap de secțiune pe două coloane (ca .nv-svc-head) --- */
.nv-price-head {
	display: grid;
	grid-template-columns: 1.05fr 1fr;
	gap: 34px 70px;
	align-items: end;
	margin-bottom: 58px;
}
/* Panoul din .nv-price-grid urca peste zona capului de sectiune.
   Fiind pozitionat, acopera textul nepozitionat al fratelui de
   dinaintea lui — deci capul isi ridica propriul strat. */
.nv-price-head { position: relative; z-index: 1; }
.nv-price-head > * { margin: 0 !important; max-width: none; }
.nv-price-head .nv-price-lede { color: var(--nv-muted); }

/* --- 54.2 Grila de carduri cu pret --- */
.nv-price-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 30px;
	align-items: stretch;
	position: relative;
}

/* Panou decalat in spatele cardurilor: blocul beige care iese din
   pagina spre dreapta. ::before e absolut, deci nu devine celula
   in grid. Sectiunea taie ce depaseste, ca sa nu apara scroll
   orizontal cand latimea barei de scroll intra in 100vw. */
.nv-price-sec { overflow: hidden; }
.nv-price-grid::before {
	content: "";
	position: absolute;
	z-index: 0;
	left: 38%;
	right: calc((100% - 100vw) / 2);
	/* Sus cat sa cuprinda tot paragraful introductiv: taiat pe la
	   jumatatea unui rand de text arata ca o greseala. */
	top: -152px;
	bottom: 62px;
	background-color: var(--nv-sand);
	pointer-events: none;
}
.nv-price-grid > .nv-price-card { position: relative; z-index: 1; }
.nv-price-grid > .nv-price-card {
	display: flex;
	flex-direction: column;
	margin: 0 !important;
	max-width: none;
	background-color: var(--nv-surface);
	box-shadow: 0 18px 44px -28px rgba(47, 46, 43, 0.4);
}
.nv-price-card > * { margin-inline: 0 !important; max-width: none; }
.nv-price-card > figure.nv-price-fig { margin: 0 !important; }
.nv-price-fig img {
	display: block;
	width: 100%;
	aspect-ratio: 3 / 2;
	object-fit: cover;
}
.nv-price-body {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	margin: 0 !important;
	padding: 30px 30px 34px;
}
.nv-price-body > * { margin-inline: 0 !important; max-width: none; }
.nv-price-card .nv-price-dur {
	margin: 0 0 12px;
	font-size: 0.74rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--nv-muted);
}
.nv-price-card h3 {
	margin: 0 0 18px;
	font-size: 1.42rem;
	line-height: 1.25;
}
.nv-price-card .nv-price-amt {
	margin: 0 0 20px;
	padding-bottom: 20px;
	border-bottom: 1px solid var(--nv-border);
	font-family: var(--nv-font-head);
	font-size: 2.25rem;
	line-height: 1;
	color: var(--nv-accent-deep);
}
.nv-price-card .nv-price-desc {
	margin: 0;
	font-size: 0.97rem;
	color: var(--nv-muted);
}

/* --- 54.3 Banda primului contact (gratuit) --- */
.nv-first-grid {
	display: grid;
	grid-template-columns: 1fr 1.08fr;
	align-items: stretch;
	/* Banda sta pe fundalul simplu al paginii: alb pe alb nu s-ar
	   desprinde, deci isi ia propria nuanta. */
	background-color: var(--nv-tint);
}
.nv-first-grid > * { margin: 0 !important; max-width: none; }
/* Imaginea e scoasa din flux, altfel inaltimea ei naturala dicta
   inaltimea randului si ramanea un gol mare de tenta sub buton.
   Asa, randul creste dupa text, iar poza umple cat i se da. */
.nv-first-grid > figure.nv-first-fig {
	margin: 0 !important;
	position: relative;
	min-height: 380px;
	overflow: hidden;
}
.nv-first-fig img {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.nv-first-body {
	margin: 0 !important;
	padding: clamp(34px, 4.4vw, 66px);
	align-self: center;
}
.nv-first-body > * { margin-inline: 0 !important; max-width: none; }
.nv-first-body .nv-first-tag {
	display: inline-block;
	margin: 0 0 22px !important;
	padding: 7px 18px;
	border-radius: var(--nv-pill);
	background-color: var(--nv-tint);
	font-size: 0.74rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--nv-accent-deep);
}
.nv-first-body h2 {
	margin: 0 0 20px;
	font-size: clamp(1.75rem, 3vw, 2.45rem);
}
.nv-first-body p:not(.nv-first-tag) { margin: 0 0 15px; color: var(--nv-muted); }
.nv-first-body .wp-block-buttons { margin-top: 30px; }

@media (max-width: 900px) {
	.nv-price-head {
		grid-template-columns: 1fr;
		gap: 20px;
		align-items: start;
		margin-bottom: 40px;
	}
	.nv-price-grid { grid-template-columns: 1fr; gap: 26px; }
	/* Pe o coloana panoul nu mai are cum sa stea in spatele unui rand
	   de carduri, deci il scoatem de tot. */
	.nv-price-grid::before { display: none; }
	.nv-price-fig img { aspect-ratio: 16 / 10; }
	.nv-first-grid { grid-template-columns: 1fr; }
	.nv-first-grid > figure.nv-first-fig { min-height: 0; aspect-ratio: 16 / 10; }
}


/* =========================================================
   55) SERVICII — cate o sectiune pentru fiecare arie
   Fiecare arie isi pastreaza sectiunea ei, cu tot textul la
   vedere. Fotografia alterneaza dreapta / stanga, iar in
   spatele ei sta panoul decalat folosit si pe Tarife.
   ========================================================= */
.nv-area { overflow: hidden; }
.nv-area-grid {
	display: grid;
	grid-template-columns: 1fr 1.04fr;
	gap: 44px 78px;
	align-items: center;
}
.nv-area-grid > * { margin: 0 !important; max-width: none; }
.nv-area-copy > * { margin-inline: 0 !important; max-width: none; }
.nv-area-copy > .nv-eyebrow { margin: 0 0 18px; }
.nv-area-copy > h2 { margin: 0 0 22px; }
.nv-area-copy > .nv-lead { margin: 0 0 30px; }
.nv-area-copy > .nv-area-detail {
	margin: 0 !important;
	padding-top: 24px;
	border-top: 1px solid var(--nv-border);
}
.nv-area-copy > .nv-area-detail + .nv-area-detail { margin-top: 24px !important; }
.nv-area-detail > * { margin-inline: 0 !important; max-width: none; }
.nv-area-detail > .nv-band-label { margin: 0 0 8px; }
.nv-area-detail > p:not(.nv-band-label) { margin: 0; color: var(--nv-muted); }

/* Fotografia, cu panoul decalat in spate. */
.nv-area-media { position: relative; }
.nv-area-media > figure { position: relative; z-index: 1; margin: 0 !important; }
.nv-area-media img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
}
.nv-area-media::before {
	content: "";
	position: absolute;
	z-index: 0;
	top: -58px;
	bottom: -58px;
	left: 44%;
	right: calc((100% - 100vw) / 2);
	background-color: var(--nv-sand);
	pointer-events: none;
}

/* Randul din mijloc: fotografia trece la stanga, iar panoul se
   oglindeste, ca sa iasa din pagina prin partea cealalta. */
.nv-area--flip .nv-area-grid { grid-template-columns: 1.04fr 1fr; }
.nv-area--flip .nv-area-copy { order: 2; }
.nv-area--flip .nv-area-media { order: 1; }
.nv-area--flip .nv-area-media::before {
	left: calc((100% - 100vw) / 2);
	right: 44%;
}

@media (max-width: 900px) {
	.nv-area-grid,
	.nv-area--flip .nv-area-grid { grid-template-columns: 1fr; gap: 32px; }
	/* Pe o coloana fotografia sta mereu prima, indiferent de rand. */
	.nv-area-media,
	.nv-area--flip .nv-area-media { order: 1; }
	.nv-area-copy,
	.nv-area--flip .nv-area-copy { order: 2; }
	.nv-area-media::before,
	.nv-area--flip .nv-area-media::before { display: none; }
	.nv-area-media img { aspect-ratio: 16 / 10; }
}

/* --- 55.1 "Cum lucram" / "La ce sa te astepti" ca dropdown
   Site-ul are deja un acordeon (Intrebari frecvente) scris
   aproape tot cu !important. Nu il atingem — il rescriem doar
   aici, cu selectoare mai lungi ca sa castige. */
.nv-area-copy > .nv-area-acc { margin: 30px 0 0 !important; }
.nv-area-acc > * { margin-inline: 0 !important; max-width: none; }

.nv-area .nv-area-acc .wp-block-details {
	position: relative;
	margin: 0 !important;
	padding: 0 !important;
	border: none !important;
	border-top: 1px solid var(--nv-border) !important;
	border-radius: 0 !important;
	background: none !important;
	box-shadow: none !important;
}
.nv-area .nv-area-acc .wp-block-details:last-of-type {
	border-bottom: 1px solid var(--nv-border) !important;
}

.nv-area .nv-area-acc .wp-block-details > summary {
	position: relative;
	display: block !important;
	list-style: none;
	cursor: pointer;
	min-height: 0 !important;
	padding: 16px 48px 16px 0 !important;
	font-family: var(--nv-font-head) !important;
	/* 32px pe desktop, ca in referinta; scade doar pe ecran ingust. */
	font-size: clamp(1.55rem, 2.6vw, 2rem) !important;
	font-style: italic !important;
	font-weight: 400 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	line-height: 1.2 !important;
	color: var(--nv-text) !important;
	transition: color 0.3s var(--nv-ease);
}
.nv-area .nv-area-acc .wp-block-details > summary::-webkit-details-marker { display: none; }
.nv-area .nv-area-acc .wp-block-details > summary::marker { content: ""; }
.nv-area .nv-area-acc .wp-block-details > summary:hover,
.nv-area .nv-area-acc .wp-block-details[open] > summary { color: var(--nv-accent-deep) !important; }
.nv-area .nv-area-acc .wp-block-details > summary:focus-visible {
	outline: 2px solid var(--nv-accent-deep);
	outline-offset: 3px;
}

/* Semnul +/− centrat pe randul intrebarii, la orice inaltime. */
.nv-area .nv-area-acc .wp-block-details > summary::after {
	content: "+" !important;
	position: absolute !important;
	right: 2px !important;
	top: 50% !important;
	bottom: auto !important;
	transform: translateY(-50%) !important;
	width: auto !important;
	height: auto !important;
	border: none !important;
	border-radius: 0 !important;
	background: none !important;
	font-family: var(--nv-font-body) !important;
	font-size: 1.3rem !important;
	font-weight: 300 !important;
	line-height: 1 !important;
	color: var(--nv-accent) !important;
}
.nv-area .nv-area-acc .wp-block-details[open] > summary::after {
	content: "\2212" !important;
	color: var(--nv-accent-deep) !important;
}

.nv-area .nv-area-acc .wp-block-details p {
	margin: 0 0 24px !important;
	font-size: 17px !important;
	line-height: 1.6 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	color: var(--nv-muted) !important;
}

/* --- 55.2 Restul marimilor, luate tot din referinta:
   supratitlu 12px, titlu 56px, introducere 19px. --- */
.nv-area .nv-area-copy > .nv-eyebrow {
	font-size: 12px !important;
	line-height: 1.6 !important;
	font-weight: 500 !important;
	letter-spacing: 2.4px !important;
}
.nv-area .nv-area-copy > h2 {
	font-size: clamp(2.2rem, 4.4vw, 3.5rem) !important;
	line-height: 1.1 !important;
}
.nv-area .nv-area-copy > .nv-lead {
	font-size: 19px !important;
	line-height: 1.6 !important;
	font-weight: 500 !important;
}


/* =========================================================
   56) ACASA — paleta "cappuccino" (proba)
   Auriul inchis (#6E5430) avea 6.5:1 pe fundalul crem.
   #352228, luat din referinta, urca la 13.8:1. Auriul
   deschis ramane neatins, ca sa nu dispara accentul cald.
   Doar pe prima pagina, ca sa se poata compara cu restul;
   se sterge blocul ca sa revii.
   ========================================================= */
/* Paleta (pruna, roz-vechi, roz deschis) e definita acum in blocul
   din Customizer, ca sa se aplice pe tot site-ul. Aici raman doar
   regulile specifice primei pagini — in principal hero-ul, care e
   singurul cu fotografie pe tot latul. */

/* Auriul scris direct in reguli, nu prin variabila: margini, umbre,
   sina de sub pasi, ghilimelele din testimoniale. */
body.home a,
body.page-id-26 a { text-decoration-color: rgba(53, 34, 40, 0.45); }

body.home .nv-nav-cta > a,
body.page-id-26 .nv-nav-cta > a {
	border: 1px solid rgba(53, 34, 40, 0.25) !important;
	box-shadow: 0 10px 24px -14px rgba(53, 34, 40, 0.55);
}
body.home .nv-nav-cta > a:hover,
body.page-id-26 .nv-nav-cta > a:hover {
	box-shadow: 0 16px 30px -16px rgba(53, 34, 40, 0.6);
}

body.home .wp-block-button.is-style-outline > .wp-block-button__link,
body.page-id-26 .wp-block-button.is-style-outline > .wp-block-button__link {
	border: 1px solid rgba(53, 34, 40, 0.45) !important;
}

body.home .nv-section--sage .wp-block-columns::before,
body.page-id-26 .nv-section--sage .wp-block-columns::before {
	background: rgba(53, 34, 40, 0.3);
}

body.home .nv-step .nv-step-num,
body.page-id-26 .nv-step .nv-step-num {
	box-shadow: 0 8px 18px -10px rgba(53, 34, 40, 0.6);
}

body.home .nv-tst-card::after,
body.page-id-26 .nv-tst-card::after { color: rgba(53, 34, 40, 0.35) !important; }

/* Marginea butoanelor ramasese aurie. Selectorul e scurt dinadins,
   ca sa nu bata butoanele albe de pe fotografia din hero. */
body.home .wp-block-button__link,
body.page-id-26 .wp-block-button__link { border-color: rgba(53, 34, 40, 0.45) !important; }

/* Butoanele pline pastrau o margine aurie la 18%. Selectorul e lung
   pentru ca regula din Customizer e la fel de specifica si vine dupa. */
body.home .wp-block-buttons .wp-block-button > .wp-block-button__link,
body.page-id-26 .wp-block-buttons .wp-block-button > .wp-block-button__link {
	border-color: rgba(53, 34, 40, 0.25) !important;
}

/* Aura calda din spatele ariilor de lucru. */
body.home .nv-ambient::before,
body.page-id-26 .nv-ambient::before { background-color: rgba(53, 34, 40, 0.09) !important; }

/* Benzile bej (Trei pasi si cea de dinainte de footer) devin o
   varianta deschisa a prunei. Am pastrat aceleasi trei trepte de
   luminozitate ca la bej, doar am mutat nuanta: #F4EDE1 -> #F4ECEF,
   #EFE5D3 -> #EDE2E7, #EDE1CB -> #E7D9E0. Textul sters ramane la
   4.8:1 pe treapta cea mai inchisa, deci trece AA. */
/* Benzile: roz plat, fara degradeu. Pornit de la nuanta din captura
   (#F7BBD7 = 332°, S79, L85) si deschis la L91 cu saturatia putin
   coborata, ca sa stea langa cremul paginii fara sa tipe. Tonul
   ramane acelasi. Da 7.4:1 pe textul curent si 10.3:1 pe titluri. */
body.home :is(.nv-section--sage, .nv-section--band, .nv-cta-band),
body.page-id-26 :is(.nv-section--sage, .nv-section--band, .nv-cta-band) {
	background: #F5D8D4 !important;
	background-image: none !important;
}

/* Textul sters implicit ar pica la 4.4:1 pe treapta de jos a
   benzii, deci pe benzi ramane inchis. Titlurile, supratitlul si
   accentul italic isi pastreaza culorile lor de pe fundal deschis. */
body.home :is(.nv-section--sage, .nv-section--band, .nv-cta-band) :is(p, .nv-lead),
body.page-id-26 :is(.nv-section--sage, .nv-section--band, .nv-cta-band) :is(p, .nv-lead) {
	color: #46443F !important;
}

/* Banda fiind acum mai deschisa, cardurile la 62% alb se apropiau
   prea mult de ea. Le urcam la 82% ca sa ramana citibile ca blocuri. */
body.home :is(.nv-section--sage, .nv-section--band) .nv-card,
body.page-id-26 :is(.nv-section--sage, .nv-section--band) .nv-card {
	background-color: rgba(255, 255, 255, 0.82) !important;
	border-color: rgba(53, 34, 40, 0.10) !important;
}

/* Cercurile 1-2-3, sina si butonul de pe banda revin la varianta
   de pe fundal deschis: cerc si buton inchise, sina inchisa. */

/* Voalul hero-ului era brun-cald (32,29,24), ceea ce lasa bokeh-ul
   verde sa razbata si sa se bata cap in cap cu paleta roz. Il mutam
   pe pruna si scadem putin saturatia fotografiei: verdele se retrage
   fara sa schimbam poza. */
body.home .nv-hero-full img.wp-block-cover__image-background,
body.page-id-26 .nv-hero-full img.wp-block-cover__image-background {
	/* 0.62 scotea prea multa culoare — fotografia parea spalacita.
	   0.85 lasa verdele retras, dar pastreaza materialul. */
	filter: saturate(0.85) contrast(1.04);
}
body.home .nv-hero-full.wp-block-cover .wp-block-cover__background.nv-hero-veil,
body.page-id-26 .nv-hero-full.wp-block-cover .wp-block-cover__background.nv-hero-veil {
	background-image: linear-gradient(
		180deg,
		rgba(48, 30, 37, 0.52) 0%,
		rgba(48, 30, 37, 0.40) 34%,
		rgba(48, 30, 37, 0.46) 62%,
		rgba(45, 28, 34, 0.62) 100%
	) !important;
}

/* Butonul plin din hero statea inchis pe o fotografie inchisa (voal
   de doar 34-56%), deci forma lui nu se mai desprindea de fundal.
   Pe intuneric se inverseaza: umplutura crem, text pruna — 13.8:1,
   si conturul se vede. Mai mult voal ar fi inchis fotografia si mai
   tare, adica ar fi accentuat problema, nu ar fi rezolvat-o.
   Doar in hero; pe banda deschisa de jos butonul inchis e corect. */
body.home .nv-hero-full .wp-block-button:not(.is-style-outline) > .wp-block-button__link,
body.page-id-26 .nv-hero-full .wp-block-button:not(.is-style-outline) > .wp-block-button__link {
	/* Aici fundalul e fotografia inchisa, deci butonul ramane
	   deschis — dar roz, nu crem: 11.4:1 cu text pruna. Rozul inchis
	   de pe restul paginii s-ar pierde in fotografie, exact problema
	   pe care am rezolvat-o adineauri. */
	background: #F5DED8 !important;
	background-image: none !important;
	color: #352228 !important;
	border-color: #F5DED8 !important;
	box-shadow: 0 14px 34px -18px rgba(0, 0, 0, 0.55);
}
body.home .nv-hero-full .wp-block-button:not(.is-style-outline) > .wp-block-button__link:hover,
body.page-id-26 .nv-hero-full .wp-block-button:not(.is-style-outline) > .wp-block-button__link:hover {
	background: #FAEDE8 !important;
	background-image: none !important;
	color: #201C1D !important;
	border-color: #FAEDE8 !important;
}

/* Steluttele sunt SVG cu culoarea scrisa inauntru, deci nu se pot
   recolora — se rescrie imaginea intreaga, cu acelasi desen. */
body.home .nv-statement::before,
body.home .nv-statement::after,
body.home .nv-statement .nv-inner--narrow::before,
body.home .nv-statement .nv-inner--narrow::after,
body.page-id-26 .nv-statement::before,
body.page-id-26 .nv-statement::after,
body.page-id-26 .nv-statement .nv-inner--narrow::before,
body.page-id-26 .nv-statement .nv-inner--narrow::after {
	background-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22%3E%3Cpath d=%22M12 0c1 8 4 11 12 12-8 1-11 4-12 12-1-8-4-11-12-12 8-1 11-4 12-12z%22 fill=%22%238D495A%22/%3E%3C/svg%3E") !important;
}
