/*
 * Pár Órára – komponensek (rövidkódok) stílusa.
 * A színek az Elementor globális színeiből jönnek (Site Settings → Global Colors),
 * zárójelben a tartalék érték, ha az Elementor-kit nem töltött be.
 */

:root {
	--pp-night: var(--e-global-color-secondary, #17111C);
	--pp-accent: var(--e-global-color-primary, #F2A65A);
	--pp-accent-hover: var(--e-global-color-accent, #FFC48A);
	--pp-text: var(--e-global-color-text, #F4EEE8);
	--pp-surface: var(--e-global-color-ppsurf, #221A29);
	--pp-line: var(--e-global-color-ppline, #2E2436);
	--pp-line-strong: var(--e-global-color-ppline2, #4A3D52);
	--pp-muted: var(--e-global-color-ppmuted, #CFC4CF);
	--pp-faint: var(--e-global-color-ppfaint, #B8ADB9);
	--pp-paper: var(--e-global-color-pppaper, #F3F1F5);
	--pp-white: var(--e-global-color-ppwhite, #FFFFFF);
	--pp-border-light: var(--e-global-color-ppborder, #DDD6E3);
	--pp-ink: var(--e-global-color-ppink, #1E1722);
	--pp-ink-muted: var(--e-global-color-ppinkm, #5E5562);
	--pp-accent-dark: var(--e-global-color-ppambd, #8A4A12);
	--pp-font-display: 'Bricolage Grotesque', system-ui, sans-serif;
	--pp-font-body: 'Manrope', system-ui, sans-serif;
	--pp-radius-pill: 999px;
	--pp-radius-card: 20px;
	--pp-radius-field: 12px;
}

/* Fókusz: mindenhol jól látható, egérrel kattintva nem zavar. */
:where(a, button, input, select, textarea, summary):focus-visible {
	outline: 2px solid var(--pp-accent);
	outline-offset: 3px;
}

.pp-visually-hidden {
	position: absolute !important;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
	border: 0;
}

/* ---------- Logó ---------- */
.pp-logo {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	color: var(--pp-text);
	text-decoration: none;
}
.pp-logo:hover { color: var(--pp-text); }
.pp-logo__mark { flex: none; }
.pp-logo__ring { stroke: var(--pp-accent); }
.pp-logo__hands { stroke: currentColor; }
.pp-logo__pin { fill: var(--pp-accent); }
.pp-logo__text {
	font-family: var(--pp-font-display);
	font-weight: 800;
	font-size: 24px;
	line-height: 1;
	letter-spacing: -0.5px;
	white-space: nowrap;
}
.pp-logo--text .pp-logo__text { font-size: 20px; }

/* ---------- Szűrő (hero) ---------- */
.pp-szuro {
	display: flex;
	flex-direction: column;
	gap: 16px;
	margin: 0;
	padding: 24px;
	border-radius: var(--pp-radius-card);
	background: var(--pp-surface);
	border: 1px solid var(--pp-line);
}
.pp-szuro__ido {
	margin: 0;
	padding: 0;
	border: 0;
	min-width: 0;
}
.pp-szuro__label {
	display: block;
	padding: 0;
	margin: 0 0 12px;
	font: 700 14px/1.3 var(--pp-font-body);
	color: var(--pp-muted);
}
.pp-szuro__field .pp-szuro__label { margin-bottom: 6px; }
.pp-szuro__chips {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}
.pp-chip-radio {
	position: relative;
	cursor: pointer;
}
.pp-chip-radio input {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	margin: 0;
	opacity: 0;
	cursor: pointer;
}
.pp-chip-radio span {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 0 20px;
	border-radius: var(--pp-radius-pill);
	border: 1px solid var(--pp-line-strong);
	color: var(--pp-text);
	font: 600 15px/1 var(--pp-font-body);
	transition: background-color .15s ease, border-color .15s ease, color .15s ease;
}
.pp-chip-radio:hover span { border-color: var(--pp-accent); }
.pp-chip-radio input:checked + span {
	background: var(--pp-accent);
	border-color: var(--pp-accent);
	color: var(--pp-night);
	font-weight: 700;
}
.pp-chip-radio input:focus-visible + span {
	outline: 2px solid var(--pp-accent);
	outline-offset: 3px;
}
.pp-szuro__row {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	align-items: flex-end;
}
.pp-szuro__field {
	flex: 1 1 220px;
	display: flex;
	flex-direction: column;
	min-width: 0;
}
.pp-select {
	appearance: none;
	-webkit-appearance: none;
	width: 100%;
	min-height: 48px;
	padding: 0 44px 0 14px;
	border-radius: var(--pp-radius-field);
	border: 1px solid var(--pp-line-strong);
	background-color: var(--pp-night);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%23CFC4CF' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 16px center;
	color: var(--pp-text);
	font: 500 16px/1.2 var(--pp-font-body);
}
.pp-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 0 28px;
	border-radius: var(--pp-radius-field);
	border: 0;
	font: 700 16px/1 var(--pp-font-body);
	cursor: pointer;
	text-decoration: none;
	transition: background-color .15s ease, color .15s ease;
}
.pp-btn--light {
	background: var(--pp-text);
	color: var(--pp-ink);
}
.pp-btn--light:hover {
	background: var(--pp-accent);
	color: var(--pp-night);
}

/* ---------- Címkék a kártyákon ---------- */
.pp-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.pp-chip {
	display: inline-flex;
	align-items: center;
	padding: 6px 12px;
	border-radius: var(--pp-radius-pill);
	border: 1px solid var(--pp-line-strong);
	color: var(--pp-muted);
	font: 700 13px/1.2 var(--pp-font-body);
}
.pp-chip--accent {
	background: var(--pp-accent);
	border-color: var(--pp-accent);
	color: var(--pp-night);
}
.pp-meta-sor {
	margin: 0;
	font: 700 13px/1.3 var(--pp-font-body);
	color: var(--pp-ink-muted);
}

/* ---------- Útvonal (idővonal) ---------- */
.pp-utvonal {
	list-style: none;
	margin: 0 0 0 6px;
	padding: 0;
	border-left: 2px solid var(--pp-line-strong);
}
.pp-utvonal__stop {
	position: relative;
	margin: 0;
	padding: 0 0 16px 22px;
	color: var(--pp-text);
	font: 500 16px/1.4 var(--pp-font-body);
}
.pp-utvonal__stop:last-child { padding-bottom: 0; }
.pp-utvonal__stop::before {
	content: "";
	position: absolute;
	left: -7px;
	top: 4px;
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: var(--pp-text);
}
.pp-utvonal__stop.is-first::before { background: var(--pp-accent); }
.pp-utvonal__ido {
	font-family: var(--pp-font-display);
	font-size: 18px;
	font-weight: 800;
	color: var(--pp-accent);
}

/* ---------- Helyek lista ---------- */
.pp-helyek {
	list-style: none;
	margin: 0;
	padding: 0;
}
.pp-helyek__item {
	margin: 0;
	border-top: 1px solid var(--pp-line);
}
.pp-helyek__item:last-child { border-bottom: 1px solid var(--pp-line); }
.pp-helyek__link {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	padding: 22px 0;
	color: var(--pp-text);
	text-decoration: none;
}
.pp-helyek__nev {
	font: 600 30px/1.1 var(--pp-font-display);
	letter-spacing: -0.5px;
	transition: color .15s ease;
}
.pp-helyek__link:hover .pp-helyek__nev { color: var(--pp-accent); }
.pp-helyek__megk {
	font: 500 15px/1.3 var(--pp-font-body);
	color: var(--pp-muted);
}

/* ---------- Kifejezés-kártyák (Alkalomra, Évszakok) ---------- */
.pp-kartyak {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: 16px;
}
.pp-kartya {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 8px;
	min-height: 140px;
	padding: 24px;
	border-radius: var(--pp-radius-card);
	background: var(--pp-surface);
	border: 1px solid var(--pp-line);
	color: var(--pp-text);
	text-decoration: none;
	transition: border-color .15s ease, transform .15s ease;
}
.pp-kartya:hover {
	color: var(--pp-text);
	border-color: var(--pp-accent);
	transform: translateY(-2px);
}
.pp-kartya__cim { font: 800 24px/1.1 var(--pp-font-display); }
.pp-kartya__leiras { font: 500 14px/1.4 var(--pp-font-body); color: var(--pp-muted); }
.pp-kartya--accent {
	background: var(--pp-accent);
	border-color: var(--pp-accent);
	color: var(--pp-night);
}
.pp-kartya--accent:hover { color: var(--pp-night); border-color: var(--pp-accent-hover); }
.pp-kartya--accent .pp-kartya__leiras { color: var(--pp-night); font-weight: 600; }

/* ---------- Időkeret-kártyák (világos szekcióban) ---------- */
.pp-idokeretek {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 20px;
}
.pp-idokeret {
	display: flex;
	flex-direction: column;
	gap: 16px;
	padding: 28px;
	border-radius: var(--pp-radius-card);
	background: var(--pp-white);
	border: 1px solid var(--pp-border-light);
	color: var(--pp-ink);
}
.pp-idokeret__fej {
	color: inherit;
	text-decoration: none;
	font-family: var(--pp-font-display);
	font-weight: 800;
	line-height: 1;
}
.pp-idokeret__fej:hover { color: inherit; }
.pp-idokeret__szam { font-size: 64px; }
.pp-idokeret__egyseg { font-size: 24px; color: var(--pp-accent-dark); }
.pp-idokeret__lista {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
	font: 600 16px/1.35 var(--pp-font-body);
}
.pp-idokeret__lista a { color: var(--pp-ink); text-decoration: none; }
.pp-idokeret__lista a:hover { text-decoration: underline; text-underline-offset: 3px; }
.pp-idokeret__ures { color: var(--pp-ink-muted); font-weight: 500; }
.pp-idokeret--dark {
	background: var(--pp-ink);
	border-color: var(--pp-ink);
	color: var(--pp-text);
}
.pp-idokeret--dark .pp-idokeret__egyseg { color: var(--pp-accent); }
.pp-idokeret--dark .pp-idokeret__lista a { color: var(--pp-text); }
.pp-idokeret--dark .pp-idokeret__ures { color: var(--pp-muted); }

/* ---------- Kiemelt szó a címben ---------- */
.pp-accent { color: var(--pp-accent); }

/* ---------- Útvonal-doboz a cikk elején ---------- */
.pp-utvonal-doboz {
	margin: 0 0 40px;
	padding: 24px 28px;
	border-radius: var(--pp-radius-card);
	background: var(--pp-surface);
	border: 1px solid var(--pp-line);
}
.pp-utvonal-doboz__cim {
	margin: 0 0 16px;
	font: 700 14px/1.4 var(--pp-font-body);
	letter-spacing: 2px;
	text-transform: uppercase;
	color: var(--pp-accent);
}

/* ---------- Cikk- és szöveges oldal tartalom ---------- */
.pp-cikk {
	font: 400 18px/1.7 var(--pp-font-body);
	color: var(--pp-text);
}
.pp-cikk :is(p, ul, ol, figure, table) { margin: 0 0 1.2em; }
.pp-cikk > .elementor-widget-container > :first-child,
.pp-cikk > :first-child { margin-top: 0; }
/* Az .elementor-widget előtag a kit h2/h3 globális méretét írja felül. */
.elementor-widget.pp-cikk :is(h2, h3, h4) {
	margin: 1.8em 0 0.6em;
	font-family: var(--pp-font-display);
	font-weight: 800;
	line-height: 1.15;
	letter-spacing: -0.5px;
	color: var(--pp-text);
}
.elementor-widget.pp-cikk h2 { font-size: 34px; }
.elementor-widget.pp-cikk h3 { font-size: 26px; }
.elementor-widget.pp-cikk h4 { font-size: 21px; }
.pp-cikk :is(ul, ol) { padding-left: 1.3em; }
.pp-cikk li { margin-bottom: 0.4em; }
.pp-cikk a { color: var(--pp-accent); text-decoration: underline; text-underline-offset: 3px; }
.pp-cikk a:hover { color: var(--pp-accent-hover); }
.pp-cikk strong { font-weight: 700; color: var(--pp-text); }
.pp-cikk img { max-width: 100%; height: auto; border-radius: var(--pp-radius-card); }
.pp-cikk figure { margin: 2em 0; }
.pp-cikk figcaption { margin-top: 8px; font-size: 14px; color: var(--pp-faint); }
.elementor-widget.pp-cikk blockquote {
	margin: 1.6em 0;
	padding: 4px 0 4px 20px;
	border-left: 3px solid var(--pp-accent);
	font-size: 20px;
	color: var(--pp-muted);
}
.pp-cikk table { width: 100%; border-collapse: collapse; font-size: 16px; }
.pp-cikk :is(th, td) { padding: 10px 12px; border-bottom: 1px solid var(--pp-line); text-align: left; }
.pp-cikk em { color: var(--pp-muted); }

/* ---------- Hírlevél-űrlap ---------- */
.pp-hirlevel-form .elementor-field-textual { min-height: 52px; }
.pp-hirlevel-form .elementor-field-type-acceptance .elementor-field-subgroup label {
	font: 500 14px/1.45 var(--pp-font-body);
	color: var(--pp-muted);
}
.pp-hirlevel-form .elementor-field-type-acceptance a { color: var(--pp-accent); text-decoration: underline; }
.pp-hirlevel-form .elementor-field-type-acceptance input { accent-color: var(--pp-accent); }

@media (max-width: 767px) {
	.pp-cikk { font-size: 17px; }
	.elementor-widget.pp-cikk h2 { font-size: 28px; }
	.elementor-widget.pp-cikk h3 { font-size: 22px; }
	.pp-utvonal-doboz { padding: 20px; }
}

/* ---------- Linkszínek ----------
 * Az Elementor-kit globális linkszíne (.elementor-kit-N a) erősebb, mint egy
 * sima osztályszelektor, ezért a komponens-linkek „body” előtagot kapnak.
 */
body a.pp-logo,
body a.pp-logo:hover { color: var(--pp-text); }
body a.pp-helyek__link,
body a.pp-helyek__link:hover { color: var(--pp-text); }
body a.pp-kartya,
body a.pp-kartya:hover { color: var(--pp-text); }
body a.pp-kartya--accent,
body a.pp-kartya--accent:hover { color: var(--pp-night); }
body a.pp-idokeret__fej,
body a.pp-idokeret__fej:hover { color: inherit; }
body .pp-idokeret__lista a { color: var(--pp-ink); }
body .pp-idokeret__lista a:hover { color: var(--pp-accent-dark); }
body .pp-idokeret--dark .pp-idokeret__lista a { color: var(--pp-text); }
body .pp-idokeret--dark .pp-idokeret__lista a:hover { color: var(--pp-accent); }
body .pp-cikk a { color: var(--pp-accent); }
body .pp-cikk a:hover { color: var(--pp-accent-hover); }

body .pp-szuro .pp-btn {
	min-height: 48px;
	padding: 0 28px;
	border: 0;
	border-radius: var(--pp-radius-field);
	font: 700 16px/1 var(--pp-font-body);
}
body .pp-szuro .pp-btn--light { background: var(--pp-text); color: var(--pp-ink); }
body .pp-szuro .pp-btn--light:hover,
body .pp-szuro .pp-btn--light:focus-visible { background: var(--pp-accent); color: var(--pp-night); }

/* ---------- Üres listák (Loop Grid „nincs találat”) ---------- */
body .e-loop-nothing-found-message {
	font: 400 18px/1.6 var(--pp-font-body);
	color: var(--pp-ink-muted);
}
body .pp-loop-dark .e-loop-nothing-found-message {
	display: flex;
	align-items: flex-end;
	min-height: 320px;
	padding: 28px;
	border: 1px dashed var(--pp-line-strong);
	border-radius: 28px;
	background: var(--pp-surface);
	color: var(--pp-muted);
}

/* Szövegdoboz utolsó bekezdése alatt ne maradjon térköz (sorba rendezett fejléceknél). */
.elementor-widget-text-editor p:last-child { margin-bottom: 0; }

/* ---------- Mobil ---------- */
@media (max-width: 767px) {
	.pp-szuro { padding: 20px; }
	.pp-szuro__row .pp-btn { width: 100%; }
	.pp-helyek__nev { font-size: 24px; }
	.pp-idokeret__szam { font-size: 52px; }
	.pp-kartya { min-height: 112px; }
}

@media (prefers-reduced-motion: reduce) {
	.pp-kartya, .pp-chip-radio span, .pp-btn, .pp-helyek__nev { transition: none; }
	.pp-kartya:hover { transform: none; }
}
