/*
Theme Name: Elena Grisogono
Theme URI: https://elenagrisogono.ro
Author: DevoneX
Author URI: https://devonex.ro
Description: Temă block (FSE) custom pentru cabinetul de psihologie Elena Grisogono - psiholog clinician și psihoterapeut integrativ, București. Layout inspirat de Cloe Brooks Home 6, design tokens din manualul de brand al clientei, centralizate în theme.json.
Version: 1.0.1
Requires at least: 6.5
Tested up to: 7.0
Requires PHP: 8.2
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: elena-grisogono
Tags: block-theme, full-site-editing, one-column, custom-colors, custom-logo, translation-ready
*/

/*
 Tot designul (culori, fonturi, spațieri) trăiește în theme.json.
 Aici doar câteva reguli pe care blocurile nu le pot exprima.
*/

html {
	overflow-x: clip;
}

img {
	height: auto;
	max-width: 100%;
}

/* Fotografiile din secțiuni: umplu coloana, tăiere elegantă. */
.eg-photo img {
	width: 100%;
	object-fit: cover;
}

/* Linie decorativă aurie sub titlurile de secțiune (accent controlat). */
.eg-rule {
	border: none;
	border-top: 2px solid var(--wp--preset--color--brand-accent);
	width: 4.5rem;
	margin-left: 0;
}

.eg-rule-center {
	margin-left: auto;
	margin-right: auto;
}

/* Hero: fotografia încadrată, mai mică, împinsă spre colțul din dreapta. */
.eg-hero-foto figure {
	max-width: 380px;
	margin-left: auto;
	margin-right: 0;
}

.eg-hero-foto img {
	border: 6px solid var(--wp--preset--color--base);
	box-shadow: 0 22px 55px rgba(0, 0, 0, 0.35);
	aspect-ratio: 4 / 5;
	object-fit: cover;
	object-position: 50% 20%;
	width: 100%;
	height: auto;
}

@media (max-width: 781px) {
	.eg-hero-foto figure {
		max-width: 300px;
		margin: 0 auto;
	}
}

/* Bara de categorii din blog: linkuri-pastilă. */
.eg-cat-bar p {
	margin: 0;
}

.eg-cat-bar a {
	display: inline-block;
	padding: 0.45rem 1.1rem;
	border: 1px solid var(--wp--preset--color--neutral-100);
	border-radius: 999px;
	text-decoration: none;
	font-size: 0.9375rem;
	color: var(--wp--preset--color--brand-primary);
}

.eg-cat-bar a:hover {
	background: var(--wp--preset--color--brand-primary);
	border-color: var(--wp--preset--color--brand-primary);
	color: var(--wp--preset--color--base);
}

/* Cardurile de articole din grile au înălțime egală pe rând. */
.wp-block-post-template.is-layout-grid > .wp-block-post {
	display: flex;
}

.wp-block-post-template.is-layout-grid > .wp-block-post > .eg-card {
	flex: 1;
	display: flex;
	flex-direction: column;
	min-width: 0;
}

/* Imaginea reprezentativă stă strict în lățimea cardului. */
.eg-card .wp-block-post-featured-image {
	width: 100%;
	max-width: 100%;
	margin: 0;
}

.eg-card .wp-block-post-featured-image a,
.eg-card .wp-block-post-featured-image img {
	display: block;
	width: 100%;
	height: 100%;
}

/* Colaj „despre”: două fotografii suprapuse, ca în referință. */
.eg-colaj {
	position: relative;
	padding-right: 22%;
	padding-bottom: 3rem;
}

.eg-colaj .eg-colaj-mic {
	position: absolute;
	right: 0;
	bottom: 0;
	width: 46%;
	margin: 0;
	border: 6px solid var(--wp--preset--color--base);
	box-shadow: 0 18px 45px rgba(107, 26, 42, 0.18);
}

/* Cardurile de servicii de pe homepage: chenar crem cu spațiu interior pentru text. */
.eg-servicii .eg-card {
	background: var(--wp--preset--color--crem);
}

.eg-servicii .eg-card .eg-photo,
.eg-servicii .eg-card .eg-photo img {
	border-radius: 0;
	margin: 0;
}

