/*
Theme Name: TRIADA Šalčininkai
Theme URI: https://triada-salcininkai.lt
Author: MAYWAVES
Author URI: https://maywaves.lt
Description: Rinkimų komiteto „TRIADA Šalčininkai" tinklalapio tema. Blokinė (FSE) tema — spalvos, tipografija ir išdėstymai valdomi per theme.json.
Version: 1.6.3
Requires at least: 6.6
Tested up to: 6.8
Requires PHP: 8.1
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: triada
Tags: full-site-editing, block-patterns, accessibility-ready, translation-ready
*/

/* ---------------------------------------------------------------
   Bazė. Beveik viskas gyvena theme.json — čia tik tai,
   ko blokų sistema dar neaprašo.
   --------------------------------------------------------------- */

:root {
	--triada-transition: 160ms ease;
}

html {
	scroll-behavior: smooth;
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after {
		animation-duration: 0.01ms !important;
		transition-duration: 0.01ms !important;
	}
}

body {
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

/* Sekcijos pačios valdo savo tarpus — šakninis blockGap tik palieka baltą juostą */
.wp-site-blocks > * {
	margin-block-start: 0;
	margin-block-end: 0;
}

/* Klaviatūros fokusas — privalomas prieinamumui, rinkėjų amžius įvairus */
:where(a, button, input, select, textarea, [tabindex]):focus-visible {
	outline: 3px solid var(--wp--preset--color--accent);
	outline-offset: 2px;
	border-radius: 2px;
}

/* Praleisti prie turinio */
.skip-link:focus {
	background: var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--base);
	padding: 0.75rem 1.25rem;
	z-index: 999999;
}

/* ---------------------------------------------------------------
   Prekės ženklas viršutinėje juostoje
   --------------------------------------------------------------- */

.triada-brand {
	display: inline-flex;
	align-items: center;
	text-decoration: none;
	line-height: 0;
}

/* Platus logotipas — aukštis mažesnis, kad antraštė neišsipūstų */
.triada-brand img {
	height: clamp(30px, 3.6vw, 44px);
	width: auto;
	display: block;
}

.triada-brand--white {
	display: inline-block;
	line-height: 0;
	margin-block-end: var(--wp--preset--spacing--30);
}

.triada-brand--white img {
	height: 42px;
}

/* ---------------------------------------------------------------
   Nuorodų elgsena
   --------------------------------------------------------------- */

.wp-block-navigation a {
	text-decoration: none;
	font-weight: 500;
	transition: color var(--triada-transition);
	position: relative;
}

/* Lietimo taikinys iki 44 px, vizualiai nieko nekeičiant.
   Nuorodos tekstas — 26 px aukščio; rinkėjų amžius įvairus, pirštu
   į tokią juostelę telefone pataikyti sunku. */
.wp-block-navigation a::after {
	content: "";
	position: absolute;
	inset-block: -9px;
	inset-inline: -8px;
}

/* Poraštės ir turinio nuorodos — tas pats */
.wp-block-post-content a:where(:not(.wp-element-button)),
footer a {
	position: relative;
}

@media (pointer: coarse) {
	footer a::after {
		content: "";
		position: absolute;
		inset-block: -10px;
		inset-inline: -6px;
	}
}

.wp-block-navigation .current-menu-item > a {
	box-shadow: inset 0 -2px 0 0 var(--wp--preset--color--accent);
}

/* ---------------------------------------------------------------
   Antraštė siaurame ekrane

   Be šito logotipas lieka pirmoje eilutėje, o burgeris su dideliu
   auksiniu mygtuku nusileidžia į antrą — beveik pusė ekrano nueina
   dar neprasidėjus turiniui.
   --------------------------------------------------------------- */

@media (max-width: 781px) {
	header > .wp-block-group.alignwide {
		flex-wrap: nowrap;
		gap: 0.75rem;
	}

	header > .wp-block-group.alignwide > .wp-block-group {
		flex-wrap: nowrap;
		gap: 0.5rem;
	}

	/* Burgeris — dešiniausiai, kaip įprasta telefone */
	header .wp-block-navigation {
		order: 2;
	}

	header .wp-block-buttons .wp-block-button__link {
		padding: 0.65rem 0.9rem;
		font-size: 0.875rem;
		white-space: nowrap;
	}

	.triada-brand img {
		height: 28px;
	}
}

/* Labai siauruose ekranuose mygtuko tekstas nebetelpa — paliekame
   tik burgerį, veiksmas vis tiek yra meniu ir pirmoje rubrikoje. */
@media (max-width: 400px) {
	header .wp-block-buttons {
		display: none;
	}
}

/* Turinio nuorodos — pabraukimas švelnesnis, bet matomas */
.wp-block-post-content a:where(:not(.wp-element-button)) {
	text-underline-offset: 0.2em;
	text-decoration-thickness: 1px;
}

