/**
 * Casa Țărănească — stiluri globale.
 *
 * Identitatea vizuală replică site-ul vechi (vezi specs.md → „Referință Aspect"):
 * Amatic SC pentru titluri, Roboto pentru text, verde #62997a + prună #662743,
 * fundaluri crem, butoane drepte uppercase, efectul „hover dots" pe carduri.
 * Refresh-ul stă în spațiere, tranziții și tipografie mai îngrijite.
 */

/* ==========================================================================
   1. Design tokens
   ========================================================================== */

:root {
	/* Culori de brand (extrase din site-ul live) */
	--cta-verde: #62997a;
	--cta-verde-inchis: #4e7f64;
	--cta-pruna: #662743;
	--cta-text: #6a6565;
	--cta-caramel: #c4875e;
	--cta-crem: #fdf8ee;
	--cta-pal: #f7f9f8;
	--cta-verde-alb: #f4f8f7;
	--cta-bej-auriu: #f5dfae;
	--cta-footer: #2c2025;
	--cta-coral: #fe7259;
	--cta-bordura: #e3ede8;
	--cta-alb: #ffffff;

	/* Tipografie */
	--cta-font-titlu: 'Amatic SC', cursive;
	--cta-font-text: Roboto, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

	/* Spațiere & layout */
	--cta-container: 1200px;
	--cta-sectiune-pad: clamp(3rem, 7vw, 5.5rem);
	--cta-tranzitie: 0.25s ease;

	/* Înălțimea headerului sticky (logo + padding) — ține pasul cu breakpoint-urile
	   headerului de mai jos; folosită la dimensionarea hero-ului full-screen. */
	--cta-header-h: 102px;
}

/* ==========================================================================
   2. Tipografie de bază
   ========================================================================== */

body {
	font-family: var(--cta-font-text);
	font-size: 17px;
	line-height: 1.65;
	color: var(--cta-text);
	background-color: var(--cta-alb);
}

h1, h2, h3, h4, h5, h6 {
	font-family: var(--cta-font-titlu);
	font-weight: 700;
	color: var(--cta-pruna);
	line-height: 1.08;
	letter-spacing: 0.01em;
}

h1 { font-size: clamp(3rem, 7vw, 4.6rem); }
h2 { font-size: clamp(2.5rem, 5.5vw, 3.7rem); }
h3 { font-size: clamp(2.1rem, 4.5vw, 2.9rem); }
h4 { font-size: clamp(1.8rem, 3.5vw, 2.3rem); }
h5 { font-size: clamp(1.5rem, 3vw, 1.9rem); }
h6 { font-size: clamp(1.3rem, 2.5vw, 1.55rem); }

/* Pentru text folosim verdele închis (4.6:1 pe alb — trece WCAG AA);
   verdele de brand #62997a rămâne pentru fundaluri, borduri și accente mari. */
a {
	color: var(--cta-verde-inchis);
	text-decoration: none;
	transition: color var(--cta-tranzitie);
}

a:hover {
	color: var(--cta-caramel);
}

/* Eticheta mică de deasupra titlurilor de secțiune (stilul „Cu Casa Țărănească
   te bucuri de" de pe live) */
.cta-eticheta {
	display: block;
	font-family: var(--cta-font-text);
	font-size: 0.8rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.18em;
	color: var(--cta-verde-inchis);
	margin-bottom: 0.6rem;
}

/* Ornament sub titlurile de secțiune: frunzulițele de pe site-ul vechi
   (glif extras din fontul temei Vincentes, folosit ca mască SVG colorabilă) */
.cta-titlu-ornament::after {
	content: '';
	display: block;
	width: 66px;
	height: 12px;
	margin: 1.1rem auto 0;
	background-color: var(--cta-verde);
	-webkit-mask: url('../img/ornament-frunze.svg') center / contain no-repeat;
	mask: url('../img/ornament-frunze.svg') center / contain no-repeat;
}

