/* ─────────────────────────────────────────────────────────
   Közös navigáció (fejléc + mobil menü)
   Minden B2B/B2C oldal-sablon ÉS a natív WooCommerce /fiokom/
   oldal ugyanezt a komponenst használja (lásd
   inc/template-parts/main-nav.php). Korábban 9 fájlban volt
   byte-azonos másolatban duplikálva — ez az egyetlen közös
   forrás mostantól.

   !important mindenhol a vizuálisan kritikus szabályokon:
   ugyanaz a betöltési sorrend probléma jelentkezett itt is,
   mint korábban a myaccount.css-nél — az OceanWP saját
   woo/woocommerce.min.css-e később nyomtatódhat ki, és azonos
   specificitás esetén felülírja a mi szabályainkat. A 999-es
   enqueue-prioritás (functions.php) önmagában nem volt elég
   védelem, ezért itt is !important-tal védjük a kritikus
   szabályokat, ugyanúgy, mint a myaccount.css-ben.
───────────────────────────────────────────────────────── */

.site-nav {
	position: fixed !important;
	top: 0 !important; left: 0 !important; right: 0 !important;
	z-index: 1000 !important;
	background: rgba(10, 10, 10, 0.92) !important;
	backdrop-filter: blur(10px) !important;
	border-bottom: 1px solid rgba(201, 162, 39, 0.15) !important;
}
.site-nav__inner {
	max-width: 1280px !important;
	margin: 0 auto !important;
	height: 76px !important;
	padding: 0 28px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
}
.site-nav__logo img {
	height: 52px !important;
	width: auto !important;
	display: block !important;
	filter: drop-shadow(0 0 8px rgba(201, 162, 39, 0.4)) brightness(1.1) !important;
}
.site-nav__menu {
	display: flex !important;
	align-items: center !important;
	gap: 36px !important;
}
.site-nav__menu a:not(.site-nav__cart):not(.site-nav__account-btn) {
	font-family: 'Montserrat', sans-serif !important;
	font-size: 0.82rem !important;
	font-weight: 500 !important;
	letter-spacing: 0.08em !important;
	text-transform: uppercase !important;
	color: var(--cream-dim) !important;
	text-decoration: none !important;
	transition: color 0.25s ease;
	position: relative;
}
.site-nav__menu a:not(.site-nav__cart):not(.site-nav__account-btn):hover {
	color: var(--gold-light) !important;
}

/* ── Account CTA (csak show_account_button = true esetén jelenik meg) ── */
.site-nav__account-btn {
	display: inline-flex !important;
	align-items: center !important;
	gap: 10px !important;
	padding: 15px 38px !important;
	border-radius: 2px !important;
	font-family: 'Montserrat', sans-serif !important;
	font-size: 0.82rem !important;
	font-weight: 600 !important;
	letter-spacing: 0.16em !important;
	text-transform: uppercase !important;
	text-decoration: none !important;
	transition: all 0.3s ease;
	cursor: pointer !important;
	border: 1px solid var(--gold) !important;
	background: linear-gradient(135deg, var(--gold-light), var(--gold)) !important;
	color: var(--bg-black) !important;
}
.site-nav__account-btn:hover {
	box-shadow: 0 0 28px rgba(201, 162, 39, 0.45);
	transform: translateY(-2px);
	color: var(--bg-black) !important;
}
.site-nav__account-btn--small {
	padding: 11px 26px !important;
	font-size: 0.72rem !important;
}

.site-nav__cart {
	position: relative !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 22px !important;
	height: 22px !important;
	color: var(--gold-light) !important;
}
.site-nav__cart svg {
	width: 22px !important;
	height: 22px !important;
	fill: none !important;
	stroke: currentColor !important;
	stroke-width: 1.6 !important;
}
.site-nav__cart-count {
	position: absolute !important;
	top: -8px !important;
	right: -10px !important;
	min-width: 16px !important;
	height: 16px !important;
	padding: 0 4px !important;
	border-radius: 8px !important;
	background: var(--gold) !important;
	color: var(--bg-black) !important;
	font-family: 'Montserrat', sans-serif !important;
	font-size: 0.62rem !important;
	font-weight: 700 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	line-height: 1 !important;
}
.site-nav__burger {
	display: none;
	flex-direction: column !important;
	justify-content: center !important;
	align-items: center !important;
	gap: 5px !important;
	width: 28px !important;
	height: 22px !important;
	background: none !important;
	border: none !important;
	padding: 0 !important;
	cursor: pointer !important;
}
.site-nav__burger span {
	display: block !important;
	height: 2px !important;
	width: 100% !important;
	background: var(--gold-light) !important;
	transition: transform 0.3s ease, opacity 0.3s ease;
}
.site-nav__burger.active span:nth-child(1) {
	transform: translateY(7px) rotate(45deg) !important;
}
.site-nav__burger.active span:nth-child(2) {
	opacity: 0 !important;
}
.site-nav__burger.active span:nth-child(3) {
	transform: translateY(-7px) rotate(-45deg) !important;
}

