/**
 * MCV ProTrust - sistem vizual (Faza 6).
 *
 * Baza este monocroma. Bronzul anodizat apare EXCLUSIV in stari interactive
 * si micro-accente: inel de focus, hover pe butonul secundar si pe link-uri
 * text, liniuta de sub titlul cardului, liniuta dinaintea etichetelor de
 * sectiune, sublinierea paginii active, asteriscul de camp obligatoriu.
 *
 * Nu se foloseste niciodata ca fundal de sectiune, umplere de buton primar
 * sau culoare de titlu.
 *
 * Fisierul se incarca dupa CSS-ul generat de Elementor, de aceea regulile
 * care concureaza cu stilurile per-element au nevoie de !important.
 *
 * Rollback: sterge acest fisier si enqueue-ul 'mcv-system'.
 */

:root {
	--mcv-white:      #FFFFFF;
	--mcv-surface:    #F7F7F5;
	--mcv-ink:        #141414;
	--mcv-ink-soft:   #464643;
	--mcv-ink-mute:   #6E6E69;
	--mcv-line:       #E4E4E2;
	--mcv-line-2:     #C6C6C1;
	--mcv-bronze:     #8A6A3B;
	--mcv-bronze-tint: rgba(138, 106, 59, .10);
	--mcv-bronze-deep: #6F5430;
	--mcv-bronze-light: #C9A063;
	--mcv-bronze-ring: rgba(138, 106, 59, .38);

	--mcv-font: "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;

	--mcv-r-card: 18px;
	--mcv-r-btn: 8px;

	--mcv-s1: 8px;
	--mcv-s2: 16px;
	--mcv-s3: 24px;
	--mcv-s4: 32px;
	--mcv-s5: 48px;
	--mcv-s6: 64px;
	--mcv-s7: 96px;
	--mcv-s8: 128px;

	--mcv-shadow-card: 0 1px 2px rgba(20, 20, 20, .04);
	--mcv-shadow-lift: 0 14px 34px rgba(20, 20, 20, .10);
	--mcv-ease: cubic-bezier(.16, .7, .22, 1);
}


/* ==================================================
   1. TIPOGRAFIE - Montserrat pe tot site-ul
   ================================================== */

body,
button,
input,
select,
textarea,
.elementor h1, .elementor h2, .elementor h3,
.elementor h4, .elementor h5, .elementor h6,
.elementor p, .elementor a, .elementor span, .elementor li,
.elementor-heading-title,
.e-heading-base,
.e-paragraph-base,
.e-button-base,
.mcv-custom-nav,
.mcv-footer,
.mcv-contact-form-section,
.mcv-hero-content,
.mcv-showroom {
	font-family: var(--mcv-font) !important;
}

/* Iconurile raman pe fontul lor */
i[class*="eicon"],
i[class*="fa-"],
.elementor-icon i,
.dashicons {
	font-family: inherit;
}

body {
	font-size: 16px;
	line-height: 1.6;
	color: var(--mcv-ink);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

/* Scara tipografica pe widgeturile Elementor */
.elementor-widget-heading .elementor-heading-title,
.e-heading-base {
	color: var(--mcv-ink) !important;
	letter-spacing: -.018em !important;
	line-height: 1.15 !important;
	text-wrap: balance;
}

.elementor-widget-text-editor,
.elementor-widget-text-editor p,
.e-paragraph-base {
	color: var(--mcv-ink-soft) !important;
	line-height: 1.62 !important;
}


/* ==================================================
   2. RITMUL SECTIUNILOR
   ================================================== */

.elementor-40 > .elementor-element > .elementor-container,
.elementor-40 > .e-con > .e-con-inner {
	padding-block: var(--mcv-s7);
}

@media (max-width: 1024px) {
	.elementor-40 > .elementor-element > .elementor-container,
	.elementor-40 > .e-con > .e-con-inner {
		padding-block: var(--mcv-s6);
	}
}

@media (max-width: 767px) {
	.elementor-40 > .elementor-element > .elementor-container,
	.elementor-40 > .e-con > .e-con-inner {
		padding-block: var(--mcv-s5);
	}
}


/* ==================================================
   3. BUTOANE
   ================================================== */

.elementor .elementor-button,
.e-button-base,
.mcv-btn {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	gap: 10px;
	border-radius: var(--mcv-r-btn) !important;
	border: 1px solid var(--mcv-ink) !important;
	background-color: var(--mcv-ink) !important;
	color: var(--mcv-white) !important;
	font-family: var(--mcv-font) !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	letter-spacing: .02em !important;
	line-height: 1.2 !important;
	padding: 14px 26px !important;
	text-decoration: none !important;
	box-shadow: inset 0 -2px 0 rgba(255, 255, 255, 0);
	transition: background-color .28s ease, color .28s ease,
	            border-color .28s ease, box-shadow .28s ease, transform .28s ease;
}

.elementor .elementor-button:hover,
.e-button-base:hover,
.mcv-btn:hover {
	box-shadow: inset 0 -2px 0 var(--mcv-bronze);
	transform: translateY(-1px);
}

.elementor .elementor-button:active,
.e-button-base:active,
.mcv-btn:active {
	transform: translateY(0);
}

/* Varianta secundara: contur, iar bronzul apare doar la hover */
.mcv-btn--ghost {
	background-color: transparent !important;
	color: var(--mcv-ink) !important;
	border-color: var(--mcv-line-2) !important;
	box-shadow: none;
}

.mcv-btn--ghost:hover {
	border-color: var(--mcv-bronze) !important;
	color: var(--mcv-bronze) !important;
	box-shadow: none;
	transform: none;
}

/* Link text cu sageata */
.mcv-link {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	padding: 6px 0;
	border-bottom: 1px solid var(--mcv-line-2);
	color: var(--mcv-ink);
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
	transition: color .28s ease, border-color .28s ease, gap .28s ease;
}

.mcv-link:hover {
	color: var(--mcv-bronze);
	border-bottom-color: var(--mcv-bronze);
	gap: 13px;
}

.mcv-link svg {
	width: 15px;
	height: 15px;
	fill: currentColor;
	flex: 0 0 auto;
}


/* ==================================================
   4. FOCUS - singura utilizare obligatorie a bronzului
   ================================================== */

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible,
.elementor-button:focus-visible,
.e-button-base:focus-visible {
	outline: 2px solid var(--mcv-bronze) !important;
	outline-offset: 3px !important;
	border-radius: var(--mcv-r-btn);
}


/* ==================================================
   5. CARDURI
   ================================================== */

.mcv-card {
	display: flex;
	flex-direction: column;
	background: var(--mcv-white);
	border: 1px solid var(--mcv-line);
	border-radius: var(--mcv-r-card);
	overflow: hidden;
	box-shadow: var(--mcv-shadow-card);
	text-decoration: none;
	color: inherit;
	transition: transform .4s var(--mcv-ease), box-shadow .4s ease, border-color .4s ease;
}

.mcv-card__media {
	position: relative;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: var(--mcv-surface);
}

.mcv-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform .6s var(--mcv-ease);
}

.mcv-card__body {
	padding: 20px 22px 24px;
}

.mcv-card__title {
	margin: 0;
	font-size: 19px;
	font-weight: 600;
	letter-spacing: -.01em;
	color: var(--mcv-ink);
}

.mcv-card__rule {
	display: block;
	width: 26px;
	height: 2px;
	margin: 12px 0;
	background: var(--mcv-line-2);
	transition: width .45s var(--mcv-ease), background-color .45s ease;
}

.mcv-card__text {
	margin: 0;
	font-size: 14.5px;
	line-height: 1.55;
	color: var(--mcv-ink-soft);
}

.mcv-card:hover {
	transform: translateY(-2px);
	box-shadow: var(--mcv-shadow-lift);
	border-color: var(--mcv-line-2);
}

.mcv-card:hover .mcv-card__media img { transform: scale(1.03); }
.mcv-card:hover .mcv-card__rule { width: 54px; background: var(--mcv-bronze); }

/* Imaginile din grilele Elementor existente primesc aceeasi rotunjire */
.e-20a53aa img,
.e-a847f39 img {
	border-radius: var(--mcv-r-card) !important;
}


/* ==================================================
   6. ETICHETA DE SECTIUNE (micro-accent bronz)
   ================================================== */

.mcv-eyebrow {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	margin: 0 0 14px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--mcv-ink-soft);
}

.mcv-eyebrow::before {
	content: "";
	width: 26px;
	height: 2px;
	background: var(--mcv-bronze);
	flex: 0 0 auto;
}


/* --------------------------------------------------
   6.1 Culoarea implicita a linkurilor
   `hello-elementor/assets/css/reset.css` impune `a { color: #c36 }` si
   `a:hover { color: #336 }` ca implicit al intregului site. Orice link care nu
   are o regula proprie mostenea acel roz: datele de contact de pe pagina
   Contact, acordul din formulare, linkurile din textele legale.

   Stabilim un implicit care apartine sistemului vizual. Navigatia, footerul,
   cardurile si butoanele isi pastreaza regulile proprii, mai specifice.
   -------------------------------------------------- */

a {
	color: var(--mcv-ink);
}

a:hover,
a:focus-visible {
	color: var(--mcv-bronze-deep);
}

/* ==================================================
   7. HEADER
   ================================================== */

#mcv-custom-header {
	border-bottom: 1px solid var(--mcv-line);
	background: rgba(255, 255, 255, .97);
	-webkit-backdrop-filter: saturate(140%) blur(8px);
	backdrop-filter: saturate(140%) blur(8px);
}

.mcv-custom-nav a,
.mcv-custom-nav .mcv-nav-placeholder {
	font-family: var(--mcv-font) !important;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--mcv-ink);
	padding-bottom: 6px;
	border-bottom: 2px solid transparent;
	transition: color .25s ease, border-color .25s ease;
}

.mcv-custom-nav > ul > li > a:hover {
	color: var(--mcv-ink-soft);
}

