/*
 * EVOLUX — main.css
 * Variabile CSS, reset, tipografie, utilitare de baza.
 * Scris mobile-first (baza = 375px). Toate media queries traiesc in responsive.css.
 */

/* =========================================================
 * 1. VARIABILE CSS — paleta si tipografie (brief 3.1 / 3.2)
 * ========================================================= */
:root {
	/* Culori — fiecare are rol strict, nu se intercambiaza */
	--color-trust: #0F2A4A;       /* Bleumarin profund — header, footer, titluri, hero */
	--color-focus: #0E7C7B;       /* Teal/Petrol — iconite, hover, accente */
	--color-action: #F97316;      /* Portocaliu cald — EXCLUSIV butoane CTA principale */
	--color-bg: #FAFAF8;          /* Alb cald — fundal principal */
	--color-text: #1F2937;        /* Antracit — text principal */
	--color-text-secondary: #4B5563; /* Gri mediu — text secundar, placeholdere */
	--color-bg-alt: #F3F4F6;      /* Gri foarte deschis — sectiuni alternative, carduri inactive */
	--color-white: #FFFFFF;
	--color-border: #E5E7EB;

	/* Tipografie */
	--font-heading: 'Plus Jakarta Sans', 'Sora', sans-serif;
	--font-body: 'Inter', 'Geist', sans-serif;

	--fw-regular: 400;
	--fw-medium: 500;
	--fw-semibold: 600;

	--fs-body: 15px;          /* mobile; devine 16px pe desktop in responsive.css */
	--lh-body: 1.6;
	--lh-heading: 1.2;

	/* Spatiere */
	--space-xs: 0.5rem;
	--space-sm: 1rem;
	--space-md: 1.5rem;
	--space-lg: 2.5rem;
	--space-xl: 4rem;

	/* Layout */
	--container-max: 1200px;
	--radius: 10px;
	--radius-sm: 6px;
	--touch-target: 48px;

	--transition-fast: 0.2s ease;
	--transition-base: 0.35s ease;
}

/* =========================================================
 * 2. RESET
 * ========================================================= */
*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	-webkit-text-size-adjust: 100%;
	scroll-behavior: smooth;
}

body {
	margin: 0;
	background-color: var(--color-bg);
	color: var(--color-text);
	font-family: var(--font-body);
	font-weight: var(--fw-regular);
	font-size: var(--fs-body);
	line-height: var(--lh-body);
	-webkit-font-smoothing: antialiased;
}

img,
picture,
svg {
	max-width: 100%;
	display: block;
	height: auto;
}

a {
	color: inherit;
	text-decoration: none;
}

/* Linkurile din interiorul unui text curent (paragrafe, raspunsuri FAQ etc.)
   trebuie sa fie vizibil distincte de textul din jur — reset-ul de mai sus
   le face invizibile by default, ceea ce e o problema reala de utilizare. */
p a,
.faq__answer a {
	color: var(--color-focus);
	text-decoration: underline;
	text-underline-offset: 2px;
	font-weight: var(--fw-medium);
}

p a:hover,
p a:focus-visible,
.faq__answer a:hover,
.faq__answer a:focus-visible {
	color: var(--color-action);
}

ul,
ol {
	margin: 0;
	padding: 0;
	list-style: none;
}

button {
	font-family: inherit;
	cursor: pointer;
}

input,
select,
textarea {
	font-family: inherit;
	font-size: var(--fs-body);
}

/* =========================================================
 * 3. TIPOGRAFIE
 * ========================================================= */
h1, h2, h3, h4, h5, h6 {
	font-family: var(--font-heading);
	font-weight: var(--fw-semibold); /* 600 — 300 si 700+ interzise (brief 3.2) */
	line-height: var(--lh-heading);
	color: var(--color-trust);
	margin: 0 0 var(--space-sm);
}

h1 { font-size: 2rem; }        /* ~32px mobile, creste in responsive.css */
h2 { font-size: 1.625rem; }
h3 { font-size: 1.25rem; }

p {
	margin: 0 0 var(--space-sm);
	color: var(--color-text);
}

.text-secondary {
	color: var(--color-text-secondary);
}

/* =========================================================
 * 4. LAYOUT UTILITAR
 * ========================================================= */
.container {
	width: 100%;
	max-width: var(--container-max);
	margin-inline: auto;
	padding-inline: var(--space-sm);
}

.site-main {
	padding-block: var(--space-lg);
}

