/*
Theme Name: Long Run Health
Theme URI: https://longrun.ro/
Author: Long Run
Author URI: https://longrun.ro/
Description: Temă editorială curată pentru Long Run — sănătate pe termen lung. Block theme (Full Site Editing), rapidă, optimizată pentru SEO, Core Web Vitals și citire ușoară de către motoare de căutare și AI. Fonturi găzduite local (GDPR).
Requires at least: 6.5
Tested up to: 6.8
Requires PHP: 7.4
Version: 2.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: longrun-health
Tags: blog, news, one-column, custom-colors, custom-logo, editor-style, full-site-editing, block-patterns, rtl-language-support, translation-ready
*/

/* ==========================================================================
   Rafinări peste theme.json — doar ce nu se poate exprima în tokens
   ========================================================================== */

/* Optical sizing pentru Fraunces: titlurile mari folosesc forma de display */
h1, h2, h3,
.wp-block-post-title,
.wp-block-site-title {
	font-optical-sizing: auto;
	text-wrap: balance;
}

p {
	text-wrap: pretty;
}

/* Focus vizibil pentru navigare cu tastatura — accesibilitate */
:where(a, button, input, [tabindex]):focus-visible {
	outline: 2px solid var(--wp--preset--color--primary);
	outline-offset: 2px;
	border-radius: 2px;
}

/* Linkurile din titluri și navigație nu au underline; restul da (lizibilitate) */
.entry-content a:not(.wp-block-button__link) {
	text-underline-offset: 0.2em;
	text-decoration-thickness: 1px;
}
.entry-content a:not(.wp-block-button__link):hover {
	text-decoration-thickness: 2px;
}

/* Tranziții discrete, dezactivate pentru cei care preferă mișcare redusă */
a, button, .wp-block-button__link {
	transition: color 0.15s ease, background-color 0.15s ease, border-color 0.15s ease;
}
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after {
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
}

/* Semnătura vizuală: eyebrow-ul de secțiune — etichetă mică verde cu liniuță */
.lr-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 0.6rem;
	font-size: 0.8125rem;
	font-weight: 650;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--wp--preset--color--primary);
}
.lr-eyebrow::before {
	content: "";
	display: inline-block;
	width: 1.75rem;
	height: 2px;
	background: var(--wp--preset--color--primary);
}

/* Carduri de articole: fără umbre grele, doar linie fină + lift discret */
.lr-card {
	border-top: 1px solid var(--wp--preset--color--border);
	padding-top: var(--wp--preset--spacing--30);
}
.lr-card .wp-block-post-featured-image img {
	transition: transform 0.3s ease;
}
.lr-card:hover .wp-block-post-featured-image img {
	transform: scale(1.02);
}

/* Imagini: niciodată mai late decât containerul, raport păstrat */
.entry-content img {
	height: auto;
}

/* Tabele lizibile în articole (utile pentru conținut de sănătate) */
.entry-content table {
	border-collapse: collapse;
	width: 100%;
	font-size: var(--wp--preset--font-size--small);
}
.entry-content th {
	text-align: left;
	font-weight: 650;
	border-bottom: 2px solid var(--wp--preset--color--contrast);
	padding: 0.6rem 0.75rem;
}
.entry-content td {
	border-bottom: 1px solid var(--wp--preset--color--border);
	padding: 0.6rem 0.75rem;
}

/* Navigație mobilă: butonul de meniu moștenește culoarea textului */
.wp-block-navigation__responsive-container-open,
.wp-block-navigation__responsive-container-close {
	color: var(--wp--preset--color--contrast);
}

/* Câmpul de căutare: discret, integrat */
.wp-block-search__input {
	border: 1px solid var(--wp--preset--color--border);
	padding: 0.5rem 1rem;
}
.wp-block-search__input:focus {
	border-color: var(--wp--preset--color--primary);
	outline: none;
}

/* Paginare curată */
.wp-block-query-pagination a,
.wp-block-query-pagination-numbers .page-numbers {
	text-decoration: none;
	padding: 0.35rem 0.7rem;
	border-radius: 8px;
}
.wp-block-query-pagination a:hover {
	background: var(--wp--preset--color--accent-soft);
}
.wp-block-query-pagination-numbers .current {
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--base);
}