/* ---------------------------------------------------------------
   Kortelės (naujienos, žmonės, dokumentai)
   --------------------------------------------------------------- */

.triada-card,
.is-style-triada-card {
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 6px;
	overflow: clip;
	transition: box-shadow var(--triada-transition), transform var(--triada-transition);
}

.triada-card:hover,
.is-style-triada-card:hover {
	box-shadow: var(--wp--preset--shadow--raised);
	transform: translateY(-2px);
}

.triada-card .wp-block-post-title a {
	text-decoration: none;
}

/* Auksinis mygtukas — pagrindiniam veiksmui */
.wp-block-button.is-style-triada-gold > .wp-block-button__link {
	background-color: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--navy-deep);
}

.wp-block-button.is-style-triada-gold > .wp-block-button__link:hover {
	background-color: var(--wp--preset--color--navy-deep);
	color: var(--wp--preset--color--base);
}

/* ---------------------------------------------------------------
   Naujienų srautas — sąrašas, ne kortelės
   --------------------------------------------------------------- */

.triada-feed__item {
	align-items: flex-start;
	padding-block: var(--wp--preset--spacing--40);
	border-block-start: 1px solid var(--wp--preset--color--border);
}

.triada-feed .wp-block-post-template > li:first-child .triada-feed__item {
	border-block-start: 0;
	padding-block-start: 0;
}

.triada-feed__item .wp-block-post-featured-image {
	flex: none;
}

/* Kai įrašas be paveikslėlio, tekstas neturi likti su tuščia skyle */
.triada-feed__item .wp-block-post-featured-image:empty {
	display: none;
}

.triada-feed__item .wp-block-post-title {
	margin-block: 0.15rem;
}

.triada-feed__item .wp-block-post-title a {
	text-decoration: none;
}

.triada-feed__item .wp-block-post-title a:hover {
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

@media (max-width: 600px) {
	.triada-feed__item {
		flex-wrap: wrap;
	}
}

/* ---------------------------------------------------------------
   Rubrikos dešinėje pusėje
   --------------------------------------------------------------- */

.triada-rubric {
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--border);
	border-block-start: 3px solid var(--wp--preset--color--contrast);
	border-radius: 4px;
}

.triada-rubric--accent {
	background: var(--wp--preset--color--accent-soft);
	border-color: color-mix(in srgb, var(--wp--preset--color--accent) 40%, transparent);
	border-block-start-color: var(--wp--preset--color--accent);
}

.triada-rubric h3 {
	margin-block: 0;
}

/* ---------------------------------------------------------------
   Vietos rezervuota nuotraukai, kurios dar negavome
   --------------------------------------------------------------- */

.triada-placeholder.triada-placeholder {
	display: grid;
	place-items: center;
	aspect-ratio: 4 / 3;
	border: 2px dashed var(--wp--preset--color--border);
	border-radius: 6px;
	color: var(--wp--preset--color--muted);
	background: repeating-linear-gradient(
		45deg,
		transparent,
		transparent 12px,
		rgba(13, 28, 62, 0.03) 12px,
		rgba(13, 28, 62, 0.03) 24px
	);
}

/* Portretams — vertikalus kadras */
.triada-placeholder.triada-placeholder--portrait {
	aspect-ratio: 3 / 4;
}

.triada-placeholder p {
	margin: 0;
}

/* ---------------------------------------------------------------
   Sekcijos antraštė su auksine brūkšnele
   --------------------------------------------------------------- */

/* Blokinis flex, o ne inline-flex: kitaip constrained išdėstymo
   `margin-inline: auto` nustoja veikti ir etiketė nubėga į kairį kraštą. */
.triada-eyebrow,
p.is-style-triada-eyebrow {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted);
	margin-block-end: 0.5rem;
}

.triada-eyebrow::before,
p.is-style-triada-eyebrow::before {
	content: "";
	inline-size: 2rem;
	block-size: 2px;
	background: var(--wp--preset--color--accent);
	flex: none;
}

/* ---------------------------------------------------------------
   Kūrimo žymės — ko dar trūksta
   --------------------------------------------------------------- */

.triada-todo {
	background: #ffe9e9;
	color: #a01020;
	border-bottom: 2px dotted #d02030;
	padding: 0.05em 0.25em;
	border-radius: 2px;
	font-style: normal;
}

/* Blokas, kurio dar visai nėra */
.triada-missing {
	border: 2px dashed #d02030;
	background: #fff6f6;
	border-radius: 6px;
	padding: var(--wp--preset--spacing--40);
}

.triada-missing > :first-child {
	margin-block-start: 0;
}

.triada-missing > :last-child {
	margin-block-end: 0;
}