/* Elementele fara destinatie (Produse, Portofoliu, Despre noi) sunt randate de
   walker ca <span>, nu ca <a>. Ca sa stea pe aceeasi linie cu celelalte, trebuie
   sa fie exact acelasi tip de cutie ca un <a>: element inline, cu `line-height: 1`.

   `display: flex` le-ar scoate din line box-ul comun al elementului de lista:
   inaltimea lor ar deveni doar cea a continutului, in timp ce ancorele raman
   asezate pe strutul liniei, si cele doua grupuri ar iesi decalate pe verticala.
   De aceea raman inline.

   `line-height: 1` este obligatoriu si pe sageata din "Produse": fara el, glifa
   ei ar inalta line box-ul doar pentru acel element, si numai el ar cobori. */
.mcv-custom-nav > ul > li > .mcv-nav-placeholder,
.mcv-custom-nav > ul > li > .mcv-nav-placeholder > span {
	display: inline;
	line-height: 1;
	vertical-align: baseline;
}

/* "Devino partener" a devenit link in momentul in care a primit o destinatie.
   Ca link, prindea si `padding-bottom: 6px` plus bordura de 2px folosite pentru
   sublinierea elementelor de meniu, desi are chenar propriu si inaltime proprie.
   Le anulam, ca butonul sa arate si sa se alinieze exact ca inainte. */
.mcv-custom-nav .mcv-partner-btn {
	padding-bottom: 0 !important;
	border-bottom-width: 1px !important;
	border-bottom-style: solid !important;
}

/* Comutatorul RO/EN era ultimul element de nivelul intai ramas container flex
   (`display: flex` in style.css, pentru distanta de 7px dintre optiuni).
   Ca orice container flex, iesea din line box-ul comun: inaltimea lui devenea
   cea a continutului, iar `padding-bottom: 6px` plus bordura de 2px mostenite
   de linkuri se adaugau doar la el, asa ca tot grupul urca fata de restul
   meniului. Il aducem in acelasi model inline, iar distanta de 7px o dam prin
   margini pe separator. */
.mcv-custom-nav > ul > li.mcv-languages {
	display: block;
}

.mcv-custom-nav > ul > li.mcv-languages > a,
.mcv-custom-nav > ul > li.mcv-languages > span {
	display: inline;
	line-height: 1;
	vertical-align: baseline;
}

.mcv-custom-nav > ul > li.mcv-languages > span {
	margin: 0 7px;
}

/* Pagina curenta, marcata discret */
.mcv-custom-nav .current-menu-item > a,
.mcv-custom-nav .current_page_item > a,
.mcv-custom-nav .current-menu-ancestor > a {
	border-bottom-color: var(--mcv-bronze);
}

/* Dropdown cu fade, nu display:none -> block */
.mcv-products-dropdown {
	display: block !important;
	visibility: hidden;
	opacity: 0;
	transform: translateY(-6px);
	pointer-events: none;
	border: 1px solid var(--mcv-line) !important;
	border-radius: var(--mcv-r-btn) !important;
	box-shadow: 0 18px 45px rgba(20, 20, 20, .10) !important;
	transition: opacity .22s ease, transform .22s var(--mcv-ease), visibility .22s;
}

.mcv-products:hover > .mcv-products-dropdown,
.mcv-products:focus-within > .mcv-products-dropdown {
	visibility: visible;
	opacity: 1;
	transform: translateY(0);
	pointer-events: auto;
}

/* --------------------------------------------------
   Dispozitivele fara mouse: deschidere la atingere.

   Sub 1024px meniul de sus e inlocuit de sertar. Peste, pe o tableta lata —
   iPad Pro in peisaj — ramanea dropdown-ul de desktop, care se deschidea numai
   la `:hover`. Fara mouse nu se deschidea deloc.

   Aici, pe dispozitivele care raporteaza `hover: none`, scoatem deschiderea din
   mana lui `:hover` (care oricum se lipeste dupa atingere si ar face imposibila
   inchiderea) si o dam clasei pusa de `mcv-nav.js` la atingere.

   Cine are mouse nu e atins de regulile astea: un laptop cu ecran tactil
   raporteaza `hover: hover` si pastreaza comportamentul de acum. `:focus-within`
   ramane intact peste tot, pentru navigarea cu tastatura.
   -------------------------------------------------- */

@media (hover: none) {

	.mcv-custom-nav .mcv-products:hover > .mcv-products-dropdown {
		visibility: hidden;
		opacity: 0;
		transform: translateY(-6px);
		pointer-events: none;
	}

	.mcv-custom-nav .mcv-products.mcv-products--deschis > .mcv-products-dropdown,
	.mcv-custom-nav .mcv-products:focus-within > .mcv-products-dropdown {
		visibility: visible;
		opacity: 1;
		transform: translateY(0);
		pointer-events: auto;
	}

	/* Tinta de atingere pentru PRODUSE, cat sa fie apucata cu degetul. */
	.mcv-custom-nav .mcv-products > a,
	.mcv-custom-nav .mcv-products > .mcv-nav-placeholder {
		min-height: 44px;
		display: flex;
		align-items: center;
		cursor: pointer;
	}
}

.mcv-products-dropdown a {
	font-family: var(--mcv-font) !important;
	font-size: 14px;
	font-weight: 400;
	text-transform: none;
	letter-spacing: 0;
	border-bottom: 0;
	color: var(--mcv-ink);
	transition: background-color .2s ease, color .2s ease;
}

.mcv-products-dropdown a:hover {
	background: var(--mcv-surface);
	color: var(--mcv-ink);
}

.mcv-divider { background: var(--mcv-line) !important; }

.mcv-partner-btn {
	border-radius: var(--mcv-r-btn) !important;
	background: var(--mcv-ink) !important;
	border-color: var(--mcv-ink) !important;
	color: var(--mcv-white) !important;
	text-transform: uppercase;
	transition: background-color .28s ease, color .28s ease, box-shadow .28s ease;
	box-shadow: inset 0 -2px 0 rgba(255, 255, 255, 0);
}

.mcv-partner-btn:hover {
	background: var(--mcv-ink) !important;
	color: var(--mcv-white) !important;
	box-shadow: inset 0 -2px 0 var(--mcv-bronze);
}

.mcv-languages a { color: var(--mcv-ink-soft); border-bottom: 0; }
.mcv-languages a:hover { color: var(--mcv-ink); }


/* ==================================================
   8. FORMULAR
   ================================================== */

.mcv-contact-form-section {
	width: min(880px, calc(100% - 40px));
}

.mcv-contact-form-section h2 {
	font-size: clamp(26px, 3vw, 34px) !important;
	font-weight: 600 !important;
	letter-spacing: -.02em !important;
	color: var(--mcv-ink) !important;
	margin-bottom: var(--mcv-s4) !important;
}

.mcv-field label {
	font-size: 13px !important;
	font-weight: 600 !important;
	letter-spacing: .01em;
	color: var(--mcv-ink) !important;
	margin-bottom: var(--mcv-s1) !important;
}

.mcv-field label span { color: var(--mcv-bronze); }

.mcv-field input[type="text"],
.mcv-field input[type="tel"],
.mcv-field input[type="email"],
.mcv-field select,
.mcv-field textarea {
	border: 1px solid var(--mcv-line-2) !important;
	border-radius: var(--mcv-r-btn) !important;
	background: var(--mcv-white) !important;
	color: var(--mcv-ink) !important;
	font-family: var(--mcv-font) !important;
	font-size: 16px !important;
	padding: 13px 15px !important;
	transition: border-color .25s ease, box-shadow .25s ease;
}

.mcv-field input:focus,
.mcv-field select:focus,
.mcv-field textarea:focus {
	border-color: var(--mcv-bronze) !important;
	box-shadow: 0 0 0 3px var(--mcv-bronze-ring) !important;
	outline: none !important;
}

.mcv-file-info { color: var(--mcv-ink-soft) !important; font-size: 12.5px !important; }

.mcv-submit {
	border-radius: var(--mcv-r-btn) !important;
	background: var(--mcv-ink) !important;
	color: var(--mcv-white) !important;
	font-family: var(--mcv-font) !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	letter-spacing: .02em !important;
	padding: 15px 32px !important;
	border: 1px solid var(--mcv-ink) !important;
	box-shadow: inset 0 -2px 0 rgba(255, 255, 255, 0);
	transition: box-shadow .28s ease, transform .28s ease, opacity .28s ease;
}

.mcv-submit:hover {
	opacity: 1 !important;
	box-shadow: inset 0 -2px 0 var(--mcv-bronze);
	transform: translateY(-1px);
}

.mcv-submit[aria-busy="true"] { opacity: .6 !important; pointer-events: none; }

.mcv-message {
	border-radius: var(--mcv-r-btn) !important;
	font-size: 14.5px !important;
}

.mcv-gdpr { color: var(--mcv-ink-soft); font-size: 13.5px !important; }


/* ==================================================
   9. FOOTER
   ================================================== */

.mcv-footer {
	background: var(--mcv-ink) !important;
	font-family: var(--mcv-font) !important;
	padding: var(--mcv-s7) var(--mcv-s4) var(--mcv-s4) !important;
}

.mcv-footer-inner {
	max-width: 1200px;
	gap: var(--mcv-s5) !important;
}

.mcv-footer-links a,
.mcv-footer-links .mcv-nav-placeholder {
	font-size: 14px;
	color: rgba(255, 255, 255, .78);
	transition: color .25s ease;
}