.eg-servicii .eg-card h3 {
	padding: 0 1.5rem;
}

.eg-servicii .eg-card p {
	padding: 0 1.5rem 1.75rem;
}

/* Carduri (servicii, ateliere, blog): umbră discretă la hover. */
.eg-card {
	transition: box-shadow 0.25s ease, transform 0.25s ease;
}

.eg-card:hover {
	box-shadow: 0 16px 40px rgba(107, 26, 42, 0.12);
	transform: translateY(-3px);
}

.eg-card h3 a {
	text-decoration: none;
}

.eg-card h3 a:hover {
	text-decoration: underline;
}

/* Acordeon FAQ (details/summary, fără JavaScript). */
.eg-acordeon {
	border-bottom: 1px solid var(--wp--preset--color--neutral-100);
	padding: 1.1rem 0;
}

.eg-acordeon summary {
	cursor: pointer;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1.3rem;
	color: var(--wp--preset--color--brand-primary);
	list-style: none;
	position: relative;
	padding-right: 2rem;
}

.eg-acordeon summary::-webkit-details-marker {
	display: none;
}

.eg-acordeon summary::after {
	content: "+";
	position: absolute;
	right: 0;
	top: 0;
	color: var(--wp--preset--color--brand-accent);
	font-size: 1.4rem;
	line-height: 1;
}

.eg-acordeon[open] summary::after {
	content: "−";
}

.eg-acordeon p {
	margin-top: 0.75rem;
	color: var(--wp--preset--color--neutral-600);
}

/* Fotografie cu carduri suprapuse (secțiunea FAQ). */
.eg-foto-staturi {
	position: relative;
	padding-bottom: 2.5rem;
}

.eg-foto-staturi .eg-stat {
	position: absolute;
	padding: 1.1rem 1.4rem;
	max-width: 60%;
	box-shadow: 0 14px 35px rgba(107, 26, 42, 0.22);
}

.eg-foto-staturi .eg-stat-1 {
	left: -8%;
	bottom: 22%;
}

.eg-foto-staturi .eg-stat-2 {
	right: -4%;
	bottom: 0;
}

/* Avatar rotund în secțiunea de citat. */
.eg-avatar img {
	border-radius: 50%;
}

/* Întrebarea reflexivă de la finalul articolelor - accent vișiniu din paletă. */
.eg-intrebare-finala {
	font-style: italic;
	font-size: 1.25rem;
	color: var(--wp--preset--color--brand-primary);
	border-left: 3px solid var(--wp--preset--color--brand-burgundy);
	padding-left: 1.25rem;
	margin-top: 2.5rem;
}

/* Fiecare categorie de blog are propriul accent din paleta clientei. */
.wp-block-post-terms a,
.eg-cat-bar a {
	text-decoration: none;
}

.wp-block-post-terms a[href*="/categorie/emotii"] { color: var(--wp--preset--color--brand-burgundy); }
.wp-block-post-terms a[href*="/categorie/relatii"] { color: var(--wp--preset--color--brand-purple); }
.wp-block-post-terms a[href*="/categorie/cunoastere-de-sine"] { color: var(--wp--preset--color--brand-accent); }
.wp-block-post-terms a[href*="/categorie/psihologia-sportului"] { color: var(--wp--preset--color--brand-camel); }
.wp-block-post-terms a[href*="/categorie/studii-si-cercetari"] { color: var(--wp--preset--color--neutral-900); }

.eg-cat-bar a[href*="/categorie/emotii"] { border-color: var(--wp--preset--color--brand-burgundy); color: var(--wp--preset--color--brand-burgundy); }
.eg-cat-bar a[href*="/categorie/relatii"] { border-color: var(--wp--preset--color--brand-purple); color: var(--wp--preset--color--brand-purple); }
.eg-cat-bar a[href*="/categorie/cunoastere-de-sine"] { border-color: var(--wp--preset--color--brand-accent); color: var(--wp--preset--color--brand-accent); }
.eg-cat-bar a[href*="/categorie/psihologia-sportului"] { border-color: var(--wp--preset--color--brand-camel); color: var(--wp--preset--color--brand-camel); }
.eg-cat-bar a[href*="/categorie/studii-si-cercetari"] { border-color: var(--wp--preset--color--neutral-900); color: var(--wp--preset--color--neutral-900); }