/* Selecție de text în culoarea brandului */
::selection {
	background: var(--wp--preset--color--accent-soft);
	color: var(--wp--preset--color--primary-dark);
}

/* ==========================================================================
   Carduri de articole (stil listă cronologică, colțuri rotunjite)
   ========================================================================== */
.lr-post-card {
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 16px;
	padding: 1.25rem 1.25rem 1.5rem;
	transition: border-color 0.15s ease;
}
.lr-post-card:hover {
	border-color: var(--wp--preset--color--primary);
}
.lr-post-card .wp-block-post-featured-image img {
	border-radius: 12px;
}

/* Rândul de meta: categorie stânga, ora dreapta — separate de o linie fină */
.lr-meta-row {
	width: 100%;
	border-bottom: 1px solid var(--wp--preset--color--border);
	padding-bottom: 0.5rem;
}
.lr-meta-row .wp-block-post-terms a::before {
	content: "";
	display: inline-block;
	width: 9px;
	height: 9px;
	border-radius: 2px;
	background: var(--wp--preset--color--primary);
	margin-right: 0.45rem;
	vertical-align: 1px;
}
.lr-meta-row .wp-block-post-date {
	font-variant-numeric: tabular-nums;
	font-weight: 600;
}

/* Linkul „Citește articolul" din excerpt */
.wp-block-post-excerpt__more-link {
	display: inline-block;
	margin-top: 0.35rem;
	font-weight: 600;
	text-decoration: none;
}
.wp-block-post-excerpt__more-link:hover {
	text-decoration: underline;
}

/* ==========================================================================
   Buton comutare luminos / întunecat
   ========================================================================== */
.lr-theme-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border-radius: 999px;
	border: 1px solid var(--wp--preset--color--border);
	background: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--contrast);
	cursor: pointer;
	padding: 0;
}
.lr-theme-toggle:hover {
	border-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--primary);
}
.lr-theme-toggle .lr-icon-moon { display: block; }
.lr-theme-toggle .lr-icon-sun { display: none; }
html[data-theme="dark"] .lr-theme-toggle .lr-icon-moon { display: none; }
html[data-theme="dark"] .lr-theme-toggle .lr-icon-sun { display: block; }

/* ==========================================================================
   Mod întunecat — suprascrie variabilele de culoare ale temei.
   Tot designul folosește variabile, deci totul se comută coerent.
   ========================================================================== */
html[data-theme="dark"] {
	color-scheme: dark;
	--wp--preset--color--base: #111614;
	--wp--preset--color--contrast: #E9EEEB;
	--wp--preset--color--primary: #5BBF96;
	--wp--preset--color--primary-dark: #7BD4AE;
	--wp--preset--color--muted: #9AA8A1;
	--wp--preset--color--surface: #1A211E;
	--wp--preset--color--border: #2A342F;
	--wp--preset--color--accent-soft: #1D2E27;
}
html[data-theme="dark"] body {
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--contrast);
}
/* Imaginile prea stridente se temperează ușor în dark */
html[data-theme="dark"] img {
	filter: brightness(0.92);
}
/* Butoanele principale: text închis pe verde deschis (contrast corect) */
html[data-theme="dark"] .wp-element-button,
html[data-theme="dark"] .wp-block-button__link {
	color: #111614;
}

/* Chips de subiecte (stil WebMD) — pastile mici, discrete */
.lr-chips .wp-block-button__link {
	padding: 0.4rem 1.1rem;
	font-size: 0.9375rem;
	border: 1px solid var(--wp--preset--color--border);
	background: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--contrast);
	border-radius: 999px;
}
.lr-chips .wp-block-button__link:hover {
	border-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--primary);
	background: var(--wp--preset--color--accent-soft);
}
html[data-theme="dark"] .lr-chips .wp-block-button__link {
	color: var(--wp--preset--color--contrast);
}

/* ==========================================================================
   Bară laterală articol (2/3 articol + 1/3 sidebar)
   ========================================================================== */