.mcv-footer-links a:hover { color: #fff; opacity: 1; }

.mcv-footer-contact { color: rgba(255, 255, 255, .72); font-size: 14px; }
.mcv-footer-contact a { color: rgba(255, 255, 255, .78); }
.mcv-footer-contact a:hover { color: #fff; }

.mcv-footer-bottom { border-top-color: rgba(255, 255, 255, .14) !important; }
.mcv-footer-legal a { transition: color .25s ease; }
.mcv-footer-legal a:hover { color: #fff; }

.mcv-footer-col-title {
	margin: 0 0 var(--mcv-s2);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, .55);
	display: flex;
	align-items: center;
	gap: 10px;
}

.mcv-footer-col-title::before {
	content: "";
	width: 20px;
	height: 2px;
	background: var(--mcv-bronze);
	flex: 0 0 auto;
}


/* ==================================================
   10. SHOWROOM - aceeasi rotunjire ca restul cardurilor
   ================================================== */

.mcv-showroom { border-radius: var(--mcv-r-card); }


/* ==================================================
   11. EXCEPTII - elemente pe fundal inchis
   Specificitate mai mare, ca sa bata regulile generale de mai sus.
   ================================================== */

#mcv-hero-zoom .e-heading-base,
#mcv-hero-zoom h1,
#mcv-hero-zoom h2 {
	color: #ffffff !important;
}

#mcv-premium-hero .mcv-hero-content,
#mcv-premium-hero .mcv-hero-content h1,
#mcv-premium-hero .mcv-hero-content p,
#mcv-premium-hero .mcv-hero-kicker {
	color: #ffffff !important;
}

.mcv-showroom .mcv-showroom-text,
.mcv-showroom .mcv-showroom-sub {
	color: #ffffff !important;
}

.mcv-showroom .mcv-showroom-sub { color: rgba(255, 255, 255, .8) !important; }


/* ==================================================
   12. MISCARE REDUSA
   ================================================== */

@media (prefers-reduced-motion: reduce) {
	.mcv-card,
	.mcv-card__media img,
	.mcv-card__rule,
	.mcv-products-dropdown,
	.elementor .elementor-button,
	.e-button-base,
	.mcv-btn,
	.mcv-link,
	.mcv-submit {
		transition: none !important;
	}

	.mcv-card:hover { transform: none; }
	.mcv-card:hover .mcv-card__media img { transform: none; }
}


/* ==================================================
   13. PAGINA CONTACT
   ================================================== */

.mcv-contact-lead {
	width: min(880px, calc(100% - 40px));
	margin: 0 auto var(--mcv-s5);
	text-align: center;
}

.mcv-contact-lead .mcv-eyebrow { justify-content: center; }

.mcv-contact-h {
	margin: 0 0 var(--mcv-s2);
	font-size: clamp(30px, 4vw, 46px) !important;
	font-weight: 600 !important;
	letter-spacing: -.025em !important;
	line-height: 1.08 !important;
	color: var(--mcv-ink) !important;
	text-wrap: balance;
}

.mcv-contact-intro {
	max-width: 54ch;
	margin: 0 auto;
	font-size: 18px;
	line-height: 1.6;
	color: var(--mcv-ink-soft);
}

.mcv-contact-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
	gap: 1px;
	width: min(880px, calc(100% - 40px));
	margin: 0 auto;
	background: var(--mcv-line);
	border: 1px solid var(--mcv-line);
	border-radius: var(--mcv-r-card);
	overflow: hidden;
}

.mcv-info {
	display: flex;
	flex-direction: column;
	gap: var(--mcv-s1);
	padding: var(--mcv-s3) var(--mcv-s3) var(--mcv-s4);
	background: var(--mcv-surface);
}

.mcv-info__label {
	font-size: 11.5px;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--mcv-ink-soft);
}

.mcv-info__value {
	font-size: 15px;
	line-height: 1.55;
	color: var(--mcv-ink);
}

.mcv-info__value a {
	color: var(--mcv-ink);
	text-decoration: none;
	border-bottom: 1px solid var(--mcv-line-2);
	transition: color .25s ease, border-color .25s ease;
}

.mcv-info__value a:hover {
	color: var(--mcv-bronze);
	border-bottom-color: var(--mcv-bronze);
}

.mcv-map-block {
	width: min(1100px, calc(100% - 40px));
	margin: 0 auto;
}

.mcv-map-block .mcv-eyebrow { justify-content: center; }

.mcv-map {
	border-radius: var(--mcv-r-card);
	overflow: hidden;
	border: 1px solid var(--mcv-line);
	aspect-ratio: 21 / 9;
	min-height: 320px;
	/* Fara aceasta limita, pe ecranele sub 373 px latimea se calculeaza din
	   min-height si din aspect-ratio, nu din parinte, iar harta iese lateral
	   din pagina. Verificat la 390 px: documentul ajungea la 404 px. */
	max-width: 100%;
}

.mcv-map iframe { width: 100%; height: 100%; border: 0; display: block; }

/* Intre .mcv-map si iframe sta cartonul de consimtamant (.mcv-extern), care
   dupa acord ramane ca rama a hartii. Cartonul avea numai `min-height`, deci
   inaltimea lui ramanea `auto`: procentul de pe iframe nu avea la ce se
   raporta, iar iframe-ul cadea la inaltimea implicita a unui iframe, 150px.
   Se vedea o banda ingusta de harta sus si alb dedesubt — 321px de alb la
   1920. Pe telefon era pe dos: cartonul de 420px si iframe-ul de 300px
   depaseau containerul de 280px si harta iesea taiata de `overflow: hidden`.

   Facem containerul flexibil: cartonul se intinde exact pe inaltimea lui,
   capata o inaltime definita, iar `height: 100%` de pe iframe are in sfarsit
   un reper. Regula atarna de `.mcv-map`, deci nu atinge turul virtual din
   showroom si niciun alt iframe de pe site. */

.mcv-map { display: flex; }

.mcv-map > .mcv-extern {
	flex: 1 1 auto;
	width: 100%;
	min-height: 0;
}

@media (max-width: 767px) {
	.mcv-map { aspect-ratio: 4 / 3; min-height: 280px; }
	.mcv-info { padding: var(--mcv-s3) var(--mcv-s3); }
}


/* ==================================================
   14. FOOTER PE PATRU COLOANE
   ================================================== */

.mcv-footer-inner {
	display: grid !important;
	grid-template-columns: 1.6fr 1fr 1fr 1.3fr !important;
	gap: var(--mcv-s5) var(--mcv-s4) !important;
	align-items: start;
}

.mcv-footer-tag {
	margin: var(--mcv-s3) 0 0;
	max-width: 34ch;
	font-size: 14px;
	line-height: 1.6;
	color: rgba(255, 255, 255, .62);
}

.mcv-footer-col ul,
.mcv-footer-col li {
	margin: 0;
	padding: 0;
	list-style: none;
}

.mcv-footer-col ul {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.mcv-footer-contact div { margin-bottom: 6px; }
.mcv-footer-hours { margin-top: var(--mcv-s2) !important; color: rgba(255, 255, 255, .55); }

.mcv-footer-bottom {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--mcv-s2) var(--mcv-s4);
	max-width: 1200px;
	margin: var(--mcv-s5) auto 0;
	padding-top: var(--mcv-s3);
	text-align: left !important;
}

.mcv-footer-legal { margin-bottom: 0 !important; justify-content: flex-start !important; }

@media (max-width: 1024px) {
	.mcv-footer-inner { grid-template-columns: 1fr 1fr !important; }
}

@media (max-width: 640px) {
	.mcv-footer-inner { grid-template-columns: 1fr !important; text-align: left !important; }
	.mcv-footer-logo { margin: 0 !important; }
	.mcv-footer-col ul { align-items: flex-start !important; }
	.mcv-footer-bottom { flex-direction: column; align-items: flex-start; }
	.mcv-footer-legal { justify-content: flex-start !important; }
}


/* ==================================================
   15. SECTIUNI SI GRILE (prima pagina + CTA produs)
   ================================================== */

.mcv-sec {
	width: 100%;
	padding-block: var(--mcv-s7);
	padding-inline: var(--mcv-s3);
}

.mcv-sec--produse { background: var(--mcv-white); }
.mcv-sec--proiecte { background: var(--mcv-surface); }

.mcv-sec__head {
	max-width: 62ch;
	margin: 0 auto var(--mcv-s5);
	text-align: center;
}

.mcv-sec__title {
	margin: 0;
	font-size: clamp(28px, 3.4vw, 42px) !important;
	font-weight: 600 !important;
	letter-spacing: -.025em !important;
	line-height: 1.1 !important;
	color: var(--mcv-ink) !important;
	text-wrap: balance;
}

.mcv-sec__intro {
	margin: var(--mcv-s2) auto 0;
	max-width: 58ch;
	font-size: 17px;
	line-height: 1.62;
	color: var(--mcv-ink-soft);
}

.mcv-grid {
	display: grid;
	gap: var(--mcv-s3);
	max-width: 1400px;
	margin: 0 auto;
}

.mcv-grid--4 { grid-template-columns: repeat(4, 1fr); }
.mcv-grid--3 { grid-template-columns: repeat(3, 1fr); max-width: 1180px; }

.mcv-card--static { cursor: default; }
.mcv-card--static:hover { transform: none; box-shadow: var(--mcv-shadow-card); border-color: var(--mcv-line); }
.mcv-card--static:hover .mcv-card__media img { transform: none; }
.mcv-card--static:hover .mcv-card__rule { width: 26px; background: var(--mcv-line-2); }

/* CTA la finalul paginilor de produs */
.mcv-cta {
	background: var(--mcv-surface);
	border-top: 1px solid var(--mcv-line);
}

.mcv-cta__inner {
	max-width: 58ch;
	margin: 0 auto;
	text-align: center;
}

.mcv-cta__inner .mcv-eyebrow { justify-content: center; }

.mcv-cta__title {
	margin: 0 0 var(--mcv-s2);
	font-size: clamp(26px, 3.2vw, 38px) !important;
	font-weight: 600 !important;
	letter-spacing: -.025em !important;
	line-height: 1.12 !important;
	color: var(--mcv-ink) !important;
	text-wrap: balance;
}

.mcv-cta__text {
	margin: 0 0 var(--mcv-s4);
	font-size: 17px;
	line-height: 1.6;
	color: var(--mcv-ink-soft);
}