.eg-cat-bar a[href*="/categorie/emotii"]:hover { background: var(--wp--preset--color--brand-burgundy); border-color: var(--wp--preset--color--brand-burgundy); color: var(--wp--preset--color--base); }
.eg-cat-bar a[href*="/categorie/relatii"]:hover { background: var(--wp--preset--color--brand-purple); border-color: var(--wp--preset--color--brand-purple); color: var(--wp--preset--color--base); }
.eg-cat-bar a[href*="/categorie/cunoastere-de-sine"]:hover { background: var(--wp--preset--color--brand-accent); border-color: var(--wp--preset--color--brand-accent); color: var(--wp--preset--color--brand-primary); }

@media (max-width: 781px) {
	.eg-colaj {
		padding-right: 0;
		padding-bottom: 0;
	}

	.eg-colaj .eg-colaj-mic {
		display: none;
	}

	.eg-foto-staturi .eg-stat-1 {
		left: 0;
	}

	.eg-foto-staturi .eg-stat-2 {
		right: 0;
	}

	.eg-topbar .eg-topbar-info {
		display: none;
	}
}

/* Meniul principal: linkuri cu pastile la hover și accent auriu - nu totul alb. */
.eg-header-actions .wp-block-navigation .wp-block-navigation-item__content {
	padding: 0.45rem 0.9rem;
	border-radius: 999px;
	transition: background-color 0.25s ease, color 0.25s ease;
}

.eg-header-actions .wp-block-navigation .wp-block-navigation-item__content:hover {
	background: var(--wp--preset--color--brand-primary);
	color: var(--wp--preset--color--base);
}

.eg-header-actions .wp-block-navigation .current-menu-item > .wp-block-navigation-item__content {
	background: var(--wp--preset--color--brand-accent);
	color: var(--wp--preset--color--brand-primary);
}

/* Panoul dropdown: alb, rotunjit, cu umbră - ca în tema de referință. */
.wp-block-navigation .wp-block-navigation__submenu-container {
	background: var(--wp--preset--color--base) !important;
	border: 1px solid var(--wp--preset--color--neutral-100);
	border-radius: 14px;
	box-shadow: 0 18px 44px rgba(107, 26, 42, 0.14);
	padding: 0.5rem;
	min-width: 240px;
}

.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	padding: 0.55rem 0.9rem;
	border-radius: 10px;
	color: var(--wp--preset--color--brand-primary);
}

.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover {
	background: var(--wp--preset--color--crem);
	color: var(--wp--preset--color--brand-accent);
}

/* Pe ecrane mici, meniul (hamburger) și butonul CTA stau pe același rând. */
@media (max-width: 781px) {
	.eg-header-actions {
		width: 100%;
		justify-content: space-between;
		gap: var(--wp--preset--spacing--20);
	}
}

/* Focus vizibil, în culoarea de brand, pe orice element interactiv. */
a:focus-visible,
button:focus-visible,
.wp-block-button__link:focus-visible {
	outline: 2px solid var(--wp--preset--color--brand-accent);
	outline-offset: 2px;
}

/* ------------------------------------------------------------------ */
/* Strat „premium”: rotunjimi, umbre moi, mișcare subtilă.             */
/* ------------------------------------------------------------------ */

/* Antet lipicios, cu umbră discretă - site-ul capătă adâncime la scroll. */
.wp-site-blocks > header {
	position: sticky;
	top: 0;
	z-index: 90;
}

.wp-site-blocks > header .wp-block-group.alignfull {
	box-shadow: 0 2px 18px rgba(107, 26, 42, 0.07);
}

/* Rotunjimi generoase pe toate cardurile și fotografiile. */
.eg-card {
	border-radius: 22px;
	overflow: hidden;
}

.eg-photo img,
.eg-card .wp-block-post-featured-image img {
	border-radius: 18px;
}