.cta-titlu-ornament--stanga::after {
	margin-left: 2px;
	margin-right: auto;
}

/* ==========================================================================
   3. Butoane (stilul live: drepte, uppercase, verde → prună la hover)
   ========================================================================== */

.cta-btn,
.button,
button:not(.menu-toggle):not(.cta-gallery-remove):not(.cta-hero__punct):not(.cta-cookie-bar__preferinte):not(.cta-cookie-link):not(.cta-carusel__sageata):not(.cta-proces__tab):not(.cta-filtre__item):not(.cta-btn--pruna):not(.cta-produs__galerie-buton):not(.cta-video-facade):not(.cta-cautare-buton):not(.cta-lightbox__inchide),
input[type='submit'] {
	display: inline-block;
	/* Verdele închis: alb pe #4e7f64 = 4,6:1 — trece WCAG AA (verdele de brand
	   #62997a rămâne pe accente fără text). */
	background-color: var(--cta-verde-inchis);
	color: var(--cta-alb);
	font-family: var(--cta-font-text);
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	line-height: 1;
	padding: 1.15em 2.8em;
	border: none;
	border-radius: 2px;
	cursor: pointer;
	transition: background-color var(--cta-tranzitie), transform var(--cta-tranzitie), box-shadow var(--cta-tranzitie);
}

.cta-btn:hover,
.button:hover,
button:not(.menu-toggle):not(.cta-gallery-remove):not(.cta-hero__punct):not(.cta-cookie-bar__preferinte):not(.cta-cookie-link):not(.cta-carusel__sageata):not(.cta-proces__tab):not(.cta-filtre__item):not(.cta-btn--pruna):not(.cta-produs__galerie-buton):not(.cta-video-facade):not(.cta-cautare-buton):not(.cta-lightbox__inchide):hover,
input[type='submit']:hover {
	background-color: var(--cta-pruna);
	color: var(--cta-alb);
	transform: translateY(-1px);
	box-shadow: 0 6px 18px rgba(102, 39, 67, 0.22);
}

.cta-btn:focus-visible,
.button:focus-visible,
input[type='submit']:focus-visible {
	outline: 3px solid var(--cta-caramel);
	outline-offset: 2px;
}

/* Varianta secundară (contur) */
.cta-btn--contur {
	background: transparent;
	color: var(--cta-pruna);
	box-shadow: inset 0 0 0 2px var(--cta-pruna);
}

.cta-btn--contur:hover {
	background-color: var(--cta-pruna);
	color: var(--cta-alb);
}

/* Varianta pe fundal închis/foto */
.cta-btn--alb {
	background-color: var(--cta-alb);
	color: var(--cta-pruna);
}

/* Varianta prună (stilul „dark" al butoanelor de pe live) */
.cta-btn--pruna {
	background-color: var(--cta-pruna);
}

.cta-btn--pruna:hover {
	background-color: var(--cta-verde-inchis);
}

/* ==========================================================================
   4. Header
   ========================================================================== */

.site-header {
	background-color: var(--cta-pal);
	position: sticky;
	top: 0;
	z-index: 100;
	box-shadow: 0 1px 0 var(--cta-bordura);
}

.site-header .inside-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 2rem;
	max-width: var(--cta-container);
	margin: 0 auto;
	padding: 14px 20px;
}

/* Clearfix-ul GP (::before/::after cu content) devine item flex fantomă și
   strică space-between: logo-ul și meniul trebuie să stea la marginile
   containerului, aliniate cu conținutul paginii. */
.site-header .inside-header::before,
.site-header .inside-header::after {
	content: none;
}

.site-header .site-logo img {
	max-height: 74px;
	width: auto;
	transition: transform var(--cta-tranzitie);
}

.site-header .site-logo a:hover img {
	transform: scale(1.03);
}