/* ── Mobile menu overlay ─────────────────────────────────── */
.site-mobile-menu {
	position: fixed !important;
	inset: 0 !important;
	z-index: 1200 !important;
	background: rgba(0, 0, 0, 0.6) !important;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.3s ease, visibility 0.3s ease;
}
.site-mobile-menu.open {
	opacity: 1 !important;
	visibility: visible !important;
}
.site-mobile-menu__panel {
	position: absolute !important;
	top: 0 !important; right: 0 !important; bottom: 0 !important;
	width: min(320px, 82vw) !important;
	background: #1a1710 !important;
	border-left: 1px solid rgba(201, 162, 39, 0.25) !important;
	box-shadow: -12px 0 40px rgba(0, 0, 0, 0.5) !important;
	transform: translateX(100%);
	transition: transform 0.35s ease;
	padding: 22px 28px 40px !important;
	display: flex !important;
	flex-direction: column !important;
	overflow-y: auto !important;
}
.site-mobile-menu.open .site-mobile-menu__panel {
	transform: translateX(0) !important;
}
.site-mobile-menu__close {
	align-self: flex-end !important;
	background: none !important;
	border: none !important;
	color: var(--cream) !important;
	font-size: 2rem !important;
	line-height: 1 !important;
	cursor: pointer !important;
	padding: 4px 8px !important;
	margin: 0 0 24px !important;
}
.site-mobile-menu__close:hover {
	color: var(--gold-light) !important;
}
.site-mobile-menu__links {
	display: flex !important;
	flex-direction: column !important;
	gap: 24px !important;
}
.site-mobile-menu__links a:not(.site-nav__account-btn) {
	font-family: 'Montserrat', sans-serif !important;
	font-size: 1rem !important;
	font-weight: 500 !important;
	letter-spacing: 0.06em !important;
	text-transform: uppercase !important;
	color: var(--cream) !important;
	text-decoration: none !important;
	transition: color 0.25s ease;
}
.site-mobile-menu__links a:not(.site-nav__account-btn):hover {
	color: var(--gold-light) !important;
}
.site-mobile-menu__links .site-nav__account-btn {
	align-self: flex-start !important;
}
.site-mobile-menu__cart {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
}
.site-mobile-menu__cart svg {
	width: 20px !important;
	height: 20px !important;
	fill: none !important;
	stroke: currentColor !important;
	stroke-width: 1.6 !important;
}
.site-mobile-menu__cart-count {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-width: 18px !important;
	height: 18px !important;
	padding: 0 5px !important;
	border-radius: 9px !important;
	background: var(--gold) !important;
	color: var(--bg-black) !important;
	font-family: 'Montserrat', sans-serif !important;
	font-size: 0.68rem !important;
	font-weight: 700 !important;
}

/* ── WP admin toolbar (#wpadminbar) kompenzáció ─────────────────────
   A #wpadminbar is position:fixed; top:0, ugyanúgy, mint a .site-nav —
   bejelentkezett adminként ezért a kettő egymásra csúszik, és a nav
   teteje levágva jelenik meg. A body.admin-bar class-t maga a WP core
   adja hozzá a <body>-hoz, amikor a toolbar látható. */
body.admin-bar .site-nav {
	top: 32px !important;
}
body.admin-bar .site-mobile-menu {
	top: 32px !important;
}
@media (max-width: 782px) {
	/* A WP admin bar saját reszponzív töréspontja: 782px alatt 46px
	   magas (kétsoros elrendezés mobilon), nem 32px. */
	body.admin-bar .site-nav {
		top: 46px !important;
	}
	body.admin-bar .site-mobile-menu {
		top: 46px !important;
	}
}

/* ── Responsive ───────────────────────────────────────── */
@media (max-width: 900px) {
	.site-nav__burger {
		display: flex !important;
	}
	.site-nav__menu {
		display: none !important;
	}
}