.eg-card-alb .eg-photo,
.eg-card-alb .eg-photo img {
	border-radius: 0;
}

.eg-colaj-mare img,
.eg-foto-staturi > .eg-photo img {
	border-radius: 26px;
}

.eg-colaj-mic,
.eg-colaj-mic img {
	border-radius: 16px;
}

.eg-stat {
	border-radius: 16px;
}

/* Fotografiile „respiră” la hover: zoom lent, decupat de colțurile rotunde. */
.eg-photo,
.eg-card .wp-block-post-featured-image {
	overflow: hidden;
}

.eg-photo img,
.eg-card .wp-block-post-featured-image img {
	transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}

.eg-card:hover .eg-photo img,
.eg-card:hover .wp-block-post-featured-image img {
	transform: scale(1.05);
}

/* Umbre stratificate, mai calde, pe cardurile ridicate. */
.eg-card:hover {
	box-shadow:
		0 2px 6px rgba(107, 26, 42, 0.06),
		0 18px 44px rgba(107, 26, 42, 0.13);
}

/* Butoanele răspund la atingere; cel auriu primește un gradient discret. */
.wp-block-button__link {
	transition: transform 0.25s ease, box-shadow 0.25s ease, background-color 0.25s ease, color 0.25s ease;
}

.wp-block-button__link:hover {
	transform: translateY(-2px);
	box-shadow: 0 12px 26px rgba(107, 26, 42, 0.2);
}

.wp-block-button__link.has-brand-accent-background-color {
	background: linear-gradient(135deg, #d6b985 0%, var(--wp--preset--color--brand-accent) 45%, #b8935a 100%);
}

/* Liniuțele decorative de sub titluri: scoase la cerere (markup păstrat). */
.eg-rule,
.eg-separator-item {
	display: none;
}

/* Hero: zoom foarte lent pe fotografie + textul intră cu un fade blând. */
@media (prefers-reduced-motion: no-preference) {
	.eg-hero .wp-block-cover__image-background {
		animation: eg-hero-zoom 16s ease-out both;
	}

	.eg-hero .wp-block-cover__inner-container {
		animation: eg-fade-up 0.9s ease 0.1s both;
	}

	/* Cardurile apar cu un fade la intrarea în viewport (doar browsere care știu). */
	@supports (animation-timeline: view()) {
		.eg-card,
		.eg-colaj,
		.eg-foto-staturi {
			animation: eg-fade-in 0.7s ease both;
			animation-timeline: view();
			animation-range: entry 0% entry 55%;
		}
	}
}

@keyframes eg-hero-zoom {
	from { transform: scale(1.07); }
	to { transform: scale(1); }
}

@keyframes eg-fade-up {
	from { opacity: 0; transform: translateY(18px); }
	to { opacity: 1; transform: none; }
}

@keyframes eg-fade-in {
	from { opacity: 0; }
	to { opacity: 1; }
}

/* Citat: ghilimele decorative mari, aurii, în spatele textului. */
.eg-citat {
	position: relative;
}

.eg-citat::before {
	content: "„";
	position: absolute;
	top: 0.2em;
	left: 50%;
	transform: translateX(-50%);
	font-family: var(--wp--preset--font-family--heading);
	font-size: 10rem;
	line-height: 1;
	color: rgba(201, 169, 110, 0.22);
	pointer-events: none;
}

/* Acordeonul FAQ: carduri rotunjite pe crem, în locul liniilor simple. */
.eg-acordeon {
	border: 1px solid var(--wp--preset--color--neutral-100);
	border-radius: 16px;
	padding: 1.1rem 1.4rem;
	margin-bottom: 0.9rem;
	background: var(--wp--preset--color--crem);
	transition: box-shadow 0.25s ease;
}

.eg-acordeon[open] {
	box-shadow: 0 10px 28px rgba(107, 26, 42, 0.08);
	background: var(--wp--preset--color--base);
}

.eg-acordeon summary::after {
	right: 0.2rem;
	top: 0.1rem;
}

/* ------------------------------------------------------------------ */
/* Blog: listă cu sidebar, articol cu hero - după referință.           */
/* ------------------------------------------------------------------ */

/* Elementul de listă: imaginea inset, cu colțuri rotunjite, nu până în marginea cardului. */
.eg-lista-item .wp-block-post-featured-image {
	height: calc(100% - 2rem);
	margin: 1rem 0 1rem 1rem;
}

.eg-lista-item .wp-block-post-featured-image a,
.eg-lista-item .wp-block-post-featured-image img {
	height: 100%;
	border-radius: 14px;
	margin: 0;
}

@media (max-width: 781px) {
	.eg-lista-item .wp-block-post-featured-image {
		height: auto;
		margin: 1rem 1rem 0 1rem;
	}
}

.eg-lista-item .wp-block-columns {
	margin: 0;
}

.eg-lista-item h2 a {
	text-decoration: none;
}

.eg-lista-item h2 a:hover {
	text-decoration: underline;
}

.eg-separator-item {
	height: 1px;
	border: none;
	opacity: 0.6;
	margin: 0.4rem 0;
}

/* Sidebar: cutii rotunjite, liste curate. */
.eg-sidebar-box {
	border-radius: 20px;
}

.eg-sidebar .wp-block-search__input {
	border-radius: 999px;
	border: 1px solid var(--wp--preset--color--neutral-100);
	padding: 0.6rem 1.1rem;
	background: var(--wp--preset--color--base);
}

.eg-sidebar .wp-block-search__button {
	border-radius: 999px;
}

.eg-lista-categorii {
	list-style: none;
	padding-left: 0;
}

.eg-lista-categorii li {
	border-bottom: 1px solid var(--wp--preset--color--neutral-100);
	padding: 0.5rem 0;
}

.eg-lista-categorii li:last-child {
	border-bottom: none;
}

.eg-lista-categorii a {
	text-decoration: none;
	color: var(--wp--preset--color--brand-primary);
}

.eg-lista-categorii a:hover {
	color: var(--wp--preset--color--brand-accent);
}

.eg-recente h3 {
	line-height: 1.3;
}

.eg-recente h3 a {
	text-decoration: none;
}

.eg-recente .wp-block-post-featured-image img {
	border-radius: 12px;
}

/* Paginarea: numere în pastile rotunde. */
.eg-paginare .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.6rem;
	height: 2.6rem;
	padding: 0 0.6rem;
	border: 1px solid var(--wp--preset--color--neutral-100);
	border-radius: 999px;
	text-decoration: none;
	color: var(--wp--preset--color--brand-primary);
}