@media (max-width: 1200px) {
	.mcv-grid--4 { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 1024px) {
	.mcv-sec { padding-block: var(--mcv-s6); }
	.mcv-sec__head { margin-bottom: var(--mcv-s4); }
	.mcv-grid--4,
	.mcv-grid--3 { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 620px) {
	.mcv-sec { padding-block: var(--mcv-s5); padding-inline: var(--mcv-s2); }
	.mcv-grid--4,
	.mcv-grid--3 { grid-template-columns: 1fr; }
}


/* Showroomul sta acum intr-o sectiune proprie; ii dam aceeasi latime ca grilele */
.mcv-sec--showroom .mcv-showroom {
	max-width: 1180px;
	margin: 0 auto;
	border: 1px solid var(--mcv-line);
}


/* ==================================================
   16. RAFINARE VIZUALA
   Bronzul devine vizibil in repaus, nu doar la hover, si textul secundar
   primeste contrast real. Structura ramane neschimbata.
   ================================================== */

/* --- 16.1 Text: contrast --- */

body { color: var(--mcv-ink); }

.elementor-widget-text-editor,
.elementor-widget-text-editor p,
.e-paragraph-base,
.mcv-card__text,
.mcv-sec__intro,
.mcv-contact-intro,
.mcv-cta__text {
	color: var(--mcv-ink-soft) !important;
}

/* Doar etichetele si notele raman mai calme */
.mcv-eyebrow,
.mcv-info__label,
.mcv-file-info,
.hint {
	color: var(--mcv-ink-mute);
}

.mcv-sec__intro,
.mcv-contact-intro,
.mcv-cta__text {
	font-size: 17.5px;
	line-height: 1.65;
}

.mcv-card__text {
	font-size: 15px !important;
	line-height: 1.6 !important;
}


/* --- 16.2 Eticheta de sectiune: bronz mai prezent --- */

.mcv-eyebrow {
	gap: 14px;
	font-size: 12.5px;
	letter-spacing: .16em;
	color: var(--mcv-bronze-deep);
}

.mcv-eyebrow::before {
	width: 34px;
	height: 3px;
	background: var(--mcv-bronze);
}


/* --- 16.3 Carduri: prezenta si bronz vizibil in repaus --- */

.mcv-card {
	border-color: var(--mcv-line);
}

.mcv-card__body {
	padding: 24px 26px 28px !important;
}

.mcv-card__title {
	font-size: 20px !important;
	font-weight: 600 !important;
	letter-spacing: -.015em !important;
	line-height: 1.28 !important;
	color: var(--mcv-ink) !important;
	position: relative;
}

/* Liniuta bronz se vede si fara hover */
.mcv-card__rule {
	width: 32px !important;
	height: 2px !important;
	margin: 14px 0 14px !important;
	background: var(--mcv-bronze) !important;
	transition: width .45s var(--mcv-ease);
}

.mcv-card:hover .mcv-card__rule { width: 64px !important; }

/* Toate cardurile poarta liniuta bronz; diferenta o face sageata */
.mcv-card--static .mcv-card__rule {
	background: var(--mcv-bronze) !important;
	width: 26px !important;
}

/* Sageata bronz doar pe cardurile care duc undeva */
a.mcv-card .mcv-card__title { padding-right: 28px; }

a.mcv-card .mcv-card__title::after {
	content: "";
	position: absolute;
	right: 4px;
	top: .58em;
	width: 8px;
	height: 8px;
	border-top: 2px solid var(--mcv-bronze);
	border-right: 2px solid var(--mcv-bronze);
	transform: rotate(45deg);
	transition: right .32s var(--mcv-ease);
}

a.mcv-card:hover .mcv-card__title::after { right: 0; }

a.mcv-card:hover {
	transform: translateY(-3px);
	border-color: var(--mcv-line-2);
	box-shadow: 0 18px 40px rgba(20, 20, 20, .12);
}

a.mcv-card:hover .mcv-card__media img { transform: scale(1.04); }


/* --- 16.4 CTA secundare si linkuri text --- */

.mcv-btn--ghost {
	color: var(--mcv-bronze-deep) !important;
	border-color: var(--mcv-line-2) !important;
}

.mcv-btn--ghost:hover {
	color: var(--mcv-bronze-deep) !important;
	border-color: var(--mcv-bronze) !important;
	background: var(--mcv-bronze-tint) !important;
}

.mcv-link {
	color: var(--mcv-bronze-deep);
	border-bottom-color: var(--mcv-bronze);
}

.mcv-link:hover {
	color: var(--mcv-bronze);
	border-bottom-color: var(--mcv-bronze);
}


/* --- 16.5 Pagina Contact --- */

.mcv-info__label {
	color: var(--mcv-bronze-deep);
	font-size: 11.5px;
	letter-spacing: .15em;
}

.mcv-info__value { color: var(--mcv-ink); font-size: 15.5px; }

.mcv-info {
	border-left: 2px solid transparent;
	transition: border-color .3s ease, background-color .3s ease;
}

.mcv-info:hover {
	border-left-color: var(--mcv-bronze);
	background: var(--mcv-white);
}

.mcv-field label { color: var(--mcv-ink) !important; font-size: 13.5px !important; }
.mcv-gdpr { color: var(--mcv-ink-soft) !important; }
.mcv-file-info { font-size: 13px !important; }


/* --- 16.6 Footer: lizibilitate si bronz discret --- */

.mcv-footer-tag { color: rgba(255, 255, 255, .80) !important; font-size: 14.5px !important; }

.mcv-footer-links a,
.mcv-footer-links .mcv-nav-placeholder,
.mcv-footer-contact,
.mcv-footer-contact a {
	color: rgba(255, 255, 255, .88) !important;
	font-size: 14.5px !important;
}

.mcv-footer-links a:hover,
.mcv-footer-contact a:hover {
	color: var(--mcv-bronze-light) !important;
}

.mcv-footer-hours { color: rgba(255, 255, 255, .62) !important; }

.mcv-footer-col-title {
	color: rgba(255, 255, 255, .72) !important;
	font-size: 12.5px !important;
	letter-spacing: .16em !important;
}

.mcv-footer-col-title::before {
	width: 28px !important;
	height: 3px !important;
	background: var(--mcv-bronze-light) !important;
}

.mcv-footer-legal a { color: rgba(255, 255, 255, .68) !important; }
.mcv-footer-legal a:hover { color: var(--mcv-bronze-light) !important; }
.mcv-footer-copy { color: rgba(255, 255, 255, .58) !important; }

.mcv-footer-bottom { border-top-color: rgba(255, 255, 255, .16) !important; }


/* --- 16.7 Header: pagina activa mai vizibila --- */

.mcv-custom-nav .current-menu-item > a,
.mcv-custom-nav .current_page_item > a,
.mcv-custom-nav .current-menu-ancestor > a {
	border-bottom-width: 3px;
	border-bottom-color: var(--mcv-bronze);
}

.mcv-products-dropdown a:hover {
	background: var(--mcv-surface);
	box-shadow: inset 3px 0 0 var(--mcv-bronze);
}


/* --- 16.8 Sectiunea de proiecte: separare mai clara --- */

.mcv-sec--proiecte { border-top: 1px solid var(--mcv-line); }


@media (prefers-reduced-motion: reduce) {
	.mcv-card__rule,
	a.mcv-card .mcv-card__title::after,
	.mcv-info { transition: none !important; }
}


/* ==================================================
   17. ALINIEREA CARDURILOR IN GRILA
   Toate cardurile dintr-un rand pornesc descrierile de la aceeasi cota:
   zona titlului rezerva doua randuri, indiferent cat ocupa efectiv.
   ================================================== */

.mcv-grid { align-items: stretch; }

.mcv-card { height: 100%; }

.mcv-card__body {
	display: flex !important;
	flex-direction: column;
	flex: 1 1 auto;
}

.mcv-card__title {
	display: flex;
	align-items: flex-start;
	min-height: calc(2 * 1.28em);
	margin: 0 !important;
	text-wrap: balance;
}

.mcv-card__rule { flex: 0 0 auto; }

.mcv-card__text {
	flex: 1 1 auto;
	color: #3A3A38 !important;
	font-weight: 500 !important;
}


/* ==================================================
   18. PRIMA PAGINA - HEADER
   Headerul a fost readus la varianta clasica: alb permanent, sigla inchisa,
   meniu negru, exact aceeasi bara ca pe paginile interioare. Nu mai exista
   stare transparenta, clasa de stare, sigla alba sau scriptul care le comuta,
   deci nu mai exista nici flash la incarcare, nici dropdown alb pe alb
   inainte de derulare.

   Prima pagina nu mai are nicio regula proprie de culoare sau de pozitionare
   a headerului. Singurul lucru pastrat din vechiul bloc este anularea
   spatiului de sus al continutului, ca HERO-ul sa inceapa imediat sub bara.
   ================================================== */

body.home .site-main,
body.home .page-content {
	padding-top: 0 !important;
	margin-top: 0 !important;
}

/* ==================================================
   19. STARI DE NAVIGATIE
   Un singur context: bara alba, text negru, pe toate paginile.
   Accentul bronz vine din subliniere, la hover si pe pagina curenta.
   ================================================== */

/* --- 19.1 Linkuri --- */

.mcv-custom-nav > ul > li > a,
.mcv-custom-nav > ul > li > .mcv-nav-placeholder {
	color: var(--mcv-ink) !important;
}

.mcv-custom-nav > ul > li > a:hover,
.mcv-custom-nav > ul > li > a:focus-visible {
	color: var(--mcv-bronze-deep) !important;
	border-bottom-color: var(--mcv-bronze) !important;
}

/* Comutatorul de limba */
.mcv-languages a {
	color: var(--mcv-ink-mute) !important;
}

.mcv-languages a:hover {
	color: var(--mcv-bronze-deep) !important;
}

.mcv-languages span {
	color: var(--mcv-line-2) !important;
}

/* Butonul "Devino partener" nu isi schimba culoarea textului la hover */
.mcv-custom-nav > ul > li > a.mcv-partner-btn,
.mcv-custom-nav > ul > li > a.mcv-partner-btn:hover,
.mcv-custom-nav > ul > li > .mcv-partner-btn {
	color: #ffffff !important;
	border-bottom-color: var(--mcv-ink) !important;
}


/* --- 19.2 Elementele fara destinatie nu simuleaza interactiune --- */

.mcv-custom-nav .mcv-nav-placeholder { cursor: default; }

/* Parintele "Produse" deschide dropdownul, deci primeste totusi sublinierea */
.mcv-products:hover > .mcv-nav-placeholder,
.mcv-products:focus-within > .mcv-nav-placeholder {
	border-bottom-color: var(--mcv-bronze) !important;
}


/* --- 19.3 Dropdown --- */

.mcv-products-dropdown a { color: var(--mcv-ink) !important; }

.mcv-products-dropdown a:hover,
.mcv-products-dropdown a:focus-visible {
	color: var(--mcv-bronze-deep) !important;
	background: var(--mcv-surface) !important;
}

.mcv-products-dropdown .mcv-nav-placeholder { color: var(--mcv-ink-mute) !important; }


/* ==================================================
   20. MOBIL SI TABLETA - sistemul vizual in drawer si in blocurile noi
   Singura zona care ramasese pe stilurile vechi era meniul mobil.
   ================================================== */

@media (max-width: 1024px) {

	/* --- 20.1 Drawerul: tipografie, culori si bronz --- */

	.mcv-mobile-nav {
		padding: 22px 22px 56px !important;
		background: var(--mcv-white) !important;
	}

	.mcv-mobile-nav a,
	.mcv-mobile-nav .mcv-nav-placeholder {
		font-family: var(--mcv-font) !important;
		font-size: 16px !important;
		font-weight: 600 !important;
		letter-spacing: -.005em !important;
		line-height: 1.35 !important;
		color: var(--mcv-ink) !important;
		border-bottom: 1px solid var(--mcv-line) !important;
		padding: 15px 0 !important;
		transition: color .2s ease, box-shadow .2s ease, padding-left .2s ease;
	}

	.mcv-mobile-nav .mcv-nav-placeholder {
		color: var(--mcv-ink-mute) !important;
		cursor: default;
	}

	.mcv-mobile-nav a:hover,
	.mcv-mobile-nav a:active,
	.mcv-mobile-nav a:focus-visible {
		color: var(--mcv-bronze-deep) !important;
	}

	/* Sublista de produse, marcata cu o linie bronz.

	   Aici se repara si bugul care facea meniul PRODUSE inaccesibil pe telefon.
	   Dropdown-ul de pe desktop nu se mai ascunde cu `display: none`, ca la
	   inceput, ci cu `visibility`, `opacity`, `transform` si `pointer-events`,
	   si se arata la `:hover`. Suprascrierile pentru sertarul mobil ramasesera
	   scrise pentru mecanismul vechi: readuceau `display`, dar nu si celelalte
	   patru. Iar `:hover` nu se intampla niciodata la atingere.

	   Rezultatul pe telefon: lista de produse era in pagina si ocupa loc, dar
	   invizibila (`opacity: 0`, `visibility: hidden`) si imposibil de apasat
	   (`pointer-events: none`). Se vedea „PRODUSE", iar dedesubt un gol.

	   In sertar lista este intotdeauna desfasurata, deci o aducem la starea
	   vizibila si atingibila, fara tranzitie — nu are ce sa animeze. Regula
	   atarna de `.mcv-mobile-nav`, care deasupra pragului este `display: none`,
	   deci dropdown-ul de pe desktop ramane exact cum era. */
	.mcv-mobile-nav .mcv-products-dropdown {
		border-left: 2px solid var(--mcv-bronze) !important;
		padding: 2px 0 6px 16px !important;
		margin: 4px 0 12px !important;

		visibility: visible !important;
		opacity: 1 !important;
		transform: none !important;
		pointer-events: auto !important;
		transition: none !important;
	}

	.mcv-mobile-nav .mcv-products-dropdown a,
	.mcv-mobile-nav .mcv-products-dropdown .mcv-nav-placeholder {
		font-size: 15px !important;
		font-weight: 400 !important;
		padding: 11px 0 !important;
		border-bottom-color: rgba(20, 20, 20, .06) !important;
	}

	.mcv-mobile-nav .mcv-divider {
		background: var(--mcv-line) !important;
		margin: 8px 0 !important;
	}

	/* Pagina curenta */
	.mcv-mobile-nav .current-menu-item > a,
	.mcv-mobile-nav .current_page_item > a,
	.mcv-mobile-nav .current-menu-ancestor > a {
		color: var(--mcv-bronze-deep) !important;
		box-shadow: inset 3px 0 0 var(--mcv-bronze);
		padding-left: 12px !important;
	}

	/* Butonul de partener, ca butonul primar din sistem */
	.mcv-mobile-nav .mcv-partner-btn {
		display: inline-flex !important;
		min-height: 48px !important;
		margin-top: 24px !important;
		padding: 0 24px !important;
		border: 1px solid var(--mcv-ink) !important;
		border-radius: var(--mcv-r-btn) !important;
		background: var(--mcv-ink) !important;
		color: #ffffff !important;
		font-size: 13px !important;
		font-weight: 600 !important;
		letter-spacing: .04em !important;
		box-shadow: inset 0 -2px 0 var(--mcv-bronze);
	}

	.mcv-mobile-nav .mcv-languages {
		gap: 12px !important;
		margin-top: 24px !important;
	}

	.mcv-mobile-nav .mcv-languages a {
		border-bottom: 0 !important;
		padding: 0 !important;
		font-size: 13px !important;
		font-weight: 600 !important;
		color: var(--mcv-ink-mute) !important;
	}

	.mcv-mobile-nav .mcv-languages span {
		color: var(--mcv-line-2) !important;
		border-bottom: 0 !important;
	}

	/* Hamburgerul: aceeasi grosime, culoare din sistem */
	.mcv-nav-toggle span { background: var(--mcv-ink); }


	/* --- 20.2 Blocurile noi pe tableta --- */

	.mcv-sec__intro,
	.mcv-contact-intro,
	.mcv-cta__text { font-size: 16.5px; }

	.mcv-card__body { padding: 22px 22px 24px !important; }
}


@media (max-width: 767px) {

	/* Antetul de sectiune si spatiile */
	.mcv-sec__head { margin-bottom: var(--mcv-s4); }
	.mcv-sec__intro,
	.mcv-contact-intro,
	.mcv-cta__text { font-size: 16px; }

	/* Datele de contact: fiecare celula pe rand, cu bara bronz permanenta */
	.mcv-contact-grid { grid-template-columns: 1fr; }

	.mcv-info {
		border-left: 2px solid var(--mcv-bronze);
		padding: var(--mcv-s3) var(--mcv-s3) var(--mcv-s3) 20px;
	}

	.mcv-info:hover { background: var(--mcv-surface); }

	/* Footer: liniutele bronz raman, textul ramane lizibil */
	.mcv-footer-col-title { margin-bottom: var(--mcv-s2) !important; }
	.mcv-footer-tag { max-width: none; }

	/* CTA-ul de pe paginile de produs: buton pe toata latimea */
	.mcv-cta .mcv-btn { width: 100%; }
	.mcv-submit { width: 100%; }
}


@media (max-width: 620px) {

	/* La o singura coloana rezervarea de doua randuri lasa gol inutil */
	.mcv-card__title {
		min-height: 0;
		margin-bottom: 0 !important;
	}

	.mcv-card__body { padding: 20px 20px 22px !important; }
	.mcv-card__title { font-size: 19px !important; }
	.mcv-card__rule { margin: 12px 0 !important; }
}


/* ==================================================
   21. FOOTER PE MOBIL
   style.css centra tot sub 767px, iar sistemul alinia la stanga sub 640px.
   Intre cele doua praguri rezulta un amestec. Aici stabilim o singura regula.
   ================================================== */

@media (max-width: 767px) {

	.mcv-footer {
		padding: var(--mcv-s6) var(--mcv-s3) var(--mcv-s4) !important;
	}

	.mcv-footer-inner {
		grid-template-columns: 1fr !important;
		gap: var(--mcv-s4) !important;
		text-align: left !important;
		justify-items: start !important;
	}

	/* mcv-responsive.css impune 26px pe tot intervalul de sub 1025px. Cand cele
	   patru blocuri sunt suprapuse au nevoie de mai mult aer, deci ridicam
	   distanta dintre randuri printr-un selector mai specific. */
	.mcv-footer .mcv-footer-inner {
		row-gap: var(--mcv-s4) !important;
		column-gap: 0 !important;
	}

	.mcv-footer-brand { width: 100%; }

	/* style.css centreaza sub 767px continutul coloanelor Produse si Companie,
	   in timp ce brandul si Contact raman la stanga. De aici venea decalajul:
	   anularea trebuie facuta pe containerul coloanei, nu doar pe lista din ea. */
	.mcv-footer-links {
		align-items: flex-start !important;
		text-align: left !important;
	}

	/* Toate cele patru blocuri pornesc din aceeasi margine a grilei */
	.mcv-footer-brand,
	.mcv-footer-col {
		justify-self: start !important;
		max-width: 100%;
	}

	.mcv-footer-logo-link { display: inline-block !important; }

	.mcv-footer-logo {
		width: 190px !important;
		max-width: 62% !important;
		height: auto !important;
		margin: 0 !important;
	}

	.mcv-footer-tag {
		margin-top: var(--mcv-s2) !important;
		max-width: 46ch;
	}

	.mcv-footer-col { width: 100%; }

	.mcv-footer-col ul,
	.mcv-footer-links ul {
		align-items: flex-start !important;
		gap: 12px !important;
	}

	.mcv-footer-col-title { margin-bottom: var(--mcv-s2) !important; }

	.mcv-footer-contact div { margin-bottom: 8px !important; }
	.mcv-footer-contact div:last-child { margin-bottom: 0 !important; }

	/* Randul de jos: legal, apoi copyright, ambele aliniate stanga */
	.mcv-footer-bottom {
		display: flex !important;
		flex-direction: column !important;
		align-items: flex-start !important;
		gap: var(--mcv-s2) !important;
		margin-top: var(--mcv-s5) !important;
		padding-top: var(--mcv-s3) !important;
		text-align: left !important;
	}

	.mcv-footer-legal {
		justify-content: flex-start !important;
		gap: 8px 18px !important;
		margin-bottom: 0 !important;
	}

	.mcv-footer-copy { text-align: left !important; }
}

@media (max-width: 620px) {

	/* Sub acest prag `.mcv-sec` trece la 16px laterale. Footerul foloseste
	   aceeasi valoare, ca marginea din stanga sa fie continua pe toata pagina. */
	.mcv-footer {
		padding: var(--mcv-s6) var(--mcv-s2) var(--mcv-s4) !important;
	}

	/* Textul de sub sigla poate folosi toata latimea disponibila */
	.mcv-footer-tag { max-width: none !important; }

	.mcv-footer .mcv-footer-inner { row-gap: var(--mcv-s4) !important; }

	.mcv-footer-bottom {
		margin-top: var(--mcv-s4) !important;
		gap: 10px !important;
	}
}


/* ==================================================
   22. PRIMA PAGINA - HERO LIPIT SUB HEADER
   Containerul Elementor care gazduieste HERO-ul are padding propriu sus, iar
   acesta se vedea ca o banda in plus sub bara alba. Il anulam doar pentru
   primul container, doar pe prima pagina. Structura, animatia si sticky-ul
   HERO-ului raman neatinse.
   ================================================== */

body.home #content,
body.home .site-main,
body.home .page-content,
body.home .elementor-40 {
	padding-top: 0 !important;
	margin-top: 0 !important;
	border-top: 0 !important;
}

/* Primul container: fara padding sus, nici pe el, nici pe inner */
body.home .elementor-40 > .elementor-element-8a1c093 {
	--padding-top: 0px;
	--padding-block-start: 0px;
	padding-top: 0 !important;
	margin-top: 0 !important;
}

body.home .elementor-40 > .elementor-element-8a1c093 > .e-con-inner {
	--padding-top: 0px;
	padding-top: 0 !important;
	margin-top: 0 !important;
	max-width: none !important;
}

/* Widgetul HTML care contine HERO-ul */
body.home .elementor-40 .elementor-element-c7168d1 {
	margin-top: 0 !important;
	padding-top: 0 !important;
}



/* ==================================================
   23. FOOTER - PROPORTIILE SIGLEI
   Sigla folosita in footer este varianta decupata, fara marginea transparenta
   de 17% pe orizontala si 20% pe verticala din fisierul original. Fara decupare,
   grafica parea mica, nu se alinia cu coloanele si impingea descrierea in jos.
   Latimea este aleasa ca grafica sa se vada la aceeasi dimensiune ca inainte.
   ================================================== */

.mcv-footer-logo {
	display: block;
	width: auto !important;
	max-width: 178px !important;
	height: auto !important;
	margin: 0 !important;
}

.mcv-footer-logo-link {
	display: inline-block !important;
	line-height: 0;
}

.mcv-footer-tag {
	margin-top: var(--mcv-s2) !important;
	max-width: 32ch;
}

/* Coloanele raman aliniate sus, pe acelasi rand */
.mcv-footer-inner { align-items: start !important; }
.mcv-footer-brand { align-self: start; }

@media (max-width: 1024px) {
	.mcv-footer-logo { max-width: 165px !important; }
}

@media (max-width: 767px) {
	.mcv-footer-logo { max-width: 152px !important; }
	.mcv-footer-tag { margin-top: var(--mcv-s2) !important; max-width: 46ch; }
}

/* ==================================================
   24. ANCORA SECTIUNII SHOWROOM
   Bara este lipita sus, deci o ancora fara compensare ar aseza titlul
   sectiunii chiar sub ea. Valorile sunt inaltimile barei: 95px pe desktop,
   74px sub 1025px.
   ================================================== */

#showroom { scroll-margin-top: 95px; }

@media (max-width: 1024px) {
	#showroom { scroll-margin-top: 74px; }
}


/* ==================================================
   25. PAGINI CLASICE, FARA ELEMENTOR
   Politica de confidentialitate si orice pagina viitoare scrisa din editorul
   WordPress foloseau sablonul temei parinte: titlul lipit de bara, textul pe
   toata latimea containerului si fara ritm de lectura. Le aducem in sistem.

   Conditia `body:not([class*="elementor-page"])` tine regulile departe de
   paginile construite in Elementor, care isi gestioneaza singure spatiile.
   ================================================== */

body:not([class*="elementor-page"]) .page-header,
body:not([class*="elementor-page"]) .page-content {
	max-width: 74ch;
	margin-inline: auto;
	padding-inline: var(--mcv-s3);
}

body:not([class*="elementor-page"]) .page-header {
	padding-block: var(--mcv-s6) var(--mcv-s3);
	margin-bottom: var(--mcv-s4);
	border-bottom: 1px solid var(--mcv-line);
}

body:not([class*="elementor-page"]) .page-header .entry-title {
	margin: 0;
	font-family: var(--mcv-font);
	font-size: clamp(30px, 3.6vw, 44px);
	font-weight: 600;
	line-height: 1.12;
	letter-spacing: -.02em;
	color: var(--mcv-ink);
}

body:not([class*="elementor-page"]) .page-content {
	padding-bottom: var(--mcv-s7);
	font-family: var(--mcv-font);
	font-size: 16px;
	line-height: 1.72;
	color: var(--mcv-ink-soft);
}

body:not([class*="elementor-page"]) .page-content h2 {
	margin: var(--mcv-s5) 0 var(--mcv-s2);
	font-family: var(--mcv-font);
	font-size: 22px;
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: -.01em;
	color: var(--mcv-ink);
}

body:not([class*="elementor-page"]) .page-content h3 {
	margin: var(--mcv-s4) 0 var(--mcv-s1);
	font-family: var(--mcv-font);
	font-size: 18px;
	font-weight: 600;
	color: var(--mcv-ink);
}

body:not([class*="elementor-page"]) .page-content p {
	margin: 0 0 var(--mcv-s2);
}

body:not([class*="elementor-page"]) .page-content ul,
body:not([class*="elementor-page"]) .page-content ol {
	margin: 0 0 var(--mcv-s2);
	padding-left: 22px;
}

body:not([class*="elementor-page"]) .page-content li { margin-bottom: 8px; }

body:not([class*="elementor-page"]) .page-content a {
	text-decoration: underline;
	text-underline-offset: 2px;
	text-decoration-color: var(--mcv-line-2);
}

/* Marcajele "Suggested text:" din sablonul WordPress raman vizibile
   intentionat: sunt semnalul ca textul juridic nu a fost inca scris. */
body:not([class*="elementor-page"]) .page-content .privacy-policy-tutorial {
	color: var(--mcv-bronze-deep);
}

@media (max-width: 620px) {
	body:not([class*="elementor-page"]) .page-header,
	body:not([class*="elementor-page"]) .page-content { padding-inline: var(--mcv-s2); }

	body:not([class*="elementor-page"]) .page-header { padding-block: var(--mcv-s5) var(--mcv-s2); }
}


/* ==================================================
   26. FOOTER - DATE DE IDENTIFICARE SI RETELE SOCIALE
   ================================================== */

.mcv-footer-ident {
	margin: var(--mcv-s2) 0 0 !important;
	font-size: 12.5px;
	line-height: 1.6;
	color: rgba(255, 255, 255, .52);
}

/* Doua insigne, Facebook si YouTube. Se aseaza una langa alta si trec pe
   randul urmator daca nu incap, fara sa se lipeasca. */
.mcv-footer-social {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: var(--mcv-s2) 0 0 !important;
}

.mcv-footer-social a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 7px 12px 7px 10px;
	border: 1px solid rgba(255, 255, 255, .18);
	border-radius: var(--mcv-r-btn);
	font-size: 13px;
	font-weight: 600;
	color: rgba(255, 255, 255, .78) !important;
	text-decoration: none;
	transition: border-color .25s ease, color .25s ease, background-color .25s ease;
}

.mcv-footer-social a:hover {
	border-color: var(--mcv-bronze);
	background: rgba(255, 255, 255, .05);
	color: #ffffff !important;
}

.mcv-footer-social svg { flex: 0 0 auto; }


/* Data ultimei actualizari, in capul paginilor juridice */
body:not([class*="elementor-page"]) .page-content .mcv-legal-meta {
	margin: 0 0 var(--mcv-s4);
	padding-bottom: var(--mcv-s2);
	border-bottom: 1px solid var(--mcv-line);
	font-size: 13px;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--mcv-ink-mute);
}