/* =========================================================
 * 5. BUTOANE
 * Regula stricta: portocaliu (--color-action) EXCLUSIV pe CTA-urile
 * principale de conversie (Vreau site, Vezi pret, Trimite comanda).
 * ========================================================= */
.btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	min-height: var(--touch-target);
	padding: 0.75rem 1.5rem;
	border-radius: var(--radius);
	font-family: var(--font-body);
	font-weight: var(--fw-medium);
	font-size: 1rem;
	border: 2px solid transparent;
	transition: background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast), transform var(--transition-fast);
}

.btn:active {
	transform: scale(0.98);
}

/* CTA principal — orange, exclusiv pentru actiuni de conversie */
.btn--primary {
	background-color: var(--color-action);
	color: var(--color-white);
}

.btn--primary:hover,
.btn--primary:focus-visible {
	background-color: #EA6A0C;
}

/* Buton secundar — navigare, nu conversie directa */
.btn--outline {
	background-color: transparent;
	border-color: var(--color-trust);
	color: var(--color-trust);
}

.btn--outline:hover,
.btn--outline:focus-visible {
	background-color: var(--color-trust);
	color: var(--color-white);
}

/* =========================================================
 * 6. ACCESIBILITATE
 * ========================================================= */
.screen-reader-text,
.skip-link {
	position: absolute;
	left: -9999px;
	top: auto;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.skip-link:focus {
	position: fixed;
	left: var(--space-sm);
	top: var(--space-sm);
	width: auto;
	height: auto;
	z-index: 9999;
	padding: var(--space-xs) var(--space-sm);
	background: var(--color-white);
	color: var(--color-trust);
	border-radius: var(--radius-sm);
}

:focus-visible {
	outline: 3px solid var(--color-focus);
	outline-offset: 2px;
}

/* =========================================================
 * 7. HEADER (structura de baza — completari in responsive.css)
 * ========================================================= */
.site-header {
	background-color: var(--color-trust);
	padding-block: var(--space-xs);
}

.site-header__inner {
	max-width: var(--container-max);
	margin-inline: auto;
	padding-inline: var(--space-sm);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-sm);
	flex-wrap: wrap;
}

.site-header__logo-text {
	font-family: var(--font-heading);
	font-weight: var(--fw-semibold);
	font-size: 1.5rem;
	color: var(--color-white);
}

.site-header__nav {
	display: flex;
	gap: var(--space-xs);
	flex-wrap: wrap;
}

.site-header--landing .site-header__inner {
	justify-content: center;
}

/* Pe header inchis (trust color), butoanele outline trebuie sa fie vizibile pe fundal inchis */
.site-header .btn--outline {
	border-color: var(--color-white);
	color: var(--color-white);
}

.site-header .btn--outline:hover,
.site-header .btn--outline:focus-visible {
	background-color: var(--color-white);
	color: var(--color-trust);
}

/* =========================================================
 * 8. FOOTER (structura de baza)
 * ========================================================= */
.site-footer {
	position: relative;
	background-color: var(--color-trust);
	color: var(--color-bg);
	padding-block: calc(var(--space-xl) * 0.9) var(--space-md);
	margin-top: var(--space-xl);
	overflow: hidden;
}

/* Paginile cu fundal dark pe <main> (portofoliu hub) nu trebuie sa aiba
   gap-ul alb de la margin-top standard — footer-ul urmeaza direct. */
.portfolio-hub + .site-footer {
	margin-top: 0;
}

.site-footer::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 3px;
	background: linear-gradient(90deg, var(--color-focus), transparent 70%);
}

.site-footer__inner {
	position: relative;
	max-width: var(--container-max);
	margin-inline: auto;
	padding-inline: var(--space-sm);
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--space-lg);
}

.site-footer__col {
	min-width: 0;
}

.site-footer__heading {
	position: relative;
	color: var(--color-white);
	font-size: 0.9rem;
	font-weight: var(--fw-semibold);
	text-transform: uppercase;
	letter-spacing: 0.06em;
	margin-bottom: var(--space-sm);
	padding-bottom: var(--space-xs);
}

.site-footer__heading::after {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	width: 28px;
	height: 2px;
	background-color: var(--color-focus);
}

.site-footer__logo {
	font-family: var(--font-heading);
	font-weight: var(--fw-semibold);
	font-size: 1.5rem;
	color: var(--color-white);
	display: block;
	margin-bottom: var(--space-xs);
}