.triada-missing__label {
	display: inline-block;
	background: #d02030;
	color: #fff;
	font-family: var(--wp--preset--font-family--body);
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	padding: 0.2em 0.6em;
	border-radius: 3px;
	margin-block-end: 0.75rem;
}

/* ---------------------------------------------------------------
   Narystės anketa (Contact Form 7)
   --------------------------------------------------------------- */

.tf {
	--tf-line: var(--wp--preset--color--border);
	margin-block-start: var(--wp--preset--spacing--40);
}

.tf__legend {
	font-family: var(--wp--preset--font-family--body);
	font-size: 0.9375rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted);
	padding-block-end: 0.5rem;
	border-block-end: 2px solid var(--wp--preset--color--accent);
	margin-block: var(--wp--preset--spacing--50) var(--wp--preset--spacing--40);
}

.tf__legend:first-child {
	margin-block-start: 0;
}

.tf__row {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
	gap: 0 var(--wp--preset--spacing--40);
}

.tf__field {
	margin-block: 0 var(--wp--preset--spacing--40);
}

.tf__field--sub {
	margin-inline-start: 1.5rem;
	margin-block-start: -0.75rem;
}

.tf__field > label {
	display: block;
	font-weight: 600;
	line-height: 1.5;
}

.tf__req {
	color: #c0392b;
}

/* Įvesties laukai */
.tf input[type="text"],
.tf input[type="email"],
.tf input[type="tel"],
.tf input[type="date"],
.tf textarea {
	inline-size: 100%;
	max-inline-size: 100%;
	font-family: inherit;
	font-size: var(--wp--preset--font-size--medium);
	font-weight: 400;
	color: var(--wp--preset--color--contrast);
	background: var(--wp--preset--color--base);
	border: 1px solid var(--tf-line);
	border-radius: 4px;
	padding: 0.7rem 0.85rem;
	margin-block-start: 0.35rem;
	transition: border-color var(--triada-transition), box-shadow var(--triada-transition);
}

.tf input:focus,
.tf textarea:focus {
	border-color: var(--wp--preset--color--contrast);
	box-shadow: 0 0 0 3px rgba(13, 28, 62, 0.08);
	outline: none;
}

.tf textarea {
	resize: vertical;
}

/* Varnelės ir radijo mygtukai */
.tf .wpcf7-checkbox,
.tf .wpcf7-radio {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));
	gap: 0.35rem 1.5rem;
	margin-block-start: 0.6rem;
}

.tf .wpcf7-list-item {
	margin: 0;
}

.tf .wpcf7-list-item label {
	display: flex;
	align-items: flex-start;
	gap: 0.6rem;
	font-weight: 400;
	line-height: 1.5;
	cursor: pointer;
}

.tf input[type="checkbox"],
.tf input[type="radio"] {
	inline-size: 1.15rem;
	block-size: 1.15rem;
	flex: none;
	margin-block-start: 0.15rem;
	accent-color: var(--wp--preset--color--contrast);
	cursor: pointer;
}

/* ---------------------------------------------------------------
   Pasirinkimas: savo vardu ar anonimiškai
   Sąmoningai stambus — žmogus turi iš karto matyti, kad turi pasirinkimą.
   --------------------------------------------------------------- */

.tf__mode {
	margin-block: var(--wp--preset--spacing--40);
}

.tf__mode__label {
	font-weight: 600;
	margin-block-end: 0.75rem;
}

.tf__mode .wpcf7-radio {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr));
	gap: var(--wp--preset--spacing--30);
	margin-block-start: 0;
}

.tf__mode .wpcf7-list-item label {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	font-size: var(--wp--preset--font-size--medium);
	font-weight: 600;
	line-height: 1.4;
	padding: 1rem 1.25rem;
	border: 2px solid var(--tf-line);
	border-radius: 6px;
	background: var(--wp--preset--color--base);
	cursor: pointer;
	transition: border-color var(--triada-transition), background var(--triada-transition);
}

.tf__mode .wpcf7-list-item label:hover {
	border-color: var(--wp--preset--color--muted);
}

.tf__mode .wpcf7-list-item label:has( input:checked ) {
	border-color: var(--wp--preset--color--contrast);
	background: var(--wp--preset--color--surface);
	box-shadow: inset 0 0 0 1px var(--wp--preset--color--contrast);
}

.tf__mode input[type="radio"] {
	inline-size: 1.3rem;
	block-size: 1.3rem;
	margin-block-start: 0;
}

/* Įspėjimas apie anoniminį kreipimąsi */
.tf__warn {
	border-inline-start-color: #e0a020;
	background: #fff6e8;
	border-radius: 0 6px 6px 0;
	padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--40);
}