body:not([class*="elementor-page"]) .page-content strong { color: var(--mcv-ink); font-weight: 600; }


/* ==================================================
   27. BANDA DE GARANTIE, PE PRIMA PAGINA
   Compozitie asimetrica pe fundal antracit: cifra la stanga, explicatia si
   trimiterea la pagina de garantii la dreapta, despartite de o linie fina.
   Bronzul apare doar pe eticheta, pe linie si pe sageata.
   ================================================== */

.mcv-garantie {
	width: 100%;
	padding: var(--mcv-s7) var(--mcv-s3);
	background: var(--mcv-ink);
	color: #ffffff;
}

.mcv-garantie__inner {
	display: grid;
	grid-template-columns: 1.05fr 1fr;
	gap: var(--mcv-s6);
	align-items: center;
	max-width: 1180px;
	margin: 0 auto;
}

.mcv-garantie .mcv-eyebrow {
	justify-content: flex-start;
	margin-bottom: var(--mcv-s3);
	color: rgba(255, 255, 255, .72);
}

.mcv-garantie .mcv-eyebrow::before { background: var(--mcv-bronze-light); }

.mcv-garantie__cifra {
	display: flex;
	align-items: baseline;
	gap: 18px;
	margin: 0;
	line-height: 1;
}

.mcv-garantie__nr {
	font-family: var(--mcv-font);
	font-size: clamp(92px, 13vw, 168px);
	font-weight: 600;
	line-height: .86;
	letter-spacing: -.045em;
	color: #ffffff;
}

