/* =====================================================================================
   ANTETUL CARMEDIC v3 — bara de sus, rândul alb, bara de categorii, panourile mega, sertarul
   de pe telefon. Pereche cu `inc/antet.php`. Prefix de clase: `.cmv-`.
   D1, 21.09.2026.

   ⭐ TOATE CIFRELE DE AICI SUNT MĂSURATE în machetele din `design-v3/`, cu `getComputedStyle`
   la 1440 px și 390 px — nu alese. Reperele principale (machetă → aici):
     bara de sus      #161E29, înălțime 31 px, text 12 px rgba(255,255,255,.72), linkuri 12,5/600
     rândul alb       #FFF, înălțime 74 px, padding 14/24, gap 26
     bara de categorii #212B38, înălțime 50 px, intrări 13,5/600 rgba(255,255,255,.92), padding 0 14
     containerul      max-width 1280, padding 0 24  (⚠️ macheta are 24, nu 32 ca `.cmv-wrap` vechi)
   ⛔ Culorile nu se scriu aici: vin din tokenii din `style.css`.
   ===================================================================================== */

/* ---------------------------------------------------------------- scheletul */
.cmv-antet {
	position: sticky;
	top: 0;
	z-index: 100;
	box-shadow: 0 1px 0 rgba(16, 24, 40, .06);
	font-family: var(--cmv-font);
}
/* ⚠️ Macheta ține containerul la 1280/24, nu 1280/32. Diferența de 8 px pe fiecare parte se
   vedea la comparația pe pixeli ca o deplasare a TUTUROR elementelor din antet. */
/* ⛔ `padding: 0 24px` ar fi fost o capcană: shorthand-ul RESETEAZĂ și sus/jos, iar selectorul
   ăsta (0,2,0) bate `.cmv-topbar-in` / `.cmv-masthead-in` (0,1,0) care își pun padding vertical.
   Măsurat înainte de reparație, pe pagina livrată: bara de sus 15 px în loc de 31, rândul alb
   44 în loc de 74. Se scriu DOAR laturile. */
/* ⚠️ MACHETA FOLOSEȘTE `content-box`: `max-width:1280px` + `padding:0 24px` înseamnă acolo o
   cutie de 1328 px, cu conținutul între 80 și 1360 la o fereastră de 1440. Tema are
   `box-sizing: border-box`, deci aceleași două valori dau conținut între 104 și 1336 — TOT
   antetul deplasat cu 24 px spre interior. Măsurat: machetă „Livrare" la x=80, șantier la x=104.
   Se scrie cutia, nu conținutul. */
.cmv-antet .cmv-wrap,
.cmv-subsol .cmv-wrap { max-width: 1328px; margin-left: auto; margin-right: auto; padding-left: 24px; padding-right: 24px; }

.cmv-sari {
	position: absolute; left: -9999px; top: 0; z-index: 200;
	background: var(--cmv-green); color: #fff; padding: 10px 18px; border-radius: 0 0 10px 0;
	font-size: 14px; font-weight: 700;
}
.cmv-sari:focus { left: 0; }

.cmv-ic { flex: none; }

/* ---------------------------------------------------------------- bara de sus */
.cmv-topbar {
	background: var(--cmv-navy-3);
	color: rgba(255, 255, 255, .72);
	font-size: 12px;
	line-height: normal;
}
.cmv-topbar-in {
	display: flex; align-items: center; justify-content: space-between;
	gap: 16px; flex-wrap: wrap; padding-top: 7px; padding-bottom: 7px;
}
/* ⚠️ Banda de promisiuni e DOAR pe telefon: machetele desktop („Acasa", „Contact") au în bara
   de sus doar cele șase linkuri, la stânga. Macheta „Meniu" arată și promisiuni — e singura
   dintre cele 14 care o face, iar paginile reale sunt celelalte două. */
.cmv-promisiuni { display: none; gap: 18px; list-style: none; margin: 0; padding: 0; }
.cmv-promisiuni li { position: relative; }
.cmv-promisiuni li + li::before {
	content: "·"; position: absolute; left: -11px; opacity: .35;
}
.cmv-topbar-links { display: flex; gap: 24px; }
.cmv-topbar-links a {
	color: rgba(255, 255, 255, .95);
	font-size: 12.5px; font-weight: 600; text-decoration: none;
	/* machetă: linkul are 17 px înălțime la 12,5 px (line-height „normal" al lui Manrope).
	   Tema moștenește un line-height numeric care îl strângea la 15 ⇒ bara ieșea 29, nu 31. */
	line-height: 1.36;
}
.cmv-topbar-links a:hover,
.cmv-topbar-links a:focus-visible { color: var(--cmv-green-bright); }