.site-footer__logo-link {
	display: inline-block;
	margin-bottom: 0px;
}

.site-footer__logo-img {
	height: 195px;
	width: auto;
}

.site-footer__col.site-footer__col--brand {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.site-footer__tagline {
	max-width: 26rem;
	color: #B9C3D0;
	font-size: 0.95rem;
	line-height: 1.6;
	margin: 0;
}

.site-footer a {
	color: #D1D9E2;
	word-break: break-word;
}

.site-footer a:hover,
.site-footer a:focus-visible {
	color: var(--color-white);
}

.site-footer__contact-link {
	display: flex;
	align-items: center;
	gap: 0.625rem;
	margin-bottom: var(--space-sm);
	font-weight: var(--fw-medium);
}

.site-footer__contact-link svg {
	width: 18px;
	height: 18px;
	flex-shrink: 0;
	color: var(--color-focus);
}

.site-footer__menu {
	display: flex;
	flex-direction: column;
	gap: 0.625rem;
}

.site-footer__bottom {
	max-width: var(--container-max);
	margin-inline: auto;
	padding-inline: var(--space-sm);
	margin-top: var(--space-md);
	padding-top: var(--space-md);
	border-top: 1px solid rgba(255, 255, 255, 0.15);
	font-size: 0.8125rem;
	color: #B9C3D0;
}

.site-footer__bottom-row {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--space-xs);
	text-align: center;
}

.site-footer__copyright {
	margin: 0;
}

.site-footer__legal-links {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 0.375rem 1.25rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.site-footer__legal-links a {
	white-space: nowrap;
}

.site-footer__legal-text {
	font-size: 0.8125rem;
	line-height: 1.6;
	color: #8FA0B5;
	text-align: center;
	margin-top: var(--space-sm);
}

/* =========================================================
 * 9. BREADCRUMB (component reutilizabil, orice pagina de continut)
 * ========================================================= */
.breadcrumb {
	font-size: 0.8125rem;
	color: var(--color-text-secondary);
	margin-bottom: var(--space-sm);
}

.breadcrumb__list {
	display: flex;
	flex-wrap: wrap;
	gap: 0.375rem;
}

.breadcrumb__item:not(:last-child)::after {
	content: '/';
	margin-left: 0.375rem;
	color: var(--color-border);
}

.breadcrumb__item a {
	color: var(--color-focus);
}

.breadcrumb__item a:hover,
.breadcrumb__item a:focus-visible {
	text-decoration: underline;
}

/* =========================================================
 * 10. PAGINA DE CONTINUT — componente reutilizabile
 *    (mentenanta acum; site-de-prezentare/magazin-online mai tarziu)
 * ========================================================= */
.page-hero {
	padding-block: var(--space-lg) var(--space-xl);
}

.page-hero__intro {
	font-size: 1.0625rem;
	line-height: 1.7;
	color: var(--color-text-secondary);
	max-width: 42rem;
}

/* Hero cu imagine — folosit pe paginile SEO fara header (mai mult spatiu sus). */
.page-hero--visual {
	padding-top: var(--space-xl);
}

.page-hero__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--space-lg);
	align-items: center;
}

.page-hero__content .btn {
	margin-top: var(--space-md);
}

.page-hero__media {
	order: -1;
}

.page-hero__image,
.page-hero__media .img-ph {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: var(--radius);
}

/* Sectiuni text + imagine alternate, reutilizabile pe paginile de continut. */
.content-split {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--space-lg);
	align-items: center;
	padding-block: var(--space-xl);
}

.content-split__body p {
	line-height: 1.7;
}

.content-split__image,
.content-split__media .img-ph {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: var(--radius);
}

.content-split__stat {
	display: flex;
	align-items: baseline;
	gap: var(--space-xs);
	margin-block: var(--space-xs) var(--space-sm);
}

.content-split__stat-value {
	font-family: var(--font-heading);
	font-weight: var(--fw-semibold);
	font-size: 2.25rem;
	color: var(--color-trust);
	line-height: 1;
}

.content-split__stat-label {
	font-size: 0.9375rem;
	color: var(--color-text-secondary);
}

/* Grid de carduri cu iconita pentru "ce include". */
.feature-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--space-md);
	margin-top: var(--space-lg);
}

.feature-grid__item {
	background-color: var(--color-bg-alt);
	border-radius: var(--radius-sm);
	padding: var(--space-md);
}