/* Navigația principală */
.main-navigation,
.main-navigation .inside-navigation,
.main-navigation ul ul {
	background-color: transparent;
}

/* Doar pe desktop aranjăm itemii pe un singur rând (pe mobil decide GP). */
@media (min-width: 769px) {
	/* Căutarea din meniu e doar pentru mobil. */
	.cta-menu-item-cautare {
		display: none;
	}

	.main-navigation .main-nav ul {
		display: flex;
		flex-wrap: nowrap;
		align-items: center;
		background: transparent;
	}

	.main-navigation .main-nav ul li a {
		white-space: nowrap;
	}

	.site-header .site-logo {
		flex-shrink: 0;
	}
}

.main-navigation .main-nav ul li a {
	font-size: 13px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: var(--cta-pruna);
	padding: 0 16px;
	line-height: 60px;
	background: transparent;
	transition: color var(--cta-tranzitie);
}

.main-navigation .main-nav ul li a:hover,
.main-navigation .main-nav ul li.current-menu-item > a,
.main-navigation .main-nav ul li.current_page_item > a {
	color: var(--cta-verde);
	background: transparent;
}

/* Sublinierea animată sub itemul de meniu */
.main-navigation .main-nav > ul > li > a {
	position: relative;
}

.main-navigation .main-nav > ul > li > a::after {
	content: '';
	position: absolute;
	left: 16px;
	right: 16px;
	bottom: 12px;
	height: 2px;
	background: var(--cta-verde);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform var(--cta-tranzitie);
}

.main-navigation .main-nav > ul > li > a:hover::after,
.main-navigation .main-nav > ul > li.current-menu-item > a::after {
	transform: scaleX(1);
}

/* Banda 769–1000px: comprimăm meniul ca headerul să încapă pe un rând. */
@media (min-width: 769px) and (max-width: 1000px) {
	:root {
		--cta-header-h: 84px;
	}

	.site-header .inside-header {
		gap: 0.8rem;
	}

	.site-header .site-logo img {
		max-height: 56px;
	}

	.main-navigation .main-nav ul li a {
		font-size: 11.5px;
		padding: 0 8px;
	}
}


/* Comutatorul de limbă (steag) */
.main-navigation .main-nav ul li.cta-lang-switch a {
	padding: 0 10px;
}

.main-navigation .main-nav ul li.cta-lang-switch a::after {
	display: none;
}

.main-navigation .main-nav ul li.cta-lang-switch img {
	vertical-align: middle;
	border-radius: 2px;
	transition: transform var(--cta-tranzitie);
}

.main-navigation .main-nav ul li.cta-lang-switch a:hover img {
	transform: scale(1.15);
}

/* Meniul mobil (toggle-ul GeneratePress) — specificitate peste CSS-ul dinamic GP */
.main-navigation .menu-toggle,
.main-navigation .menu-toggle .mobile-menu,
.main-navigation button.menu-toggle:hover,
.main-navigation button.menu-toggle:focus,
.main-navigation .mobile-menu-control-wrapper {
	background: transparent;
	color: var(--cta-pruna);
}

