/**
 * Naturéka Iránytű — megjelenés.
 *
 * A színek és a betűk az Elementor globális változóiból jönnek, tehát ha a
 * Klub arculata változik, az Iránytű magától követi. A fallback értékek a
 * jelenlegi arculat (elsődleges #7F8057 olajzöld, betűk Ivy Mode / Avenir).
 *
 * A Hello Elementor téma minden <button>-re és <a>-ra rátesz saját színt,
 * hover-t és aláhúzást, ezért a gombok MINDEN állapota külön ki van mondva,
 * elemre szűkített választóval. E nélkül a pipa gomb szövege eltűnne.
 */

.nk-iranytu {
	--nki-zold: var(--e-global-color-primary, #7f8057);
	--nki-zold-vilagos: var(--e-global-color-14c73c2, #a1aa77);
	--nki-homok: #f3f1e7;
	--nki-homok-halvany: #faf9f3;
	--nki-szen: var(--e-global-color-secondary, #54595f);
	--nki-szurke: var(--e-global-color-text, #7a7a7a);
	--nki-vonal: rgba(84, 89, 95, 0.14);
	--nki-feher: #fff;
	--nki-cim-betu: var(--e-global-typography-primary-font-family, "Ivy Mode"), Georgia, "Times New Roman", serif;
	--nki-szoveg-betu: var(--e-global-typography-text-font-family, "Avenir Lt font"), -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;

	box-sizing: border-box;
	display: block;
	width: 100%;
	max-width: 900px;
	margin: 0 auto 28px;
	font-family: var(--nki-szoveg-betu);
	color: var(--nki-szen);
	text-align: left;
}

.nk-iranytu *,
.nk-iranytu *::before,
.nk-iranytu *::after {
	box-sizing: border-box;
}

/* ── Összecsukott keskeny sáv ──────────────────────────────────────────── */

.nk-iranytu__sav {
	display: none;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
	padding: 14px 18px;
	background: var(--nki-homok);
	border: 1px solid var(--nki-vonal);
	border-radius: 14px;
}

.nk-iranytu--csukva .nk-iranytu__sav {
	display: flex;
}

.nk-iranytu--csukva .nk-iranytu__doboz {
	display: none;
}

.nk-iranytu__sav-cim {
	font-family: var(--nki-cim-betu);
	font-size: 1.05rem;
	color: var(--nki-zold);
}

.nk-iranytu__sav-allas {
	margin-right: auto;
	font-size: 0.9rem;
	color: var(--nki-szurke);
}

/* ── A doboz ───────────────────────────────────────────────────────────── */

.nk-iranytu__doboz {
	position: relative;
	padding: 26px 28px 24px;
	background: var(--nki-feher);
	border: 1px solid var(--nki-vonal);
	border-radius: 18px;
	box-shadow: 0 24px 48px -34px rgba(57, 60, 45, 0.55), 0 2px 5px -3px rgba(57, 60, 45, 0.12);
}

.nk-iranytu__doboz::before {
	content: "";
	position: absolute;
	inset: 0 0 auto;
	height: 4px;
	border-radius: 18px 18px 0 0;
	background: linear-gradient(90deg, var(--nki-zold), var(--nki-zold-vilagos));
}

.nk-iranytu__fejlec {
	display: flex;
	align-items: flex-start;
	gap: 16px;
}

.nk-iranytu__fejlec-szoveg {
	flex: 1 1 auto;
	min-width: 0;
}

.nk-iranytu__kicker {
	margin: 0 0 4px;
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--nki-zold);
}

.nk-iranytu__cim {
	margin: 0;
	font-family: var(--nki-cim-betu);
	font-size: clamp(1.3rem, 1.05rem + 1vw, 1.75rem);
	line-height: 1.25;
	font-weight: 500;
	color: var(--nki-szen);
}

/* ── Haladásjelző ──────────────────────────────────────────────────────── */

.nk-iranytu__halado {
	display: flex;
	align-items: center;
	gap: 14px;
	margin: 18px 0 0;
}

.nk-iranytu__merce {
	flex: 1 1 auto;
	height: 8px;
	background: var(--nki-homok);
	border-radius: 999px;
	overflow: hidden;
}

.nk-iranytu__merce-toltes {
	display: block;
	height: 100%;
	width: 0;
	border-radius: 999px;
	background: linear-gradient(90deg, var(--nki-zold), var(--nki-zold-vilagos));
	transition: width 0.4s ease;
}

.nk-iranytu__szamlalo {
	flex: 0 0 auto;
	margin: 0;
	font-size: 0.88rem;
	font-weight: 600;
	color: var(--nki-zold);
	white-space: nowrap;
}

.nk-iranytu__bevezeto {
	margin: 14px 0 0;
	font-size: 0.95rem;
	line-height: 1.6;
	color: var(--nki-szurke);
}

/* ── Lépések ───────────────────────────────────────────────────────────── */

.nk-iranytu__lepesek {
	list-style: none;
	margin: 20px 0 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
	counter-reset: none;
}

.nk-iranytu__lepes {
	display: flex;
	gap: 14px;
	padding: 16px 18px;
	background: var(--nki-homok-halvany);
	border: 1px solid var(--nki-vonal);
	border-radius: 14px;
	transition: background 0.25s ease, border-color 0.25s ease;
}

.nk-iranytu__lepes::before {
	content: none; /* a téma listajelölője */
}

.nk-iranytu__lepes.is-kesz {
	background: rgba(127, 128, 87, 0.07);
	border-color: rgba(127, 128, 87, 0.28);
}

.nk-iranytu__jel {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	margin-top: 2px;
	border-radius: 50%;
	border: 1.5px solid var(--nki-zold);
	color: var(--nki-zold);
	font-size: 0.85rem;
	font-weight: 700;
	line-height: 1;
	background: var(--nki-feher);
}

.nk-iranytu__lepes.is-kesz .nk-iranytu__jel {
	background: var(--nki-zold);
	border-color: var(--nki-zold);
	color: var(--nki-feher);
}

.nk-iranytu__lepes.is-kesz .nk-iranytu__sorszam {
	font-size: 0;
}

.nk-iranytu__lepes.is-kesz .nk-iranytu__sorszam::after {
	content: "\2713";
	font-size: 15px;
}

.nk-iranytu__tartalom {
	flex: 1 1 auto;
	min-width: 0;
}

.nk-iranytu__lepes-cim {
	margin: 0 0 4px;
	font-family: var(--nki-cim-betu);
	font-size: 1.08rem;
	line-height: 1.3;
	font-weight: 500;
	color: var(--nki-szen);
}

.nk-iranytu__lepes-szoveg {
	margin: 0;
	font-size: 0.92rem;
	line-height: 1.55;
	color: var(--nki-szurke);
}

.nk-iranytu__akciok {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px 10px;
	margin-top: 12px;
}

.nk-iranytu__ido {
	font-size: 0.8rem;
	color: var(--nki-szurke);
	opacity: 0.85;
}

/* ── Gombok. A téma alapstílusát elemre szűkített választóval üssük. ───── */

.nk-iranytu a.nk-iranytu__cta,
.nk-iranytu a.nk-iranytu__cta:link,
.nk-iranytu a.nk-iranytu__cta:visited {
	display: inline-flex;
	align-items: center;
	padding: 9px 18px;
	background: var(--nki-zold);
	color: var(--nki-feher);
	border: 1px solid var(--nki-zold);
	border-radius: 6px;
	font-family: var(--nki-szoveg-betu);
	font-size: 0.88rem;
	font-weight: 500;
	line-height: 1.3;
	text-decoration: none;
	white-space: normal;
	transition: background 0.2s ease, border-color 0.2s ease;
}

.nk-iranytu a.nk-iranytu__cta:hover,
.nk-iranytu a.nk-iranytu__cta:focus,
.nk-iranytu a.nk-iranytu__cta:focus-visible,
.nk-iranytu a.nk-iranytu__cta:active {
	background: var(--nki-zold-vilagos);
	border-color: var(--nki-zold-vilagos);
	color: var(--nki-feher);
	text-decoration: none;
}

.nk-iranytu button.nk-iranytu__pipa,
.nk-iranytu span.nk-iranytu__pipa {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 8px 14px;
	background: transparent;
	color: var(--nki-szurke);
	border: 1px solid var(--nki-vonal);
	border-radius: 6px;
	font-family: var(--nki-szoveg-betu);
	font-size: 0.85rem;
	font-weight: 500;
	line-height: 1.3;
	cursor: pointer;
	white-space: nowrap;
	transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
	-webkit-appearance: none;
	appearance: none;
	text-transform: none;
	letter-spacing: normal;
	box-shadow: none;
}

.nk-iranytu button.nk-iranytu__pipa:hover,
.nk-iranytu button.nk-iranytu__pipa:focus,
.nk-iranytu button.nk-iranytu__pipa:focus-visible {
	background: rgba(127, 128, 87, 0.1);
	border-color: var(--nki-zold);
	color: var(--nki-zold);
}

.nk-iranytu__pipa-jel {
	font-size: 0.95em;
	line-height: 1;
	opacity: 0.35;
}

.nk-iranytu__lepes.is-kesz button.nk-iranytu__pipa,
.nk-iranytu span.nk-iranytu__pipa--zart {
	background: var(--nki-zold);
	border-color: var(--nki-zold);
	color: var(--nki-feher);
	cursor: default;
}

.nk-iranytu__lepes.is-kesz button.nk-iranytu__pipa {
	cursor: pointer;
}

.nk-iranytu__lepes.is-kesz button.nk-iranytu__pipa:hover,
.nk-iranytu__lepes.is-kesz button.nk-iranytu__pipa:focus,
.nk-iranytu__lepes.is-kesz button.nk-iranytu__pipa:focus-visible {
	background: var(--nki-zold-vilagos);
	border-color: var(--nki-zold-vilagos);
	color: var(--nki-feher);
}

.nk-iranytu__lepes.is-kesz .nk-iranytu__pipa-jel,
.nk-iranytu span.nk-iranytu__pipa--zart .nk-iranytu__pipa-jel {
	opacity: 1;
}

.nk-iranytu button.nk-iranytu__csuk,
.nk-iranytu button.nk-iranytu__savgomb {
	-webkit-appearance: none;
	appearance: none;
	font-family: var(--nki-szoveg-betu);
	cursor: pointer;
	box-shadow: none;
	text-transform: none;
	letter-spacing: normal;
	white-space: nowrap;
}

.nk-iranytu button.nk-iranytu__csuk {
	flex: 0 0 auto;
	width: 32px;
	height: 32px;
	padding: 0;
	background: var(--nki-homok);
	color: var(--nki-szen);
	border: 1px solid var(--nki-vonal);
	border-radius: 8px;
	font-size: 1.1rem;
	line-height: 1;
}

.nk-iranytu button.nk-iranytu__csuk:hover,
.nk-iranytu button.nk-iranytu__csuk:focus,
.nk-iranytu button.nk-iranytu__csuk:focus-visible {
	background: var(--nki-zold);
	border-color: var(--nki-zold);
	color: var(--nki-feher);
}

.nk-iranytu button.nk-iranytu__savgomb {
	padding: 7px 14px;
	background: var(--nki-zold);
	color: var(--nki-feher);
	border: 1px solid var(--nki-zold);
	border-radius: 6px;
	font-size: 0.85rem;
	font-weight: 500;
}

.nk-iranytu button.nk-iranytu__savgomb:hover,
.nk-iranytu button.nk-iranytu__savgomb:focus,
.nk-iranytu button.nk-iranytu__savgomb:focus-visible {
	background: var(--nki-zold-vilagos);
	border-color: var(--nki-zold-vilagos);
	color: var(--nki-feher);
}

/* ── Záró képernyő ─────────────────────────────────────────────────────── */

.nk-iranytu__zaras[hidden] {
	display: none;
}

.nk-iranytu__zaras {
	margin: 18px 0 0;
	padding: 24px 22px;
	text-align: center;
	background: var(--nki-homok);
	border: 1px solid rgba(127, 128, 87, 0.3);
	border-radius: 14px;
	animation: nk-iranytu-be 0.4s ease both;
}

@keyframes nk-iranytu-be {
	from { opacity: 0; transform: translateY(10px); }
	to   { opacity: 1; transform: none; }
}

.nk-iranytu__zaras-jel {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	margin: 0 auto 12px;
	border-radius: 50%;
	background: var(--nki-zold);
	color: var(--nki-feher);
	font-size: 1.4rem;
	line-height: 1;
}

.nk-iranytu__zaras-cim {
	margin: 0 0 8px;
	font-family: var(--nki-cim-betu);
	font-size: clamp(1.2rem, 1rem + 0.9vw, 1.55rem);
	font-weight: 500;
	color: var(--nki-szen);
}

.nk-iranytu__zaras-szoveg {
	margin: 0 auto 18px;
	max-width: 46ch;
	font-size: 0.95rem;
	line-height: 1.6;
	color: var(--nki-szurke);
}

.nk-iranytu a.nk-iranytu__zaras-gomb,
.nk-iranytu a.nk-iranytu__zaras-gomb:link,
.nk-iranytu a.nk-iranytu__zaras-gomb:visited {
	display: inline-flex;
	align-items: center;
	padding: 11px 24px;
	background: var(--nki-zold);
	color: var(--nki-feher);
	border: 1px solid var(--nki-zold);
	border-radius: 6px;
	font-size: 0.92rem;
	font-weight: 500;
	text-decoration: none;
	white-space: normal;
}

.nk-iranytu a.nk-iranytu__zaras-gomb:hover,
.nk-iranytu a.nk-iranytu__zaras-gomb:focus,
.nk-iranytu a.nk-iranytu__zaras-gomb:focus-visible {
	background: var(--nki-zold-vilagos);
	border-color: var(--nki-zold-vilagos);
	color: var(--nki-feher);
	text-decoration: none;
}

.nk-iranytu__zaras-masodik {
	margin: 16px 0 0;
	font-size: 0.88rem;
	color: var(--nki-szurke);
}

.nk-iranytu button.nk-iranytu__zaras-csuk {
	-webkit-appearance: none;
	appearance: none;
	margin: 16px 0 0;
	padding: 0;
	background: none;
	border: 0;
	box-shadow: none;
	color: var(--nki-szurke);
	font-family: var(--nki-szoveg-betu);
	font-size: 0.85rem;
	text-decoration: underline;
	text-transform: none;
	letter-spacing: normal;
	cursor: pointer;
}

.nk-iranytu button.nk-iranytu__zaras-csuk:hover,
.nk-iranytu button.nk-iranytu__zaras-csuk:focus,
.nk-iranytu button.nk-iranytu__zaras-csuk:focus-visible {
	background: none;
	color: var(--nki-zold);
}

/* ── Naptárgombok (a záró képernyőn és a [natureka_naptar] rövidkódban) ── */

.nk-iranytu-naptar {
	margin: 16px 0 0;
	font-family: var(--e-global-typography-text-font-family, "Avenir Lt font"), sans-serif;
}

.nk-iranytu-naptar__mikor {
	margin: 0 0 8px;
	font-size: 0.88rem;
	font-weight: 600;
	color: var(--e-global-color-primary, #7f8057);
}

.nk-iranytu-naptar__gombok {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	justify-content: center;
}

a.nk-iranytu-naptar__gomb,
a.nk-iranytu-naptar__gomb:link,
a.nk-iranytu-naptar__gomb:visited {
	display: inline-flex;
	align-items: center;
	padding: 8px 16px;
	background: transparent;
	color: var(--e-global-color-primary, #7f8057);
	border: 1px solid var(--e-global-color-primary, #7f8057);
	border-radius: 6px;
	font-size: 0.85rem;
	font-weight: 500;
	text-decoration: none;
}

a.nk-iranytu-naptar__gomb:hover,
a.nk-iranytu-naptar__gomb:focus,
a.nk-iranytu-naptar__gomb:focus-visible {
	background: var(--e-global-color-primary, #7f8057);
	color: #fff;
	text-decoration: none;
}

a.nk-iranytu-naptar__gomb--halvany,
a.nk-iranytu-naptar__gomb--halvany:link,
a.nk-iranytu-naptar__gomb--halvany:visited {
	color: var(--e-global-color-text, #7a7a7a);
	border-color: rgba(84, 89, 95, 0.28);
}

/* ── Mobil ─────────────────────────────────────────────────────────────── */

@media (max-width: 640px) {
	.nk-iranytu__doboz {
		padding: 20px 16px 18px;
		border-radius: 14px;
	}

	.nk-iranytu__lepes {
		padding: 14px;
		gap: 11px;
	}

	.nk-iranytu__halado {
		flex-wrap: wrap;
		gap: 8px;
	}

	.nk-iranytu__merce {
		flex: 1 1 100%;
		order: 2;
	}

	.nk-iranytu__szamlalo {
		order: 1;
	}

	.nk-iranytu__akciok {
		gap: 8px;
	}

	.nk-iranytu a.nk-iranytu__cta,
	.nk-iranytu button.nk-iranytu__pipa,
	.nk-iranytu span.nk-iranytu__pipa {
		flex: 1 1 auto;
		justify-content: center;
		text-align: center;
	}

	.nk-iranytu__ido {
		flex: 1 1 100%;
	}
}

/* A mozgásra érzékeny látogatóknak ne ugráljon semmi. */
@media (prefers-reduced-motion: reduce) {
	.nk-iranytu *,
	.nk-iranytu *::before {
		transition: none !important;
		animation: none !important;
	}
}