.mcv-garantie__unitate {
	font-size: clamp(18px, 2.2vw, 26px);
	font-weight: 600;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--mcv-bronze-light);
}

.mcv-garantie__pentru {
	margin: var(--mcv-s3) 0 0;
	max-width: 30ch;
	font-size: clamp(17px, 2vw, 21px);
	line-height: 1.45;
	color: rgba(255, 255, 255, .88);
}

.mcv-garantie__dreapta {
	padding-left: var(--mcv-s6);
	border-left: 1px solid rgba(255, 255, 255, .16);
}

.mcv-garantie__nota {
	margin: 0 0 var(--mcv-s4);
	max-width: 46ch;
	font-size: 16px;
	line-height: 1.68;
	color: rgba(255, 255, 255, .7);
}

.mcv-garantie__cta {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	padding: 14px 0 10px;
	border-bottom: 1px solid rgba(255, 255, 255, .3);
	font-family: var(--mcv-font);
	font-size: 14px;
	font-weight: 600;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: #ffffff !important;
	text-decoration: none;
	transition: border-color .28s var(--mcv-ease), color .28s var(--mcv-ease), gap .28s var(--mcv-ease);
}

.mcv-garantie__cta::after {
	content: "";
	width: 8px;
	height: 8px;
	border-top: 2px solid var(--mcv-bronze-light);
	border-right: 2px solid var(--mcv-bronze-light);
	transform: rotate(45deg);
}