@media (max-width: 768px) {
	:root {
		--cta-header-h: 76px;
	}

	/* Header pe grilă: logo perfect centrat, toggle-ul de meniu pe dreapta.
	   Coloanele laterale egale (1fr) țin logo-ul în centrul geometric al barei. */
	.site-header .inside-header {
		display: grid;
		grid-template-columns: 1fr auto 1fr;
		align-items: center;
		box-sizing: border-box;
		height: var(--cta-header-h);
		padding: 8px 16px;
	}

	/* Clearfix-ul GP (::before/::after cu display:table) ar deveni celule în
	   grilă și ar adăuga un rând fantomă — îl scoatem. */
	.site-header .inside-header::before,
	.site-header .inside-header::after {
		display: none;
	}

	.site-header .site-logo {
		grid-column: 2;
		justify-self: center;
	}

	/* Nav-ul și interiorul lui rămân statice și când meniul e deschis (GP le
	   poziționează relativ, cu selectori pe ID) — altfel panoul absolut s-ar
	   ancora de coloana îngustă a nav-ului în loc de headerul întreg. */
	.site-header .main-navigation,
	#site-navigation.toggled {
		grid-column: 3;
		justify-self: end;
		width: auto;
		position: static;
	}

	#site-navigation .inside-navigation {
		position: static;
	}

	button.menu-toggle {
		width: auto;
		padding: 0 10px;
	}

	/* Toggle-ul e doar iconiță pe mobil (coloana laterală e îngustă); textul
	   „Meniu" rămâne pentru screen-readere. */
	.menu-toggle .mobile-menu {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
		white-space: nowrap;
	}

	/* Iconița de căutare se suprapune peste toggle pe mobil — o ascundem
	   (căutarea rămâne disponibilă pe desktop). */
	.main-navigation .search-item {
		display: none;
	}

	.site-header .site-logo img {
		max-height: 56px;
	}

	/* Panoul de meniu se deschide SUB header (absolut, ancorat de headerul
	   sticky), pe toată lățimea — headerul nu crește, logo-ul rămâne pe loc.
	   Selector pe ID ca să bată top-ul/height-ul din CSS-ul mobil GP. */
	#site-navigation #primary-menu {
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		height: auto;
		background: var(--cta-pal);
		border-top: 1px solid var(--cta-bordura);
		box-shadow: 0 18px 28px rgba(44, 32, 37, 0.14);
	}

	/* Închis: panoul dispare complet (altfel cutia goală rămâne vizibilă). */
	#site-navigation:not(.toggled) #primary-menu {
		display: none;
	}

	#site-navigation #primary-menu ul {
		background: transparent;
		padding: 0.4rem 0 0.8rem;
	}

	#site-navigation #primary-menu ul li {
		float: none;
		text-align: center;
	}

	#site-navigation #primary-menu ul li + li {
		border-top: 1px solid var(--cta-bordura);
	}

	/* inline-block: sublinierea de „pagină curentă" stă strâns pe text,
	   nu pe toată lățimea panoului. */
	#site-navigation #primary-menu ul li a {
		display: inline-block;
		line-height: 52px;
		padding: 0 6px;
		color: var(--cta-pruna);
	}

	#site-navigation #primary-menu ul li.cta-lang-switch a {
		line-height: 44px;
	}

	/* Căutarea din panoul mobil (pe desktop există iconița din bară) */
	.cta-menu-item-cautare form {
		display: flex;
		gap: 8px;
		padding: 14px 20px 6px;
	}

	.cta-menu-item-cautare input[type='search'] {
		flex: 1;
		padding: 10px 14px;
		border: 1px solid var(--cta-bordura);
		border-radius: 2px;
		font-size: 15px;
		background: var(--cta-alb);
	}

	.cta-cautare-buton {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 46px;
		border: 0;
		border-radius: 2px;
		background: var(--cta-verde-inchis);
		color: var(--cta-alb);
		cursor: pointer;
	}

	.cta-cautare-buton .cta-icon {
		width: 20px;
		height: 20px;
	}
}

/* ==========================================================================
   5. Footer
   ========================================================================== */

.site-footer {
	background-color: var(--cta-footer);
	background-image: url('../img/footer-bg.png');
	color: rgba(255, 255, 255, 0.55);
	font-size: 15px;
}

.cta-footer {
	max-width: var(--cta-container);
	margin: 0 auto;
	padding: clamp(2.8rem, 6vw, 4.2rem) 20px 0;
}

.cta-footer__coloane {
	display: grid;
	grid-template-columns: auto 1fr auto;
	gap: 2.5rem;
	align-items: start;
	padding-bottom: 2.5rem;
}

