/* Menta Event Navigator – látogatói felület.
   Mobilra tervezve, teljes képernyőn. Arculat: DJ OTI shop. */

/* ---- az oldal görgetése zárolva, amíg a navigáció nyitva van ---- */
html.men-locked, body.men-locked {
	overflow: hidden !important;
	height: 100%;
	overscroll-behavior: none;
	touch-action: manipulation;
}

/* Teljes képernyős oldal (WP sablon + Cloudflare static) */
html.men-fullscreen-page,
body.men-fullscreen-page {
	margin: 0;
	width: 100%;
	min-height: 100%;
}
body.men-fullscreen-page {
	overflow: hidden;
}
#men-fullscreen-root {
	position: relative;
	width: 100%;
	height: 100vh;
	height: 100dvh;
	max-width: none;
	margin: 0;
	min-height: 0;
}

.men-nav {
	/* ---------- nappali ---------- */
	--men-bg:      #FFF7EC;
	--men-bg-2:    #FBD9E6;
	--men-solid:   #FFFFFF;
	--men-veil:    rgba(255,255,255,.95);
	--men-soft:    rgba(17,17,17,.06);
	--men-line:    rgba(17,17,17,.12);
	--men-text:    #121214;
	--men-muted:   #6E6E76;
	--men-accent:  #EC1E86;
	--men-ink:     #0D0D0D;
	--men-on-ink:  #FFFFFF;
	--men-grad:    linear-gradient(140deg, #F7A24F 0%, #EE4E93 100%);
	--men-shadow:  0 4px 18px rgba(150,60,110,.18);
	--men-ring:    #FFFFFF;

	--men-map-h: 60vh;
	--men-r: 22px;

	position: relative;
	display: flex;
	flex-direction: column;
	background: linear-gradient(165deg, var(--men-bg) 0%, var(--men-bg-2) 100%);
	color: var(--men-text);
	border-radius: var(--men-r);
	overflow: hidden;
	max-width: 640px;
	margin: 0 auto;
	font: 400 16px/1.4 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	font-feature-settings: "tnum" 1;
	box-shadow: 0 16px 40px rgba(190,60,125,.14);
}

/* ---------- esti ---------- */
.men-nav.is-night {
	--men-bg:      #140910;
	--men-bg-2:    #24101C;
	--men-solid:   #2A1825;
	--men-veil:    rgba(22,11,18,.96);
	--men-soft:    rgba(255,255,255,.08);
	--men-line:    rgba(255,255,255,.16);
	--men-text:    #F8EEF3;
	--men-muted:   #AC98A3;
	--men-accent:  #FF3D9E;
	--men-ink:     #FF3D9E;
	--men-on-ink:  #1A0A12;
	--men-shadow:  0 4px 18px rgba(0,0,0,.55);
	--men-ring:    #2A1825;
	box-shadow: 0 16px 40px rgba(0,0,0,.45);
}

/* ---------- teljes képernyő (minden nézetport) ---------- */
.men-nav.is-full,
.men-nav.men-app--fullscreen,
#men-fullscreen-root > .men-nav {
	position: fixed;
	inset: 0;
	z-index: 99990;
	width: 100%;
	height: 100vh;
	height: 100dvh;
	max-width: none;
	margin: 0;
	border-radius: 0;
	box-shadow: none;
	padding: env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);
	display: flex;
	flex-direction: column;
	min-height: 0;
}
#men-fullscreen-root > .men-nav {
	position: absolute;
}
.men-nav.is-full .men-app,
.men-nav.men-app--fullscreen .men-app {
	flex: 1 1 auto;
	min-height: 0;
	display: flex;
	flex-direction: column;
}
.men-nav.is-full .men-stage,
.men-nav.men-app--fullscreen .men-stage {
	flex: 1 1 auto;
	min-height: 0;
	margin-bottom: 8px;
	display: flex;
	flex-direction: column;
}
.men-nav.is-full .men-map,
.men-nav.men-app--fullscreen .men-map {
	flex: 1 1 auto;
	min-height: 0;
	height: auto;
	width: 100%;
}
.men-nav.is-full .men-boot,
.men-nav.men-app--fullscreen .men-boot {
	flex: 1;
	display: grid;
	place-items: center;
	min-height: 0;
}
.men-nav.is-full .men-top,
.men-nav.men-app--fullscreen .men-top {
	flex: 0 0 auto;
}