.eg-paginare .page-numbers.current {
	background: var(--wp--preset--color--brand-primary);
	border-color: var(--wp--preset--color--brand-primary);
	color: var(--wp--preset--color--base);
}

.eg-paginare .page-numbers:hover:not(.current) {
	border-color: var(--wp--preset--color--brand-accent);
	color: var(--wp--preset--color--brand-accent);
}

.eg-paginare a {
	text-decoration: none;
}

/* Corpul articolelor de blog: EB Garamond mare, doar aici (paginile rămân pe Helvetica). */
.eg-continut-articol,
.eg-continut-articol p {
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1.45rem;
	line-height: 1.85;
}

/* Articol: literă mare la primul paragraf (drop cap), ca în referință. */
.eg-continut-articol > p:first-of-type::first-letter {
	font-family: var(--wp--preset--font-family--heading);
	font-size: 3.4em;
	line-height: 0.85;
	float: left;
	padding-right: 0.12em;
	color: var(--wp--preset--color--brand-accent);
	font-weight: 500;
}

/* Pastila de categorie din hero-ul articolului. */
.eg-hero-articol .wp-block-post-terms {
	text-align: center;
}

.eg-hero-articol .wp-block-post-terms a {
	display: inline-block;
	background: rgba(255, 255, 255, 0.14);
	border: 1px solid rgba(255, 255, 255, 0.35);
	color: var(--wp--preset--color--base);
	border-radius: 999px;
	padding: 0.3rem 1rem;
	text-decoration: none;
}

/* Cutia de autor. */
.eg-cutie-autor {
	border-radius: 20px;
	gap: var(--wp--preset--spacing--40);
}