.lr-sidebar {
	position: sticky;
	top: 1.5rem;
}
.lr-sidebar-panel {
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 16px;
	padding: 1.25rem;
}
.lr-sidebar-item .wp-block-post-featured-image {
	flex-shrink: 0;
	width: 72px;
	height: 72px;
}
.lr-sidebar-item .wp-block-post-featured-image img {
	width: 72px;
	height: 72px;
	object-fit: cover;
	border-radius: 10px;
}
.lr-sidebar-item .wp-block-post-title a {
	text-decoration: none;
}
.lr-sidebar-item .wp-block-post-title a:hover {
	color: var(--wp--preset--color--primary);
}
.lr-sidebar-item + .lr-sidebar-item {
	border-top: 1px solid var(--wp--preset--color--border);
	padding-top: 1rem;
}
.lr-sidebar-categories {
	list-style: none;
	padding-left: 0;
	margin: 0;
}
.lr-sidebar-categories li {
	border-bottom: 1px solid var(--wp--preset--color--border);
	padding: 0.5rem 0;
	font-size: var(--wp--preset--font-size--small);
}
.lr-sidebar-categories li:last-child {
	border-bottom: none;
}
.lr-sidebar-categories a {
	text-decoration: none;
	font-weight: 600;
}
.lr-sidebar-categories a:hover {
	text-decoration: underline;
}

/* Pe mobil coloanele se așază una sub alta; sidebarul nu mai e sticky */
@media (max-width: 781px) {
	.lr-sidebar {
		position: static;
	}
}

/* ==========================================================================
   Căutare în antet: doar lupa, fără chenar; câmpul apare la click
   ========================================================================== */
/* ==========================================================================
   Căutare în antet: doar lupă, fără niciun chenar; câmpul apare la click
   ========================================================================== */
header .wp-block-search.wp-block-search__button-only {
	display: inline-flex;
}
header .wp-block-search__button-only .wp-block-search__inside-wrapper {
	border: 0 !important;
	padding: 0;
	background: transparent;
	gap: 0.4rem;
}
header .wp-block-search__button-only .wp-block-search__button {
	background: transparent;
	border: 0;
	border-radius: 999px;
	width: 38px;
	height: 38px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	margin: 0;
	color: var(--wp--preset--color--contrast);
	cursor: pointer;
}
header .wp-block-search__button-only .wp-block-search__button:hover {
	color: var(--wp--preset--color--primary);
	background: var(--wp--preset--color--accent-soft);
}
header .wp-block-search__button-only .wp-block-search__button svg {
	width: 22px;
	height: 22px;
	fill: currentColor;
}
/* Câmpul ascuns implicit; la click capătă lățime și un chenar fin de pastilă */
header .wp-block-search__button-only .wp-block-search__input {
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 999px;
	padding: 0.45rem 1rem;
	background: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--contrast);
	min-width: 200px;
}
header .wp-block-search__button-only.wp-block-search__searchfield-hidden .wp-block-search__input {
	border: 0;
	padding: 0;
	min-width: 0;
}
header .wp-block-search__button-only .wp-block-search__input:focus {
	border-color: var(--wp--preset--color--primary);
	outline: none;
}

/* ==========================================================================
   Prima pagină — articol erou (imagine sus + panou text dedesubt) și mini-carduri
   Text NICIODATĂ peste fotografie: lizibilitate garantată, ușor de indexat.
   ========================================================================== */
.lr-hero-card {
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 16px;
	overflow: hidden;
	background: var(--wp--preset--color--surface);
}
.lr-hero-card .lr-hero-image,
.lr-hero-card .lr-hero-image img {
	display: block;
	width: 100%;
	border-radius: 0;
}
.lr-hero-body {
	/* panoul de sub imagine */
}
.lr-hero-body .wp-block-post-title a {
	color: var(--wp--preset--color--contrast);
	text-decoration: none;
}
.lr-hero-body .wp-block-post-title a:hover {
	color: var(--wp--preset--color--primary);
}
.lr-hero-body .wp-block-post-excerpt {
	margin-top: 0.25rem;
}