.feature-grid__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: var(--radius-sm);
	background-color: var(--color-white);
	color: var(--color-focus);
	margin-bottom: var(--space-xs);
}

.feature-grid__icon svg {
	width: 22px;
	height: 22px;
}

.feature-grid__item h3 {
	font-size: 1.0625rem;
	margin-bottom: 0.25rem;
}

.feature-grid__item p {
	font-size: 0.9375rem;
	color: var(--color-text-secondary);
	margin: 0;
}

/* Ritm vizual generos intre sectiunile simple ale paginilor de continut. */
.site-main .container > section {
	padding-block: var(--space-lg);
}

.site-main .container > section > h2:first-child,
.site-main .container > section > h2 {
	margin-bottom: var(--space-sm);
}

/* Fundal usor tintat, pentru ritm vizual intre sectiuni pe pagini lungi. */
.section-tint {
	background-color: var(--color-bg-alt);
	border-radius: var(--radius);
	padding: var(--space-lg);
}

/* Placeholder discret pentru imagini care inca nu au fost incarcate. */
.img-ph {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	aspect-ratio: 4 / 3;
	border: 1px dashed var(--color-border);
	border-radius: var(--radius);
	background-color: var(--color-bg-alt);
}

.img-ph__label {
	font-size: 0.8125rem;
	color: var(--color-text-secondary);
	padding: var(--space-xs);
	text-align: center;
}

.card {
	background-color: var(--color-white);
	border: 1px solid var(--color-border);
	border-radius: var(--radius);
	padding: var(--space-md);
}

.pricing-cards {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--space-md);
	margin-block: var(--space-md);
}

.pricing-card {
	background-color: var(--color-white);
	border: 2px solid var(--color-border);
	border-radius: var(--radius);
	padding: var(--space-md);
	display: flex;
	flex-direction: column;
	gap: var(--space-xs);
}

.pricing-card--highlight {
	border-color: var(--color-action);
	background-color: #FFF8F3;
	position: relative;
}

.pricing-card__badge {
	align-self: flex-start;
	background-color: var(--color-action);
	color: var(--color-white);
	font-size: 0.75rem;
	font-weight: var(--fw-semibold);
	padding: 0.125rem 0.625rem;
	border-radius: 999px;
}

.pricing-card__price {
	font-family: var(--font-heading);
	font-weight: var(--fw-semibold);
	font-size: 1.75rem;
	color: var(--color-trust);
}

.pricing-card__price span {
	font-family: var(--font-body);
	font-weight: var(--fw-regular);
	font-size: 0.9375rem;
	color: var(--color-text-secondary);
}

.pricing-card__note {
	font-size: 0.8125rem;
	color: var(--color-text-secondary);
	font-style: italic;
}

.service-list {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--space-xs);
	margin-block: var(--space-md);
}

.service-list__item {
	display: flex;
	align-items: flex-start;
	gap: var(--space-xs);
	padding: var(--space-sm);
	background-color: var(--color-bg-alt);
	border-radius: var(--radius-sm);
}

.service-list__item svg {
	width: 22px;
	height: 22px;
	flex-shrink: 0;
	margin-top: 1px;
	color: var(--color-focus);
}

.contact-block {
	background-color: var(--color-trust);
	color: var(--color-white);
	border-radius: var(--radius);
	padding: var(--space-md);
	display: flex;
	flex-direction: column;
	gap: var(--space-sm);
}

.contact-block a {
	color: var(--color-white);
	font-weight: var(--fw-medium);
	display: flex;
	align-items: center;
	gap: 0.5rem;
}

.contact-block h2 {
	color: var(--color-white);
}

.contact-block svg {
	width: 20px;
	height: 20px;
	flex-shrink: 0;
	color: #9FD8D6;
}

/* Mai mult spatiu deasupra/dedesubt cand blocul de contact rapid
   sta singur intre alte carduri (ex: pagina de mentenanta). */
.contact-block--spacious {
	margin-block: var(--space-lg);
}

/* =========================================================
 * 11. FORMULAR GENERIC (reutilizabil — mentenanta, portal, viitoare pagini)
 * ========================================================= */
.form-field {
	margin-bottom: var(--space-sm);
}

.form-field label {
	display: block;
	font-weight: var(--fw-medium);
	margin-bottom: 0.25rem;
	font-size: 0.9375rem;
}