.eg-cutie-autor .eg-cutie-autor-text {
	flex: 1;
	min-width: 260px;
}

/* Navigația anterior/următor fără subliniere. */
.post-navigation-link-previous a,
.post-navigation-link-next a {
	text-decoration: none;
	font-size: 1rem;
	font-weight: 700;
}

/* Fără spațiu alb între blocurile rădăcină (antet, benzi de titlu, main, subsol). */
.wp-site-blocks > * {
	margin-block-start: 0;
}

main.wp-block-group > :first-child,
.entry-content > :first-child {
	margin-block-start: 0;
}

/* Secțiunile plină-lățime din pagini stau lipite una de alta (au propriul padding). */
.entry-content > .alignfull {
	margin-block-start: 0;
	margin-block-end: 0;
}

/* Cardurile de valori: dungă colorată sus, din paleta clientei. */
.eg-valoare {
	border-top: 4px solid var(--wp--preset--color--brand-accent);
}

.eg-valoare-mov {
	border-top-color: var(--wp--preset--color--brand-purple);
}

.eg-valoare-visiniu {
	border-top-color: var(--wp--preset--color--brand-burgundy);
}

/* Liste elegante: buline aurii. */
.eg-lista-eleganta {
	list-style: none;
	padding-left: 0;
}

.eg-lista-eleganta li {
	position: relative;
	padding-left: 1.6rem;
	margin-bottom: 0.9rem;
}

.eg-lista-eleganta li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.55em;
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: var(--wp--preset--color--brand-accent);
}

/* Formularul de contact (CF7): câmpuri rotunjite, aerisite, focus auriu. */
.eg-cutie-formular {
	border-radius: 24px;
}

.eg-form-rand {
	display: flex;
	gap: 0.9rem;
	flex-wrap: wrap;
}

.eg-form-rand > p,
.eg-form-rand .wpcf7-form-control-wrap {
	flex: 1;
	min-width: 200px;
}

.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 textarea {
	width: 100%;
	border: 1px solid var(--wp--preset--color--neutral-100);
	border-radius: 14px;
	background: var(--wp--preset--color--base);
	padding: 0.8rem 1.1rem;
	font-family: inherit;
	font-size: 1rem;
	margin-bottom: 0.9rem;
	transition: border-color 0.25s ease, box-shadow 0.25s ease;
}

.wpcf7 textarea {
	min-height: 140px;
}

.wpcf7 input:focus,
.wpcf7 textarea:focus {
	outline: none;
	border-color: var(--wp--preset--color--brand-accent);
	box-shadow: 0 0 0 3px rgba(201, 169, 110, 0.25);
}

.wpcf7 .wpcf7-acceptance {
	font-size: 0.875rem;
	color: var(--wp--preset--color--neutral-600);
}