.cta-footer__titlu {
	font-family: var(--cta-font-titlu);
	font-size: 1.7rem;
	font-weight: 700;
	color: var(--cta-bej-auriu);
	margin-bottom: 0.8rem;
}

.cta-footer a {
	color: rgba(255, 255, 255, 0.75);
}

.cta-footer a:hover {
	color: var(--cta-bej-auriu);
}

.cta-footer__contact p {
	margin-bottom: 0.35rem;
}

.cta-footer__contact .cta-footer__punct {
	color: var(--cta-coral);
	margin-right: 0.5em;
}

/* Social: iconițe SVG în cerc */
.cta-footer__social {
	display: flex;
	gap: 0.7rem;
}

.cta-footer__social a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border: 1px solid rgba(255, 255, 255, 0.25);
	border-radius: 50%;
	transition: border-color var(--cta-tranzitie), background-color var(--cta-tranzitie), transform var(--cta-tranzitie);
}

.cta-footer__social a:hover {
	border-color: var(--cta-verde-inchis);
	background-color: var(--cta-verde-inchis);
	transform: translateY(-2px);
}

.cta-footer__social svg {
	width: 17px;
	height: 17px;
	fill: rgba(255, 255, 255, 0.85);
}

/* Rândul de jos: meniu + copyright */
.cta-footer__jos {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 1rem;
	border-top: 1px solid rgba(255, 255, 255, 0.12);
	padding: 1.3rem 0;
	font-size: 14px;
}

.cta-footer__meniu ul {
	display: flex;
	flex-wrap: wrap;
	gap: 1.6rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

/* Linkul „Politică Cookies" stă în meniul din footer, scris ca celelalte */
.cta-footer__meniu .cta-cookie-link {
	padding: 0;
	color: rgba(255, 255, 255, 0.75);
	font-family: var(--cta-font-text);
	font-size: inherit;
	font-weight: 400;
	text-decoration: none;
	transition: color var(--cta-tranzitie);
}

.cta-footer__meniu .cta-cookie-link:hover {
	color: var(--cta-bej-auriu);
}

@media (max-width: 900px) {
	.cta-footer__coloane {
		grid-template-columns: 1fr;
		gap: 1.8rem;
		text-align: center;
	}

	.cta-footer__social {
		justify-content: center;
	}

	.cta-footer__jos {
		justify-content: center;
		text-align: center;
	}
}

/* ==========================================================================
   6. Carduri + semnătura „hover dots" (produse, rețete)
   ========================================================================== */

.cta-card {
	position: relative;
	background: var(--cta-alb);
}

.cta-card__media {
	position: relative;
	display: block;
	overflow: hidden;
	border-radius: 4px;
}

.cta-card__media img {
	display: block;
	width: 100%;
	height: auto;
	transition: transform 0.45s ease;
}

.cta-card:hover .cta-card__media img {
	transform: scale(1.05);
}

/* Overlay-ul + cele 3 puncte (semnătura brandului, preluată de pe live) */
.cta-card__media::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(102, 39, 67, 0.25), rgba(102, 39, 67, 0.55));
	opacity: 0;
	transition: opacity var(--cta-tranzitie);
}

.cta-card__media::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: 7px;
	height: 7px;
	margin: -3.5px 0 0 -3.5px;
	border-radius: 50%;
	background: var(--cta-alb);
	box-shadow: -15px 0 0 var(--cta-alb), 15px 0 0 var(--cta-alb);
	opacity: 0;
	transform: scale(0.4);
	transition: opacity var(--cta-tranzitie), transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);
	z-index: 2;
}

.cta-card:hover .cta-card__media::after {
	opacity: 1;
}

.cta-card:hover .cta-card__media::before {
	opacity: 1;
	transform: scale(1);
}

.cta-card__titlu {
	font-family: var(--cta-font-titlu);
	font-size: 1.6rem;
	font-weight: 700;
	margin: 0.9rem 0 0.15rem;
}