/* ---------------------------------------------------------------- rândul alb */
.cmv-masthead { background: #fff; }
.cmv-masthead-in { display: flex; align-items: center; gap: 26px; padding-top: 14px; padding-bottom: 14px; }

.cmv-hamburger {
	display: none; background: none; border: 0; padding: 0; color: var(--cmv-text);
	line-height: 0; cursor: pointer;
}

.cmv-sigla { display: flex; align-items: center; gap: 10px; color: var(--cmv-text); text-decoration: none; flex: none; }
.cmv-sigla img { height: 40px; width: auto; display: block; }
.cmv-sigla-text { line-height: 1; font-size: 21px; font-weight: 800; letter-spacing: -.02em; }
.cmv-sigla-text span { color: var(--cmv-green); }
.cmv-sigla-text small {
	display: block; font-size: 10px; font-weight: 600; color: var(--cmv-text-fainter);
	letter-spacing: .08em; margin-top: 3px;
}

/* căutarea: pastilă gri cu buton rotund verde (machetă: 44 px înălțime, rază 999) */
.cmv-cauta {
	/* machetă: înălțime 44 + chenar 1 px pe fiecare latură = 46 px măsurat. Tema are
	   `box-sizing: border-box`, deci cei 46 se scriu direct — altfel rândul alb iese 72, nu 74. */
	flex: 1; max-width: 480px; height: 46px;
	background: var(--cmv-bg-soft); border: 1px solid var(--cmv-border); border-radius: 999px;
	display: flex; align-items: center; gap: 10px; padding: 0 5px 0 18px; margin: 0;
}
.cmv-cauta input[type="search"] {
	flex: 1; min-width: 0; border: 0; outline: 0; background: transparent;
	font: 500 13.5px/1.2 var(--cmv-font); color: var(--cmv-text);
	-webkit-appearance: none; appearance: none;
}
.cmv-cauta input[type="search"]::placeholder { color: var(--cmv-text-fainter); }
.cmv-cauta:focus-within { border-color: var(--cmv-green); background: #fff; }
.cmv-cauta button {
	flex: none; width: 34px; height: 34px; border: 0; border-radius: 999px; padding: 0;
	background: var(--cmv-green); color: #fff; display: flex; align-items: center; justify-content: center;
	cursor: pointer;
}
.cmv-cauta button .cmv-ic { stroke-width: 2.5; }
.cmv-cauta button:hover { background: var(--cmv-green-dark); }
.cmv-cauta-mobil { display: none; }

/* blocul de telefon */
.cmv-tel-bloc { display: flex; align-items: center; gap: 10px; margin-left: auto; }
.cmv-tel-ic {
	width: 38px; height: 38px; flex: none; border-radius: 999px; background: var(--cmv-green-soft);
	color: var(--cmv-green); display: flex; align-items: center; justify-content: center;
}
.cmv-tel-ic .cmv-ic { fill: currentColor; stroke: none; }
.cmv-tel-txt { font-size: 12px; line-height: 1.35; }
/* ⛔ Numărul e ofuscat: `.cm-tel` e un loc gol pe care îl completează browserul (vezi
   motor/mu-plugins/carmedic-contact-ascuns.php). Stilul se pune pe înveliș, nu pe text. */
.cmv-tel-txt .cm-tel { display: block; font-weight: 800; font-size: 14.5px; color: var(--cmv-text); }
.cmv-tel-txt .cm-tel a { color: inherit; text-decoration: none; }
.cmv-tel-txt .cm-tel:hover { color: var(--cmv-green-dark); }
.cmv-tel-sub { display: block; color: var(--cmv-text-fainter); font-weight: 500; }
/* ⛔ `display: inline` explicit: învelișul de WhatsApp vine din motor ca `<a>` și primește
   `display:block` de la stilurile butonului plutitor ⇒ sărea pe rândul următor și se tăia.
   Măsurat pe pagina livrată: 64×16 px, dar sub „L–V 9–17 ·", în afara blocului. */
.cmv-tel-sub .cmv-wa { display: inline; font-weight: 800; color: #1D9E4D; font-size: 11.5px; text-decoration: none; }
.cmv-tel-sub .cmv-wa:hover { color: #128C43; }

/* cont / favorite / coș */
.cmv-actiuni { display: flex; align-items: center; gap: 22px; }
.cmv-actiune { display: flex; align-items: center; gap: 8px; color: var(--cmv-text); text-decoration: none; font-size: 13px; font-weight: 600; }
.cmv-actiune:hover { color: var(--cmv-green-dark); }
.cmv-actiune--cos { gap: 10px; }
.cmv-ic-wrap { position: relative; display: flex; }
.cmv-badge {
	position: absolute; top: -6px; right: -8px;
	background: var(--cmv-red); color: #fff; font-size: 10px; font-weight: 700;
	min-width: 16px; height: 16px; border-radius: 999px;
	display: flex; align-items: center; justify-content: center; padding: 0 3px;
}
.cmv-cos-txt { display: block; font-size: 12px; line-height: 1.3; }
.cmv-cos-et { display: block; color: var(--cmv-text-fainter); font-weight: 500; }
.cmv-cos-suma { display: block; font-weight: 800; }
.cmv-cos-suma .woocommerce-Price-amount { font-weight: 800; }

/* ---------------------------------------------------------------- bara de categorii */
.cmv-bara { position: relative; background: var(--cmv-navy-2); }
.cmv-bara-in { display: flex; align-items: center; }
.cmv-bara-tot {
	display: flex; align-items: center; gap: 9px;
	height: 50px; padding: 0 18px; margin-right: 10px;
	background: var(--cmv-green); color: #fff;
	font-size: 13.5px; font-weight: 700; text-decoration: none; white-space: nowrap;
}
.cmv-bara-tot:hover,
.cmv-bara-tot:focus-visible { background: var(--cmv-green-dark); color: #fff; }   /* hoverul declarat al mărcii */
.cmv-bara-item {
	position: relative; display: flex; align-items: center; gap: 6px;
	height: 50px; padding: 0 14px;
	font-size: 13.5px; font-weight: 600; color: rgba(255, 255, 255, .92); text-decoration: none;
	white-space: nowrap;
}
.cmv-bara-item:hover,
.cmv-bara-item:focus-visible,
.cmv-bara-item.cmv-activ { background: rgba(255, 255, 255, .06); color: #fff; }
.cmv-sageata { font-size: 9px; opacity: .55; }
.cmv-punct { width: 6px; height: 6px; border-radius: 999px; background: #FF6B6B; display: inline-block; }
/* linia verde de sub intrarea deschisă (machetă: 3 px, colțuri sus) */
.cmv-bara-item.cmv-activ::after {
	content: ""; position: absolute; left: 10px; right: 10px; bottom: 0;
	height: 3px; background: var(--cmv-green-bright); border-radius: 2px 2px 0 0;
}
.cmv-bara-cta {
	margin-left: auto;
	border: 1px solid rgba(255, 255, 255, .28); border-radius: 999px;
	padding: 7px 16px; color: #fff; font-size: 13px; font-weight: 600; text-decoration: none;
	white-space: nowrap;
}
.cmv-bara-cta:hover,
.cmv-bara-cta:focus-visible { border-color: var(--cmv-green-bright); color: var(--cmv-green-bright); }

/* ---------------------------------------------------------------- panoul mega */
.cmv-panou {
	position: absolute; left: 0; right: 0; top: 100%;
	background: #fff; border-top: 3px solid var(--cmv-green);
	box-shadow: 0 28px 48px rgba(16, 24, 40, .22);
	animation: cmvIn .16s ease;
	z-index: 60;
}
.cmv-panou[hidden] { display: none; }
@keyframes cmvIn { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .cmv-panou { animation: none; } }

.cmv-panou-in { display: flex; gap: 44px; padding-top: 26px; padding-bottom: 28px; }
.cmv-panou-lista { flex: 1; min-width: 0; }
.cmv-panou-titlu {
	font-size: 11px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase;
	color: var(--cmv-text-fainter); margin: 0 0 12px;
}
.cmv-panou-grid { display: grid; grid-template-columns: 1fr 1fr; column-gap: 28px; row-gap: 2px; }
.cmv-panou-grid a { display: block; padding: 9px 12px; border-radius: 8px; color: var(--cmv-text); text-decoration: none; }
.cmv-panou-grid a:hover,
.cmv-panou-grid a:focus-visible { background: var(--cmv-bg-tint); color: var(--cmv-green-dark); }
.cmv-panou-n { display: flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 600; }
.cmv-panou-insigna {
	background: var(--cmv-green-soft); color: var(--cmv-green-dark);
	font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 999px;
}
.cmv-panou-h { display: block; font-size: 12px; color: var(--cmv-text-faint); margin-top: 2px; font-weight: 500; }
.cmv-panou-tot {
	display: inline-block; margin: 14px 0 0 12px;
	font-size: 13px; font-weight: 700; color: var(--cmv-green); text-decoration: none;
}
.cmv-panou-tot:hover { color: var(--cmv-green-dark); }

.cmv-panou-card {
	width: 290px; flex: none; align-self: flex-start;
	background: var(--cmv-green-tint); border-radius: 14px; padding: 22px 22px 20px;
}
.cmv-panou-card-sup {
	font-size: 10.5px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase;
	color: var(--cmv-green); margin: 0;
}
.cmv-panou-card-titlu { font-size: 17px; font-weight: 800; line-height: 1.25; margin: 8px 0 6px; color: var(--cmv-text); }
.cmv-panou-card-text { font-size: 13px; color: var(--cmv-text-soft); line-height: 1.5; margin: 0; }
.cmv-panou-card-btn {
	display: inline-block; margin-top: 14px; background: var(--cmv-green); color: #fff;
	font-size: 13px; font-weight: 700; padding: 9px 16px; border-radius: 999px; text-decoration: none;
}
.cmv-panou-card-btn:hover { background: var(--cmv-green-dark); color: #fff; }

/* ---------------------------------------------------------------- sertarul de pe telefon */
.cmv-voal {
	position: fixed; inset: 0; background: rgba(16, 24, 40, .45); z-index: 190;
}
.cmv-voal[hidden], .cmv-sertar[hidden] { display: none; }
.cmv-sertar {
	position: fixed; inset: 0 auto 0 0; width: min(88vw, 360px); z-index: 200;
	background: #fff; display: flex; flex-direction: column; overflow-y: auto;
	box-shadow: 0 0 40px rgba(16, 24, 40, .28);
	font-family: var(--cmv-font);
}
body.cmv-sertar-deschis { overflow: hidden; }
.cmv-sertar-sus {
	display: flex; align-items: center; justify-content: space-between;
	padding: 16px 18px; border-bottom: 1px solid var(--cmv-border-fine);
}
.cmv-sertar-titlu { font-size: 15px; font-weight: 800; color: var(--cmv-text); }
.cmv-sertar-x { background: none; border: 0; padding: 0; color: var(--cmv-text); line-height: 0; cursor: pointer; }
.cmv-sertar-lista { list-style: none; margin: 0; padding: 6px 0; flex: 1; }
.cmv-sertar-cap {
	display: flex; align-items: center; justify-content: space-between; width: 100%;
	background: none; border: 0; text-align: left; cursor: pointer;
	padding: 13px 18px; font: 600 14.5px/1.3 var(--cmv-font); color: var(--cmv-text); text-decoration: none;
}
.cmv-sertar-cap .cmv-ic { transition: transform .16s ease; color: var(--cmv-text-fainter); }
.cmv-sertar-el.cmv-deschis > .cmv-sertar-cap .cmv-ic { transform: rotate(90deg); }
.cmv-sertar-el.cmv-deschis > .cmv-sertar-cap { color: var(--cmv-green-dark); }
.cmv-sertar-sub { list-style: none; margin: 0; padding: 0 0 8px; background: var(--cmv-bg-soft); }
.cmv-sertar-sub[hidden] { display: none; }
.cmv-sertar-sub a {
	display: block; padding: 10px 18px 10px 30px;
	font-size: 13.5px; font-weight: 500; color: var(--cmv-text-soft); text-decoration: none;
}
.cmv-sertar-sub a:hover { color: var(--cmv-green-dark); }
.cmv-sertar-jos { padding: 16px 18px 24px; border-top: 1px solid var(--cmv-border-fine); }
.cmv-sertar-btn {
	display: block; text-align: center; background: var(--cmv-green); color: #fff;
	font-size: 14px; font-weight: 700; padding: 12px 16px; border-radius: 999px; text-decoration: none;
}
.cmv-sertar-contact { margin: 14px 0 0; font-size: 13px; }
.cmv-sertar-contact .cm-tel { font-weight: 800; font-size: 16px; color: var(--cmv-text); }
.cmv-sertar-contact .cm-tel a { color: inherit; text-decoration: none; }
.cmv-sertar-contact span { display: block; color: var(--cmv-text-faint); font-size: 12px; margin-top: 2px; }
.cmv-sertar-linkuri { display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 16px; }
.cmv-sertar-linkuri a { font-size: 12.5px; font-weight: 600; color: var(--cmv-text-soft); text-decoration: none; }

/* =====================================================================================
   MOBIL — macheta „Acasa Mobil" / „Contact Mobil", măsurată element cu element:
     bara de sus   #161E29, padding 7/14, centrată, gap 16, 11,5 px/800 → înălțime 29
     rândul alb    padding 10/14, gap 12, ținte de atins 44×44 → înălțime 64
     căutarea      padding 0 14 10, pastilă 40 px, lupă GRI la STÂNGA (nu buton verde)
     antet total   146 px
   Pragul e 1000 px: sub el bara de categorii nu mai încape (7 intrări + buton = 1123 px).
   ===================================================================================== */
@media (max-width: 999.98px) {
	.cmv-antet { background: #fff; border-bottom: 1px solid var(--cmv-border-fine); box-shadow: none; }
	.cmv-bara { display: none; }
	.cmv-hamburger { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; margin-left: -10px; }

	.cmv-masthead-in { gap: 12px; padding-top: 10px; padding-bottom: 10px; }
	.cmv-masthead-in .cmv-cauta--sus { display: none; }
	.cmv-cauta-mobil { display: block; padding-bottom: 10px; }

	/* căutarea de pe telefon: pastilă de 40 px, lupă gri în STÂNGA, fără buton verde */
	/* machetă: pastila are 40 px + chenar 1 px pe fiecare latură = 42 măsurat */
	.cmv-cauta--mobil { max-width: none; height: 42px; padding: 0 14px; gap: 9px; }
	.cmv-cauta--mobil button {
		order: -1; width: auto; height: auto; background: none; color: #66707D;
	}
	.cmv-cauta--mobil button .cmv-ic { stroke-width: 2.4; }
	.cmv-cauta--mobil input[type="search"] { font-size: 13px; }

	/* dreapta: doar telefon + coș, ca ținte de 44×44 (machetă: fără „Cont", fără „Favorite") */
	.cmv-tel-bloc { margin-left: auto; gap: 0; }
	.cmv-tel-txt, .cmv-actiune--cont, .cmv-actiune--fav, .cmv-cos-txt { display: none; }
	.cmv-tel-ic {
		width: 44px; height: 44px; background: none; color: var(--cmv-green);
	}
	.cmv-tel-ic .cmv-ic { width: 20px; height: 20px; }
	.cmv-actiuni { gap: 0; }
	.cmv-actiune--cos { width: 44px; height: 44px; justify-content: center; }
	.cmv-actiune--cos .cmv-badge { top: 4px; right: 2px; font-size: 9.5px; min-width: 15px; height: 15px; }

	/* bara de sus: promisiunile, centrate */
	.cmv-topbar-links { display: none; }
	.cmv-promisiuni {
		display: flex; width: 100%; justify-content: center; gap: 16px;
		font-size: 11.5px; font-weight: 600; line-height: 1.3; color: rgba(255, 255, 255, .95);
	}
	.cmv-promisiuni li + li::before { content: none; }
	.cmv-topbar-in { padding-left: 14px; padding-right: 14px; }

	.cmv-sigla { gap: 8px; }
	.cmv-sigla img { height: 30px; }
	.cmv-sigla-text { font-size: 17px; }
	.cmv-sigla-text small { display: none; }
	.cmv-antet .cmv-wrap { padding-left: 14px; padding-right: 14px; }
}
@media (max-width: 420px) {
	.cmv-promisiuni { gap: 12px; font-size: 11px; }
}