.wpcf7 input[type="submit"] {
	background: linear-gradient(135deg, #d6b985 0%, var(--wp--preset--color--brand-accent) 45%, #b8935a 100%);
	color: var(--wp--preset--color--brand-primary);
	border: none;
	border-radius: 999px;
	padding: 0.9rem 1.9rem;
	font-weight: 700;
	font-size: 0.9375rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	cursor: pointer;
	margin-top: 0.9rem;
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.wpcf7 input[type="submit"]:hover {
	transform: translateY(-2px);
	box-shadow: 0 12px 26px rgba(107, 26, 42, 0.2);
}

/* La print, animațiile legate de scroll nu rulează - conținutul rămâne vizibil. */
@media print {
	.eg-card,
	.eg-colaj,
	.eg-foto-staturi {
		animation: none !important;
		opacity: 1 !important;
	}
}

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

/* Butonul plutitor WhatsApp. */
.eg-whatsapp {
	position: fixed;
	right: 1.4rem;
	bottom: 1.4rem;
	z-index: 95;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 58px;
	height: 58px;
	border-radius: 50%;
	background: #25d366;
	color: #ffffff;
	box-shadow: 0 10px 26px rgba(0, 0, 0, 0.25);
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.eg-whatsapp:hover {
	transform: translateY(-3px) scale(1.05);
	box-shadow: 0 14px 32px rgba(0, 0, 0, 0.3);
}

/* Cardul de contact din sidebarul blogului: vișiniu îmblânzit. */
.eg-sidebar .eg-sidebar-promo {
	background-color: rgba(107, 26, 42, 0.82) !important;
}

/* Cardurile de recenzii: ghilimele decorative aurii și nume împins jos. */
.eg-card-recenzie {
	position: relative;
	display: flex;
	flex-direction: column;
}

.eg-card-recenzie > p:last-child {
	margin-top: auto;
	padding-top: 1rem;
	border-top: 1px solid var(--wp--preset--color--neutral-100);
}

.eg-card-recenzie::before {
	content: "„";
	position: absolute;
	top: -0.35em;
	left: 1.2rem;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 5rem;
	line-height: 1;
	color: rgba(201, 169, 110, 0.5);
	pointer-events: none;
}

/* ------------------------------------------------------------------ */
/* Antet pe mobil: un singur rând, ținte de atingere corecte.          */
/* ------------------------------------------------------------------ */

@media (max-width: 781px) {
	/* Antetul se rupea în trei rânduri (284px) și, fiind lipicios, mânca
	   o treime din ecran. Acțiunile revin pe rândul logoului. */
	.eg-header-actions {
		width: auto;
		flex-wrap: nowrap;
		justify-content: flex-end;
		gap: 0.5rem;
	}

	.wp-site-blocks > header {
		padding-top: 0.7rem;
		padding-bottom: 0.7rem;
	}

	/* Blazonul rămâne lizibil și la 46px. */
	.wp-block-site-logo img {
		width: 46px;
		height: auto;
	}

	.wp-site-blocks > header .wp-block-site-title a {
		font-size: 1.05rem;
		line-height: 1.15;
	}

	/* Textul întreg al butonului nu încape lângă logo pe un ecran de 375px. */
	.eg-header-actions .wp-block-button__link {
		padding: 0.55rem 0.95rem;
		font-size: 0;
		white-space: nowrap;
	}

	.eg-header-actions .wp-block-button__link::after {
		content: "Programează";
		font-size: 0.72rem;
		letter-spacing: 0.08em;
	}

	/* Hamburgerul era 24x24, sub minimul de 44x44 pentru atingere. */
	.wp-block-navigation__responsive-container-open,
	.wp-block-navigation__responsive-container-close {
		width: 44px;
		height: 44px;
		display: flex;
		align-items: center;
		justify-content: center;
	}

	.wp-block-navigation__responsive-container-open svg,
	.wp-block-navigation__responsive-container-close svg {
		width: 26px;
		height: 26px;
	}
}

/* Sub 600px cade supratitlul, ca numele să nu se rupă pe două rânduri. */
@media (max-width: 600px) {
	.wp-site-blocks > header .wp-block-site-title + p {
		display: none;
	}
}

/* Sub 360px nu mai încape butonul; rămân CTA-ul din hero și WhatsApp. */
@media (max-width: 359px) {
	.eg-header-actions .wp-block-buttons {
		display: none;
	}
}

/* ------------------------------------------------------------------ */
/* Meniul suprapus pe mobil.                                           */
/* ------------------------------------------------------------------ */

.wp-block-navigation__responsive-container.is-menu-open {
	padding: 1.25rem 1.5rem 2.5rem;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	padding-top: 1.5rem;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
	gap: 0;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .wp-block-navigation-item {
	width: 100%;
	border-bottom: 1px solid var(--wp--preset--color--neutral-100);
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1.25rem;
	width: 100%;
	padding: 0.85rem 0.25rem;
	border-radius: 0;
}

/* Submeniul apărea ca un card alb plutitor, peste celelalte linkuri. */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
	position: static;
	background: transparent !important;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	min-width: 0;
	width: 100%;
	padding: 0 0 0.5rem 1rem;
	opacity: 1;
	visibility: visible;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item {
	width: 100%;
	border-bottom: 0;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	font-family: var(--wp--preset--font-family--body);
	font-size: 1rem;
	padding: 0.55rem 0.25rem;
}

/* Un singur rând, garantat: rândul nu mai are voie să se rupă. */
@media (max-width: 781px) {
	.wp-site-blocks > header .wp-block-group.alignwide {
		flex-wrap: nowrap;
		gap: 0.5rem;
	}

	.wp-site-blocks > header .wp-block-group.alignwide > .wp-block-group:first-child {
		gap: 0.6rem;
		min-width: 0;
	}

	.wp-site-blocks > header .wp-block-site-title {
		white-space: nowrap;
	}

	.eg-header-actions {
		flex-shrink: 0;
	}

	/* Hamburgerul la marginea din dreapta, în raza degetului mare. */
	.eg-header-actions .wp-block-navigation {
		order: 2;
	}
}

/* Antetul are padding inline din theme.json; pe mobil îl strângem. */
@media (max-width: 781px) {
	.wp-site-blocks > header {
		padding-top: 0.6rem !important;
		padding-bottom: 0.6rem !important;
	}
}

/* Calibrare fină: totul trebuie să încapă pe 375px fără suprapuneri. */
@media (max-width: 781px) {
	/* Blazonul nu are voie să se strângă când rândul e înghesuit. */
	.wp-site-blocks > header .wp-block-site-logo {
		flex-shrink: 0;
		width: auto;
	}

	.wp-block-site-logo img {
		width: 40px;
	}

	.wp-site-blocks > header .wp-block-group.alignwide {
		gap: 0.5rem;
	}

	.wp-site-blocks > header .wp-block-group.alignwide > .wp-block-group:first-child {
		gap: 0.5rem;
		flex: 0 1 auto;
		overflow: hidden;
	}

	/* Plasă de siguranță: numele se taie elegant, nu intră peste buton. */
	.wp-site-blocks > header .wp-block-site-title {
		min-width: 0;
		overflow: hidden;
		text-overflow: ellipsis;
	}

	.wp-site-blocks > header .wp-block-site-title a {
		font-size: 0.98rem;
	}

	.eg-header-actions {
		gap: 0.45rem;
	}

	.eg-header-actions .wp-block-button__link {
		padding: 0.5rem 0.85rem;
	}

	.eg-header-actions .wp-block-button__link::after {
		font-size: 0.66rem;
	}
}

/* Antetul e o template-part care conține un al doilea <header> - padding-ul
   inline din theme.json stă pe cel interior, acolo trebuie strâns. */
@media (max-width: 781px) {
	.wp-site-blocks > header {
		padding-top: 0 !important;
		padding-bottom: 0 !important;
	}

	.wp-site-blocks > header header.wp-block-group {
		padding-top: 0.6rem !important;
		padding-bottom: 0.6rem !important;
	}

	/* Numele stă într-un grup imbricat; fără asta trecea peste buton. */
	.wp-site-blocks > header .wp-block-group.alignwide > .wp-block-group:first-child > .wp-block-group {
		min-width: 0;
		overflow: hidden;
	}
}

/* Spațiile dintre elemente vin ca stil inline din blocuri (spacing 30/40),
   pe mobil mâncau lățimea numelui. */
@media (max-width: 781px) {
	.wp-site-blocks > header .wp-block-group.alignwide > .wp-block-group:first-child {
		gap: 0.55rem !important;
	}

	.eg-header-actions {
		gap: 0.5rem !important;
	}
}

/* WordPress pune padding 0 pe linkurile din meniul suprapus; ținta de
   atingere ajungea la 35px, sub minimul de 44. */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	padding: 0.8rem 0.25rem !important;
	min-height: 44px;
	display: flex;
	align-items: center;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	padding: 0.6rem 0.25rem !important;
	min-height: 44px;
}

/* Săgeata submeniului, aliniată la dreapta rândului. */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu__toggle {
	justify-content: space-between;
	width: 100%;
}

/* min-height se adună peste padding (fără border-box), rândurile ieșeau
   de 70px. Padding-ul singur dă deja peste 44px. */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	min-height: 0;
}

/* Lista din meniu nu ocupa toată lățimea panoului: liniile despărțitoare
   se opreau la jumătatea ecranului. */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
	width: 100%;
	align-items: stretch;
}