.form-field input,
.form-field textarea,
.form-field select {
	width: 100%;
	min-height: var(--touch-target);
	padding: 0.625rem var(--space-xs);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-sm);
	background-color: var(--color-white);
	font-family: var(--font-body);
}

/* Formular compact — campuri perechi pe acelasi rand (desktop),
   card mai ingust, spatii mai mici intre campuri. */
.card--form-compact {
	max-width: 34rem;
	margin-inline: auto;
}

.form--compact .form-field {
	margin-bottom: var(--space-xs);
}

.form-row {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0 var(--space-sm);
}

.form-status {
	margin-top: var(--space-xs);
	font-weight: var(--fw-medium);
}

.form-status[data-state="success"] {
	color: var(--color-focus);
}

.form-status[data-state="error"] {
	color: #B91C1C;
}

.form-honeypot {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

/* =========================================================
 * 13. ENTRY CONTENT — continut editat din WP (Termeni, Confidentialitate etc.)
 *    Reset-ul global elimina bullet-urile/numerotarea din liste — le
 *    readaugam aici, doar in interiorul continutului editorial.
 * ========================================================= */
.container--prose {
	max-width: 44rem;
}

.page-updated-note {
	font-size: 0.8125rem;
	color: var(--color-text-secondary);
	font-style: italic;
	margin-bottom: var(--space-md);
}

.entry-content h2 {
	margin-top: var(--space-lg);
}

.entry-content h3 {
	margin-top: var(--space-md);
}

.entry-content p {
	line-height: var(--lh-body);
}

.entry-content ul,
.entry-content ol {
	margin: 0 0 var(--space-sm);
	padding-left: 1.5rem;
}

.entry-content ul {
	list-style: disc;
}

.entry-content ol {
	list-style: decimal;
}

.entry-content li {
	margin-bottom: 0.375rem;
}

.entry-content a {
	color: var(--color-focus);
	text-decoration: underline;
	text-underline-offset: 2px;
}

.entry-content a:hover,
.entry-content a:focus-visible {
	color: var(--color-action);
}

.entry-content strong {
	font-weight: var(--fw-semibold);
}

.entry-content blockquote {
	margin: var(--space-sm) 0;
	padding-left: var(--space-sm);
	border-left: 3px solid var(--color-focus);
	color: var(--color-text-secondary);
	font-style: italic;
}

.entry-content table {
	width: 100%;
	border-collapse: collapse;
	margin: var(--space-sm) 0;
}

.entry-content th,
.entry-content td {
	padding: var(--space-xs);
	border: 1px solid var(--color-border);
	text-align: left;
}

.entry-content th {
	background-color: var(--color-bg-alt);
}

.entry-content hr {
	border: none;
	border-top: 1px solid var(--color-border);
	margin-block: var(--space-md);
}

/* =========================================================
 * 14. PORTOFOLIU — grid de carduri catre demo-urile independente
 * ========================================================= */
.portfolio-section {
	margin-block: var(--space-lg);
}

.portfolio-section__title {
	display: flex;
	align-items: center;
	gap: var(--space-xs);
	margin-bottom: var(--space-md);
}

.portfolio-section__title .btn--outline {
	pointer-events: none;
	padding: 0.25rem 0.75rem;
	min-height: auto;
	font-size: 0.75rem;
}

.portfolio-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--space-md);
}

.portfolio-card {
	display: block;
	border-radius: var(--radius);
	overflow: hidden;
	background-color: var(--color-white);
	border: 1px solid var(--color-border);
	transition: transform var(--transition-fast), box-shadow var(--transition-fast);
}

.portfolio-card:hover,
.portfolio-card:focus-visible {
	transform: translateY(-4px);
	box-shadow: 0 16px 40px rgba(15, 42, 74, 0.12);
}

.portfolio-card__cover {
	aspect-ratio: 4 / 3;
	position: relative;
	overflow: hidden;
}

.portfolio-card__cover img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.5s ease;
}

.portfolio-card:hover .portfolio-card__cover img {
	transform: scale(1.06);
}

.portfolio-card__cover-fallback {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--color-white);
	font-family: var(--font-heading);
	font-weight: var(--fw-semibold);
	font-size: 1.5rem;
	letter-spacing: 0.04em;
	text-align: center;
	padding: var(--space-sm);
}

.portfolio-card__body {
	padding: var(--space-sm) var(--space-md) var(--space-md);
}

