/*
Theme Name: cmv3
Description: Tema CarMedic — temă-copil peste Blocksy. Design-tokens din macheta aprobată (design v3 — Homepage A1, 18.08.2026).
Author: CarMedic
Template: blocksy
Version: 1.2.0
Text Domain: cmv3
*/

/* ============ DESIGN TOKENS — MĂSURAȚI ÎN MACHETELE v3 (21.09.2026) ============
   ⭐ Culorile NU mai sunt scrise nicăieri altundeva: aici e singurul loc.
   Fiecare valoare de mai jos e stilul CALCULAT dintr-o machetă din `design-v3/`, nu o alegere:
     verde de marcă  #2F9E44   (logo, butoane, accente)        · hover  #25803A
     verde luminos   #46C05A   (accente pe fundal închis)
     bara de sus     #161E29   · bara de meniu #212B38 · hero  #1B2430
     text            #1B2430   · text moale #55606E · text slab #74808F / #8B96A5
     chenar          #E6E9ED   · linie fină #EEF0F2 · fundal pagină #EEF1F3 · fundal card #F1F3F5
     roșu            #E03131   (insigne, punct „Promoții")     · roșu închis #C92A2A
   ⛔ Paleta veche (albastru #2A5FB7 + bleumarin var(--cmv-navy)) era a DIAGNOZAPRO — tema cmv3 a fost
   pornită din ea. Numele variabilelor rămân (`--cmv-blue` etc.), fiindcă sunt folosite în 24 de
   fișiere CSS; li s-a schimbat doar VALOAREA, ca schimbarea să nu ceară editări în teritoriul
   nimănui. `--cmv-blue` = verdele de marcă: numele minte, dar e un rând, nu 400. */
:root {
	--cmv-green: #2F9E44;         /* verdele de marcă */
	--cmv-green-dark: #25803A;    /* hover */
	--cmv-green-bright: #46C05A;  /* accent pe fundal închis */
	--cmv-green-soft: #E7F4E6;    /* pastile, fundaluri de accent */
	--cmv-green-tint: #F2F7EE;    /* card de promovare din panou */

	--cmv-navy: #1B2430;          /* fundal de impact (hero), titluri */
	--cmv-navy-2: #212B38;        /* bara de meniu */
	--cmv-navy-3: #161E29;        /* bara de sus */

	--cmv-blue: #2F9E44;          /* ⚠️ NUME ISTORIC — e verdele de marcă (vezi nota de sus) */
	--cmv-red: #E03131;           /* insigne, punct „Promoții" */
	--cmv-red-dark: #C92A2A;
	--cmv-amber: #E8A13A;         /* stoc limitat */

	--cmv-text: #1B2430;
	--cmv-text-soft: #55606E;
	--cmv-text-faint: #74808F;
	--cmv-text-fainter: #8B96A5;
	--cmv-border: #E6E9ED;
	--cmv-border-fine: #EEF0F2;
	--cmv-bg-soft: #F1F3F5;
	--cmv-bg-softer: #FBFCFD;
	--cmv-bg-page: #EEF1F3;
	--cmv-bg-tint: #F2F7F0;
	--cmv-radius: 12px;

	/* fontul machetelor; un singur loc */
	--cmv-font: 'Manrope', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;

	/* legare la variabilele Blocksy */
	--theme-font-family: 'Manrope', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
	--theme-palette-color-1: #2F9E44;
	--theme-palette-color-2: #1B2430;
	--theme-palette-color-3: #1B2430;
	--theme-palette-color-4: #55606E;
	--theme-palette-color-5: #E6E9ED;
	--theme-palette-color-6: #F1F3F5;
	--theme-palette-color-7: #FFFFFF;
	--theme-text-color: #55606E;
	--theme-headings-color: #1B2430;
	--theme-link-initial-color: #2F9E44;
	--theme-link-hover-color: #25803A;
	--theme-button-background-initial-color: #2F9E44;
	--theme-button-background-hover-color: #25803A;
	--theme-form-field-border-focus-color: #2F9E44;

	/* ⭐ 21.09.2026 — MĂSURAT, nu ales. Macheta e scrisă în `content-box`: containerul ei are
	   `max-width:1280px` + `padding:0 24px`, adică o cutie de 1328 px, iar CONȚINUTUL stă între
	   80 și 1360 la o fereastră de 1440. Blocksy lucrează în `border-box` și adaugă 16 px de
	   margine interioară, deci cu 1280 conținutul ieșea între 96 și 1344 — cu 16 px mai strâmt
	   pe fiecare parte decât în machetă, pe TOATE paginile.
	   1312 = 1280 (conținut cerut de machetă) + 2×16 (marginea interioară a temei).
	   ⚠️ Atinge și paginile de categorie/produs: e aceeași corecție de care au nevoie și ele. */
	--theme-container-width: min(100%, 1312px);
}

/* ⚠️ 22.09.2026 — perechea regulii de mai sus: sub 1312 px „min(100%, …)" dă containerul pe TOATĂ lățimea,
   iar pe telefon Blocksy nu mai pune nicio margine interioară (măsurat: padding 0). Paginile noastre
   (categorii, produs, acasă) își au marginile lor; arhivele cu șablonul implicit Blocksy (/ghiduri/,
   căutarea în ghiduri, căutarea fără post_type) NU — titlul și cardurile stăteau la x=0, la 390 ȘI la 1024.
   Doar acolo: 16 px pe fiecare parte. La 1440 nu schimbă nimic (max-width 1290 câștigă).
   Paznic: qa/titlu-arhive-telefon.py (nicio cutie la x < 16). */
