/* Fejléc, megamenü, mobilmenü, kosárpanel, keresőablak. Terv: „fogy tervek” vászon, Menü és kosár oldal. */

.fgy-ui,
.fgy-ui button,
.fgy-ui input {
	font-family: Poppins, system-ui, sans-serif;
}

.fgy-ui svg { display: block; flex: none; }

.fgy-ui a:focus-visible,
.fgy-ui button:focus-visible {
	outline: 2px solid #0073aa;
	outline-offset: 2px;
}

/* Közös tartalomszélesség: a háttér kifut, a tartalom 1180 px. */
:root { --fgy-tartalom: 1180px; }

/* A saját sablonokon a GeneratePress konténere teljes szélességű, a tartalmat a sablon kerete tartja. */
.fgy-sajat-sablon .site.grid-container { max-width: none; padding-right: 0; padding-left: 0; }

/* A ragadós fejléc a teljes oldalhoz igazodjon, ne a burkolójához. */
.fgy-fejlec-tarto { display: contents; }

/* Top bar */
.fgy-top {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 16px;
	padding: 6px max(40px, calc((100% - var(--fgy-tartalom)) / 2));
	color: #fff;
	font-size: 13px;
	font-weight: 500;
	line-height: 20px;
	background: #212121;
}

.fgy-valaszto {
	width: 1px;
	height: 14px;
	background: rgba(255, 255, 255, 0.45);
}

/* Fejléc */
.fgy-fej {
	position: sticky;
	top: 0;
	z-index: 100;
	background: #fff;
	border-bottom: 1px solid #eee;
}

.admin-bar .fgy-fej { top: 32px; }

.fgy-sor {
	display: flex;
	align-items: stretch;
	gap: 24px;
	height: 72px;
	padding: 0 max(40px, calc((100% - var(--fgy-tartalom)) / 2));
}

.fgy-logo-hely { display: flex; align-items: center; }
.fgy-logo-hely img { display: block; width: auto; max-height: 48px; }
.fgy-logo-hely .fgy-logo-link { display: flex; align-items: center; }
.fgy-logo-hely .fgy-logo-kep { width: auto; height: auto; max-width: 260px; max-height: var(--fgy-logo-a, 48px); }
.fgy-logo-hely .fgy-logo-mobil { display: none; }

@media (max-width: 768px) {
	.fgy-logo-hely .fgy-logo-kep { max-width: 180px; max-height: var(--fgy-logo-m, 40px); }
	.fgy-logo-hely .fgy-logo-asztali { display: none; }
	.fgy-logo-hely .fgy-logo-mobil { display: block; }
}

.fgy-ui .fgy-logo {
	color: #212121;
	font-size: 24px;
	font-weight: 700;
	line-height: 1;
	text-decoration: none;
}

.fgy-nav {
	display: flex;
	flex: 1;
	align-items: stretch;
	justify-content: center;
	gap: 24px;
}

.fgy-pont { position: relative; display: flex; }
.fgy-pont-mega { position: static; }

.fgy-ui .fgy-link {
	display: flex;
	align-items: center;
	gap: 4px;
	color: #212121;
	font-size: 15px;
	font-weight: 500;
	text-decoration: none;
	white-space: nowrap;
}