.tf__warn p {
	margin: 0;
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.6;
	color: #5a3d00;
}

/* Sąlyginiai blokai */
.tf__if[hidden] {
	display: none;
}

.tf__if {
	border-inline-start: 2px solid var(--wp--preset--color--accent);
	padding-inline-start: var(--wp--preset--spacing--30);
	margin-block-end: var(--wp--preset--spacing--40);
}

/* Privalomi patvirtinimai */
.tf__consents {
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--tf-line);
	border-radius: 6px;
	padding: var(--wp--preset--spacing--40);
	display: grid;
	gap: 0.85rem;
}

.tf__consents .wpcf7-list-item {
	margin: 0;
}

.tf__consents .wpcf7-acceptance label {
	display: flex;
	align-items: flex-start;
	gap: 0.6rem;
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.6;
	cursor: pointer;
}

/* Pagalbinis paaiškinimas po lauku */
.tf__hint {
	display: block;
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--muted);
	margin-block-start: 0.35rem;
}

/* Failo įkėlimas */
.tf input[type="file"] {
	inline-size: 100%;
	font-family: inherit;
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--muted);
	background: var(--wp--preset--color--surface);
	border: 1px dashed var(--tf-line);
	border-radius: 4px;
	padding: 0.85rem;
	margin-block-start: 0.35rem;
	cursor: pointer;
}

.tf input[type="file"]:hover {
	border-color: var(--wp--preset--color--contrast);
}

/* Įkeltos nuotraukos peržiūra */
.tf__preview {
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--30);
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--tf-line);
	border-radius: 6px;
	padding: 0.75rem;
	margin-block-start: 0.6rem;
}

.tf__preview[hidden] {
	display: none;
}

.tf__preview__thumb {
	inline-size: 64px;
	block-size: 64px;
	flex: none;
	border-radius: 4px;
	overflow: hidden;
	background: var(--wp--preset--color--base);
	border: 1px solid var(--tf-line);
}

.tf__preview__thumb img {
	inline-size: 100%;
	block-size: 100%;
	object-fit: cover;
	display: block;
}

/* HEIC ir kiti, kurių naršyklė nepiešia */
.tf__preview__thumb--file {
	display: grid;
	place-items: center;
	font-family: var(--wp--preset--font-family--body);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	color: var(--wp--preset--color--muted);
}

.tf__preview__meta {
	flex: 1;
	min-inline-size: 0;
	display: grid;
	gap: 0.15rem;
	font-family: var(--wp--preset--font-family--body);
}

.tf__preview__meta strong {
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.tf__preview__meta span {
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--muted);
}

.tf__preview__remove {
	flex: none;
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--muted);
	background: none;
	border: 1px solid var(--tf-line);
	border-radius: 4px;
	padding: 0.4rem 0.75rem;
	cursor: pointer;
	transition: color var(--triada-transition), border-color var(--triada-transition);
}

.tf__preview__remove:hover {
	color: #c0392b;
	border-color: #c0392b;
}

/* Siuntimo mygtukas */
.tf__submit {
	margin-block-start: var(--wp--preset--spacing--50);
}

.tf input[type="submit"] {
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--medium);
	font-weight: 600;
	color: var(--wp--preset--color--navy-deep);
	background: var(--wp--preset--color--accent);
	border: 0;
	border-radius: 4px;
	padding: 0.9rem 2rem;
	cursor: pointer;
	transition: background var(--triada-transition), color var(--triada-transition);
}

.tf input[type="submit"]:hover {
	background: var(--wp--preset--color--navy-deep);
	color: var(--wp--preset--color--base);
}

.tf input[type="submit"]:disabled {
	opacity: 0.5;
	cursor: not-allowed;
}

/* CF7 pranešimai */
.wpcf7 form .wpcf7-response-output {
	border-width: 0 0 0 3px;
	border-radius: 0 4px 4px 0;
	background: var(--wp--preset--color--surface);
	padding: 1rem 1.25rem;
	margin-inline: 0;
	font-size: var(--wp--preset--font-size--small);
}

.wpcf7 form.sent .wpcf7-response-output {
	border-color: #2e7d32;
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.failed .wpcf7-response-output {
	border-color: #c0392b;
}

.tf .wpcf7-not-valid-tip {
	color: #c0392b;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 400;
	margin-block-start: 0.3rem;
}

.tf .wpcf7-not-valid {
	border-color: #c0392b;
}

/* ---------------------------------------------------------------
   Politinės reklamos žymė (VRK reikalavimas)
   --------------------------------------------------------------- */

.triada-political-notice {
	background: var(--wp--preset--color--accent-soft);
	border-block-start: 2px solid var(--wp--preset--color--accent);
	color: var(--wp--preset--color--navy-deep);
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.6;
	padding-block: 1rem;
}
