/*
 * ADOFEST — stilurile pe care theme.json nu le poate exprima:
 * animații, acuarelă, carduri, numărătoare inversă.
 * Se încarcă și pe site, și în editor, ca editorul să arate ca site-ul.
 */

:root {
	--ado-usor: cubic-bezier(0.2, 0.8, 0.2, 1);
	--ado-rosu: var(--wp--preset--color--rosu, #d2262b);
	--ado-turcoaz: var(--wp--preset--color--turcoaz, #0a9396);
	--ado-cerneala: var(--wp--preset--color--cerneala, #1d2b3a);
	--ado-gri: var(--wp--preset--color--gri, #5b6675);
	--ado-chenar: var(--wp--preset--color--chenar, #eae2d6);
}

/* Linkurile spre o secțiune din aceeași pagină (ex. „Festival”) derulează lin,
   iar secțiunea se oprește sub antetul lipit sus, nu ascunsă sub el. */
html {
	scroll-behavior: smooth;
}
[id] {
	scroll-margin-top: 104px;
}
.admin-bar [id] {
	scroll-margin-top: calc(104px + var(--wp-admin--admin-bar--height, 32px));
}

::selection {
	background: rgba(10, 147, 150, 0.2);
}

/* ── Antet ──────────────────────────────────────────────────────────── */

/* Lipit sus trebuie să fie învelișul <header> al părții de șablon: un element
   sticky rămâne lipit doar cât timp e în interiorul părintelui său. */
.wp-site-blocks > header.wp-block-template-part {
	position: sticky;
	top: 0;
	z-index: 50;
}
.admin-bar .wp-site-blocks > header.wp-block-template-part {
	top: var(--wp-admin--admin-bar--height, 32px);
}
/* Pe telefoane mici bara de administrare nu stă fixă, deci antetul se lipește chiar sus. */
@media (max-width: 600px) {
	.admin-bar .wp-site-blocks > header.wp-block-template-part {
		top: 0;
	}
}
/* Pe telefon antetul se ascunde la derulare în jos (vezi adofest.js). Fără
   „transform” cât e vizibil: un transform pe antet ar prinde meniul deschis
   (care e „fixed”) în cutia antetului. */
.wp-site-blocks > header.wp-block-template-part {
	transition: transform 0.35s var(--ado-usor);
}
@media (max-width: 781px) {
	.wp-site-blocks > header.wp-block-template-part.is-ascuns {
		transform: translateY(calc(-100% - 16px));
	}
}
.ado-antet {
	position: relative;
	isolation: isolate;
	border-bottom: 1px solid transparent;
	transition: border-color 0.3s, box-shadow 0.3s;
}
/* Sticla mată stă pe un strat separat. Pusă direct pe antet, ar face ca meniul
   de pe telefon (care se deschide „fixed”, pe tot ecranul) să rămână prins în
   cutia antetului, de înălțimea lui. */
.ado-antet::before {
	content: "";
	position: absolute;
	z-index: -1;
	inset: 0;
	background: rgba(255, 255, 255, 0.86);
	-webkit-backdrop-filter: saturate(1.4) blur(12px);
	backdrop-filter: saturate(1.4) blur(12px);
}

/* Meniul deschis pe telefon: tot ecranul, fundal crem cu acuarelă, linkuri mari. */
.ado-antet .wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open,
.ado-antet .wp-block-navigation:not(.has-background) .wp-block-navigation__responsive-container.is-menu-open {
	padding: 1.25rem clamp(1.25rem, 6vw, 2.5rem) 2rem;
	background: var(--wp--preset--color--crem, #fbf6ef) url("../img/acuarela-turcoaz.svg") left -30% bottom -10% / 110% auto no-repeat;
	color: var(--ado-cerneala);
}
.ado-antet .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	padding-top: 4.5rem;
	align-items: flex-start;
}
.ado-antet .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
	gap: 1.1rem;
	align-items: flex-start;
}
.ado-antet .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	font-family: var(--wp--preset--font-family--titluri);
	font-size: clamp(1.9rem, 8vw, 2.4rem);
	font-weight: 500;
	letter-spacing: 0;
	text-transform: none;
	color: var(--ado-cerneala);
}
.ado-antet .wp-block-navigation__responsive-container-close {
	top: 1.4rem;
	right: clamp(1.25rem, 6vw, 2.5rem);
	color: var(--ado-cerneala);
}
.ado-antet .wp-block-navigation__responsive-container-close svg,
.ado-antet .wp-block-navigation__responsive-container-open svg {
	width: 32px;
	height: 32px;
}

/* Un buton pus în meniu (ex. „Festival”) e pentru telefon: acolo butonul roșu
   din antet nu încape. Pe ecran mare antetul îl are deja, deci nu apare de două ori. */
/* Butoane puse de mână în meniu nu se mai afișează pe site: butonul roșu din antet
   apare singur în meniul de pe telefon (copia .ado-buton-meniu din adofest.js). */
body:not(.editor-styles-wrapper) .ado-antet .wp-block-navigation .wp-block-buttons:not(.ado-buton-meniu) {
	display: none;
}
.ado-antet .wp-block-navigation__responsive-container.is-menu-open .wp-block-buttons {
	margin-top: 1.5rem;
}
/* Copia butonului roșu din antet (adofest.js) apare doar în meniul deschis de pe telefon. */
.ado-antet .ado-buton-meniu {
	display: none;
}
.ado-antet .wp-block-navigation__responsive-container.is-menu-open .ado-buton-meniu {
	display: flex;
}
.ado-antet .wp-block-navigation .wp-block-button__link {
	padding: 0.85em 1.7em;
	font-family: var(--wp--preset--font-family--text);
	font-size: 1.05rem;
	font-weight: 700;
	letter-spacing: 0.01em;
	text-transform: none;
}
.ado-antet.is-defilat {
	border-bottom-color: var(--ado-chenar);
	box-shadow: 0 10px 30px -24px rgba(29, 43, 58, 0.4);
}
.ado-antet .wp-block-site-logo img {
	transition: transform 0.4s var(--ado-usor);
}
.ado-antet .wp-block-site-logo:hover img {
	transform: rotate(-4deg) scale(1.05);
}
/* Butoanele din antet: „Donează” (contur, cu inimă) și „Înscrie-te” (roșu).
   Pe telefon rămâne doar „Înscrie-te”, mai mic; ambele apar și în meniul deschis. */
.ado-antet .ado-antet-buton .wp-block-button__link {
	padding: 0.6em 1.25em;
	font-size: 0.95rem;
	font-weight: 700;
	white-space: nowrap;
}
.ado-buton-doneaza .wp-block-button__link::before {
	content: "";
	display: inline-block;
	width: 0.95em;
	height: 0.95em;
	margin-right: 0.45em;
	vertical-align: -0.1em;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21s-7.5-4.6-9.6-9.2C1 8.6 2.9 4.5 6.7 4.5c2.1 0 3.6 1.2 4.3 2.4h2c.7-1.2 2.2-2.4 4.3-2.4 3.8 0 5.7 4.1 4.3 7.3C19.5 16.4 12 21 12 21z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21s-7.5-4.6-9.6-9.2C1 8.6 2.9 4.5 6.7 4.5c2.1 0 3.6 1.2 4.3 2.4h2c.7-1.2 2.2-2.4 4.3-2.4 3.8 0 5.7 4.1 4.3 7.3C19.5 16.4 12 21 12 21z'/%3E%3C/svg%3E") center / contain no-repeat;
	transition: transform 0.3s var(--ado-usor);
}
.ado-buton-doneaza .wp-block-button__link:hover::before {
	transform: scale(1.2);
}
.ado-antet .ado-buton-doneaza.is-style-outline .wp-block-button__link {
	border-width: 1.5px;
	color: var(--ado-rosu);
	border-color: currentColor;
	background: transparent;
}
.ado-antet .ado-buton-doneaza.is-style-outline .wp-block-button__link:hover {
	background: var(--wp--preset--color--roz, #fdecea);
}
@media (max-width: 1100px) {
	/* Pe ecrane medii, meniul și două butoane nu încap: rămâne „Înscrie-te”. */
	.ado-antet .ado-antet-dreapta > .ado-antet-buton .ado-buton-doneaza {
		display: none;
	}
}
@media (max-width: 781px) {
	.ado-antet .ado-antet-dreapta {
		gap: 0.75rem !important;
	}
	.ado-antet .ado-antet-buton .wp-block-button__link {
		padding: 0.5em 1em;
		font-size: 0.9rem;
	}
	.ado-antet .wp-block-site-logo img {
		max-width: 118px;
		height: auto;
	}
}
/* În meniul deschis de pe telefon, copiile butoanelor stau una sub alta, mari. */
.ado-antet .wp-block-navigation__responsive-container.is-menu-open .ado-buton-meniu {
	flex-direction: column;
	align-items: stretch;
	gap: 0.75rem;
	width: 100%;
	max-width: 22rem;
}
.ado-antet .wp-block-navigation__responsive-container.is-menu-open .ado-buton-meniu .ado-buton-doneaza {
	display: block;
}
.ado-antet .wp-block-navigation__responsive-container.is-menu-open .ado-buton-meniu .wp-block-button__link {
	display: block;
	text-align: center;
}

/* ── Subsol: cele două carduri, „Vrei să participi?” și „Susține ADOFEST” ── */
.ado-cta {
	position: relative;
	overflow: hidden;
	transition: transform 0.45s var(--ado-usor), box-shadow 0.45s var(--ado-usor);
}
.ado-cta:hover {
	transform: translateY(-4px);
	box-shadow: 0 24px 50px -32px rgba(29, 43, 58, 0.45);
}
.ado-cta > .wp-block-heading {
	margin-top: 0;
	max-width: 24ch;
	font-weight: 500;
}
.ado-cta > .wp-block-buttons {
	margin-top: auto;
	padding-top: 0.6rem;
}
.ado-cta--donatie .ado-buton-doneaza .wp-block-button__link {
	background: var(--wp--preset--color--alb, #fff);
	color: var(--ado-rosu);
	box-shadow: inset 0 0 0 1.5px currentColor;
}
.ado-cta--donatie .ado-buton-doneaza .wp-block-button__link:hover {
	background: var(--ado-rosu);
	color: var(--wp--preset--color--alb, #fff);
}
.ado-subsol-contact a {
	color: inherit;
	text-decoration-color: var(--ado-chenar);
	text-underline-offset: 0.2em;
}
.ado-subsol-contact a:hover {
	color: var(--ado-rosu);
}

/* Prima pagină: butoanele din deschidere stau deasupra numărătorii. */
.ado-erou-butoane {
	margin-top: var(--wp--preset--spacing--40, 1.5rem);
	gap: 0.8rem 1.4rem;
	align-items: center;
}
/* Meniul: o linie roșie crește sub link la hover, ca la InAgora. */
.ado-antet .wp-block-navigation-item__content {
	position: relative;
	padding-block: 0.35em;
}
.ado-antet .wp-block-navigation-item__content::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 2px;
	background: var(--ado-rosu);
	transform: scaleX(0);
	transform-origin: right;
	transition: transform 0.35s var(--ado-usor);
}
.ado-antet .wp-block-navigation-item__content:hover::after,
.ado-antet .current-menu-item > .wp-block-navigation-item__content::after {
	transform: scaleX(1);
	transform-origin: left;
}

/* ── Titluri de secțiune, ca în revistă ──────────────────────────────── */

.wp-block-heading.is-style-sectiune {
	text-transform: uppercase;
	letter-spacing: 0.08em;
	font-size: clamp(1.45rem, 2.6vw, 2rem);
	font-weight: 500;
	text-align: center;
}
.wp-block-heading.is-style-sectiune::after {
	content: "";
	display: block;
	width: 56px;
	height: 2px;
	margin: 0.9rem auto 0;
	background: var(--ado-rosu);
}
.wp-block-heading.is-style-sectiune.has-text-align-left::after {
	margin-left: 0;
}

/* Eticheta mică de deasupra titlurilor. */
.is-style-eticheta {
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}
.is-style-eticheta:not(.has-text-color) {
	color: var(--ado-rosu);
}

/* Scris de mână, ca titlurile de la Beacon House. */
.is-style-de-mana {
	font-family: var(--wp--preset--font-family--de-mana);
	font-size: clamp(1.6rem, 2.6vw, 2.1rem);
	font-weight: 600;
	line-height: 1.15;
	transform: rotate(-1.5deg);
	transform-origin: left center;
}
.is-style-de-mana:not(.has-text-color) {
	color: var(--ado-turcoaz);
}

/* Buton-link scris de mână, cu subliniere trasă cu pensula. */
.wp-block-button.is-style-de-mana {
	transform: none;
}
.wp-block-button.is-style-de-mana .wp-block-button__link {
	padding: 0 0.1em 0.35em;
	border-radius: 0;
	background: url("../img/subliniere.svg") left bottom / 100% 10px no-repeat;
	color: var(--ado-turcoaz);
	font-family: var(--wp--preset--font-family--de-mana);
	font-size: 1.75rem;
	font-weight: 600;
	letter-spacing: 0;
	transition: background-size 0.45s var(--ado-usor), color 0.2s;
}
.wp-block-button.is-style-de-mana .wp-block-button__link:hover {
	background-size: 65% 10px;
	color: var(--ado-rosu);
}

/* Butoanele obișnuite: se ridică puțin. */
.wp-block-button:not(.is-style-de-mana) .wp-block-button__link {
	transition: transform 0.25s var(--ado-usor), box-shadow 0.25s, background-color 0.2s, color 0.2s;
}
.wp-block-button:not(.is-style-de-mana) .wp-block-button__link:hover {
	transform: translateY(-2px);
	box-shadow: 0 12px 24px -12px rgba(210, 38, 43, 0.6);
}
.wp-block-button.is-style-outline .wp-block-button__link {
	border: 2px solid currentColor;
	background: transparent;
	color: var(--ado-cerneala);
}
.wp-block-button.is-style-outline .wp-block-button__link:hover {
	background: var(--ado-cerneala);
	color: #fff;
	box-shadow: none;
}

/* ── Acuarelă ───────────────────────────────────────────────────────── */

.is-style-acuarela {
	position: relative;
	isolation: isolate;
	overflow: hidden;
}
.is-style-acuarela::before,
.is-style-acuarela::after {
	content: "";
	position: absolute;
	z-index: -1;
	pointer-events: none;
	background-repeat: no-repeat;
	background-size: contain;
	animation: ado-plutire 18s ease-in-out infinite alternate;
}
.is-style-acuarela::before {
	top: 0;
	left: -9%;
	width: min(62vw, 760px);
	height: min(100%, 620px);
	background-position: left top;
	background-image: url("../img/acuarela-turcoaz.svg");
}
.is-style-acuarela::after {
	right: -7%;
	bottom: 0;
	width: min(52vw, 640px);
	height: min(100%, 520px);
	background-position: right bottom;
	background-image: url("../img/acuarela-rosu.svg");
	animation-delay: -9s;
}
@keyframes ado-plutire {
	from { transform: translate(0, 0) rotate(0deg) scale(1); }
	to { transform: translate(2%, 3%) rotate(3deg) scale(1.05); }
}

/* ── Imagini cu formă organică (ca formele din logo) ─────────────────── */

.wp-block-image.is-style-organic img,
.wp-block-post-featured-image.is-style-organic img {
	border-radius: 58% 42% 51% 49% / 46% 55% 45% 54%;
	transition: border-radius 1.2s var(--ado-usor);
}
.wp-block-image.is-style-organic:hover img {
	border-radius: 45% 55% 42% 58% / 55% 44% 56% 45%;
}

.ado-forme {
	pointer-events: none;
}
.ado-forme img {
	animation: ado-leganare 9s ease-in-out infinite alternate;
}
@keyframes ado-leganare {
	from { transform: translateY(0) rotate(-2deg); }
	to { transform: translateY(-14px) rotate(2deg); }
}

/* ── Carduri cu animație ────────────────────────────────────────────── */

.is-style-card,
.ado-card {
	position: relative;
	height: 100%;
	overflow: hidden;
	background: #fff;
	border: 1px solid var(--ado-chenar);
	border-radius: 20px;
	box-shadow: var(--wp--preset--shadow--card);
	transition: transform 0.45s var(--ado-usor), box-shadow 0.45s var(--ado-usor), border-color 0.3s;
}
/* O bară roșu–turcoaz se desenează sus, la hover. */
.is-style-card::before {
	content: "";
	position: absolute;
	z-index: 2;
	inset: 0 0 auto;
	height: 4px;
	background: linear-gradient(90deg, var(--ado-rosu), var(--ado-turcoaz));
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.5s var(--ado-usor);
}
.is-style-card:hover,
.is-style-card:focus-within,
.ado-card:hover {
	transform: translateY(-8px);
	border-color: transparent;
	box-shadow: var(--wp--preset--shadow--ridicat);
}
.is-style-card:hover::before,
.is-style-card:focus-within::before {
	transform: scaleX(1);
}
.is-style-card .wp-block-image,
.is-style-card .wp-block-post-featured-image {
	margin: 0;
	overflow: hidden;
}
.is-style-card .wp-block-image img,
.is-style-card .wp-block-post-featured-image img {
	display: block;
	width: 100%;
	transition: transform 0.9s var(--ado-usor), filter 0.6s;
}
.is-style-card:hover .wp-block-image img,
.is-style-card:hover .wp-block-post-featured-image img {
	transform: scale(1.07);
	filter: saturate(1.1);
}
/* Titlul: culoarea trece în roșu și o linie se trage sub el. */
.is-style-card :is(h2, h3, h4) a {
	color: var(--ado-cerneala);
	text-decoration: none;
	background: linear-gradient(currentColor, currentColor) left bottom / 0 1px no-repeat;
	transition: color 0.25s, background-size 0.45s var(--ado-usor);
}
.is-style-card:hover :is(h2, h3, h4) a {
	color: var(--ado-rosu);
	background-size: 100% 1px;
}
/* Tot cardul e clicabil: linkul titlului acoperă cardul. */
.is-style-card .wp-block-post-title a::after {
	content: "";
	position: absolute;
	z-index: 1;
	inset: 0;
}
.is-style-card .wp-block-post-terms a {
	position: relative;
	z-index: 3;
}
/* „Citește →”: săgeata alunecă. */
.is-style-card .ado-citeste,
.is-style-card .wp-block-read-more,
.is-style-card .wp-block-post-excerpt__more-link {
	display: inline-flex;
	align-items: center;
	gap: 0.4em;
	color: var(--ado-turcoaz);
	font-weight: 700;
	text-decoration: none;
	transition: gap 0.3s var(--ado-usor), color 0.2s;
}
.is-style-card:hover .ado-citeste,
.is-style-card:hover .wp-block-read-more,
.is-style-card:hover .wp-block-post-excerpt__more-link {
	gap: 0.8em;
	color: var(--ado-rosu);
}
.is-style-card .ado-card-text {
	flex: 1;
}
/* Cardurile din aceeași grilă au aceeași înălțime pe un rând. */
.ado-carduri .wp-block-post-template > li {
	display: flex;
}
.ado-carduri .wp-block-post-template > li > .is-style-card {
	flex: 1;
}

/* Pe telefon: două carduri pe rând, doar cu poză, categorie și titlu, ca 12
   articole să încapă în ~2 ecrane de derulat, nu în ~10. Tot cardul rămâne
   clicabil, deci „Citește →” și rezumatul nu lipsesc nimănui. */
@media (max-width: 600px) {
	.ado-carduri .wp-block-post-template {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0.75rem;
	}
	/* Un card rămas singur pe ultimul rând ia toată lățimea, fără gol lângă el. */
	/* Doar pe site: în editor lista are elemente în plus și regula ar lăți alt card. */
	body:not(.editor-styles-wrapper) .ado-carduri .wp-block-post-template > li:last-child:nth-child(odd) {
		grid-column: 1 / -1;
	}
	.ado-carduri .is-style-card {
		border-radius: 16px;
	}
	.ado-carduri .ado-card-text {
		padding: 0.7rem 0.8rem 0.95rem !important;
		gap: 0.3rem !important;
	}
	.ado-carduri :is(.wp-block-post-excerpt, .wp-block-read-more, .wp-block-post-date) {
		display: none;
	}
	.ado-carduri .wp-block-post-title {
		font-size: 1rem;
		line-height: 1.25;
	}
	.ado-carduri .wp-block-post-terms {
		font-size: 0.65rem;
		letter-spacing: 0.1em;
	}
	/* Fără poză reprezentativă, pata de acuarelă e mai mică, pe măsura cardului. */
	.ado-carduri .is-style-card > .ado-card-text:first-child {
		padding-top: 1.6rem !important;
	}
}
/* Pe telefoanele foarte înguste, câte unul pe rând. */
@media (max-width: 339px) {
	.ado-carduri .wp-block-post-template {
		grid-template-columns: 1fr;
	}
}

/* ── Numărătoarea inversă ───────────────────────────────────────────── */

.ado-numaratoare {
	--ado-cifre: var(--ado-cerneala);
	display: grid;
	gap: 1rem;
}
.ado-numaratoare__titlu {
	margin: 0;
	font-family: var(--wp--preset--font-family--de-mana);
	font-size: 1.7rem;
	font-weight: 600;
	line-height: 1.1;
	color: var(--ado-turcoaz);
}
.ado-numaratoare__unitati {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(0.5rem, 1.5vw, 0.9rem);
	margin: 0;
	padding: 0;
	list-style: none;
}
.ado-numaratoare__unitate {
	display: grid;
	justify-items: center;
	gap: 0.15rem;
	padding: clamp(0.8rem, 2vw, 1.2rem) 0.4rem;
	background: #fff;
	border: 1px solid var(--ado-chenar);
	border-radius: 18px;
	box-shadow: var(--wp--preset--shadow--card);
}
.ado-numaratoare__numar {
	font-family: var(--wp--preset--font-family--titluri);
	font-size: clamp(2rem, 4.5vw, 3rem);
	font-weight: 600;
	line-height: 1;
	font-variant-numeric: tabular-nums lining-nums;
	color: var(--ado-cifre);
}
.ado-numaratoare__unitate:first-child .ado-numaratoare__numar {
	color: var(--ado-rosu);
}
.ado-numaratoare__numar.is-tic {
	animation: ado-tic 0.45s var(--ado-usor);
}
@keyframes ado-tic {
	0% { transform: translateY(-30%); opacity: 0; }
	100% { transform: translateY(0); opacity: 1; }
}
.ado-numaratoare__eticheta {
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--ado-gri);
}
.ado-numaratoare__detalii {
	margin: 0;
	font-size: var(--wp--preset--font-size--small);
	color: var(--ado-gri);
}
.ado-numaratoare__indiciu {
	margin: 0 0 0.5rem;
	font-size: 0.8rem;
	color: var(--ado-gri);
	font-style: italic;
}
.ado-numaratoare__final {
	margin: 0;
	font-family: var(--wp--preset--font-family--titluri);
	font-size: var(--wp--preset--font-size--x-large);
	color: var(--ado-rosu);
}
@media (max-width: 480px) {
	.ado-numaratoare__unitate {
		padding-inline: 0.1rem;
		border-radius: 14px;
	}
	.ado-numaratoare__eticheta {
		font-size: 0.58rem;
		letter-spacing: 0.04em;
		white-space: nowrap;
	}
}
.ado-numaratoare.is-gata .ado-numaratoare__unitati {
	display: none;
}
.ado-numaratoare.is-centrat {
	text-align: center;
	justify-items: center;
}
.ado-numaratoare.is-centrat .ado-numaratoare__unitati {
	width: min(100%, 520px);
}
/* Pe fundal colorat (banda roșie), cifrele devin albe pe sticlă. */
:is(.has-rosu-background-color, .has-turcoaz-background-color, .has-cerneala-background-color) .ado-numaratoare .ado-numaratoare__unitate,
.ado-numaratoare.is-pe-culoare .ado-numaratoare__unitate {
	background: rgba(255, 255, 255, 0.14);
	border-color: rgba(255, 255, 255, 0.35);
	box-shadow: none;
}
:is(.has-rosu-background-color, .has-turcoaz-background-color, .has-cerneala-background-color) .ado-numaratoare :is(.ado-numaratoare__numar, .ado-numaratoare__eticheta, .ado-numaratoare__titlu, .ado-numaratoare__detalii),
.ado-numaratoare.is-pe-culoare :is(.ado-numaratoare__numar, .ado-numaratoare__eticheta, .ado-numaratoare__titlu, .ado-numaratoare__detalii) {
	color: #fff;
}

/* ── Prima pagină: poza din deschidere, cu formele din logo într-un colț ── */

.ado-erou-imagine {
	position: relative;
}
.ado-erou-imagine .ado-forme {
	position: absolute;
	left: -10%;
	bottom: -6%;
	width: 38%;
	margin: 0;
}
/* Pe telefon și pe tabletă poza vine prima, sus, mai lată decât înaltă (ca să
   încapă și textul pe primul ecran), iar formele din logo stau mici, în colțul ei.
   Pe tabletă coloanele nu se așază singure una sub alta, așa că o facem aici. */
@media (max-width: 1199px) {
	.wp-block-group.alignfull:has(.ado-erou-imagine) {
		padding-top: 1.25rem !important;
	}
	.wp-block-columns:has(> .wp-block-column > .ado-erou-imagine) {
		flex-wrap: wrap !important;
	}
	.wp-block-columns:has(> .wp-block-column > .ado-erou-imagine) > .wp-block-column {
		flex-basis: 100% !important;
	}
	.wp-block-column:has(> .ado-erou-imagine) {
		order: -1;
		margin-bottom: 0.5rem;
	}
	.ado-erou-imagine .wp-block-image.is-style-organic {
		margin: 0;
	}
	.ado-erou-imagine .wp-block-image.is-style-organic img {
		width: 100%;
		aspect-ratio: 4 / 3 !important;
		object-fit: cover;
		border-radius: 46% 54% 42% 58% / 52% 44% 56% 48%;
	}
	.ado-erou-imagine .ado-forme {
		left: auto;
		right: -3%;
		bottom: -10%;
		width: 26%;
	}
}
/* Pe tabletă: poza mai lată (16:10) și nu cât tot ecranul, textul pe o lățime ușor de citit. */
@media (min-width: 782px) and (max-width: 1199px) {
	.ado-erou-imagine {
		max-width: 760px;
		margin-inline: auto;
	}
	.ado-erou-imagine .wp-block-image.is-style-organic img {
		aspect-ratio: 16 / 10 !important;
	}
	.ado-erou-imagine .ado-forme {
		width: 18%;
		right: -2%;
		bottom: -8%;
	}
	.wp-block-columns:has(> .wp-block-column > .ado-erou-imagine) > .wp-block-column:not(:has(> .ado-erou-imagine)) {
		max-width: 760px;
		margin-inline: auto;
	}
}

/* Filtrul de categorii din jurnal: pastile. */
.ado-filtre.wp-block-categories {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.5rem;
	padding: 0;
	list-style: none;
}
.ado-filtre.wp-block-categories a {
	display: inline-block;
	padding: 0.45em 1.1em;
	border: 1px solid var(--ado-chenar);
	border-radius: 999px;
	background: #fff;
	color: var(--ado-cerneala);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
	text-decoration: none;
	transition: background-color 0.2s, color 0.2s, border-color 0.2s, transform 0.25s var(--ado-usor);
}
.ado-filtre.wp-block-categories a:hover,
.ado-filtre.wp-block-categories .current-cat a {
	background: var(--ado-cerneala);
	border-color: var(--ado-cerneala);
	color: #fff;
	transform: translateY(-2px);
}

/* Card fără poză reprezentativă: o pată de acuarelă în loc. */
.is-style-card > .ado-card-text:first-child {
	padding-top: 2.6rem !important;
	background: url("../img/acuarela-turcoaz.svg") right -40px top -30px / 75% auto no-repeat;
}

/* ── Articol ────────────────────────────────────────────────────────── */

.ado-articol .wp-block-post-content > p:first-child {
	font-size: var(--wp--preset--font-size--large);
	color: var(--ado-cerneala);
}
/* Litera inițială mare e oprită: arăta greșit la paragrafele scurte și cei care
   scriu nu știau de unde vine. Opțiunea e scoasă din editor (theme.json), iar
   articolele care o aveau deja arată acum ca un paragraf obișnuit. */
p.has-drop-cap::first-letter,
p.has-drop-cap:not(:focus)::first-letter {
	float: none;
	margin: 0;
	font-family: inherit;
	font-size: inherit;
	font-weight: inherit;
	font-style: inherit;
	line-height: inherit;
	text-transform: none;
	color: inherit;
}
p.has-drop-cap:not(:focus)::after {
	content: none;
}
.ado-articol .wp-block-post-featured-image img {
	border-radius: 24px;
}
.ado-intrebare {
	font-family: var(--wp--preset--font-family--titluri);
	font-weight: 600;
}
.ado-numar-mare {
	font-family: var(--wp--preset--font-family--titluri);
	font-size: clamp(2.6rem, 5vw, 3.4rem);
	font-weight: 600;
	line-height: 1;
	color: var(--ado-rosu);
}

/* Portretele mici din „Două perspective”. */
.wp-block-image.ado-portret {
	width: min(100%, 180px);
	margin-inline: auto;
}

/* Locație cu hartă: card lat, text în stânga, harta pe toată înălțimea în dreapta. */
.ado-loc {
	overflow: hidden;
	background: #fff;
	border: 1px solid var(--ado-chenar);
	border-radius: 20px;
	box-shadow: var(--wp--preset--shadow--card);
}
.ado-loc + .ado-loc {
	margin-top: 1.5rem;
}
.ado-loc .ado-loc-coloane {
	margin: 0;
	gap: 0;
	align-items: stretch;
}
.ado-loc .ado-loc-text {
	padding: clamp(1.5rem, 3vw, 2.5rem);
}
.ado-loc .ado-harta-col {
	display: flex;
	min-height: 300px;
}
.ado-loc .ado-harta-col > * {
	flex: 1;
	margin: 0;
}
.ado-harta {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 300px;
	border: 0;
}
@media (max-width: 781px) {
	.ado-loc .ado-harta-col,
	.ado-harta {
		min-height: 260px;
	}
}
/* O hartă lipită de mână din Google Maps (bloc Custom HTML) se potrivește în pagină. */
.wp-block-html > iframe[src*="google.com/maps"]:not(.ado-harta) {
	display: block;
	width: 100%;
	max-width: 100%;
	border: 0;
	border-radius: 16px;
}

/* ── Apariție la derulare (doar când JavaScript rulează) ─────────────── */

.ado-js .ado-apare,
.ado-js .ado-carduri .wp-block-post-template > li {
	opacity: 0;
	transform: translateY(24px);
	transition: opacity 0.8s var(--ado-usor), transform 0.8s var(--ado-usor);
	transition-delay: var(--ado-intarziere, 0s);
}
.ado-js .ado-apare.is-vizibil,
.ado-js .ado-carduri .wp-block-post-template > li.is-vizibil {
	opacity: 1;
	transform: none;
}

/* ── Cine a cerut mai puțină mișcare nu primește animații ─────────────── */

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}
	*,
	*::before,
	*::after {
		animation: none !important;
		transition: none !important;
	}
	.ado-js .ado-apare,
	.ado-js .ado-carduri .wp-block-post-template > li {
		opacity: 1;
		transform: none;
	}
	.is-style-card:hover,
	.ado-card:hover {
		transform: none;
	}
}

/* ── Secțiunea cu formularul de înscriere (pluginul ADOFEST Formulare) ── */
@media (max-width: 600px) {
	.ado-inscriere.wp-block-group {
		padding: 1.5rem 0.75rem !important;
		margin-left: calc(-1 * var(--wp--style--root--padding-left, 0px) / 2);
		margin-right: calc(-1 * var(--wp--style--root--padding-right, 0px) / 2);
	}
	.ado-inscriere > .is-style-de-mana,
	.ado-inscriere > p {
		padding-left: 0.5rem;
		padding-right: 0.5rem;
	}
}

/* Cardurile de pe pagina „Activități”: butonul „Mă înscriu” stă jos, la aceeași înălțime. */
.ado-card-activitate > .wp-block-buttons {
	margin-top: auto;
	padding-top: 0.4rem;
}

/* ── În editor, cardurile fără poză arată ca pe site ─────────────────────
   Pe site, un articol fără imagine reprezentativă are o pată de acuarelă în
   card. Editorul pune în locul ei un dreptunghi tăiat în diagonală; îl ascundem,
   ca editorul să arate ca site-ul. Poza se pune din articol, nu de aici. */
.editor-styles-wrapper .ado-carduri .wp-block-post-featured-image:has(> .components-placeholder) {
	display: none;
}
.editor-styles-wrapper .ado-carduri .is-style-card:has(> .wp-block-post-featured-image > .components-placeholder) > .ado-card-text {
	padding-top: 2.2rem !important;
	background: url("../img/acuarela-turcoaz.svg") right -40px top -30px / 75% auto no-repeat;
}