/* Mini-carduri: meta sus, apoi titlu stânga + thumbnail dreapta */
.lr-mini-card {
	border-top: 1px solid var(--wp--preset--color--border);
	padding-top: 0.9rem;
}
.lr-mini-card .lr-meta-row {
	border-bottom: none;
	padding-bottom: 0;
}
.lr-mini-card .wp-block-post-title {
	flex: 1;
	min-width: 0;
}
.lr-mini-card .wp-block-post-title a {
	text-decoration: none;
}
.lr-mini-card .wp-block-post-title a:hover {
	color: var(--wp--preset--color--primary);
}
.lr-mini-card .wp-block-post-featured-image {
	flex-shrink: 0;
	width: 120px;
	height: 84px;
}
.lr-mini-card .wp-block-post-featured-image img {
	width: 120px;
	height: 84px;
	object-fit: cover;
	border-radius: 10px;
}
@media (max-width: 599px) {
	.lr-mini-card .wp-block-post-featured-image,
	.lr-mini-card .wp-block-post-featured-image img {
		width: 96px;
		height: 68px;
	}
}

/* Mențiunea „actualizat" de lângă data publicării */
.lr-updated {
	color: var(--wp--preset--color--muted);
	font-weight: 400;
	white-space: nowrap;
}

/* ==========================================================================
   Titlurile miniaturilor: maxim 3 rânduri (desktop și mobil)
   ========================================================================== */
.lr-mini-card .wp-block-post-title,
.lr-sideitem .wp-block-post-title,
.lr-sidebar-item .wp-block-post-title {
	display: -webkit-box;
	-webkit-line-clamp: 3;
	line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* ==========================================================================
   Antet pe un singur rând (logo stânga + meniu dreapta) și burger sub 1024px
   ========================================================================== */

/* Doar rândul exterior al antetului nu se rupe; NU atingem grupurile interioare
   (ca să nu strângem logo-ul). */
header > .wp-block-group > .wp-block-group.wp-block-group-is-layout-flex {
	flex-wrap: nowrap;
	align-items: center;
}

/* Logo-ul își păstrează mereu dimensiunea, nu se comprimă la zero */
header .wp-block-site-logo {
	flex-shrink: 0;
}
header .wp-block-site-logo img {
	max-width: none;
	width: 128px;
	height: auto;
}

/* Reducem puțin spațierea navigației ca să încapă pe un rând pe desktop larg */
@media (min-width: 1025px) {
	header .wp-block-navigation {
		gap: 1.1rem !important;
	}
	header .wp-block-navigation .wp-block-navigation-item__label {
		white-space: nowrap;
	}
	header .wp-block-navigation__container {
		flex-wrap: nowrap !important;
	}
}

/* BURGER sub 1024px.
   Blocul de navigație generează atât butonul de deschidere cât și containerul
   de linkuri. Sub 1024px ascundem lista orizontală și arătăm butonul burger;
   la deschidere, overlay-ul nativ preia controlul. */
@media (max-width: 1024px) {
	/* Arată butonul care deschide meniul */
	header .wp-block-navigation__responsive-container-open {
		display: flex !important;
	}
	/* Ascunde lista orizontală cât timp overlay-ul NU e deschis */
	header .wp-block-navigation__responsive-container:not(.is-menu-open) {
		display: none;
	}
	/* Când e deschis, overlay-ul ocupă tot ecranul (comportament nativ) */
	header .wp-block-navigation__responsive-container.is-menu-open {
		display: flex;
	}
}

/* Pe desktop (≥1025px) butonul burger rămâne ascuns, meniul e vizibil normal */
@media (min-width: 1025px) {
	header .wp-block-navigation__responsive-container-open {
		display: none !important;
	}
	header .wp-block-navigation__responsive-container {
		display: flex !important;
	}
}

/* Extras pe 2 rânduri în mini-cardurile de pe prima pagină */
.lr-mini-card .lr-mini-excerpt,
.lr-mini-card .wp-block-post-excerpt {
	margin-top: 0.15rem;
}
.lr-mini-card .lr-mini-excerpt .wp-block-post-excerpt__excerpt,
.lr-mini-card .wp-block-post-excerpt__excerpt {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.5;
}

/* ==========================================================================
   Titlu ascuns vizual, dar prezent pentru SEO și cititoare de ecran
   (tehnica standard, recomandată de Google pentru accesibilitate)
   ========================================================================== */
.lr-visually-hidden {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}
