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

/* ============ DESIGN TOKENS (din machetă) ============ */
:root {
	--dp-navy: #16233D;          /* fundal de impact, titluri */
	--dp-navy-2: #1D2F52;
	--dp-blue: #2A5FB7;          /* butoane, linkuri = oklch(0.5 0.15 260) */
	--dp-blue-oklch: oklch(0.5 0.15 260);
	--dp-red: #C24A3F;           /* badge reducere = oklch(0.52 0.16 25) */
	--dp-amber: #E8A13A;         /* stoc limitat */
	--dp-text: #16233D;
	--dp-text-soft: #4A5568;
	--dp-text-faint: #8B97A8;
	--dp-border: #E3E8F0;
	--dp-bg-soft: #F2F5FA;
	--dp-bg-softer: #FBFCFE;
	--dp-bg-tint: #EEF3FB;
	--dp-radius: 12px;

	/* legare la variabilele Blocksy */
	--theme-font-family: 'Archivo', system-ui, sans-serif;
	--theme-palette-color-1: #2A5FB7;
	--theme-palette-color-2: #16233D;
	--theme-palette-color-3: #16233D;
	--theme-palette-color-4: #4A5568;
	--theme-palette-color-5: #E3E8F0;
	--theme-palette-color-6: #F2F5FA;
	--theme-palette-color-7: #FFFFFF;
	--theme-text-color: #4A5568;
	--theme-headings-color: #16233D;
	--theme-link-initial-color: #2A5FB7;
	--theme-button-background-initial-color: #2A5FB7;
	--theme-button-background-hover-color: #234E96;
	--theme-form-field-border-focus-color: #2A5FB7;

	/* Blocksy ține containerul la 90vw; macheta îl ține la 1280px până sub 1280px lățime.
	   Fără asta, la 1366 și 1280 tot conținutul se strânge cu 50–130px față de machetă. */
	--theme-container-width: min(100%, 1280px);
}
@supports (color: oklch(0.5 0.15 260)) {
	:root { --dp-blue: oklch(0.5 0.15 260); --dp-red: oklch(0.52 0.16 25); }
}

body { font-family: 'Archivo', system-ui, sans-serif; color: var(--dp-text-soft); }
h1, h2, h3, h4, .entry-title { font-family: 'Archivo', system-ui, sans-serif; color: var(--dp-text); letter-spacing: -0.01em; }
.dp-mono, .sku, .price del { font-family: 'Space Grotesk', sans-serif; }

/* 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 .dp-) ============ */
.dp-wrap { max-width: 1280px; margin: 0 auto; padding: 0 32px; }
.dp-eyebrow {
	font-family: 'Space Grotesk', sans-serif; font-size: 13px; font-weight: 600;
	letter-spacing: 0.14em; text-transform: uppercase; color: var(--dp-blue); margin: 0 0 14px;
}
.dp-btn { display: inline-block; background: var(--dp-blue); color: #fff !important; font-weight: 700;
	padding: 13px 26px; border-radius: 10px; text-decoration: none; font-size: 14.5px; line-height: normal; }