.cta-card__titlu a {
	color: var(--cta-pruna);
}

.cta-card__titlu a:hover {
	color: var(--cta-verde);
}

.cta-card__subtitlu {
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: 0.08em;
}

.cta-card__subtitlu a {
	color: var(--cta-verde);
}

/* Link-ul care acoperă tot cardul (imaginea clicabilă, ca pe live) */
.cta-card__link-total {
	position: absolute;
	inset: 0;
	z-index: 3;
	font-size: 0;
}

/* Grile de carduri */
.cta-grila {
	display: grid;
	gap: 2.2rem 1.8rem;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
}

/* ==========================================================================
   7. Secțiuni & utilitare
   ========================================================================== */

/* Secțiunile și hero-urile ies din containerul GeneratePress (full-bleed);
   `overflow-x: clip` pe body taie depășirea de lățimea scrollbar-ului fără
   să strice position: sticky (spre deosebire de `hidden`). */
body {
	overflow-x: clip;
}

.cta-sectiune,
.cta-hero {
	width: 100vw;
	margin-left: calc(50% - 50vw);
}

/* Paginile construite din secțiuni full-bleed nu au nevoie de padding-ul
   pe care GeneratePress îl pune pe .site-content: sus, secțiunea se lipește
   de header; jos, de footer (altfel apare o bandă albă). */
body.home .site-content,
body.post-type-archive-cpt_products .site-content,
body.post-type-archive-cpt_recipes .site-content,
body.tax-cta_product_category .site-content {
	padding-top: 0;
	padding-bottom: 0;
}

.cta-sectiune {
	padding: var(--cta-sectiune-pad) 0;
}

.cta-sectiune--crem { background-color: var(--cta-crem); }
.cta-sectiune--pal { background-color: var(--cta-pal); }
.cta-sectiune--verde-alb { background-color: var(--cta-verde-alb); }

.cta-container {
	max-width: var(--cta-container);
	margin: 0 auto;
	padding-left: 20px;
	padding-right: 20px;
}

.cta-titlu-sectiune {
	text-align: center;
	margin-bottom: 2.2rem;
}

/* Linkurile social (homepage + pagini) */
.cta-social__linkuri {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.8rem;
}

/* ==========================================================================
   8. Secțiuni pentru paginile editabile din admin (Despre noi & co.)
   Clase aplicate pe blocuri Gutenberg (group + className): paginile rămân
   editabile, dar arată ca pe live.
   ========================================================================== */

/* Paginile cu titlul GP dezactivat își aduc propriile secțiuni full-bleed,
   deci se lipesc de header și de footer, fără padding-ul GP (body class din
   cta_body_class_continut_plin) */
body.cta-continut-plin .site-content {
	padding-top: 0;
	padding-bottom: 0;
}

/* GeneratePress dă padding 40px + max-width containerului interior al
   blocurilor group (.wp-block-group__inner-container) — în secțiunile
   noastre îl aliniem cu sistemul de containere al temei. */
.site-main .cta-sectiune > .wp-block-group__inner-container {
	max-width: var(--cta-container);
	margin: 0 auto;
	padding: 0;
}

.site-main .cta-beneficiu > .wp-block-group__inner-container {
	max-width: none;
	padding: 0;
}

/* Intro „Despre": fundalul cu schițe desenate de pe live */
.cta-despre-intro {
	padding-left: 20px;
	padding-right: 20px;
	background: var(--cta-verde-alb) url('../img/CasaTaraneasca-41.jpg') center / cover no-repeat;
}

.site-main .cta-despre-intro > .wp-block-group__inner-container {
	max-width: 1000px;
}

.cta-despre-intro h1 {
	margin-bottom: 2.2rem;
}

/* Secțiunile de conținut din pagini: gutter lateral */
.cta-despre-beneficii,
.cta-despre-social {
	padding-left: 20px;
	padding-right: 20px;
}