/* Bejelentkezett szerkesztőnél a WordPress admin sáv alá csúszunk. */
.men-nav.is-full.has-adminbar,
.men-nav.men-app--fullscreen.has-adminbar {
	top: 32px;
	height: calc(100vh - 32px);
	height: calc(100dvh - 32px);
}
@media screen and (max-width: 782px) {
	.men-nav.is-full.has-adminbar,
	.men-nav.men-app--fullscreen.has-adminbar {
		top: 46px;
		height: calc(100vh - 46px);
		height: calc(100dvh - 46px);
	}
}

.men-app { display: flex; flex-direction: column; min-height: 0; }
.men-nav *, .men-nav *::before, .men-nav *::after { box-sizing: border-box; }

/* Téma-védelem nulla súllyal – a saját osztályok így nyerhetnek. */
:where(.men-nav) :where(h2, h3, p, ul, li, button, a, span, b, i, em, svg, img) {
	margin: 0; padding: 0; border: 0; background: none;
	font-family: inherit; font-style: normal; text-transform: none;
	letter-spacing: normal; box-shadow: none; float: none; max-width: none;
	color: inherit;
}
:where(.men-nav) :where(a, a:hover, a:visited, a:focus) { text-decoration: none; }
:where(.men-nav) :where(button) { -webkit-appearance: none; appearance: none; cursor: pointer; }
:where(.men-nav) :where(img) { height: auto; }
.men-nav :focus-visible { outline: 3px solid var(--men-accent); outline-offset: 2px; }
.men-nav svg { fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }

/* ================= indító képernyő ================= */
.men-boot-inner { padding: 34px 22px; text-align: center; }
.men-eyebrow {
	display: block; font-size: 11px; font-weight: 800;
	letter-spacing: .2em; text-transform: uppercase; color: var(--men-accent);
}
.men-nav .men-boot-title {
	margin: 10px 0 12px; font-size: 30px; line-height: 1.02;
	letter-spacing: -.02em; font-weight: 900; text-transform: uppercase; color: var(--men-text);
}
.men-boot-text { margin: 0 auto 24px; color: var(--men-muted); font-size: 15px; max-width: 34ch; }

.men-btn {
	display: inline-flex; align-items: center; justify-content: center;
	min-height: 52px; padding: 0 24px; border-radius: 999px;
	font-size: 13px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase;
	transition: transform .12s ease;
}
.men-btn:active { transform: scale(.97); }
.men-btn[disabled] { opacity: .5; }