body:not(.cmvk-arhiva).archive .ct-container,
body:not(.cmvk-arhiva).search .ct-container { width: calc(100% - 32px); }

/* ⛔⛔ DE CE `html body` ȘI NU `body`: Blocksy își tipărește CSS-ul dinamic DUPĂ style.css-ul
   temei-copil și pune acolo `body { font-family: var(--theme-font-family) }` cu propriul `:root`.
   Cu `body { font-family: 'Archivo' }` (cum era până azi) câștiga el: măsurat pe pagina livrată,
   `font-family` calculat era stiva Inter, iar `[...document.fonts]` arăta „Archivo … unloaded"
   — adică fontul se DESCĂRCA (ba era și preîncărcat) și nu desena nimic. Un selector cu o
   specificitate mai mare rezolvă fără `!important`, deci fără să blocheze pe nimeni. */
html body,
html button, html input, html select, html textarea,
html .ct-header, html .ct-footer {
	font-family: var(--cmv-font);
	/* ⚠️ 22.09.2026 — regula de mai sus nu ajunge la tot: Blocksy pune `font-family: var(--theme-font-family)`
	   DIRECT pe prețuri (`bdi`, „lei”), textul butoanelor de coș, etichetele de reducere, rezumatele și datele
	   din carduri — moștenirea nu mai contează acolo. Măsurat: 63 de elemente pe o categorie, 10 pe acasă, în
	   stiva de sistem, nu în Manrope. Variabila pusă pe `body` câștigă peste `:root`-ul lui Blocksy pentru tot
	   ce e dedesubt ⇒ 0 (în afară de eticheta de banc). Probat la 360/390/1440: niciun buton sau preț rupt. */
	--theme-font-family: var(--cmv-font);
}

body { color: var(--cmv-text-soft); background: var(--cmv-bg-page); }
h1, h2, h3, h4, .entry-title { font-family: var(--cmv-font); color: var(--cmv-text); letter-spacing: -0.01em; }
.cmv-mono, .sku, .price del { font-family: var(--cmv-font); }

/* butoane (Blocksy + Woo) */
button, .button, .wp-element-button, [type="submit"], .single_add_to_cart_button, .add_to_cart_button {
	border-radius: 8px; font-weight: 700;
}

/* ============ COMPONENTE HOMEPAGE (prefix .cmv-) ============ */
.cmv-wrap { max-width: 1280px; margin: 0 auto; padding: 0 32px; }
.cmv-eyebrow {
	font-family: 'Space Grotesk', sans-serif; font-size: 13px; font-weight: 600;
	letter-spacing: 0.14em; text-transform: uppercase; color: var(--cmv-blue); margin: 0 0 14px;
}
.cmv-btn { display: inline-block; background: var(--cmv-blue); color: #fff !important; font-weight: 700;
	padding: 13px 26px; border-radius: 10px; text-decoration: none; font-size: 14.5px; line-height: normal; }