.mcv-garantie__cta:hover {
	gap: 18px;
	border-bottom-color: var(--mcv-bronze-light);
	color: #ffffff !important;
}

@media (max-width: 1024px) {
	.mcv-garantie { padding: var(--mcv-s6) var(--mcv-s3); }
	.mcv-garantie__inner { grid-template-columns: 1fr; gap: var(--mcv-s4); }
	.mcv-garantie__dreapta {
		padding-left: 0;
		padding-top: var(--mcv-s4);
		border-left: 0;
		border-top: 1px solid rgba(255, 255, 255, .16);
	}
}

@media (max-width: 620px) {
	.mcv-garantie { padding: var(--mcv-s5) var(--mcv-s2); }
	.mcv-garantie__pentru { max-width: none; }
}


/* ==================================================
   28. RANDUL DE LOGO-URI DE LA "PARTENERII NOSTRI"
   Randul este o grila de patru coloane, definita in Elementor. Cu noua sigle
   ultimul rand avea un singur element, iar cu zece are doua, lipite la stanga.
   Trecem pe incadrare flexibila centrata: randurile se umplu dupa latimea reala
   a fiecarei sigle, iar randul incomplet ramane centrat.

   Distanta orizontala este calibrata, nu aleasa estetic: cu 11 sigle si un gap
   de 38px incapeau 3+4+3, iar a unsprezecea ramanea singura pe ultimul rand.
   La 22px randurile se umplu 4+4+3, fara sigla orfana. Distanta pe verticala
   ramane mai mare, ca randurile sa se citeasca separat.

   Intervenim din tema, nu din structura paginii, ca nicio sigla sa nu fie
   redimensionata si ca schimbarea sa poata fi anulata stergand acest bloc.
   ================================================== */

.e-fd72ab1-07507a3 {
	display: flex !important;
	flex-wrap: wrap !important;
	justify-content: center !important;
	align-items: center !important;
	gap: 30px 22px !important;
}

@media (max-width: 767px) {
	.e-fd72ab1-07507a3 { gap: 22px 24px !important; }
}

/* ==========================================
   29. PRIMA PAGINA - ACTIUNEA UNEI SECTIUNI
   Randul cu un singur buton care duce mai departe (ex. spre portofoliu).
   ========================================== */

.mcv-sec__actiuni {
	display: flex;
	justify-content: center;
	margin-top: var(--mcv-s4);
}


/* ==================================================
   30. SIGLE: CERTIFICARI SI PARTENERI, PE DESKTOP
   Schimbarile de aici sunt doar peste 1024px. Sub acest prag raman regulile
   din mcv-responsive.css, care asaza deja ambele sectiuni pe o coloana si
   centreaza siglele.

   CERTIFICARI. Containerul avea width:50% si justify-content:space-between,
   deci cele trei sigle se lipeau de marginile coloanei: 305px de sigla
   imprastiati pe 840px la 1920. Il limitam si centram grupul, fara sa atingem
   dimensiunea vreunei sigle.

   PARTENERI. Cu textul asezat in stanga, grilei ii raman 1022px la 1920 si
   726px la 1366. Cele unsprezece sigle insumeaza 1740px, deci nu incapeau pe
   doua randuri: ieseau 5+5+1 la 1920 si 3+4+3+1 la 1366, cu Aluprof singur pe
   ultimul rand. Asezam sectiunea pe verticala, ca grila sa primeasca latimea
   intreaga, si o trecem pe sase coloane. Ordinea vizuala este data cu `order`,
   nu prin mutarea siglelor in pagina: Kommerling devine primul element al
   randului doi, adica exact sub Cortizo, iar Winkhaus coboara si el pe randul
   doi. Nicio sigla nu este eliminata si niciuna nu este marita.
   ================================================== */

@media (min-width: 1025px) {

	/* --- Certificari: titlu, text si sigle, toate centrate ---
	   Sectiunea era pe doua coloane: textul in stanga, siglele in dreapta.
	   Oricat de mult era strans grupul de sigle, ansamblul ramanea dezechilibrat
	   pe ecran lat. O asezam pe verticala, ca la "Partenerii nostri": titlul si
	   textul centrate pe o latime de 820px, apoi cele trei sigle pe un singur
	   rand, centrate. Siglele isi pastreaza latimile date in pagina, deci si
	   proportiile; sunt doar centrate pe aceeasi linie. */
	.e-a597876 {
		max-width: 1400px !important;
		margin-inline: auto !important;
		flex-direction: column !important;
		flex-wrap: nowrap !important;
		align-items: center !important;
	}

	.e-88813eb {
		width: 100% !important;
		max-width: 820px !important;
		margin: 45px auto 0 !important;
		text-align: center !important;
	}

	.e-29933e2 {
		width: 100% !important;
		max-width: none !important;
		/* Sus: 24px pana la marginea blocului, plus centrarea pe verticala a
		   siglei celei mai inalte, dau circa 33px de spatiu vizibil sub text.
		   Jos: distanta pana la "Partenerii nostri", din care sectiunea
		   urmatoare isi scade 20px prin marginea ei negativa. */
		margin: 24px auto 85px !important;
		justify-content: center !important;
		align-items: center !important;
		flex-wrap: nowrap !important;
		gap: clamp(32px, 2.8vw, 46px) !important;
	}

	/* --- Parteneri: titlul deasupra, grila pe toata latimea --- */
	.e-20fea6a-2d234ac {
		flex-direction: column !important;
		flex-wrap: nowrap !important;
		align-items: center !important;
		gap: 34px !important;
	}

	.e-5c2cd73 {
		width: 100% !important;
		max-width: 820px !important;
		text-align: center !important;
	}

	/* Randul intai are sase sigle, al doilea cinci. Pe o grila de sase coloane
	   randul doi ocupa doar cinci din ele si pare impins spre stanga. Folosim
	   treizeci de coloane, cel mai mic numar divizibil si cu sase, si cu cinci:
	   siglele de pe randul intai tin cate cinci coloane, cele de pe randul doi
	   cate sase. Ambele randuri ocupa astfel exact aceeasi latime, iar distanta
	   dintre sigle ramane aceeasi pe tot blocul. Kommerling ramane sub Cortizo,
	   cu o abatere de circa douazeci de pixeli, invizibila la dimensiunile reale
	   ale siglelor. */
	.e-fd72ab1-07507a3 {
		display: grid !important;
		grid-template-columns: repeat(30, minmax(0, 1fr)) !important;
		justify-items: center !important;
		align-items: center !important;
		column-gap: 6px !important;
		row-gap: 36px !important;
		width: 100% !important;
		max-width: 1400px !important;
		margin-inline: auto !important;
	}

	/* Randul 1: sase sigle, cate cinci coloane fiecare */
	.e-b599186-0df5833,
	.e-1d5311d-6cbbf66,
	.e-b16359d-89f4cf5,
	.e-6c5b69e-8a95257,
	.e-71aa75f-1570cb3,
	.e-a1a5a85-473cc85 {
		grid-column: span 5 !important;
	}

	/* Randul 2: cinci sigle, cate sase coloane fiecare */
	.e-f5a9d88-7c1b368,
	.e-49706b9-5ee91ab,
	.e-e969042-e5a05e9,
	.e-mcvsomfy-logo,
	.e-mcvaluprof-logo {
		grid-column: span 6 !important;
	}

	/* Siglele au latimi fixe in px; pe ecranele mai inguste intra in celula
	   fara sa fie marite. */
	.e-fd72ab1-07507a3 img {
		max-width: 100% !important;
		height: auto !important;
	}

	/* Randul 1 */
	.e-b599186-0df5833 { order: 1 !important; }  /* Cortizo       */
	.e-1d5311d-6cbbf66 { order: 2 !important; }  /* Gutmann       */
	.e-b16359d-89f4cf5 { order: 3 !important; }  /* STAC          */
	.e-6c5b69e-8a95257 { order: 4 !important; }  /* Saint-Gobain  */
	.e-71aa75f-1570cb3 { order: 5 !important; }  /* Cekal         */
	.e-a1a5a85-473cc85 { order: 6 !important; }  /* Roto          */

	/* Randul 2, incepand sub Cortizo */
	.e-f5a9d88-7c1b368 { order: 7 !important; }  /* Kommerling    */
	.e-49706b9-5ee91ab { order: 8 !important; }  /* Winkhaus      */
	.e-e969042-e5a05e9 { order: 9 !important; }  /* Jansen        */
	.e-mcvsomfy-logo   { order: 10 !important; } /* Somfy         */
	.e-mcvaluprof-logo { order: 11 !important; } /* Aluprof       */
}

/* --------------------------------------------------
   Tableta: sectiunea este deja pe o coloana, deci grila primeste latimea
   intreaga. Cu patru coloane cele unsprezece sigle ies 4+4+3, fara sigla
   ramasa singura pe ultimul rand, asa cum se intampla cu incadrarea flexibila.
   Selectorul include si parintele, ca sa bata regulile din mcv-responsive.css,
   care se incarca dupa acest fisier.
   -------------------------------------------------- */