.dp-btn:hover { filter: brightness(0.92); }
.dp-btn--ghost { background: transparent; color: var(--dp-blue) !important; border: 1.5px solid var(--dp-blue); }
.dp-btn--white { background: #fff; color: var(--dp-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 DIN MACHETA (topbar + rand cautare) ============ */
.dp-topbar { background: var(--dp-bg-soft); border-bottom: 1px solid #E6EBF3; color: #5A6675; font-size: 12px; line-height: normal; }
.dp-topbar-in { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding-top: 8px; padding-bottom: 8px; }
.dp-topbar-usp { display: flex; gap: 20px; flex-wrap: wrap; }
/* 19.08: banda de promisiuni din stânga a fost stinsă (vezi DIAGPRO_TOPBAR_USP), iar
   Marius a cerut ca Blog/Suport/Contact „să fie mai vizibile". Rămase singure pe rând,
   la 12px gri deschis abia se vedeau. */
/* Fără banda din stânga, `space-between` de pe rând lasă singurul copil la stânga —
   linkurile trebuie să rămână unde erau, în dreapta. */
.dp-topbar-links { display: flex; gap: 22px; margin-left: auto; }
.dp-topbar-links a {
	color: #33415C;
	font-size: 13px;
	font-weight: 600;
	text-decoration: none;
	padding: 2px 0;
	border-bottom: 1px solid transparent;
}
.dp-topbar-links a:hover { color: var(--dp-blue); border-bottom-color: var(--dp-blue); }

.dp-masthead { background: #fff; }
.dp-masthead-in { display: flex; align-items: center; gap: 32px; padding-top: 20px; padding-bottom: 20px; }
.dp-masthead-logo img { height: 40px; width: auto; display: block; }
.dp-masthead-search { flex: 1; display: flex; max-width: 540px; }
.dp-masthead-search form { display: flex; flex: 1; }
.dp-masthead-search input[type="search"] {
	flex: 1; border: 1.5px solid #CDD6E4; border-right: none; background: var(--dp-bg-softer);
	border-radius: 10px 0 0 10px; padding: 12px 16px; font-family: inherit; font-size: 14px; min-width: 0;
}
.dp-masthead-search input[type="search"]:focus { outline: none; border-color: var(--dp-blue); background: #fff; }
.dp-masthead-search button {
	background: var(--dp-blue); color: #fff; border: none; border-radius: 0 10px 10px 0;
	padding: 0 24px; font-weight: 700; font-size: 14px; cursor: pointer;
}
.dp-masthead-links { display: flex; gap: 24px; align-items: center; margin-left: auto; }
.dp-masthead-links a { color: #33415C; text-decoration: none; font-weight: 600; font-size: 13.5px; }
.dp-masthead-links a:hover { color: var(--dp-blue); }
.dp-masthead-cart { border: 1.5px solid #CDD6E4; border-radius: 10px; padding: 9px 16px; color: var(--dp-navy) !important; font-weight: 700 !important; }
.dp-masthead-cart:hover { border-color: var(--dp-blue); }

/* pe desktop ȘI pe tabletă, randul nativ Blocksy ramane doar bara de meniu
   ⛔⛔ REPARAT 04.09.2026 — pragul era 1000px și lăsa o ZONĂ MOARTĂ 768–999px:
   interfața de mobil se oprea la 767px (`mobil.css`: `.dpm-nav` doar sub 768),
   iar rândul ăsta cu CĂUTARE și COȘ pornea abia de la 1000px. Între ele, clientul
   nu avea NICI coș, NICI căutare nicăieri în pagină — adică fix pe iPad în portret
   (768), iPad Air (820), iPad Pro 11" (834). Cumpărarea mergea, dar coșul nu se
   vedea. Măsurat: 767px → căutare+coș OK · 768–999px → zero · 1000px → OK.
   Cele două praguri trebuie să se ATINGĂ: mobil ≤767, restul ≥768. */
@media (min-width: 768px) {
	.ct-header [data-column="start"] .site-logo-container { display: none; }
	[data-header] .ct-container > [data-column="start"] { flex: 0 0 auto; }
}
/* pe TABLETĂ rândul e mai strâmt: micșorăm distanțele, ca să rămână loc de căutare */
@media (min-width: 768px) and (max-width: 999px) {
	.dp-masthead-in { gap: 16px; }
}
/* doar pe telefon ascundem rândul nostru de căutare mare (acolo preia antetul mobil) */
@media (max-width: 767px) {
	.dp-masthead { display: none; }
}
@media (max-width: 999px) {
	/* Pe mobil linkurile erau ascunse fiindcă rândul era plin de promisiuni. De când
	   promisiunile lipsesc, ascunzându-le ar rămâne o bandă goală. */
	.dp-topbar-links { display: flex; justify-content: center; width: 100%; gap: 26px; }
	.dp-topbar-usp { justify-content: center; margin: 0 auto; }
}

.dp-cat-card .dp-cat-img { display: flex; }
.dp-cat-card .dp-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(--dp-border); border-radius: var(--dp-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(--dp-text); line-height: 1.35; }
.woocommerce ul.products li.product .price, [data-products] .product .price {
	color: var(--dp-navy); font-weight: 800; font-size: 20px;
}
.woocommerce ul.products li.product .price del, [data-products] .product .price del {
	color: var(--dp-text-faint); font-weight: 400; font-size: 15px;
}
.dp-stock { display: block; font-size: 13.5px; font-weight: 600; margin: 2px 0 4px; }
.dp-stock--in { color: #1E7A46; }
.dp-stock--out { color: var(--dp-amber); }
.dp-off, span.onsale {
	background: var(--dp-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(--dp-blue); border: 1.5px solid var(--dp-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(--dp-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(--dp-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(--dp-navy); }
.single-product div.product .entry-summary .price del { font-size: 18px; color: var(--dp-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(--dp-text-faint); }
.dp-buy-usp { border-top: 1px solid var(--dp-border); margin-top: 18px; padding-top: 16px; }
.dp-buy-usp ul { list-style: none; margin: 0 0 12px; padding: 0; }
.dp-buy-usp li { font-size: 14.5px; color: var(--dp-text-soft); margin-bottom: 7px; }
.dp-pay-note { font-family: 'Space Grotesk', sans-serif; font-size: 12.5px; color: var(--dp-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(--dp-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(--dp-blue); font-weight: 700; padding: 9px 18px; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { background: var(--dp-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(--dp-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(--dp-text) !important; font-weight: 800; }
.tax-product_cat .page-description, .post-type-archive-product .page-description { color: var(--dp-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; }

/* ============ BARA DE CATEGORII DIN ANTET (macheta) ============ */
@media (min-width: 1000px) {
	/* aliniata la stanga, pe toata latimea — ca sa incapa toate cele 8 intrari
	   (altfel Blocksy le ascunde pe ultimele sub un buton "More") */
	[data-header] .ct-container > [data-column="end"] { flex: 1 1 auto; justify-content: flex-start; }
	#header-menu-1 .menu > li > .ct-menu-link {
		font-size: 13.5px; font-weight: 600; text-transform: none;
		letter-spacing: 0; padding-left: 9px; padding-right: 9px;
	}
	#header-menu-1 .menu > li:first-child > .ct-menu-link { font-weight: 800; color: var(--dp-navy); }
}

/* ============ SUBSOL — punte provizorie pana la subsolul din designul v2 ============ */
.dp-footnav { border-top: 1px solid var(--dp-border); background: #fff; }
.dp-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;
}
.dp-footnav a { color: var(--dp-text); text-decoration: none; font-size: 14px; font-weight: 600; }
.dp-footnav a:hover { color: var(--dp-blue); }

/* ============ BARA LATERALĂ DE FILTRE (macheta Categorie) ============ */
.dp-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(--dp-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(--dp-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,
.dp-filtru-disp .dp-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,
.dp-filtru-disp .dp-activ .dp-check {
	background: var(--dp-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(--dp-blue);
}

/* disponibilitate */
.dp-filtru-disp { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.dp-filtru-disp a { display: flex; align-items: center; gap: 9px; font-size: 13.5px; color: #33415c; text-decoration: none; }
.dp-filtru-disp a:hover { color: var(--dp-blue); }
.dp-filtru-disp .dp-eticheta { flex: 1; }
.dp-filtru-disp .dp-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(--dp-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; }
.dp-sterge-filtre { display: inline-block; margin-top: 10px; font-size: 12.5px; font-weight: 600; color: #8b97a8; text-decoration: none; }
.dp-sterge-filtre:hover { color: var(--dp-blue); }

/* interval de preț */
.ct-sidebar .widget_price_filter .price_slider_amount .button {
	background: var(--dp-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(--dp-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(--dp-border); border-radius: 8px; }

/* cardul de consultanță */
.dp-consultant {
	background: #eef3fb; border-radius: 10px; padding: 14px; margin-top: 16px;
	display: flex; flex-direction: column; gap: 6px;
}
.dp-consultant-t { font-size: 13px; font-weight: 800; color: var(--dp-navy); }
.dp-consultant-d { font-size: 12.5px; color: #4a5568; line-height: 1.5; }
.dp-consultant a { font-size: 13px; font-weight: 700; color: #2f7a52; text-decoration: none; }
.dp-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(--dp-border); border-radius: 8px; background: #fff; color: var(--dp-text);
}
.ct-sidebar .widget_price_filter .price_slider_amount input[type="text"]:focus {
	outline: none; border-color: var(--dp-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 ============ */
.dp-filtre-buton { display: none; }
.dp-filtre-inchide { display: none; }

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

	body.dp-filtre-deschise { overflow: hidden; }
	body.dp-filtre-deschise::before {
		content: ""; position: fixed; inset: 0; background: rgba(15, 23, 42, .45); z-index: 9998;
	}
	body.dp-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.dp-filtre-deschise .dp-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.dp-filtre-deschise .dp-filtre-inchide:hover { color: var(--dp-navy); }
}

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

/* ============ BARA DE CATEGORII — exact ca în machetă ============ */
@media (min-width: 1000px) {
	/* rândul de meniu Blocksy = bara de categorii din machetă */
	#header [data-row=middle] {
		border-top: 1px solid #EDF1F7;
		border-bottom: 1px solid #E3E8F0;
	}
	/* același container ca restul site-ului, ca bara să se alinieze cu logoul */
	#header [data-row=middle] > .ct-container {
		max-width: 1280px; padding-left: 32px; padding-right: 32px;
		min-height: 0; --height: auto;
	}
	/* coloana cu logoul ascuns nu mai ocupă spațiu */
	#header [data-row=middle] [data-column=start] { display: none; }
	#header [data-row=middle] [data-column=end] { flex: 1 1 auto; justify-content: flex-start; }
	/* lupa din rândul de meniu — căutarea e deja în rândul de sus */
	#header [data-row=middle] .ct-header-search { display: none; }

	#header [data-row="middle"] [data-items] { padding-left: 0; margin-left: 0; }
	#header-menu-1 { margin-left: 0; }   /* Blocksy pune 10px, ne strica alinierea cu logoul */
	#header-menu-1 .menu { gap: 4px; }
	#header-menu-1 .menu > li > .ct-menu-link {
		padding: 14px 9px; font-size: 13.5px; font-weight: 600; color: #33415C;
		text-transform: none; letter-spacing: 0; white-space: nowrap;
		border-bottom: 2px solid transparent;
		/* macheta nu pune line-height ⇒ bara are 45px, nu 54 cât o face tema.
		   `normal` trebuie pus și pe conținutul linkului: el e flex, iar copiii moștenesc 26.4px. */
		line-height: normal;
	}
	#header-menu-1 .menu > li > .ct-menu-link,
	#header-menu-1 .menu > li > .ct-menu-link * { line-height: normal; }
	/* săgeata de submeniu are 24px înălțime și ea singură umfla bara de la 45px (machetă) la 54 */
	#header-menu-1 .menu > li > .ct-menu-link .ct-toggle-dropdown-desktop {
		height: auto; padding: 0; align-self: center;
	}
	#header-menu-1 .menu > li > .ct-menu-link:hover,
	#header-menu-1 .menu > li.current-menu-item > .ct-menu-link,
	#header-menu-1 .menu > li.current-product_cat-ancestor > .ct-menu-link {
		color: var(--dp-blue); border-bottom-color: var(--dp-blue); font-weight: 700;
	}
	#header-menu-1 .menu > li:first-child > .ct-menu-link {
		font-weight: 800; color: var(--dp-navy); padding: 14px 10px; padding-left: 0;
	}
}

/* Macheta NU are săgeți de submeniu în bara de categorii, în afară de „Toate categoriile ▾”.
   Pe lângă fidelitate, ascunderea lor e și o chestiune de spațiu: fiecare săgeată costă 18px,
   iar cu ele afișate cele 9 intrări încap doar până la 1280px lățime; fără ele, până la 1180px.
   Sub pragul ăla Blocksy începe să ascundă intrări sub butonul „More”. */
@media (min-width: 1000px) {
	#header-menu-1 .menu > li:not(:first-child) .ct-toggle-dropdown-desktop { display: none; }
}

/* ============ BARA DE CATEGORII PE PRIMA PAGINĂ — bleumarin (macheta A1) ============
   VARIANTA ALTERNATIVĂ, oprită implicit (18.08: Marius a ales varianta din print = bara albă peste tot). Se aprinde cu constanta DIAGPRO_BARA_NAVY din mu-plugins/diagpro-megamenu.php, care pune clasa .dp-bara-navy pe body. */
@media (min-width: 1000px) {
	body.dp-bara-navy #header [data-row=middle] {
		background: #16233D;
		border-top: none;
		border-bottom: none;
	}
	/* Macheta are gap:6px, dar lasă doar 7px liberi la 1440px, iar tema mai adaugă 13px
	   pentru fiecare intrare cu submeniu ⇒ ultima categorie cădea sub butonul „More".
	   4px în loc de 6px e invizibil cu ochiul și dă marja necesară. */
	body.dp-bara-navy #header-menu-1 .menu { gap: 4px; }
	body.dp-bara-navy #header-menu-1 .menu > li > .ct-menu-link {
		color: #FFFFFF;
		font-size: 14px;
		font-weight: 600;
		padding: 14px 11px;   /* macheta: 12px — 1px în minus ca marjă contra butonului „More" */
		border-bottom: 2px solid transparent;
		line-height: normal;
	}
	body.dp-bara-navy #header-menu-1 .menu > li:first-child > .ct-menu-link {
		font-weight: 800;
		color: #FFFFFF;
		padding: 14px 10px;
		padding-left: 0;   /* fără el, a 9-a categorie cade sub butonul „More" */
	}
	body.dp-bara-navy #header-menu-1 .menu > li > .ct-menu-link:hover {
		color: #FFFFFF;
		background: rgba(255, 255, 255, 0.1);
		border-bottom-color: #FFFFFF;
	}
	body.dp-bara-navy #header-menu-1 .menu > li.current-menu-item > .ct-menu-link,
	body.dp-bara-navy #header-menu-1 .menu > li.current-product_cat-ancestor > .ct-menu-link {
		color: #FFFFFF;
		font-weight: 700;
		background: var(--dp-blue);
		border-bottom-color: #FFFFFF;
	}
	/* În machetă bara nu are săgeți de submeniu, în afară de „Toate categoriile ▾".
	   Ascunderea celorlalte e și singurul mod în care cele 9 intrări încap pe un rând la
	   1440px (macheta lasă doar 7px libere) — altfel tema le împinge sub butonul „More". */
	body.dp-bara-navy #header-menu-1 .menu > li:first-child .ct-toggle-dropdown-desktop {
		color: #FFFFFF;
		margin-left: 4px;
	}
	body.dp-bara-navy #header-menu-1 .menu > li:first-child .ct-toggle-dropdown-desktop svg { fill: #FFFFFF; }
}

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

/* ============ SUBMENIURILE DIN BARA DE CATEGORII ============
   Implicit Blocksy le dă gri-închis, text alb 12px, colțuri drepte — nu seamănă cu nimic din
   machetă. Le aducem în limbajul site-ului: card alb, chenar fin, umbră, text 14px. */
#header [data-row="middle"] .sub-menu,
#header-menu-1 .sub-menu {
	--dropdown-background-color: #FFFFFF;
	--dropdown-divider: 1px solid #EDF1F7;
	background: #FFFFFF !important;
	min-width: 268px;
	padding: 8px 0 !important;
	border: 1px solid #E3E8F0;
	border-radius: 12px;
	box-shadow: 0 18px 40px rgba(22, 35, 61, .12);
	overflow: hidden;
}
#header-menu-1 .sub-menu > li > .ct-menu-link {
	color: #33415C !important;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.35;
	padding: 11px 18px;
	border: none;
	transition: background .12s ease, color .12s ease;
}
#header-menu-1 .sub-menu > li > .ct-menu-link:hover,
#header-menu-1 .sub-menu > li.current-menu-item > .ct-menu-link {
	color: var(--dp-blue) !important;
	background: var(--dp-bg-tint);
}
/* linia de separare doar între elemente, nu și sub ultimul */
#header-menu-1 .sub-menu > li + li > .ct-menu-link { box-shadow: inset 0 1px 0 #EDF1F7; }
/* săgeata submeniului de nivel 2 */
#header-menu-1 .sub-menu .ct-toggle-dropdown-desktop { color: #8B97A8; }

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

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

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

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

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

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

/* Subsolul implicit Blocksy (rândul de copyright) — al nostru e mai sus, în .dp-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 > .dp-despre,
.entry-content.is-layout-constrained > .dp-contact,
.entry-content.is-layout-constrained > .dp-suport,
.entry-content.is-layout-constrained > .dp-faq {
	margin-left: 0 !important; margin-right: auto !important;   /* bat regula de layout a WordPress */
}

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

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

.dp-contact-lat { display: flex; flex-direction: column; gap: 16px; }
.dp-card { background: #fff; border: 1px solid var(--dp-border); border-radius: var(--dp-radius); padding: 20px; }
.dp-card--wa { background: var(--dp-bg-tint); border-color: #D8E4F7; }
.dp-card-t { display: block; font-size: 15.5px; font-weight: 800; color: var(--dp-navy); margin-bottom: 8px; }
.dp-card p { font-size: 14px; line-height: 1.65; color: var(--dp-text-soft); margin: 0 0 12px; }
.dp-card-mic { display: block; font-size: 12.5px; color: var(--dp-text-faint); margin-top: 10px; }
.dp-card-link { font-size: 14px; font-weight: 700; color: var(--dp-blue); text-decoration: none; }
.dp-card-link:hover { text-decoration: underline; }
.dp-btn--wa {
	display: inline-block; background: #2A5FB7; color: #fff !important; text-decoration: none;
	border-radius: 10px; padding: 13px 26px; font-size: 14.5px; font-weight: 700;
}
.dp-btn--wa:hover { background: #234E96; }
@supports (color: oklch(0.55 0.13 150)) {
	.dp-btn--wa { background: oklch(0.5 0.15 260); }
	.dp-btn--wa:hover { background: oklch(0.42 0.15 260); }
}
.dp-tel a { color: inherit; text-decoration: none; }
.dp-tel a:hover { color: var(--dp-blue); }
.dp-card .dp-tel a { font-size: 21px; font-weight: 800; color: var(--dp-navy); }
.dp-card .dp-tel { display: block; margin-bottom: 0; }

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

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

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

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

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

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

/* pagina de produs: prețul fără TVA + butonul de WhatsApp din buy-box */
.dp-fara-tva { font-size: 13.5px; color: var(--dp-text-faint); margin: -6px 0 14px; }
/* butonul de WhatsApp stă imediat sub „Adaugă în coș", exact ca în machetă */
.summary .dp-wa-buy {
	display: block; width: 100%; margin-top: 10px;
	padding: 12px 0; border-radius: 11px; text-align: center;
	border: 1.5px solid #b9c7de; background: #fff;
	color: #16233d !important; font-size: 14px; font-weight: 700; text-decoration: none;
}
.summary .dp-wa-buy:hover { border-color: var(--dp-blue); color: var(--dp-blue) !important; }

/* ⛔ 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; }
}