.cta-despre-beneficii h2 {
	margin-bottom: 2.6rem;
}

/* Un beneficiu: cerc verde cu bifă + titlu Amatic + text (stilul live) */
.cta-beneficiu {
	position: relative;
	padding-left: 74px;
	margin-bottom: 2.4rem;
}

.cta-beneficiu::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 48px;
	height: 48px;
	border: 2px solid var(--cta-verde);
	border-radius: 50%;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2362997a' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 12.5 3.5 3.5L17 9'/%3E%3C/svg%3E") center / 22px no-repeat;
}

.cta-beneficiu h3 {
	font-size: 1.8rem;
	margin: 0 0 0.35rem;
}

.cta-beneficiu p {
	margin: 0;
	font-size: 0.98rem;
}

/* Pagina Contact: hartă pe stânga + detalii cu iconițe în cerc (stilul live) */
.cta-contact-sus,
.cta-contact-formular {
	padding-left: 20px;
	padding-right: 20px;
}

.cta-contact-sus .cta-harta {
	height: 100%;
}

.cta-contact-sus .cta-harta iframe {
	height: 100%;
	min-height: 540px;
}

.cta-contact-detalii {
	margin-bottom: 1.8rem;
}

.cta-contact-item {
	display: flex;
	align-items: flex-start;
	gap: 1.1rem;
	margin-bottom: 1.6rem;
}

.cta-contact-item__cerc {
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	border: 2px solid var(--cta-verde);
	border-radius: 50%;
	color: var(--cta-verde);
}

.cta-contact-item__cerc svg {
	width: 20px;
	height: 20px;
}

.cta-contact-item h3 {
	font-size: 1.6rem;
	margin: 0 0 0.2rem;
}

.cta-contact-item p {
	margin: 0;
	font-size: 0.98rem;
}

/* Respectăm preferința de mișcare redusă */
@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
	}
}

/* ==========================================================================
   8. Pagina de contact
   ========================================================================== */

/* Harta de pe pagina de contact */
.cta-harta iframe {
	width: 100%;
	height: 380px;
	border: 0;
	border-radius: 6px;
}

/* ==========================================================================
   9. Cookie consent
   ========================================================================== */

/* Atributul hidden trebuie să bată display-ul din clasele de mai jos. */
.cta-cookie-bar[hidden],
.cta-cookie-modal[hidden] {
	display: none;
}

.cta-cookie-bar {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 999;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 1rem 2rem;
	padding: 1rem clamp(1rem, 4vw, 2.5rem);
	background: var(--cta-footer);
	color: rgba(255, 255, 255, 0.85);
	box-shadow: 0 -6px 24px rgba(44, 32, 37, 0.35);
}

.cta-cookie-bar__text {
	flex: 1 1 480px;
	margin: 0;
	font-size: 13.5px;
	line-height: 1.5;
}

.cta-cookie-bar__actiuni {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.6rem;
}

.cta-cookie-bar .cta-btn--contur {
	color: var(--cta-alb);
	box-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.6);
}

.cta-cookie-bar__preferinte,
.cta-cookie-link {
	background: transparent;
	border: 0;
	padding: 0.4em 0.6em;
	color: var(--cta-bej-auriu);
	font-size: 12.5px;
	font-weight: 700;
	text-decoration: underline;
	cursor: pointer;
}

/* Modalul de preferințe */
.cta-cookie-modal {
	position: fixed;
	inset: 0;
	z-index: 1000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1rem;
}

.cta-cookie-modal__voal {
	position: absolute;
	inset: 0;
	background: rgba(44, 32, 37, 0.65);
}

.cta-cookie-modal__panou {
	position: relative;
	max-width: 560px;
	width: 100%;
	max-height: 85vh;
	overflow-y: auto;
	background: var(--cta-alb);
	border-radius: 8px;
	padding: clamp(1.4rem, 4vw, 2.2rem);
}