@media (min-width: 768px) and (max-width: 1024px) {

	.e-20fea6a-2d234ac .e-fd72ab1-07507a3 {
		display: grid !important;
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
		justify-items: center !important;
		align-items: center !important;
		gap: 30px 22px !important;
		width: 100% !important;
	}

	.e-20fea6a-2d234ac .e-fd72ab1-07507a3 img {
		max-width: 100% !important;
		height: auto !important;
	}

	.e-b599186-0df5833 { order: 1 !important; }
	.e-1d5311d-6cbbf66 { order: 2 !important; }
	.e-b16359d-89f4cf5 { order: 3 !important; }
	.e-6c5b69e-8a95257 { order: 4 !important; }
	.e-71aa75f-1570cb3 { order: 5 !important; }
	.e-a1a5a85-473cc85 { order: 6 !important; }
	.e-f5a9d88-7c1b368 { order: 7 !important; }
	.e-49706b9-5ee91ab { order: 8 !important; }
	.e-e969042-e5a05e9 { order: 9 !important; }
	.e-mcvsomfy-logo   { order: 10 !important; }
	.e-mcvaluprof-logo { order: 11 !important; }
}

/* --------------------------------------------------
   Telefon: cele trei sigle de certificare insumeaza 305px. Cu distanta de
   22px din mcv-responsive.css depaseau cu un pixel latimea disponibila si
   CSTB cadea pe un rand separat. O strangem cat sa incapa toate trei pe un
   singur rand. Selectorul include parintele, ca sa bata regula generala.
   -------------------------------------------------- */

@media (max-width: 767px) {
	.e-a597876 .e-29933e2 {
		justify-content: center !important;
		gap: 14px 16px !important;
	}
}

/* --------------------------------------------------
   Telefon, partenerii: cu incadrare flexibila siglele late ocupau singure cate
   un rand, iar cele inguste stateau doua cate doua, deci randurile ieseau
   1/1/1/2/2/2. Doua coloane egale dau acelasi ritm pe tot blocul. Ultima sigla,
   a unsprezecea, primeste randul intreg si ramane centrata, nu pare uitata
   intr-un colt.
   -------------------------------------------------- */

@media (max-width: 767px) {

	.e-20fea6a-2d234ac .e-fd72ab1-07507a3 {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		justify-items: center !important;
		align-items: center !important;
		gap: 26px 20px !important;
		width: 100% !important;
	}

	.e-20fea6a-2d234ac .e-fd72ab1-07507a3 img {
		max-width: 100% !important;
		height: auto !important;
	}

	.e-b599186-0df5833 { order: 1 !important; }
	.e-1d5311d-6cbbf66 { order: 2 !important; }
	.e-b16359d-89f4cf5 { order: 3 !important; }
	.e-6c5b69e-8a95257 { order: 4 !important; }
	.e-71aa75f-1570cb3 { order: 5 !important; }
	.e-a1a5a85-473cc85 { order: 6 !important; }
	.e-f5a9d88-7c1b368 { order: 7 !important; }
	.e-49706b9-5ee91ab { order: 8 !important; }
	.e-e969042-e5a05e9 { order: 9 !important; }
	.e-mcvsomfy-logo   { order: 10 !important; }

	.e-mcvaluprof-logo {
		order: 11 !important;
		grid-column: 1 / -1 !important;
	}
}


/* ==================================================
   36. HERO: LINIUTA LANGA TITLU
   Hero-urile site-ului nu mai au text mic deasupra titlului. In locul lui,
   titlul primeste liniuta bronz la stanga, pe acelasi rand. Regula este
   globala si acopera toate structurile de hero folosite pe site, ca sa nu
   fie nevoie de CSS pagina cu pagina.
   Exceptie: familia Aluminiu pastreaza textul mic; acolo titlul nu mai
   este primul element din bloc, deci regula nu il prinde.
   ================================================== */

.mcv-hero-produs__inner > .mcv-hero-produs__titlu:first-child::before,
.mcv-cz-hero__inner > .mcv-cz-hero__titlu:first-child::before,
.mcv-cz-hero__text > .mcv-cz-hero__titlu:first-child::before,
.mcv-ph-hero__inner > .mcv-ph-hero__title:first-child::before,
.mcv-proiect-hero__text > .mcv-proiect-hero__titlu:first-child::before,
#mcv-premium-hero .mcv-hero-content > h1:first-child::before,
#mcv-hero-zoom > h1::before {
	content: "";
	display: inline-block;
	width: 34px;
	height: 3px;
	margin-right: 14px;
	/* Ridicata in dreptul majusculelor, nu pe linia de baza. */
	vertical-align: 0.3em;
	background: var(--mcv-bronze-light);
}

@media (max-width: 620px) {

	.mcv-hero-produs__inner > .mcv-hero-produs__titlu:first-child::before,
	.mcv-cz-hero__inner > .mcv-cz-hero__titlu:first-child::before,
	.mcv-cz-hero__text > .mcv-cz-hero__titlu:first-child::before,
	.mcv-ph-hero__inner > .mcv-ph-hero__title:first-child::before,
	.mcv-proiect-hero__text > .mcv-proiect-hero__titlu:first-child::before,
	#mcv-premium-hero .mcv-hero-content > h1:first-child::before,
	#mcv-hero-zoom > h1::before {
		width: 22px;
		margin-right: 10px;
	}
}

/* Textul mic al hero-ului simplu: aliniat la stanga, ca titlul. */
.mcv-cz-hero .mcv-eyebrow,
.mcv-cz-hero .mcv-eyebrow--light {
	justify-content: flex-start;
}


/* ==================================================
   GRILA FAMILIILOR DE PE PRIMA PAGINA
   Numarul de familii nu mai este un multiplu de patru, asa ca un grid rigid
   ar lasa ultimul rand lipit de marginea din stanga. Trecem pe un rand care
   se umple si se centreaza: latimea cardului ramane exact cat era la patru
   coloane â (100% - 3 spatii) / 4 â deci nimic nu se micsoreaza.
   ================================================== */

.mcv-grid--familii {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.mcv-grid--familii > * {
	flex: 0 1 calc((100% - 3 * var(--mcv-s3)) / 4);
	max-width: calc((100% - 3 * var(--mcv-s3)) / 4);
}

@media (max-width: 1200px) {

	.mcv-grid--familii > * {
		flex-basis: calc((100% - 2 * var(--mcv-s3)) / 3);
		max-width: calc((100% - 2 * var(--mcv-s3)) / 3);
	}
}

@media (max-width: 1024px) {

	.mcv-grid--familii > * {
		flex-basis: calc((100% - var(--mcv-s3)) / 2);
		max-width: calc((100% - var(--mcv-s3)) / 2);
	}
}

@media (max-width: 620px) {

	.mcv-grid--familii > * {
		flex-basis: 100%;
		max-width: 100%;
	}
}

/* ==================================================
   DECLARAȚIA DE BRAND DE PE PRIMA PAGINĂ

   Umple banda albă dintre hero-ul arhitectural și secțiunea de video. Stă în
   containerul boxat al hero-ului, deci prinde singură lățimea și marginile
   laterale ale restului paginii.

   Spațierea: sub secțiune existau deja 216 px de alb — padding-ul de jos al
   containerului plus distanța dintre containere. De aceea secțiunea își ia
   distanța deasupra și aproape deloc dedesubt: altfel golul de jos s-ar fi
   dublat.
   ================================================== */

.mcv-declaratie {
	padding-block: 104px 8px;
	padding-inline: var(--mcv-s3);
	text-align: center;

	/* Sub secțiune rămân padding-ul de jos al containerului Elementor (96 px) și
	   distanța până la secțiunea de video (120 px) — împreună 224, față de 104
	   deasupra. Marginea negativă strânge exact diferența, ca albul de dinainte
	   și de după declarație să fie egal. Nu atinge nicio altă secțiune:
	   containerul se scurtează, iar videoul urcă odată cu el. */
	margin-bottom: -104px;
}

.mcv-declaratie__eyebrow {
	margin-bottom: 20px;
	color: var(--mcv-bronze-deep);
}

.mcv-declaratie__titlu {
	max-width: 720px;
	margin: 0 auto;
	font-family: var(--mcv-font);
	font-size: clamp(28px, 3vw, 40px);
	font-weight: 600;
	line-height: 1.18;
	letter-spacing: -.01em;
	text-wrap: balance;
	color: var(--mcv-ink);
}

.mcv-declaratie__text {
	max-width: 860px;
	margin: 24px auto 0;
	font-size: 17px;
	line-height: 1.75;
	text-wrap: pretty;
	color: var(--mcv-ink-soft);
}

@media (max-width: 1024px) {
	.mcv-declaratie {
		padding-block: 80px 8px;
		margin-bottom: -96px;
	}
	.mcv-declaratie__titlu { max-width: 560px; }
}

@media (max-width: 620px) {
	.mcv-declaratie {
		padding-block: 64px 8px;
		padding-inline: var(--mcv-s3);
		margin-bottom: -96px;
	}
	.mcv-declaratie__titlu { max-width: none; }
	.mcv-declaratie__text {
		max-width: none;
		margin-top: 20px;
		font-size: 16px;
		line-height: 1.7;
	}
}

/* --------------------------------------------------
   Apariția discretă la derulare

   Aceleași reguli ca în mcv-pagini.css, repetate aici pentru că prima pagină
   nu încarcă acea foaie. Elementul pornește vizibil: clasa `mcv-reveal` o pune
   scriptul abia după ce confirmă că poate observa intrarea în cadru.
   -------------------------------------------------- */

[data-mcv-reveal].mcv-reveal {
	opacity: 0;
	transform: translateY(18px);
	transition: opacity .6s var(--mcv-ease), transform .6s var(--mcv-ease);
}

[data-mcv-reveal].mcv-reveal.is-in {
	opacity: 1;
	transform: none;
}

@media (prefers-reduced-motion: reduce) {
	[data-mcv-reveal].mcv-reveal {
		opacity: 1;
		transform: none;
		transition: none;
	}
}