/* ================= felső sáv ================= */
.men-top { display: flex; align-items: center; gap: 10px; padding: 10px 12px; min-height: 56px; }
.men-top-title {
	flex: 1; text-align: center; font-size: 12px; font-weight: 800;
	text-transform: uppercase; letter-spacing: .06em; color: var(--men-muted);
	white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.men-top-spacer { width: 40px; flex: 0 0 auto; }
.men-top-back svg { width: 17px; height: 17px; stroke-width: 2.6; }

/* ================= térkép ================= */
.men-stage { position: relative; margin: 0 10px 10px; min-height: 0; }
.men-map {
	position: relative; height: var(--men-map-h);
	background: var(--men-solid); overflow: hidden;
	border-radius: var(--men-r); box-shadow: var(--men-shadow);
	touch-action: none; user-select: none;
	min-height: 0;
}
.men-map-empty { display: grid; place-items: center; color: var(--men-muted); font-size: 14px; }
.men-map-inner { position: absolute; left: 0; top: 0; width: 100%; height: 100%; transform-origin: 0 0; will-change: transform; }
.men-map-stage { position: absolute; left: 0; top: 0; }
/* Méretet a JS állítja aránytartóan – ne nyújtsuk szét a képet. */
.men-map-img {
	display: block; width: 100%; height: 100%;
	object-fit: contain; object-position: center;
	-webkit-user-drag: none;
}
.men-map-layer { position: absolute; inset: 0; --men-inv: 1; }
.men-map-layer > * { position: absolute; transform: translate(-50%, -50%) scale(var(--men-inv)); }

.men-pin { display: block; padding: 8px; margin: -8px; cursor: pointer; }
.men-pin b {
	display: grid; place-items: center; width: 34px; height: 34px;
	border-radius: 50%; background: var(--c); color: #fff;
	box-shadow: 0 0 0 2.5px var(--men-ring), 0 3px 9px rgba(0,0,0,.3);
	transition: width .16s ease, height .16s ease;
}
.men-pin b svg, .men-pin b img { width: 20px; height: 20px; display: block; object-fit: contain; }
.men-pin.is-active b {
	width: 48px; height: 48px;
	box-shadow: 0 0 0 3px var(--men-ring), 0 0 0 9px color-mix(in srgb, var(--c) 30%, transparent), 0 5px 14px rgba(0,0,0,.35);
}
.men-pin.is-active b svg, .men-pin.is-active b img { width: 27px; height: 27px; }

.men-you-dot {
	display: block; width: 18px; height: 18px; border-radius: 50%;
	background: var(--men-grad);
	box-shadow: 0 0 0 3px var(--men-ring), 0 2px 10px rgba(236,30,134,.55);
	animation: men-pulse 2.4s ease-out infinite;
}
.men-you-acc {
	height: 0; border-radius: 50%;
	background: color-mix(in srgb, var(--men-accent) 12%, transparent);
	border: 1px solid color-mix(in srgb, var(--men-accent) 30%, transparent);
	pointer-events: none;
}
@keyframes men-pulse {
	0%, 100% { box-shadow: 0 0 0 3px var(--men-ring), 0 0 0 0 color-mix(in srgb, var(--men-accent) 40%, transparent); }
	60% { box-shadow: 0 0 0 3px var(--men-ring), 0 0 0 18px transparent; }
}

/* ================= állapotsáv ================= */
.men-status {
	position: absolute; left: 12px; right: 12px; top: 12px; z-index: 4;
	padding: 9px 14px; border-radius: 999px; text-align: center;
	background: var(--men-veil); color: var(--men-muted);
	font-size: 12px; font-weight: 600; box-shadow: var(--men-shadow);
}

/* ================= nagyítás ================= */
.men-zoom {
	position: absolute; right: 12px; bottom: 108px; z-index: 4;
	display: flex; flex-direction: column; align-items: flex-end; gap: 8px;
}
.men-zoom svg { width: 20px; height: 20px; }

/* a + és a − egyetlen pirulában, ahogy a térképalkalmazásokban megszokott */
.men-zoom-pill {
	display: flex; flex-direction: column;
	border-radius: 14px; overflow: hidden;
	background: var(--men-veil); box-shadow: var(--men-shadow);
	backdrop-filter: blur(10px);
}
.men-zoom-sep { height: 1px; background: var(--men-line); }

/* ================= alsó gombok ================= */
.men-fab-menu svg { width: 20px; height: 20px; stroke-width: 2.4; }

/* ================= iránytű ================= */
.men-compass { position: relative; }
.men-compass-ring {
	position: absolute; inset: 0; border-radius: 50%;
	box-shadow: inset 0 0 0 2px var(--men-line);
	transition: transform .3s cubic-bezier(.2,.8,.3,1);
}
.men-compass-ring i {
	position: absolute; left: 50%; top: 3px; transform: translateX(-50%);
	font-size: 9px; font-weight: 800; color: var(--men-muted);
}
.men-compass-needle {
	position: absolute; inset: 0; display: grid; place-items: center;
	transition: transform .3s cubic-bezier(.2,.8,.3,1);
}
.men-compass-needle svg { width: 26px; height: 26px; fill: var(--c, var(--men-accent)); stroke: none; }
.men-compass.is-idle .men-compass-needle svg { fill: var(--men-muted); opacity: .75; }
.men-compass-tag {
	position: absolute; left: 50%; bottom: 7px; transform: translateX(-50%);
	font-size: 10px; font-weight: 900; letter-spacing: .04em; color: var(--men-muted);
}

/* kijelöléskor megnő */
.men-nav .men-fab-compass.is-on { width: 84px; height: 84px; }
.men-fab-compass.is-on .men-compass-needle svg { width: 34px; height: 34px; }
.men-fab-compass.is-on .men-compass-tag { color: var(--c, var(--men-accent)); font-size: 11px; }
.men-fab-compass.is-bump { animation: men-bump .45s cubic-bezier(.2,.9,.3,1); }
@keyframes men-bump { 0% { transform: scale(.82); } 55% { transform: scale(1.1); } 100% { transform: scale(1); } }

/* ================= kiválasztott helyszín kártyája ================= */
.men-card {
	position: absolute; left: 12px; right: 12px; bottom: 110px; z-index: 5;
	display: flex; align-items: center; gap: 12px;
	padding: 12px 12px 12px 14px; border-radius: 18px;
	background: var(--men-veil); box-shadow: var(--men-shadow);
	backdrop-filter: blur(12px);
	animation: men-rise .18s cubic-bezier(.2,.8,.3,1);
}
.men-card-ico {
	display: grid; place-items: center; width: 44px; height: 44px; flex: 0 0 auto;
	border-radius: 50%; background: var(--c); color: #fff;
}
.men-card-ico svg, .men-card-ico img { width: 23px; height: 23px; object-fit: contain; }
.men-card-text { flex: 1; min-width: 0; }
.men-card-dist { display: block; font-size: 25px; font-weight: 900; letter-spacing: -.03em; line-height: 1.05; }
.men-card-name {
	display: block; font-size: 13px; font-weight: 800; text-transform: uppercase; letter-spacing: .03em;
	white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.men-card-sub { display: block; font-size: 12.5px; color: var(--men-muted); }
.men-card-x { width: 36px; height: 36px; flex: 0 0 auto; display: grid; place-items: center; }
.men-card-x svg { width: 15px; height: 15px; stroke-width: 2.2; }

/* ================= menü ================= */
.men-sheet { position: absolute; inset: 10px; z-index: 20; display: flex; flex-direction: column; justify-content: flex-end; }
.men-sheet-veil { position: absolute; inset: -10px; background: rgba(20,6,14,.5); animation: men-fade .16s ease; }
@keyframes men-fade { from { opacity: 0; } }
@keyframes men-rise { from { transform: translateY(14px); opacity: .4; } }

/* Egyetlen görgetőelem: maga a panel. Ragadó fejléccel.
   A beágyazott görgető (panel + belső törzs) iOS-en megbízhatatlan, ezért nincs. */
.men-sheet-panel {
	position: relative; z-index: 1;
	display: block;
	max-height: 100%;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	overscroll-behavior: contain;
	touch-action: pan-y;
	background: var(--men-veil);
	border-radius: var(--men-r);
	box-shadow: 0 -10px 30px rgba(0,0,0,.3);
	animation: men-rise .2s cubic-bezier(.2,.8,.3,1);
}
.men-sheet-head {
	position: sticky; top: 0; z-index: 2;
	display: flex; align-items: center; gap: 8px; padding: 14px 12px 10px;
	background: var(--men-veil);
}
.men-sheet-head > span {
	flex: 1; font-size: 12px; font-weight: 900;
	letter-spacing: .14em; text-transform: uppercase; color: var(--men-text);
}
.men-sheet-back svg, .men-sheet-x svg { width: 16px; height: 16px; stroke-width: 2.2; }

/* A törzs már nem görgető, csak tartalom. */
.men-nav .men-sheet-body {
	display: flex !important; flex-direction: column; gap: 8px;
	padding: 0 12px 8px;
	overflow: visible !important;
	max-height: none !important;
	touch-action: pan-y;
}
/* a lenyitott kategória tartalma is engedje a függőleges húzást */
.men-nav .men-catwrap, .men-nav .men-poilist, .men-nav .men-poi,
.men-nav .men-cat, .men-nav .men-home { touch-action: pan-y; }
.men-sheet-foot { padding: 8px 12px 16px; text-align: center; }
.men-build { display: block; margin-top: 8px; font-size: 10px; letter-spacing: .1em; color: var(--men-muted); opacity: .55; }
.men-empty { padding: 24px 8px; text-align: center; color: var(--men-muted); font-size: 14px; }

/* haza akarok menni */
.men-home-ico {
	display: grid; place-items: center; width: 44px; height: 44px; flex: 0 0 auto;
	border-radius: 50%; background: var(--men-grad); color: #fff;
}
.men-home-ico svg { width: 23px; height: 23px; }
.men-home-text { flex: 1; min-width: 0; }
.men-home-text b { display: block; font-size: 15px; font-weight: 900; text-transform: uppercase; letter-spacing: .03em; }
.men-home-text i { display: block; font-size: 12.5px; opacity: .7; }
.men-home > svg { width: 18px; height: 18px; flex: 0 0 auto; opacity: .6; }

/* kategória sor */
.men-catwrap { border-radius: 18px; background: var(--men-solid); box-shadow: 0 2px 10px rgba(120,50,90,.10); overflow: hidden; }
.men-cat-ico {
	display: grid; place-items: center; width: 44px; height: 44px; flex: 0 0 auto;
	border-radius: 50%; background: var(--c); color: #fff;
}
.men-cat-ico svg, .men-cat-ico img { width: 23px; height: 23px; object-fit: contain; }
.men-cat-main { flex: 1; min-width: 0; }
.men-cat-main b {
	display: block; font-size: 15px; font-weight: 900; text-transform: uppercase; letter-spacing: .02em;
	white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.men-cat-main i { display: block; font-size: 12.5px; color: var(--men-muted); }
.men-cat-dist { flex: 0 0 auto; font-size: 16px; font-weight: 900; letter-spacing: -.02em; color: var(--c); }
.men-cat-chev { flex: 0 0 auto; display: grid; place-items: center; width: 22px; color: var(--men-muted); }
.men-cat-chev svg { width: 18px; height: 18px; stroke-width: 2.6; transition: transform .18s ease; }
.men-cat.is-open .men-cat-chev svg { transform: rotate(180deg); }

/* helyszínek a kategórián belül */
.men-poilist { padding: 0 8px 8px; display: flex; flex-direction: column; gap: 5px; }
.men-poi-dot { width: 9px; height: 9px; border-radius: 50%; background: var(--c); flex: 0 0 auto; }
.men-poi-main { flex: 1; min-width: 0; }
.men-poi-main b { display: block; font-size: 14px; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.men-poi-main i { display: block; font-size: 12px; color: var(--men-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.men-poi-dist { flex: 0 0 auto; text-align: right; font-size: 15px; font-weight: 900; letter-spacing: -.02em; color: var(--men-accent); }
.men-poi-dist em { display: block; font-size: 10.5px; font-weight: 800; color: var(--men-muted); letter-spacing: .06em; }

.men-themebtn svg { width: 17px; height: 17px; }

/* ================= vezetés mód ================= */
.men-guide { position: absolute; inset: 0; z-index: 30; display: grid; place-items: center; }
.men-guide-veil { position: absolute; inset: 0; background: var(--men-veil); backdrop-filter: blur(12px); border-radius: var(--men-r); }
.men-guide-inner { position: relative; z-index: 1; text-align: center; padding: 20px; width: 100%; }
.men-guide-compass { width: min(56vw, 210px); height: min(56vw, 210px); margin: 0 auto 18px; display: block; }
.men-guide-compass .men-compass-ring { box-shadow: inset 0 0 0 3px var(--men-line); }
.men-guide-compass .men-compass-ring i { font-size: 13px; top: 8px; }
.men-guide-compass .men-compass-needle svg { width: 84px; height: 84px; filter: drop-shadow(0 6px 14px rgba(0,0,0,.25)); }
.men-guide-dist { display: block; font-size: 42px; font-weight: 900; letter-spacing: -.04em; line-height: 1; }
.men-guide-name { display: block; margin-top: 8px; font-size: 14px; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; }
.men-guide-sub { display: block; margin-top: 6px; font-size: 13px; color: var(--men-muted); }
.men-guide-actions { display: flex; gap: 8px; justify-content: center; margin-top: 22px; flex-wrap: wrap; }

/* ================= kis kijelző ================= */
@media (max-width: 380px) {
	.men-card { bottom: 104px; }
	.men-zoom { bottom: 100px; }
	.men-card-dist { font-size: 22px; }
	.men-top-title { display: none; }
}

@media (prefers-reduced-motion: reduce) {
	.men-nav *, .men-nav *::before { animation: none !important; transition: none !important; }
}

/* ==========================================================================
   PÁNCÉL
   A widget bármilyen témába kerülhet, ami gombokat színez, linkeket aláhúz,
   pozíciót ír felül. Ezek a szabályok garantálják a működést.
   ========================================================================== */

.men-nav .men-pin,
.men-nav .men-pin b {
	background-image: none !important;
	border: 0 !important;
	outline: 0 !important;
	min-width: 0 !important; min-height: 0 !important;
}
.men-nav .men-pin { background: none !important; border-radius: 0 !important; box-shadow: none !important; }
.men-nav .men-pin b { background-color: var(--c) !important; border-radius: 50% !important; color: #fff !important; }

/* Alsó gombok helyben maradnak */
.men-nav .men-fab {
	position: absolute !important; bottom: 14px !important; z-index: 6 !important;
	display: inline-flex !important; align-items: center; justify-content: center;
	box-shadow: var(--men-shadow) !important; border: 0 !important;
	transition: width .18s ease, height .18s ease, transform .2s ease;
}
.men-nav .men-fab-menu {
	left: 14px !important; right: auto !important;
	gap: 9px; height: 56px; padding: 0 22px 0 18px;
	border-radius: 999px !important;
	background: var(--men-ink) !important; color: var(--men-on-ink) !important;
	font-size: 13px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase;
}
.men-nav .men-fab-compass {
	right: 14px !important; left: auto !important;
	width: 62px; height: 62px; padding: 0;
	border-radius: 50% !important;
	background: var(--men-solid) !important; color: var(--men-text) !important;
	opacity: 1 !important;
}

/* Gombok, linkek alapállapota */
.men-nav .men-btn,
.men-nav .men-top-back,
.men-nav .men-home,
.men-nav .men-cat,
.men-nav .men-poi,
.men-nav .men-themebtn,
.men-nav .men-zoom button,
.men-nav .men-card-x,
.men-nav .men-sheet-back,
.men-nav .men-sheet-x {
	text-decoration: none !important; text-shadow: none !important;
	font-family: inherit !important; border: 0 !important; outline: 0 !important;
	background-image: none !important;
}

.men-nav .men-top-back {
	display: inline-flex !important; align-items: center; gap: 6px; flex: 0 0 auto;
	min-height: 42px; padding: 0 16px 0 12px; border-radius: 999px !important;
	background: var(--men-solid) !important; color: var(--men-text) !important;
	font-size: 12px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase;
	box-shadow: var(--men-shadow) !important;
}

.men-nav .men-btn-primary { background: var(--men-ink) !important; color: var(--men-on-ink) !important; }
.men-nav .men-btn-ghost { background: transparent !important; color: var(--men-text) !important; box-shadow: inset 0 0 0 1.5px var(--men-line) !important; }

.men-nav .men-zoom-pill button {
	width: 46px; height: 46px; border-radius: 0 !important;
	background: transparent !important; color: var(--men-text) !important;
	display: grid !important; place-items: center; box-shadow: none !important;
}
.men-nav .men-zoom-pill button:disabled { opacity: .3; cursor: default; }
.men-nav .men-zoom-pill button:active:not(:disabled) { background: var(--men-soft) !important; }

.men-nav .men-zoom-locate {
	width: 46px; height: 46px; border-radius: 50% !important;
	background: var(--men-veil) !important; color: var(--men-text) !important;
	display: grid !important; place-items: center; box-shadow: var(--men-shadow) !important;
	backdrop-filter: blur(10px);
}
.men-nav .men-zoom-locate:active { transform: scale(.94); }

.men-nav .men-home {
	display: flex !important; align-items: center; gap: 13px; width: 100%;
	min-height: 70px; padding: 12px 16px; border-radius: 18px !important;
	background: var(--men-ink) !important; color: var(--men-on-ink) !important; text-align: left;
}
.men-nav .men-home-text b, .men-nav .men-home-text i { color: var(--men-on-ink) !important; }

.men-nav .men-cat {
	display: flex !important; align-items: center; gap: 13px; width: 100%;
	min-height: 70px; padding: 12px 14px; background: transparent !important; text-align: left;
	color: var(--men-text) !important; border-radius: 0 !important;
}
.men-nav .men-cat-main b { color: var(--men-text) !important; }
.men-nav .men-cat-main i { color: var(--men-muted) !important; }
.men-nav .men-cat-dist { color: var(--c) !important; }

.men-nav .men-poi {
	display: flex !important; align-items: center; gap: 11px; width: 100%;
	min-height: 56px; padding: 9px 12px; border-radius: 13px !important; text-align: left;
	background: var(--men-soft) !important; color: var(--men-text) !important;
}
.men-nav .men-poi.is-on { background: color-mix(in srgb, var(--c) 18%, transparent) !important; box-shadow: inset 0 0 0 1.5px var(--c) !important; }
.men-nav .men-poi-main b { color: var(--men-text) !important; }
.men-nav .men-poi-main i { color: var(--men-muted) !important; }
.men-nav .men-poi-dist { color: var(--men-accent) !important; }
.men-nav .men-poi-dist em { color: var(--men-muted) !important; }

.men-nav .men-sheet-back, .men-nav .men-sheet-x, .men-nav .men-card-x {
	display: grid !important; place-items: center; width: 38px; height: 38px; flex: 0 0 auto;
	border-radius: 50% !important; color: var(--men-muted) !important;
	background: var(--men-soft) !important;
}

.men-nav .men-themebtn {
	display: flex !important; align-items: center; justify-content: center; gap: 8px; width: 100%;
	min-height: 48px; border-radius: 999px !important; background: transparent !important;
	box-shadow: inset 0 0 0 1.5px var(--men-line) !important; color: var(--men-muted) !important;
	font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase;
}

.men-nav .men-card-dist, .men-nav .men-card-name,
.men-nav .men-guide-dist, .men-nav .men-guide-name { color: var(--men-text) !important; }
.men-nav .men-card-sub, .men-nav .men-guide-sub { color: var(--men-muted) !important; }


/* A rejtés MINDENT megelőz. A páncél display szabályai ugyanolyan súlyúak voltak,
   és a fájl végén álltak, ezért a rejtett elemek (menü, vissza gomb) látszottak. */
.men-nav [hidden][hidden],
.men-nav [hidden][hidden] { display: none !important; }

/* ==========================================================================
   IKONGOMB PÁNCÉL
   A témák szinte mindig adnak a <button>-nak paddingot és min-height-ot.
   Ettől a kör ovális lesz, a belső igazítás elcsúszik, az SVG megnyúlik.
   Itt minden méret kötött, hogy ez ne fordulhasson elő.
   ========================================================================== */

.men-nav .men-zoom-locate,
.men-nav .men-zoom-pill button,
.men-nav .men-fab-compass,
.men-nav .men-sheet-x,
.men-nav .men-sheet-back,
.men-nav .men-card-x {
	padding: 0 !important;
	margin: 0 !important;
	border: 0 !important;
	min-width: 0 !important;
	min-height: 0 !important;
	max-width: none !important;
	max-height: none !important;
	line-height: 1 !important;
	font-size: 0 !important;          /* nincs szövegtartalom, ne toljon */
	box-sizing: border-box !important;
	display: grid !important;
	place-items: center !important;
	place-content: center !important;
	flex: 0 0 auto !important;
	overflow: hidden;
	-webkit-tap-highlight-color: transparent;
}

/* kötött, négyzetes külső méretek */
.men-nav .men-zoom-locate   { width: 46px !important; height: 46px !important; aspect-ratio: 1 / 1; }
.men-nav .men-zoom-pill button { width: 46px !important; height: 46px !important; aspect-ratio: 1 / 1; }
.men-nav .men-fab-compass   { width: 62px !important; height: 62px !important; aspect-ratio: 1 / 1; }
.men-nav .men-fab-compass.is-on { width: 84px !important; height: 84px !important; }
.men-nav .men-sheet-x,
.men-nav .men-sheet-back    { width: 38px !important; height: 38px !important; aspect-ratio: 1 / 1; }
.men-nav .men-card-x        { width: 36px !important; height: 36px !important; aspect-ratio: 1 / 1; }

.men-nav .men-zoom-pill {
	width: 46px !important; padding: 0 !important; margin: 0 !important;
	box-sizing: border-box !important;
}
.men-nav .men-zoom-sep { width: 100% !important; height: 1px !important; margin: 0 !important; }

/* Minden ikon pontosan négyzetes és soha nem nyúlik meg */
.men-nav svg,
.men-nav .men-pick-ico img,
.men-nav .men-cat-ico img,
.men-nav .men-card-ico img,
.men-nav .men-pin b img {
	display: block !important;
	flex: 0 0 auto !important;
	min-width: 0 !important;
	min-height: 0 !important;
	max-width: none !important;
	max-height: none !important;
	object-fit: contain !important;
	vertical-align: middle;
}

.men-nav .men-zoom svg          { width: 20px !important; height: 20px !important; }
.men-nav .men-fab-menu svg      { width: 20px !important; height: 20px !important; }
.men-nav .men-top-back svg      { width: 17px !important; height: 17px !important; }
.men-nav .men-sheet-x svg,
.men-nav .men-sheet-back svg    { width: 16px !important; height: 16px !important; }
.men-nav .men-card-x svg        { width: 15px !important; height: 15px !important; }
.men-nav .men-cat-chev svg      { width: 18px !important; height: 18px !important; }
.men-nav .men-themebtn svg      { width: 17px !important; height: 17px !important; }
.men-nav .men-home > svg        { width: 18px !important; height: 18px !important; }
.men-nav .men-home-ico svg      { width: 23px !important; height: 23px !important; }
.men-nav .men-cat-ico svg,  .men-nav .men-cat-ico img,
.men-nav .men-pick-ico svg, .men-nav .men-pick-ico img,
.men-nav .men-card-ico svg, .men-nav .men-card-ico img { width: 23px !important; height: 23px !important; }
.men-nav .men-pin b svg,   .men-nav .men-pin b img     { width: 20px !important; height: 20px !important; }
.men-nav .men-pin.is-active b svg,
.men-nav .men-pin.is-active b img                      { width: 27px !important; height: 27px !important; }
.men-nav .men-fab-compass .men-compass-needle svg      { width: 26px !important; height: 26px !important; }
.men-nav .men-fab-compass.is-on .men-compass-needle svg { width: 34px !important; height: 34px !important; }
.men-nav .men-guide-compass .men-compass-needle svg     { width: 84px !important; height: 84px !important; }

/* Az ikonkörök is kötött méretűek legyenek */
.men-nav .men-cat-ico, .men-nav .men-pick-ico, .men-nav .men-card-ico, .men-nav .men-home-ico {
	width: 44px !important; height: 44px !important; aspect-ratio: 1 / 1;
	padding: 0 !important; min-width: 0 !important; flex: 0 0 auto !important;
	display: grid !important; place-items: center !important; border-radius: 50% !important;
}
.men-nav .men-pin b {
	width: 34px !important; height: 34px !important; aspect-ratio: 1 / 1;
	padding: 0 !important; display: grid !important; place-items: center !important;
	border-radius: 50% !important; box-sizing: border-box !important;
}
.men-nav .men-pin.is-active b { width: 48px !important; height: 48px !important; }

/* Az iránytű gyűrűje és tűje pontosan a gombra feszül */
.men-nav .men-compass-ring,
.men-nav .men-compass-needle {
	position: absolute !important; inset: 0 !important;
	width: auto !important; height: auto !important;
	margin: 0 !important; padding: 0 !important;
}
.men-nav .men-compass-needle { display: grid !important; place-items: center !important; }

/* A font-size:0 a gombokon a feliratos elemeket is elnyelné, ezért visszaállítjuk */
.men-nav .men-compass-ring i { font-size: 9px !important; }
.men-nav .men-fab-compass .men-compass-tag { font-size: 10px !important; }
.men-nav .men-fab-compass.is-on .men-compass-tag { font-size: 11px !important; }
.men-nav .men-guide-compass .men-compass-ring i { font-size: 13px !important; }

/* Offline státusz + adatvédelmi szöveg */
.men-offline-status,
.men-nav .men-offline-status {
	position: fixed;
	left: 12px;
	right: 12px;
	bottom: calc(10px + env(safe-area-inset-bottom, 0px));
	z-index: 40;
	pointer-events: none;
	text-align: center;
	font: 600 12px/1.3 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
	color: #6E6E76;
}
.men-offline-status.is-on,
.men-nav .men-offline-status.is-on {
	display: block;
	background: rgba(255,255,255,.88);
	backdrop-filter: blur(8px);
	border-radius: 999px;
	padding: 8px 14px;
	max-width: 420px;
	margin: 0 auto;
	box-shadow: 0 4px 18px rgba(150,60,110,.12);
}
.men-nav.is-night .men-offline-status.is-on {
	background: rgba(42,24,37,.9);
	color: #E8D5DE;
}
.men-boot-privacy,
.men-boot-links {
	margin: 14px 0 0;
	font-size: 12px;
	line-height: 1.4;
	color: var(--men-muted, #6E6E76);
}
.men-boot-links a { color: var(--men-accent, #EC1E86); }