.cmv-btn:hover { filter: brightness(0.92); }
.cmv-btn--ghost { background: transparent; color: var(--cmv-blue) !important; border: 1.5px solid var(--cmv-blue); }
.cmv-btn--white { background: #fff; color: var(--cmv-navy) !important; }

/* ============ INTEGRARE CU BLOCKSY PE PRIMA PAGINA ============ */
/* fara titlul de pagina si breadcrumb pe homepage */
.home .entry-header, .home .hero-section, .home [class*="page-title"] { display: none; }
/* sigla ajunge singura in antet (fara textul de titlu) */
.ct-header .site-title { display: none; }

/* ============ ANTETUL ============
   21.09.2026: tot ce ține de antet (bara de sus, rândul alb, bara de categorii, panourile mega
   și antetul de telefon) s-a mutat în `css/megamenu.css`, împreună cu markup-ul din
   `inc/antet.php`. Aici rămâne doar ascunderea antetului nativ Blocksy, fiindcă atinge
   selectoare ale temei-părinte, nu ale noastre.
   ⛔ Regulile vechi (`.cmv-topbar` gri deschis, căutare dreptunghiulară cu buton albastru
   „Caută", `.cmv-masthead-links` text simplu) descriau paleta DIAGNOZAPRO și au fost șterse:
   două seturi de reguli pentru același element înseamnă că al doilea om care se uită repară
   varianta care nu se vede. */

/* Antetul temei rămâne în pagină (îl cer alte bucăți din Blocksy), dar nu se vede. */
.ct-header,
#header [data-row="middle"],
#header [data-row="top"] { display: none !important; }

.cmv-cat-card .cmv-cat-img { display: flex; }
.cmv-cat-card .cmv-cat-img img { object-fit: contain; background: #fff; padding: 10px; }

/* ============ LISTARE PRODUSE (macheta Categorie) ============ */
.woocommerce ul.products li.product, [data-products] .product {
	background: #fff; border: 1px solid var(--cmv-border); border-radius: var(--cmv-radius);
	padding: 16px 16px 18px; transition: box-shadow .15s ease;
}
.woocommerce ul.products li.product:hover, [data-products] .product:hover { box-shadow: 0 14px 30px rgba(22,35,61,.10); }
.woocommerce ul.products li.product .woocommerce-loop-product__title,
[data-products] .product .woocommerce-loop-product__title { font-size: 16.5px; font-weight: 700; color: var(--cmv-text); line-height: 1.35; }
.woocommerce ul.products li.product .price, [data-products] .product .price {
	color: var(--cmv-navy); font-weight: 800; font-size: 20px;
}
.woocommerce ul.products li.product .price del, [data-products] .product .price del {
	color: var(--cmv-text-faint); font-weight: 400; font-size: 15px;
}
.cmv-stock { display: block; font-size: 13.5px; font-weight: 600; margin: 2px 0 4px; }
.cmv-stock--in { color: #1E7A46; }
.cmv-stock--out { color: var(--cmv-amber); }
.cmv-off, span.onsale {
	background: var(--cmv-red) !important; color: #fff !important;
	font-size: 12.5px !important; font-weight: 700 !important;
	padding: 3px 10px !important; border-radius: 999px !important;
	min-height: 0 !important; min-width: 0 !important; line-height: 1.5 !important;
	/* ⛔ REPARAT 04.09.2026 — eticheta era pe DREAPTA (`right:12px`), exact sub butonul-inimă
	   „Favorite", care are un cerc ALB OPAC de 32–36px și `z-index` mai mare (vine dintr-un
	   părinte Blocksy). Rezultatul: cifra reducerii era tăiată — „-2.500 lei" se citea „-2.50",
	   deci clientul vedea o reducere GREȘITĂ, nu doar un aspect urât.
	   Măsurat pe „Produse similare", la 390px: acoperit 70% → după mutare 0%.
	   Colțul stânga-sus e și poziția implicită a temei, deci nu se ciocnește cu nimic. */
	top: 12px !important; left: 12px !important; right: auto !important; margin: 0 !important;
}
.woocommerce ul.products li.product .button, [data-products] .product .wp-element-button {
	background: transparent; color: var(--cmv-blue); border: 1.5px solid var(--cmv-blue);
	border-radius: 8px; font-weight: 700; width: 100%; text-align: center;
}
.woocommerce ul.products li.product .button:hover, [data-products] .product .wp-element-button:hover {
	background: var(--cmv-blue); color: #fff;
}

/* ============ PAGINA DE PRODUS (macheta Produs) ============ */
.single-product div.product .entry-summary, .single-product .product-entry-wrapper > .entry-summary {
	background: #fff; border: 1px solid var(--cmv-border); border-radius: 16px;
	padding: 26px; box-shadow: 0 14px 34px rgba(22,35,61,.06);
}
.single-product div.product .entry-summary .price { font-size: 30px; font-weight: 800; color: var(--cmv-navy); }
.single-product div.product .entry-summary .price del { font-size: 18px; color: var(--cmv-text-faint); font-weight: 400; }
.single-product div.product .single_add_to_cart_button { width: 100%; padding: 15px 20px; font-size: 16.5px; }
.single-product .product_meta { font-family: 'Space Grotesk', sans-serif; font-size: 13px; color: var(--cmv-text-faint); }
.cmv-buy-usp { border-top: 1px solid var(--cmv-border); margin-top: 18px; padding-top: 16px; }
.cmv-buy-usp ul { list-style: none; margin: 0 0 12px; padding: 0; }
.cmv-buy-usp li { font-size: 14.5px; color: var(--cmv-text-soft); margin-bottom: 7px; }
.cmv-pay-note { font-family: 'Space Grotesk', sans-serif; font-size: 12.5px; color: var(--cmv-text-faint); margin: 0 0 14px; }
/* taburile Woo ca pastile */
.woocommerce div.product .woocommerce-tabs ul.tabs { border: none; padding: 0; margin: 0 0 18px; }
.woocommerce div.product .woocommerce-tabs ul.tabs li {
	background: var(--cmv-bg-tint); border: none; border-radius: 999px; margin: 0 8px 8px 0; padding: 0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a { color: var(--cmv-blue); font-weight: 700; padding: 9px 18px; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { background: var(--cmv-blue); }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: #fff; }
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }

/* antetul de categorie: curat, pe fundal deschis, fara imaginea de termen pe fundal */
.tax-product_cat .hero-section[data-type="type-2"], .post-type-archive-product .hero-section[data-type="type-2"] {
	background-color: var(--cmv-bg-tint) !important; background-image: none !important;
}
.tax-product_cat .hero-section .ct-media-container, .tax-product_cat .hero-section > figure,
.post-type-archive-product .hero-section .ct-media-container { display: none !important; }
.tax-product_cat .page-title, .post-type-archive-product .page-title { color: var(--cmv-text) !important; font-weight: 800; }
.tax-product_cat .page-description, .post-type-archive-product .page-description { color: var(--cmv-text-soft) !important; max-width: 70ch; margin: 8px auto 0; }

/* cardurile din listare: fara etichete de categorii si fara stelute (nu-s in macheta) */
[data-products] .entry-meta, ul.products li.product .posted_in,
ul.products li.product .product-categories { display: none !important; }
ul.products li.product .star-rating, [data-products] .product .star-rating { display: none !important; }

/* 21.09.2026 — ȘTERS: ~180 de rânduri care stilau rândul de meniu Blocksy (`#header
   [data-row=middle]`, `#header-menu-1 .menu`, submeniurile lui, varianta `.cmv-bara-navy`).
   Bara de categorii e acum a noastră (`.cmv-bara`, în `css/megamenu.css`), iar rândul temei e
   ascuns — deci regulile alea nu mai atingeau niciun pixel. Un CSS care nu se vede e o capcană:
   următorul om îl repară pe el și se miră că nu se schimbă nimic. Sunt în istoric dacă trebuie. */

/* ============ SUBSOL — punte provizorie pana la subsolul din designul v2 ============ */
.cmv-footnav { border-top: 1px solid var(--cmv-border); background: #fff; }
.cmv-footnav ul {
	list-style: none; margin: 0 auto; padding: 18px 32px; max-width: 1280px;
	display: flex; flex-wrap: wrap; gap: 8px 26px; justify-content: center;
}
.cmv-footnav a { color: var(--cmv-text); text-decoration: none; font-size: 14px; font-weight: 600; }
.cmv-footnav a:hover { color: var(--cmv-blue); }

/* ============ BARA LATERALĂ DE FILTRE (macheta Categorie) ============ */
.cmv-ascuns { display: none; }

[data-sidebar] aside.ct-sidebar { --sidebar-width: 268px; }
.ct-sidebar .ct-widget {
	border-bottom: 1px solid #edf1f7; padding: 14px 0; margin: 0;
	background: transparent; box-shadow: none;
}
.ct-sidebar .ct-widget:last-of-type { border-bottom: 0; }
.ct-sidebar .ct-widget .widget-title,
.ct-sidebar .ct-widget .ct-widget-title {
	font-size: 12px; font-weight: 800; letter-spacing: 1px; text-transform: uppercase;
	color: var(--cmv-navy); margin: 0 0 10px;
}
.ct-sidebar .ct-widget ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.ct-sidebar .ct-widget ul li { margin: 0; padding: 0; border: 0; }
.ct-sidebar .ct-widget ul li a {
	display: flex; align-items: center; gap: 9px;
	font-size: 13.5px; color: #33415c; text-decoration: none;
}
.ct-sidebar .ct-widget ul li a:hover { color: var(--cmv-blue); }
.ct-sidebar .ct-widget ul li .count { margin-left: auto; font-size: 12px; color: #98a3b3; }

/* casuta de bifare, desenata (widgeturile Woo nu au input) */
.ct-sidebar .woocommerce-widget-layered-nav ul li a::before,
.cmv-filtru-disp .cmv-check {
	content: ""; flex: 0 0 auto; width: 15px; height: 15px;
	border: 1.5px solid #cbd5e1; border-radius: 4px; background: #fff;
}
.ct-sidebar .woocommerce-widget-layered-nav ul li.chosen a::before,
.cmv-filtru-disp .cmv-activ .cmv-check {
	background: var(--cmv-blue) url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='white' stroke-width='2.5'%3E%3Cpath d='M3 8.5l3.5 3.5L13 5'/%3E%3C/svg%3E") center/11px no-repeat;
	border-color: var(--cmv-blue);
}

/* disponibilitate */
.cmv-filtru-disp { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.cmv-filtru-disp a { display: flex; align-items: center; gap: 9px; font-size: 13.5px; color: #33415c; text-decoration: none; }
.cmv-filtru-disp a:hover { color: var(--cmv-blue); }
.cmv-filtru-disp .cmv-eticheta { flex: 1; }
.cmv-filtru-disp .cmv-nr { font-size: 12px; color: #98a3b3; }

/* chipsuri de filtre active */
.ct-sidebar .woocommerce-widget-layered-nav-list__item,
.ct-sidebar .wc-block-active-filters li { display: inline-flex; }
.ct-sidebar .widget_layered_nav_filters ul { flex-direction: row; flex-wrap: wrap; gap: 8px; }
.ct-sidebar .widget_layered_nav_filters ul li a {
	background: #e7edfa; color: var(--cmv-blue); font-size: 12.5px; font-weight: 700;
	padding: 6px 12px; border-radius: 999px;
}
.ct-sidebar .widget_layered_nav_filters ul li a::before { display: none; }
.cmv-sterge-filtre { display: inline-block; margin-top: 10px; font-size: 12.5px; font-weight: 600; color: #8B97A8; text-decoration: none; }
.cmv-sterge-filtre:hover { color: var(--cmv-blue); }

/* interval de preț */
.ct-sidebar .widget_price_filter .price_slider_amount .button {
	background: var(--cmv-blue); color: #fff; border-radius: 8px; font-size: 12.5px; font-weight: 700; padding: 8px 12px;
}
.ct-sidebar .widget_price_filter .ui-slider .ui-slider-range,
.ct-sidebar .widget_price_filter .ui-slider .ui-slider-handle { background: var(--cmv-blue); }

/* liste lungi: le limitam si le facem derulabile */
.ct-sidebar .woocommerce-widget-layered-nav ul { max-height: 240px; overflow-y: auto; }
.ct-sidebar select { width: 100%; font-size: 13.5px; padding: 8px 10px; border: 1px solid var(--cmv-border); border-radius: 8px; }

/* cardul de consultanță */
.cmv-consultant {
	background: #EEF3FB; border-radius: 10px; padding: 14px; margin-top: 16px;
	display: flex; flex-direction: column; gap: 6px;
}
.cmv-consultant-t { font-size: 13px; font-weight: 800; color: var(--cmv-navy); }
.cmv-consultant-d { font-size: 12.5px; color: #4A5568; line-height: 1.5; }
.cmv-consultant a { font-size: 13px; font-weight: 700; color: #2f7a52; text-decoration: none; }
.cmv-consultant a:hover { color: #245f40; }

/* Interval de preț: două câmpuri + buton, ca în machetă.
   Bara-glisor a lui WooCommerce cere jQuery UI, pe care Blocksy nu-l încarcă → o scoatem. */
.ct-sidebar .widget_price_filter .price_slider,
.ct-sidebar .widget_price_filter .price_slider_wrapper .ui-slider,
.ct-sidebar .widget_price_filter .price_label { display: none !important; }
.ct-sidebar .widget_price_filter .price_slider_amount {
	display: flex; align-items: center; gap: 8px; flex-wrap: wrap; padding: 0;
}
.ct-sidebar .widget_price_filter .price_slider_amount input[type="text"] {
	display: block !important; width: 82px; flex: 0 0 auto;
	font-size: 13px; padding: 8px 10px; text-align: center;
	border: 1px solid var(--cmv-border); border-radius: 8px; background: #fff; color: var(--cmv-text);
}
.ct-sidebar .widget_price_filter .price_slider_amount input[type="text"]:focus {
	outline: none; border-color: var(--cmv-blue);
}
.ct-sidebar .widget_price_filter .price_slider_amount .button {
	flex: 0 0 auto; margin: 0; line-height: 1;
}
.ct-sidebar .widget_price_filter .clear { display: none; }

/* ============ SERTARUL DE FILTRE PE MOBIL ============ */
.cmv-filtre-buton { display: none; }
.cmv-filtre-inchide { display: none; }

@media (max-width: 999px) {
	.cmv-filtre-buton {
		display: inline-flex; align-items: center; gap: 7px;
		background: #fff; color: var(--cmv-navy); border: 1px solid var(--cmv-border);
		border-radius: 8px; padding: 9px 14px; font-size: 14px; font-weight: 700;
		font-family: inherit; cursor: pointer;
	}
	.cmv-filtre-buton:hover { border-color: var(--cmv-blue); color: var(--cmv-blue); }

	body.cmv-filtre-deschise { overflow: hidden; }
	body.cmv-filtre-deschise::before {
		content: ""; position: fixed; inset: 0; background: rgba(15, 23, 42, .45); z-index: 9998;
	}
	body.cmv-filtre-deschise #sidebar {
		display: block !important;
		position: fixed; top: 0; left: 0; bottom: 0; z-index: 9999;
		width: min(88vw, 340px); background: #fff; overflow-y: auto;
		padding: 52px 20px 28px; box-shadow: 0 0 40px rgba(15, 23, 42, .25);
	}
	body.cmv-filtre-deschise .cmv-filtre-inchide {
		display: block; position: absolute; top: 10px; right: 12px;
		background: none; border: 0; font-size: 30px; line-height: 1;
		color: #8B97A8; cursor: pointer; padding: 4px 8px;
	}
	body.cmv-filtre-deschise .cmv-filtre-inchide:hover { color: var(--cmv-navy); }
}

/* ============ PAGINA ÎNTREBĂRI FRECVENTE ============ */
.cmv-faq { max-width: 820px; }
.cmv-faq-intro { font-size: 16px; color: #4A5568; line-height: 1.65; margin-bottom: 28px; }
.cmv-faq h2 {
	font-size: 13px; font-weight: 800; letter-spacing: 1px; text-transform: uppercase;
	color: var(--cmv-blue); margin: 34px 0 12px;
}
.cmv-faq h2:first-of-type { margin-top: 8px; }
.cmv-faq-item {
	border: 1px solid var(--cmv-border); border-radius: var(--cmv-radius);
	background: #fff; margin-bottom: 10px; overflow: hidden;
}
.cmv-faq-item summary {
	cursor: pointer; list-style: none; padding: 16px 20px;
	font-size: 16px; font-weight: 700; color: var(--cmv-navy); line-height: 1.4;
	display: flex; align-items: flex-start; gap: 12px;
}
.cmv-faq-item summary::-webkit-details-marker { display: none; }
.cmv-faq-item summary::before {
	content: "+"; flex: 0 0 auto; font-size: 20px; font-weight: 600;
	color: var(--cmv-blue); line-height: 1.15; width: 16px;
}
.cmv-faq-item[open] summary::before { content: "\2212"; }
.cmv-faq-item summary:hover { color: var(--cmv-blue); }
.cmv-faq-a { padding: 0 20px 18px 48px; }
.cmv-faq-a p { font-size: 15px; color: #4A5568; line-height: 1.7; margin: 0; }
.cmv-faq-a a { color: var(--cmv-blue); }
.cmv-faq-cta { background: #EEF3FB; border-radius: var(--cmv-radius); padding: 20px 22px; margin-top: 34px; }
.cmv-faq-cta-t { display: block; font-size: 16px; font-weight: 800; color: var(--cmv-navy); margin-bottom: 6px; }
.cmv-faq-cta p { font-size: 15px; color: #4A5568; line-height: 1.7; margin: 0; }
.cmv-faq-cta a { color: var(--cmv-blue); font-weight: 600; }

/* ============ BREADCRUMB (macheta: text normal, nu MAJUSCULE, cu „Acasă") ============ */
.ct-breadcrumbs {
	text-transform: none;
	font-size: 12.5px;
	letter-spacing: 0;
	color: var(--cmv-text-faint);
}
.ct-breadcrumbs a { color: var(--cmv-text-faint); }
.ct-breadcrumbs a:hover { color: var(--cmv-blue); }
.ct-breadcrumbs .last-item, .ct-breadcrumbs [aria-current] { color: var(--cmv-text); }

/* ============ PAGINA DESPRE NOI (designul v2) ============ */
.cmv-despre { max-width: 980px; }
.cmv-eyebrow {
	display: block; font-size: 12px; font-weight: 800; letter-spacing: 1.4px;
	text-transform: uppercase; color: var(--cmv-blue); margin-bottom: 12px;
}
.cmv-despre-titlu { font-size: clamp(28px, 4vw, 40px); line-height: 1.15; color: var(--cmv-navy); margin: 0 0 18px; }
.cmv-despre-lead { font-size: 17px; line-height: 1.7; color: var(--cmv-text-soft); margin: 0; max-width: 780px; }

/* locurile de fotografie — se înlocuiesc cu imagini reale */
.cmv-foto {
	margin: 34px 0; border-radius: var(--cmv-radius); background: var(--cmv-bg-soft);
	border: 1px dashed #C6D2E4; min-height: 260px;
	display: flex; align-items: center; justify-content: center; padding: 20px;
}
.cmv-foto::after {
	content: attr(data-foto); font-size: 13px; color: #8B97A8; text-align: center; line-height: 1.5;
}
.cmv-foto--lat { min-height: 320px; }

.cmv-despre-rand { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: center; margin: 40px 0; }
.cmv-despre-rand .cmv-foto { margin: 0; min-height: 300px; }
.cmv-despre-rand--invers .cmv-despre-text { order: 2; }
.cmv-despre-rand--invers .cmv-foto { order: 1; }
.cmv-despre-text h3 { font-size: 24px; line-height: 1.3; color: var(--cmv-navy); margin: 0 0 14px; }
.cmv-despre-text p { font-size: 15.5px; line-height: 1.75; color: var(--cmv-text-soft); margin: 0 0 14px; }
.cmv-despre-text p:last-child { margin-bottom: 0; }
.cmv-despre-text a { color: var(--cmv-blue); }

.cmv-despre-valori { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin: 48px 0; }
.cmv-valoare { background: #fff; border: 1px solid var(--cmv-border); border-radius: var(--cmv-radius); padding: 22px; }
.cmv-valoare-bifa {
	display: inline-flex; align-items: center; justify-content: center;
	width: 30px; height: 30px; border-radius: 999px;
	background: var(--cmv-bg-tint); color: var(--cmv-blue); font-weight: 800; margin-bottom: 12px;
}
.cmv-valoare h3 { font-size: 16.5px; line-height: 1.35; color: var(--cmv-navy); margin: 0 0 8px; }
.cmv-valoare p { font-size: 14.5px; line-height: 1.65; color: var(--cmv-text-soft); margin: 0; }
.cmv-valoare a { color: var(--cmv-blue); }

.cmv-despre-cta { background: var(--cmv-bg-tint); border-radius: var(--cmv-radius); padding: 30px 32px; margin-top: 12px; }
.cmv-despre-cta h3 { font-size: 22px; color: var(--cmv-navy); margin: 0 0 10px; }
.cmv-despre-cta p { font-size: 15.5px; line-height: 1.7; color: var(--cmv-text-soft); margin: 0 0 18px; max-width: 700px; }
.cmv-despre-cta-butoane { display: flex; gap: 12px; flex-wrap: wrap; margin: 0 !important; }
.cmv-despre-cta .cmv-btn { display: inline-flex; align-items: center; border-radius: 10px; padding: 12px 22px; font-size: 15px; font-weight: 700; text-decoration: none; }
.cmv-despre-cta .cmv-btn--primar { background: var(--cmv-blue); color: #fff; }
.cmv-despre-cta .cmv-btn--primar:hover { background: #214890; }
.cmv-despre-cta .cmv-btn--ghost { background: #fff; color: var(--cmv-blue); border: 1.5px solid var(--cmv-border); }
.cmv-despre-cta .cmv-btn--ghost:hover { border-color: var(--cmv-blue); }

@media (max-width: 860px) {
	.cmv-despre-rand { grid-template-columns: 1fr; gap: 24px; }
	.cmv-despre-rand--invers .cmv-despre-text, .cmv-despre-rand--invers .cmv-foto { order: initial; }
	.cmv-despre-valori { grid-template-columns: 1fr; gap: 16px; }
	.cmv-despre-cta { padding: 24px 20px; }
}

/* Subsolul implicit Blocksy (rândul de copyright) — al nostru e mai sus, în .cmv-footer-jos */
#footer [data-row=bottom] { display: none; }

/* Conținutul paginilor se aliniază la stânga cu titlul, nu centrat pe mijloc */
.page .entry-content.is-layout-constrained {
	max-width: var(--theme-container-width, 1290px); margin-left: auto; margin-right: auto;
}
.entry-content.is-layout-constrained > .cmv-despre,
.entry-content.is-layout-constrained > .cmv-contact,
.entry-content.is-layout-constrained > .cmv-suport,
.entry-content.is-layout-constrained > .cmv-faq {
	margin-left: 0 !important; margin-right: auto !important;   /* bat regula de layout a WordPress */
}

/* ============ PAGINA CONTACT (designul v2) ============ */
.cmv-contact { display: grid; grid-template-columns: minmax(0,1.55fr) minmax(0,1fr); gap: 40px; align-items: start; }
.cmv-contact-main h2 { font-size: 28px; line-height: 1.25; color: var(--cmv-navy); margin: 0 0 12px; }
.cmv-contact-lead { font-size: 15.5px; line-height: 1.7; color: var(--cmv-text-soft); margin: 0 0 26px; }

.cmv-camp { margin-bottom: 16px; }
.cmv-camp label { display: block; font-size: 13.5px; font-weight: 700; color: var(--cmv-navy); margin-bottom: 6px; }
.cmv-camp label span { color: var(--cmv-red); }
.cmv-camp label em { font-weight: 500; font-style: normal; color: var(--cmv-text-faint); }
.cmv-contact input[type=text], .cmv-contact input[type=email], .cmv-contact select, .cmv-contact textarea {
	width: 100%; font-family: inherit; font-size: 14.5px; color: var(--cmv-text);
	padding: 11px 14px; border: 1.5px solid var(--cmv-border); border-radius: 10px; background: var(--cmv-bg-softer);
}
.cmv-contact input:focus, .cmv-contact select:focus, .cmv-contact textarea:focus {
	outline: none; border-color: var(--cmv-blue); background: #fff;
}
.cmv-contact textarea { resize: vertical; min-height: 130px; }
.cmv-acord { display: flex; gap: 9px; align-items: flex-start; font-size: 13.5px; color: var(--cmv-text-soft); line-height: 1.6; margin: 18px 0; }
.cmv-acord a { color: var(--cmv-blue); }
.cmv-acord .wpcf7-list-item { margin: 0; }
.cmv-contact .cmv-btn--primar {
	display: inline-block; background: var(--cmv-blue); color: #fff; border: 0; cursor: pointer;
	border-radius: 10px; padding: 13px 26px; font-size: 15px; font-weight: 700; font-family: inherit;
}
.cmv-contact .cmv-btn--primar:hover { background: #214890; }
.cmv-form-nota { font-size: 13px; color: var(--cmv-text-faint); margin: 12px 0 0; }

.cmv-contact-lat { display: flex; flex-direction: column; gap: 16px; }
.cmv-card { background: #fff; border: 1px solid var(--cmv-border); border-radius: var(--cmv-radius); padding: 20px; }
.cmv-card--wa { background: var(--cmv-bg-tint); border-color: #D8E4F7; }
.cmv-card-t { display: block; font-size: 15.5px; font-weight: 800; color: var(--cmv-navy); margin-bottom: 8px; }
.cmv-card p { font-size: 14px; line-height: 1.65; color: var(--cmv-text-soft); margin: 0 0 12px; }
.cmv-card-mic { display: block; font-size: 12.5px; color: var(--cmv-text-faint); margin-top: 10px; }
.cmv-card-link { font-size: 14px; font-weight: 700; color: var(--cmv-blue); text-decoration: none; }
.cmv-card-link:hover { text-decoration: underline; }
/* 21.09: butonul de WhatsApp era albastrul vechi scris de mână în trei feluri (hex, hex de
   hover, două reguli `oklch` care spuneau altceva decât numele lor). Acum e verdele de WhatsApp
   din machetă (`#1D9E4D` în antet, `#2F9E44` în butoane), dintr-un singur loc. */
.cmv-btn--wa {
	display: inline-block; background: var(--cmv-green); color: #fff !important; text-decoration: none;
	border-radius: 999px; padding: 13px 26px; font-size: 14.5px; font-weight: 700;
}
.cmv-btn--wa:hover { background: var(--cmv-green-dark); }
.cmv-tel a { color: inherit; text-decoration: none; }
.cmv-tel a:hover { color: var(--cmv-blue); }
.cmv-card .cmv-tel a { font-size: 21px; font-weight: 800; color: var(--cmv-navy); }
.cmv-card .cmv-tel { display: block; margin-bottom: 0; }

@media (max-width: 900px) { .cmv-contact { grid-template-columns: 1fr; gap: 28px; } }

/* ============ PAGINA SUPORT (designul v2) ============ */
.cmv-suport { display: grid; grid-template-columns: minmax(0,1.55fr) minmax(0,1fr); gap: 40px; align-items: start; }
.cmv-suport-main h2 { font-size: 28px; line-height: 1.25; color: var(--cmv-navy); margin: 0 0 12px; }
.cmv-suport-lead { font-size: 15.5px; line-height: 1.7; color: var(--cmv-text-soft); margin: 0 0 12px; }
.cmv-suport-redirect {
	font-size: 14.5px; line-height: 1.6; color: var(--cmv-text-soft);
	background: var(--cmv-bg-soft); border-radius: 10px; padding: 12px 16px; margin: 0 0 26px;
}
.cmv-suport-redirect a { color: var(--cmv-blue); font-weight: 600; }

.cmv-pas { display: flex; gap: 16px; align-items: flex-start; margin-bottom: 26px; }
.cmv-pas-nr {
	flex: 0 0 auto; width: 28px; height: 28px; border-radius: 999px;
	background: var(--cmv-blue); color: #fff; font-weight: 800; font-size: 14px;
	display: flex; align-items: center; justify-content: center; margin-top: 2px;
}
.cmv-pas-corp { flex: 1; min-width: 0; }
.cmv-pas-corp h3 { font-size: 18px; color: var(--cmv-navy); margin: 0 0 6px; }
.cmv-pas-nota { font-size: 13.5px; line-height: 1.6; color: var(--cmv-text-faint); margin: 0 0 12px; }
.cmv-pas-nota a { color: var(--cmv-blue); }
.cmv-doua { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }

.cmv-suport input[type="text"], .cmv-suport input[type="email"], .cmv-suport textarea, .cmv-suport input[type="file"] {
	width: 100%; font-family: inherit; font-size: 14.5px; color: var(--cmv-text);
	padding: 11px 14px; border: 1.5px solid var(--cmv-border); border-radius: 10px; background: var(--cmv-bg-softer);
}
.cmv-suport input:focus, .cmv-suport textarea:focus { outline: none; border-color: var(--cmv-blue); background: #fff; }
.cmv-suport textarea { resize: vertical; min-height: 140px; }
.cmv-suport input[type="file"] { padding: 9px 12px; font-size: 13px; }
.cmv-suport .cmv-btn--primar {
	display: inline-block; background: var(--cmv-blue); color: #fff; border: 0; cursor: pointer;
	border-radius: 10px; padding: 13px 26px; font-size: 15px; font-weight: 700; font-family: inherit;
}
.cmv-suport .cmv-btn--primar:hover { background: #214890; }

.cmv-suport-lat { display: flex; flex-direction: column; gap: 16px; }
.cmv-pasi { margin: 0; padding-left: 0; list-style: none; counter-reset: p; }
.cmv-pasi li {
	counter-increment: p; position: relative; padding-left: 30px; margin-bottom: 12px;
	font-size: 14px; line-height: 1.6; color: var(--cmv-text-soft);
}
.cmv-pasi li::before {
	content: counter(p); position: absolute; left: 0; top: 1px;
	width: 20px; height: 20px; border-radius: 999px; background: var(--cmv-bg-tint);
	color: var(--cmv-blue); font-size: 12px; font-weight: 800;
	display: flex; align-items: center; justify-content: center;
}
.cmv-pasi li:last-child { margin-bottom: 0; }

@media (max-width: 900px) {
	.cmv-suport { grid-template-columns: 1fr; gap: 28px; }
	.cmv-doua { grid-template-columns: 1fr; }
}

/* pagina de produs: prețul fără TVA + butonul de WhatsApp din buy-box */
.cmv-fara-tva { font-size: 13.5px; color: var(--cmv-text-faint); margin: -6px 0 14px; }
/* ⛔ 21.09.2026 — butonul „Consultanță rapidă pe WhatsApp" NU se mai stilează aici.
   Aici era forma veche (chenar #b9c7de, text bleumarin) cu `color: … !important`, care bătea
   orice regulă scrisă în `css/produs.css` — adică pagina de produs nu-și putea schimba butonul.
   Forma lui e la D2, în `css/produs.css` (`.single-product .entry-summary .cmv-buybox .cmv-wa-buy`),
   iar macheta „Produs Desktop" cere: text #1D9E4D, fundal transparent, chenar 1px #25D366, rază 12,
   13,5/700, 225×48. Măsurat pe machetă, nu ales. */

/* ⛔ REPARAT 04.09.2026 — TITLUL PAGINII nu era aliniat cu conținutul.
   Pe paginile de informare (garanție, plăți, livrare, termeni, retur…) conținutul e o
   coloană de 900px centrată, dar titlul temei (`h1.page-title` din `.entry-header`)
   se întindea pe toată lățimea containerului ⇒ pe desktop titlul începea cu 190px mai
   la stânga decât textul de sub el. Pe telefon, titlul atingea marginea ecranului.
   Se aplică DOAR pe paginile care au un bloc de conținut propriu (`:has`), ca să nu
   atingem magazinul sau paginile care chiar sunt pe toată lățimea. */
main:has(.pro-legal, .pro-gar, .pro-pay, .pro-liv, .pro-livrare, .pro-inst,
         .pro-ret, .pro-rate, .pro-cerere, .pro-fp, .pro-ch) .entry-header {
	max-width: 900px;
	margin-left: auto;
	margin-right: auto;
}
@media (max-width: 767px) {
	main:has(.pro-legal, .pro-gar, .pro-pay, .pro-liv, .pro-livrare, .pro-inst,
	         .pro-ret, .pro-rate, .pro-cerere, .pro-fp, .pro-ch) .entry-header {
		padding-left: 20px;
		padding-right: 20px;
	}
}

/* ⛔ REPARAT 04.09.2026 — ANTETUL nu avea spațiere laterală pe tabletă.
   Containerul Blocksy are padding 32px de la ~1000px în sus, dar ZERO sub el, așa că
   între 768 și 999px butonul de meniu atingea exact ultima coloană de pixeli a
   ecranului (măsurat: 0px până la margine), iar logo-ul stătea la 6px. Restul paginii
   avea deja ~25px. A treia consecință a aceleiași zone moarte 768–999. */
@media (min-width: 768px) and (max-width: 999px) {
	[data-header] .ct-container,
	[data-header] .ct-container-full { padding-left: 24px; padding-right: 24px; }
}