.cta-cookie-modal__panou h2 {
	font-size: 2.1rem;
	margin-bottom: 0.5rem;
}

.cta-cookie-modal__panou > p {
	font-size: 14.5px;
	margin-bottom: 1.4rem;
}

.cta-cookie-categorie {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 1.2rem;
	padding: 0.9rem 0;
	border-top: 1px solid var(--cta-bordura);
}

.cta-cookie-categorie strong {
	color: var(--cta-pruna);
}

.cta-cookie-categorie p {
	font-size: 13px;
	margin: 0.2rem 0 0;
}

.cta-cookie-modal__actiuni {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
	margin-top: 1.4rem;
}

/* Comutator (toggle) */
.cta-comutator {
	position: relative;
	flex-shrink: 0;
	width: 46px;
	height: 26px;
	margin-top: 2px;
}

.cta-comutator input {
	position: absolute;
	opacity: 0;
	width: 100%;
	height: 100%;
	margin: 0;
	cursor: pointer;
}

.cta-comutator span {
	display: block;
	width: 100%;
	height: 100%;
	border-radius: 999px;
	background: #cfcaca;
	transition: background-color var(--cta-tranzitie);
}

.cta-comutator span::after {
	content: '';
	position: absolute;
	top: 3px;
	left: 3px;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: var(--cta-alb);
	transition: transform var(--cta-tranzitie);
}

.cta-comutator input:checked + span {
	background: var(--cta-verde);
}

.cta-comutator input:checked + span::after {
	transform: translateX(20px);
}

.cta-comutator input:focus-visible + span {
	outline: 3px solid var(--cta-caramel);
	outline-offset: 2px;
}

.cta-comutator--blocat span {
	background: var(--cta-verde);
	opacity: 0.55;
}

.cta-comutator--blocat input {
	cursor: not-allowed;
}

/* ==========================================================================
   10. Corecturi din review
   ========================================================================== */

/* Linkurile de titlu și categorie stau deasupra linkului-overlay al cardului,
   ca să rămână clicabile individual. */
.cta-card__titlu a,
.cta-card__subtitlu a {
	position: relative;
	z-index: 4;
}

/* Subtitlul de categorie: verde închis, contrast AA. */
.cta-card__subtitlu a {
	color: var(--cta-verde-inchis);
}

/* ==========================================================================
   Pagina Despre Noi: povestea, banda de cifre, fluxul de producție
   ========================================================================== */

.cta-despre-poveste .wp-block-column,
.cta-cifre .wp-block-column {
	text-align: center;
}

.cta-poveste__an {
	color: var(--cta-verde-inchis);
	font-size: clamp(2.2rem, 3.5vw, 2.9rem);
	margin-bottom: 0.3rem;
}

/* Banda de cifre: fundal crem, numere mari în Amatic */
.cta-cifre {
	background: var(--cta-crem);
}

.cta-cifra {
	color: var(--cta-pruna);
	font-size: clamp(2.4rem, 4vw, 3.3rem);
	margin-bottom: 0.2rem;
}

.cta-cifre .wp-block-column p {
	margin-bottom: 0;
	font-size: 0.95rem;
}

/* Fluxul de producție: fotografii reale din fabrică, cu legende */
.cta-despre-flux__intro {
	max-width: 760px;
	margin-left: auto;
	margin-right: auto;
}

.cta-despre-flux .wp-block-image img {
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: 6px;
	box-shadow: 0 12px 28px rgba(44, 32, 37, 0.16);
}

.cta-despre-flux .wp-element-caption {
	text-align: center;
	font-size: 0.88rem;
	margin-top: 0.6rem;
	color: var(--cta-text);
}

/* Mențiune sub blocul de informații al produsului (audit texte, O2). */
.cta-produs__nota {
	margin: 16px 0 0;
	font-size: 0.78rem;
	line-height: 1.5;
	color: #6c6f66;
}