.portfolio-card__tag {
	display: inline-block;
	font-size: 0.75rem;
	font-weight: var(--fw-medium);
	color: var(--color-focus);
	text-transform: uppercase;
	letter-spacing: 0.04em;
	margin-bottom: 0.375rem;
}

.portfolio-card h3 {
	font-size: 1.125rem;
	margin-bottom: 0.375rem;
}

.portfolio-card p {
	color: var(--color-text-secondary);
	font-size: 0.9375rem;
	margin-bottom: 0.75rem;
}

.portfolio-card__cta {
	color: var(--color-action);
	font-weight: var(--fw-medium);
	font-size: 0.9375rem;
}

/* =========================================================
 * 14b. PORTOFOLIU HUB — varianta dark/futuristica pentru
 *    pagina principala de portofoliu (page-portofoliu.php).
 *    Scopat integral sub .portfolio-hub ca sa nu afecteze
 *    restul site-ului, care ramane pe tema deschisa.
 * ========================================================= */
.portfolio-hub {
	position: relative;
	background: linear-gradient(180deg, #070911 0%, #0B0E1A 55%, #0B0E1A 100%);
	color: #E4E8F5;
	overflow: hidden;
}

.portfolio-hub__glow {
	position: absolute;
	inset: 0;
	pointer-events: none;
	z-index: 0;
	background:
		radial-gradient(circle at 15% 0%, rgba(14, 124, 123, 0.35), transparent 45%),
		radial-gradient(circle at 85% 15%, rgba(249, 115, 22, 0.22), transparent 40%),
		radial-gradient(circle at 50% 100%, rgba(14, 124, 123, 0.2), transparent 55%);
	animation: portfolioHubDrift 18s ease-in-out infinite alternate;
}

@keyframes portfolioHubDrift {
	0% { opacity: 0.7; transform: scale(1); }
	100% { opacity: 1; transform: scale(1.08); }
}

.portfolio-hub .container {
	position: relative;
	z-index: 1;
}

.portfolio-hub__hero {
	text-align: center;
	padding-top: var(--space-lg);
	max-width: 40rem;
	margin-inline: auto;
}

.portfolio-hub__eyebrow {
	display: inline-block;
	font-size: 0.75rem;
	font-weight: var(--fw-semibold);
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #6FE3E0;
	border: 1px solid rgba(111, 227, 224, 0.35);
	border-radius: 999px;
	padding: 0.3rem 0.875rem;
	margin-bottom: var(--space-sm);
}

.portfolio-hub h1 {
	background: linear-gradient(90deg, #FFFFFF, #C4CBDC 55%, #6FE3E0);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

.portfolio-hub .page-hero__intro {
	color: #A8B0C4;
	max-width: 36rem;
	margin-inline: auto;
}

.portfolio-hub .portfolio-section__title h2 {
	color: #F2F4FA;
	position: relative;
	display: inline-block;
	padding-bottom: 0.5rem;
}

.portfolio-hub .portfolio-section__title h2::after {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	width: 2.5rem;
	height: 3px;
	border-radius: 999px;
	background: linear-gradient(90deg, #6FE3E0, var(--color-action));
}

.portfolio-hub .portfolio-section__title .btn--outline {
	border-color: rgba(255, 255, 255, 0.25);
	color: #C7CEE0;
}

.portfolio-hub .portfolio-card {
	background: rgba(255, 255, 255, 0.04);
	border: 1px solid rgba(255, 255, 255, 0.1);
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
	transition: transform var(--transition-fast), box-shadow var(--transition-fast), border-color var(--transition-fast);
}

.portfolio-hub .portfolio-card:hover,
.portfolio-hub .portfolio-card:focus-visible {
	transform: translateY(-6px);
	border-color: rgba(111, 227, 224, 0.5);
	box-shadow: 0 20px 50px rgba(0, 0, 0, 0.45), 0 0 0 1px rgba(111, 227, 224, 0.25);
}

.portfolio-hub .portfolio-card__tag {
	color: #6FE3E0;
}

.portfolio-hub .portfolio-card h3 {
	color: #F2F4FA;
}

.portfolio-hub .portfolio-card p {
	color: #A8B0C4;
}

.portfolio-hub .portfolio-card__cta {
	color: var(--color-action);
}

.portfolio-hub .cta-banner {
	border: 1px solid rgba(111, 227, 224, 0.25);
	box-shadow: 0 20px 50px rgba(0, 0, 0, 0.35);
}

@media (prefers-reduced-motion: reduce) {
	.portfolio-hub__glow {
		animation: none;
	}
}

/* =========================================================
 * 15. LANDING PAGE (campanii) — izolata, un singur drum inainte
 * ========================================================= */
.landing {
	padding-block: var(--space-lg);
}

.landing__eyebrow {
	display: block;
	text-align: center;
	font-size: 0.8125rem;
	font-weight: var(--fw-semibold);
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--color-focus);
	margin-bottom: var(--space-xs);
}

.landing__headline {
	text-align: center;
	font-size: clamp(1.75rem, 4vw + 0.5rem, 2.75rem);
	max-width: 36rem;
	margin-inline: auto;
}

.landing__subheadline {
	text-align: center;
	font-size: 1.0625rem;
	color: var(--color-text-secondary);
	max-width: 30rem;
	margin: var(--space-xs) auto 0;
}

.landing__cta {
	text-align: center;
	margin-block: var(--space-lg);
}

.landing__cta-btn {
	font-size: 1.0625rem;
	padding: 1rem 2rem;
}

.landing__cta-note {
	font-size: 0.8125rem;
	color: var(--color-text-secondary);
	margin: var(--space-xs) 0 0;
}

.landing__trust {
	display: flex;
	flex-direction: column;
	gap: 0.625rem;
	max-width: 24rem;
	margin: 0 auto var(--space-lg);
}

.landing__trust-item {
	display: flex;
	align-items: center;
	gap: 0.625rem;
	padding: 0.625rem var(--space-sm);
	background-color: var(--color-bg-alt);
	border-radius: var(--radius-sm);
	font-size: 0.9375rem;
	font-weight: var(--fw-medium);
}

.landing__trust-item svg {
	width: 20px;
	height: 20px;
	flex-shrink: 0;
	color: var(--color-focus);
}

.landing__benefits {
	max-width: 30rem;
	margin: 0 auto var(--space-lg);
}

.landing__benefits ul {
	list-style: none;
	padding-left: 0;
	display: flex;
	flex-direction: column;
	gap: 0.625rem;
}

.landing__benefits li {
	position: relative;
	padding-left: 1.75rem;
	margin-bottom: 0;
}

.landing__benefits li::before {
	content: '✓';
	position: absolute;
	left: 0;
	top: 0.05em;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background-color: var(--color-focus);
	color: var(--color-white);
	font-size: 0.6875rem;
	font-weight: var(--fw-semibold);
	display: flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
}

.landing__price {
	text-align: center;
	background-color: var(--color-bg-alt);
	border-radius: var(--radius);
	padding: var(--space-md);
	margin-block: var(--space-lg);
}

.landing__price-label {
	color: var(--color-text-secondary);
	margin: 0;
}

.landing__price-value {
	font-family: var(--font-heading);
	font-weight: var(--fw-semibold);
	font-size: 2.25rem;
	color: var(--color-trust);
	margin: 0.25rem 0;
}

.landing__price-note {
	font-size: 0.875rem;
	color: var(--color-text-secondary);
	margin: 0;
}

/* =========================================================
 * 12. PAGINI DE DETALII SEO — FAQ, CTA repetat, tabel comparativ, timp citire
 * ========================================================= */
.reading-time {
	display: inline-block;
	font-size: 0.8125rem;
	color: var(--color-text-secondary);
	margin-bottom: var(--space-sm);
}

/* ---- FAQ ---- */
.faq {
	display: flex;
	flex-direction: column;
	gap: var(--space-xs);
	margin-block: var(--space-md);
}

.faq__item {
	border: 1px solid var(--color-border);
	border-radius: var(--radius);
	background-color: var(--color-white);
}

.faq__question-wrap {
	margin: 0;
	font-size: 1rem;
}

.faq__question {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-xs);
	width: 100%;
	min-height: var(--touch-target);
	padding: var(--space-sm);
	background: none;
	border: none;
	text-align: left;
	font-family: var(--font-heading);
	font-weight: var(--fw-semibold);
	font-size: 1rem;
	color: var(--color-trust);
}

.faq__icon {
	flex-shrink: 0;
	transition: transform var(--transition-fast);
}

.faq__item[data-open="true"] .faq__icon {
	transform: rotate(180deg);
}

.faq__answer {
	display: none;
	padding: 0 var(--space-sm) var(--space-sm);
	color: var(--color-text-secondary);
}

.faq__answer[data-open="true"] {
	display: block;
}

.faq__answer p {
	margin: 0;
}

/* ---- CTA banner repetat ---- */
.cta-banner {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--space-sm);
	background-color: var(--color-trust);
	color: var(--color-white);
	border-radius: var(--radius);
	padding: var(--space-md);
	margin-block: var(--space-lg);
}

.cta-banner__heading {
	font-family: var(--font-heading);
	font-weight: var(--fw-semibold);
	font-size: 1.25rem;
	color: var(--color-white);
	margin: 0 0 0.25rem;
}

.cta-banner__subtext {
	color: #D1D9E2;
	margin: 0;
}

.cta-banner .btn--primary {
	flex-shrink: 0;
}

.cta-banner__actions {
	display: flex;
	flex-direction: column;
	gap: var(--space-xs);
	width: 100%;
}

.cta-banner__actions .btn {
	flex-shrink: 0;
}

/* Fundalul cta-banner e mereu dark (--color-trust) — outline-ul trebuie
   sa fie alb, nu culoarea implicita (facuta pentru fundaluri deschise). */
.cta-banner .btn--outline {
	border-color: var(--color-white);
	color: var(--color-white);
}

.cta-banner .btn--outline:hover,
.cta-banner .btn--outline:focus-visible {
	background-color: var(--color-white);
	color: var(--color-trust);
}

/* ---- Tabel comparativ ---- */
.compare-table-wrap {
	overflow-x: auto;
	margin-block: var(--space-md);
	border: 1px solid var(--color-border);
	border-radius: var(--radius);
}

.compare-table {
	width: 100%;
	border-collapse: collapse;
	min-width: 34rem;
}

.compare-table th,
.compare-table td {
	padding: var(--space-xs) var(--space-sm);
	text-align: left;
	border-bottom: 1px solid var(--color-border);
	font-size: 0.9375rem;
}

.compare-table th {
	background-color: var(--color-bg-alt);
	font-family: var(--font-heading);
	font-weight: var(--fw-semibold);
	color: var(--color-trust);
}

.compare-table td:first-child,
.compare-table th:first-child {
	font-weight: var(--fw-medium);
}

.compare-table tbody tr:last-child td {
	border-bottom: none;
}

.compare-table td.is-positive {
	color: var(--color-focus);
	font-weight: var(--fw-medium);
}

/* Formularul standard WordPress pentru pagini protejate cu parola
   (get_the_password_form()) — stilizat minimal ca sa se potriveasca cu tema. */
.post-password-form {
	max-width: 24rem;
	margin-top: var(--space-md);
}

.post-password-form p {
	margin-bottom: var(--space-sm);
}

.post-password-form label {
	display: flex;
	flex-direction: column;
	gap: 0.375rem;
	font-weight: var(--fw-medium);
}

.post-password-form input[type="password"] {
	min-height: var(--touch-target);
	padding: 0.625rem var(--space-xs);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-sm);
}