.fgy-ui .fgy-link:hover { color: #566559; }
.fgy-ui .fgy-link.fgy-aktiv { color: #566559; font-weight: 700; }
.fgy-ui .fgy-link.fgy-magenta { color: #d81b9a; }
.fgy-ui .fgy-link.fgy-magenta:hover { color: #b01580; }

/* Sima lenyíló és megamenü */
.fgy-lenyilo,
.fgy-mega {
	position: absolute;
	top: 100%;
	z-index: 2;
	visibility: hidden;
	background: #fff;
	border-radius: 0 0 12px 12px;
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
	opacity: 0;
	transition: opacity 0.15s ease, visibility 0.15s ease;
}

.fgy-pont:hover > .fgy-lenyilo,
.fgy-pont:focus-within > .fgy-lenyilo,
.fgy-pont:hover > .fgy-mega,
.fgy-pont:focus-within > .fgy-mega {
	visibility: visible;
	opacity: 1;
}

.fgy-lenyilo { left: -15px; width: 240px; padding: 8px; }

.fgy-ui .fgy-lenyilo-link {
	display: block;
	padding: 11px 12px;
	color: #212121;
	font-size: 15px;
	font-weight: 500;
	line-height: 22px;
	text-decoration: none;
	border-radius: 8px;
}

.fgy-ui .fgy-lenyilo-link:hover { color: #566559; background: #f7f8f9; }

.fgy-mega {
	right: 0;
	left: 0;
	display: grid;
	grid-auto-flow: column;
	grid-template-columns: 300px;
	grid-auto-columns: minmax(0, 1fr);
	gap: 40px;
	padding: 28px max(40px, calc((100% - var(--fgy-tartalom)) / 2)) 32px;
}

.fgy-ui .fgy-kep-kartya {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	box-sizing: border-box;
	min-height: 220px;
	padding: 16px;
	overflow: hidden;
	color: #fff;
	text-decoration: none;
	background: #212121;
	border-radius: 12px;
}

.fgy-kep-kartya-kep {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.fgy-kep-kartya::after {
	position: absolute;
	inset: 0;
	content: "";
	background: linear-gradient(to top, rgba(0, 0, 0, 0.85) 0%, rgba(0, 0, 0, 0.6) 45%, rgba(0, 0, 0, 0) 100%);
}

.fgy-kep-szoveg { position: relative; z-index: 1; display: block; }
.fgy-kep-cim { display: block; font-size: 20px; font-weight: 700; line-height: 28px; }
.fgy-kep-leiras { display: block; margin: 2px 0 8px; font-size: 13px; line-height: 20px; }
.fgy-kep-tovabb { display: inline-flex; align-items: center; gap: 6px; min-height: 28px; font-size: 14px; font-weight: 600; }
.fgy-kep-kartya:hover .fgy-kep-tovabb { text-decoration: underline; }

.fgy-ui .fgy-oszlop-cim {
	display: block;
	margin-bottom: 8px;
	color: #212121;
	font-size: 14px;
	font-weight: 700;
	line-height: 22px;
	text-decoration: none;
}

.fgy-ui .fgy-oszlop-link {
	display: block;
	padding: 5px 0;
	color: #666;
	font-size: 14px;
	line-height: 22px;
	text-decoration: none;
}

.fgy-ui .fgy-oszlop-cim:hover,
.fgy-ui .fgy-oszlop-link:hover { color: #b01580; }

/* Ikonok és kosárgomb */
.fgy-eszkoz { display: flex; align-items: center; gap: 8px; }

.fgy-ui .fgy-ikon,
.fgy-ui .fgy-zar,
.fgy-ui .fgy-kereso-zar {
	display: flex;
	flex: none;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
	color: #212121;
	background: transparent;
	border: 0;
	border-radius: 50%;
	cursor: pointer;
}

.fgy-ui .fgy-ikon:hover,
.fgy-ui .fgy-kereso-zar:hover { color: #212121; background: #f7f8f9; }
.fgy-ui .fgy-zar { background: #f7f8f9; }
.fgy-ui .fgy-zar:hover { color: #212121; background: #eee; }
.fgy-menu-gomb { display: none !important; }

.fgy-ui .fgy-kosar-gomb {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 44px;
	padding: 5px 14px;
	color: #212121;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.2;
	white-space: nowrap;
	background: #afd9ad;
	border: 0;
	border-radius: 10px;
	cursor: pointer;
}

.fgy-ui .fgy-kosar-gomb:hover { color: #212121; background: #f2acbf; }

.fgy-darab {
	position: absolute;
	top: -6px;
	right: -9px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 20px;
	height: 20px;
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	background: #e00000;
	border-radius: 50%;
}

.fgy-darab[hidden] { display: none; }

/* Fátyol és panelek */
.fgy-fatyol {
	position: fixed;
	inset: 0;
	z-index: 1000;
	visibility: hidden;
	background: rgba(0, 0, 0, 0.45);
	opacity: 0;
	transition: opacity 0.25s ease, visibility 0.25s ease;
}

.fgy-fatyol.nyitva { visibility: visible; opacity: 1; }
body.fgy-zarolt { overflow: hidden; }

.fgy-panel {
	position: fixed;
	top: 0;
	bottom: 0;
	z-index: 1001;
	display: flex;
	flex-direction: column;
	box-sizing: border-box;
	max-width: 92vw;
	visibility: hidden;
	background: #fff;
	box-shadow: -9px 0 60px rgba(0, 0, 0, 0.28);
	transition: transform 0.3s ease, visibility 0.3s ease;
}

.fgy-panel.nyitva { visibility: visible; transform: none; }
.fgy-panel-jobb { right: 0; width: 420px; transform: translateX(100%); }
.fgy-panel-bal { left: 0; width: 350px; transform: translateX(-100%); }

.fgy-panel-fej {
	display: flex;
	flex: none;
	align-items: center;
	justify-content: space-between;
	padding: 12px 20px;
	border-bottom: 1px solid #eee;
}

.fgy-ui .fgy-panel-cim {
	margin: 0;
	color: #212121;
	font-size: 22px;
	font-weight: 700;
	line-height: 1.2;
}

/* Kosár */
.fgy-kosar-tartalom { display: flex; flex: 1; flex-direction: column; min-height: 0; }
.fgy-tetelek { flex: 1; min-height: 0; padding: 0 20px; overflow-y: auto; }

.fgy-tetel {
	display: grid;
	grid-template-columns: 84px minmax(0, 1fr);
	gap: 12px;
	padding: 15px 0;
	border-bottom: 1px solid #e0e0e0;
}

.fgy-tetel-kep img {
	display: block;
	width: 84px;
	height: 84px;
	object-fit: cover;
	border-radius: 12px;
}

.fgy-tetel-felso { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; }

.fgy-ui .fgy-tetel-nev {
	color: #050327;
	font-size: 15px;
	font-weight: 600;
	line-height: 21px;
	text-decoration: none;
}

.fgy-ui .fgy-tetel-nev:hover { color: #566559; }
.fgy-tetel-info { margin-top: 2px; color: #666; font-size: 13px; line-height: 18px; }

.fgy-ui .fgy-torles {
	display: flex;
	flex: none;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	margin: -12px -14px 0 0;
	padding: 0;
	color: #364440;
	background: transparent;
	border: 0;
	border-radius: 50%;
	cursor: pointer;
}

.fgy-ui .fgy-torles:hover { color: #364440; background: #f7f8f9; }
.fgy-tetel-also { display: flex; align-items: center; justify-content: space-between; margin-top: 8px; }
.fgy-menny { display: flex; align-items: center; border: 1px solid #ddd; border-radius: 50px; }

.fgy-ui .fgy-menny button {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 38px;
	padding: 0;
	color: #212121;
	background: transparent;
	border: 0;
	border-radius: 50px;
	cursor: pointer;
}

.fgy-ui .fgy-menny button:hover { color: #212121; background: #f7f8f9; }
.fgy-ui .fgy-menny button:disabled { opacity: 0.35; cursor: not-allowed; }
.fgy-menny output { min-width: 22px; color: #212121; font-size: 14px; font-weight: 600; text-align: center; }
.fgy-tetel-ar { color: #212121; font-size: 16px; font-weight: 700; }
.fgy-toltes .fgy-tetelek { opacity: 0.55; pointer-events: none; }
.fgy-kosar-lab { flex: none; padding: 15px 20px; background: #f9f9f9; border-top: 1px solid #ddd; }
.fgy-osszeg-sor { display: flex; align-items: baseline; justify-content: space-between; }
.fgy-osszeg-cim { color: #212121; font-size: 15px; font-weight: 600; }
.fgy-osszeg-ar { color: #212121; font-size: 22px; font-weight: 700; line-height: 32px; }
.fgy-ui .fgy-megjegyzes { margin: 2px 0 12px; color: #666; font-size: 13px; line-height: 18px; }

.fgy-ui .fgy-fo-gomb {
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 100%;
	min-height: 48px;
	padding: 10px 25px;
	color: #000;
	font-size: 15px;
	font-weight: 600;
	text-decoration: none;
	background: #afd9ad;
	border-radius: 50px;
}

.fgy-ui .fgy-fo-gomb:hover { color: #000; background: #f2acbf; }

.fgy-ui .fgy-tovabb {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 44px;
	margin-top: 4px;
	padding: 0;
	color: #212121;
	font-size: 14px;
	font-weight: 600;
	text-decoration: underline;
	background: transparent;
	border: 0;
	cursor: pointer;
}

.fgy-ui .fgy-tovabb:hover { color: #566559; background: transparent; }

.fgy-kosar-ures {
	display: flex;
	flex: 1;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 15px;
	padding: 25px;
	text-align: center;
}

.fgy-kosar-ures .fgy-fo-gomb { width: auto; }
.fgy-kosar-ures p { margin: 0; color: #212121; font-size: 15px; line-height: 26px; }

.fgy-kosar-ures-ikon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 72px;
	height: 72px;
	color: #212121;
	background: rgba(175, 217, 173, 0.2);
	border-radius: 50%;
}

/* Mobilmenü */
.fgy-mobil-nav { flex: 1; min-height: 0; padding: 0 15px; overflow-y: auto; }

.fgy-ui .fgy-mobil-link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	min-height: 56px;
	color: #212121;
	font-size: 16px;
	font-weight: 600;
	line-height: 22px;
	text-decoration: none;
	border-bottom: 1px solid #eee;
}

.fgy-darabszam { flex: none; color: #666; font-size: 12px; font-weight: 400; }
.fgy-ui .fgy-mobil-link.fgy-aktiv { color: #566559; font-weight: 700; }
.fgy-ui .fgy-mobil-link.fgy-magenta { color: #d81b9a; }
.fgy-mobil-sor { display: flex; align-items: stretch; border-bottom: 1px solid #eee; }
.fgy-ui .fgy-mobil-sor .fgy-mobil-link { flex: 1; min-width: 0; border-bottom: 0; }

.fgy-ui .fgy-nyito {
	display: flex;
	flex: none;
	align-items: center;
	justify-content: center;
	width: 44px;
	padding: 0;
	color: #212121;
	background: transparent;
	border: 0;
	cursor: pointer;
}

.fgy-ui .fgy-nyito:hover { color: #212121; background: transparent; }
.fgy-nyito[aria-expanded="true"] svg { transform: rotate(180deg); }
.fgy-almenu { padding: 2px 0 6px 12px; border-bottom: 1px solid #eee; }
.fgy-almenu[hidden] { display: none; }

.fgy-ui .fgy-almenu-link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 44px;
	color: #212121;
	font-size: 15px;
	text-decoration: none;
}

.fgy-bizalom {
	display: grid;
	flex: none;
	grid-auto-flow: column;
	grid-auto-columns: minmax(0, 1fr);
	gap: 8px;
	padding: 14px 12px 16px;
	background: #f9f9f9;
	border-top: 1px solid #ddd;
}

.fgy-ui .fgy-bizalom-elem {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 4px;
	color: #212121;
	font-size: 12px;
	font-weight: 500;
	line-height: 16px;
	text-align: center;
	text-decoration: none;
}

.fgy-bizalom-elem svg { color: #566559; }

/* Keresőablak */
.fgy-kereso {
	position: fixed;
	top: 40px;
	bottom: 40px;
	left: 50%;
	z-index: 1001;
	display: flex;
	flex-direction: column;
	box-sizing: border-box;
	width: 640px;
	max-width: calc(100vw - 30px);
	max-height: 700px;
	overflow: hidden;
	visibility: hidden;
	background: #fff;
	border-radius: 20px;
	box-shadow: 0 8px 30px rgba(0, 0, 0, 0.18);
	opacity: 0;
	transform: translateX(-50%);
	transition: opacity 0.2s ease, visibility 0.2s ease;
}

.fgy-kereso.nyitva { visibility: visible; opacity: 1; }

.fgy-kereso-mezo {
	display: flex;
	flex: none;
	align-items: center;
	gap: 10px;
	padding: 10px 12px 10px 20px;
	color: #212121;
	border-bottom: 1px solid #eee;
}

/* A mező saját keret nélküli; a fókuszt az egész sáv mutatja. */
.fgy-kereso-mezo:focus-within { outline: 2px solid #0073aa; outline-offset: 2px; }

.fgy-ui .fgy-kereso-mezo input[type="search"] {
	flex: 1;
	min-width: 0;
	height: 44px;
	padding: 0;
	color: #212121;
	font-size: 16px;
	background: transparent;
	border: 0;
	outline: 0;
	box-shadow: none;
}

.fgy-kereso-talalat { flex: 1; min-height: 0; overflow-y: auto; }
.fgy-ui .fgy-kereso-szam { margin: 0; padding: 14px 20px 6px; color: #666; font-size: 13px; font-weight: 500; }
.fgy-ui .fgy-kereso-lista { margin: 0; padding: 0 8px 12px; list-style: none; }
.fgy-ui .fgy-kereso-lista li { margin: 0; }

.fgy-ui .fgy-talalat {
	display: grid;
	grid-template-columns: 56px minmax(0, 1fr) auto;
	align-items: center;
	gap: 12px;
	padding: 8px 12px;
	text-decoration: none;
	border-radius: 12px;
}

.fgy-ui .fgy-talalat:hover { background: #f7f8f9; }

.fgy-talalat img {
	display: block;
	width: 56px;
	height: 56px;
	object-fit: cover;
	border-radius: 8px;
}

.fgy-talalat-nev { display: block; color: #212121; font-size: 15px; font-weight: 500; line-height: 22px; }
.fgy-talalat-nev b { font-weight: 700; }
.fgy-talalat-kat { display: block; color: #666; font-size: 13px; line-height: 18px; }
.fgy-talalat-ar { color: #212121; font-size: 15px; font-weight: 600; text-align: right; white-space: nowrap; }
.fgy-talalat-akcio { color: #e00000; }
.fgy-talalat-regi { display: block; color: #666; font-size: 12px; font-weight: 400; }
.fgy-talalat-info { color: #666; font-size: 13px; font-weight: 500; }
.fgy-kereso-ures { padding: 30px 20px; text-align: center; }
.fgy-ui .fgy-kereso-ures h2 { margin: 0 0 6px; color: #212121; font-size: 17px; font-weight: 600; line-height: 24px; }
.fgy-ui .fgy-kereso-ures p { margin: 0 0 15px; color: #666; font-size: 14px; line-height: 22px; }
.fgy-kereso-ures .fgy-fo-gomb { display: inline-flex; width: auto; }

/* Kisebb monitor */
@media (max-width: 1280px) {
	.fgy-sor { gap: 18px; padding: 0 max(24px, calc((100% - var(--fgy-tartalom)) / 2)); }
	.fgy-nav { gap: 16px; }
	.fgy-ui .fgy-link { font-size: 14px; }
	.fgy-mega { gap: 28px; padding: 24px max(24px, calc((100% - var(--fgy-tartalom)) / 2)); grid-template-columns: 260px; }
}

/* Mobilfejléc */
@media (max-width: 1024px) {
	.fgy-top { display: none; }
	.fgy-nav { display: none; }
	.fgy-menu-gomb { display: flex !important; margin-left: -10px; }
	.fgy-sor { align-items: center; gap: 4px; height: 60px; padding: 0 15px; }
	.fgy-sor > .fgy-logo-hely { flex: 1; margin-left: 2px; }
	.fgy-ui .fgy-logo { font-size: 21px; }
	.fgy-eszkoz { gap: 4px; }
	.fgy-kosar-osszeg { display: none; }
	.fgy-ui .fgy-kosar-gomb { justify-content: center; width: 44px; padding: 0; }
	.fgy-darab { right: -7px; }
	.admin-bar .fgy-fej { top: 46px; }
}

/* 600px alatt a WordPress admin sáv elgördül, ezért a fejléc a lap tetejére tapad. */
@media (max-width: 600px) {
	.admin-bar .fgy-fej { top: 0; }
}

@media (max-width: 768px) {
	.fgy-panel-jobb { width: 360px; }
	.fgy-panel-fej { padding: 8px 15px; }
	.fgy-ui .fgy-panel-cim { font-size: 20px; }
	.fgy-tetelek { padding: 0 15px; }
	.fgy-tetel { grid-template-columns: 72px minmax(0, 1fr); gap: 10px; padding: 12px 0; }
	.fgy-tetel-kep img { width: 72px; height: 72px; }
	.fgy-ui .fgy-tetel-nev { font-size: 14px; line-height: 20px; }
	.fgy-kosar-lab { padding: 12px 15px 15px; }
	.fgy-osszeg-ar { font-size: 20px; line-height: 30px; }

	/* A keresőablak mobilon a teljes képernyőt kitölti. */
	.fgy-kereso {
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		width: auto;
		max-width: none;
		max-height: none;
		border-radius: 0;
		transform: none;
	}

	.fgy-kereso-mezo { padding: 8px 8px 8px 15px; }
	.fgy-ui .fgy-kereso-szam { padding: 12px 15px 4px; }
	.fgy-ui .fgy-talalat { grid-template-columns: 60px minmax(0, 1fr) auto; gap: 10px; padding: 8px 7px; }
	.fgy-talalat img { width: 60px; height: 60px; }
	.fgy-talalat-nev { font-size: 14px; line-height: 20px; }
	.fgy-talalat-kat { font-size: 12px; line-height: 17px; }
	.fgy-talalat-ar { font-size: 14px; }
	.fgy-talalat-info { max-width: 72px; font-size: 12px; line-height: 16px; white-space: normal; }
}

@media (prefers-reduced-motion: reduce) {
	.fgy-panel, .fgy-fatyol, .fgy-kereso, .fgy-lenyilo, .fgy-mega { transition: none; }
}