.post-password-form input[type="submit"] {
	margin-top: var(--space-xs);
	min-height: var(--touch-target);
	padding: 0.75rem 1.5rem;
	border: none;
	border-radius: var(--radius);
	background-color: var(--color-action);
	color: var(--color-white);
	font-weight: var(--fw-medium);
}

/* =========================================================
 * 14. BANNER COOKIE-URI — informare simpla, fara consimtamant granular
 *    (site-ul foloseste doar cookie-uri strict tehnice, vezi
 *    /politica-de-cookies/). Vizibil pe toate paginile, gestionat de
 *    assets/js/cookie-banner.js.
 * ========================================================= */
.cookie-banner {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 9999;
	background-color: var(--color-trust);
	color: var(--color-bg);
	box-shadow: 0 -4px 24px rgba(0, 0, 0, 0.18);
	transform: translateY(100%);
	transition: transform 0.35s ease;
}

.cookie-banner.is-visible {
	transform: translateY(0);
}

.cookie-banner__inner {
	max-width: var(--container-max);
	margin-inline: auto;
	padding: var(--space-sm) var(--space-md);
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: var(--space-sm);
}

.cookie-banner__text {
	margin: 0;
	font-size: 0.875rem;
	line-height: 1.5;
	color: #fff;
}

.cookie-banner__text a {
	color: var(--color-white);
	text-decoration: underline;
}

.cookie-banner__accept {
	flex-shrink: 0;
	white-space: nowrap;
}

@media (min-width: 640px) {
	.cookie-banner__inner {
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
	}
}
