/* ---- Hide the theme's own top menu bar + its native (unreliable) toggle —
   we render a fully independent hamburger + panel below instead. ---- */
#masthead .width-navigation,
#masthead .tm-table > .navbar-toggle {
	display: none !important;
}

/* Some themes hide the whole fixed header on scroll-down; keep it pinned
   regardless, so our button (which sits fixed above it) always reads
   against a consistent backdrop. */
#masthead {
	transform: none !important;
}

/* ---------------------------------------------------------------------- */
/* Hamburger button                                                        */
/* ---------------------------------------------------------------------- */
.gs-hb {
	position: fixed;
	top: 18px;
	right: 20px;
	--gs-hb-offset: 0px;
	top: calc(18px + var(--gs-hb-offset));
	z-index: 100050;
	width: 44px;
	height: 44px;
	padding: 0;
	border: none;
	background: rgba(12, 7, 5, 0.35);
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
	border-radius: 10px;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
}

.gs-hb-box {
	position: relative;
	width: 22px;
	height: 15px;
}

.gs-hb-line {
	position: absolute;
	left: 0;
	width: 100%;
	height: 2px;
	border-radius: 2px;
	background: #f6ead7;
	transition: transform 0.35s cubic-bezier(0.65, 0, 0.35, 1),
		opacity 0.35s cubic-bezier(0.65, 0, 0.35, 1),
		background-color 0.25s ease,
		top 0.35s cubic-bezier(0.65, 0, 0.35, 1);
}

.gs-hb-line--1 {
	top: 0;
}

.gs-hb-line--2 {
	top: 6.5px;
}

.gs-hb-line--3 {
	top: 13px;
}

@media (hover: hover) {
	.gs-hb:hover .gs-hb-line {
		background-color: #d8a84c;
	}
}

.gs-hb.is-active .gs-hb-line {
	background-color: #d8a84c;
}

.gs-hb.is-active .gs-hb-line--1 {
	top: 6.5px;
	transform: rotate(45deg);
}

.gs-hb.is-active .gs-hb-line--2 {
	opacity: 0;
	transform: scaleX(0);
}

.gs-hb.is-active .gs-hb-line--3 {
	top: 6.5px;
	transform: rotate(-45deg);
}

/* ---------------------------------------------------------------------- */
/* Backdrop + slide-out panel                                              */
/* ---------------------------------------------------------------------- */
.gs-nav-backdrop {
	position: fixed;
	inset: 0;
	background: rgba(6, 4, 3, 0.55);
	backdrop-filter: blur(2px);
	-webkit-backdrop-filter: blur(2px);
	z-index: 100040;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.35s ease;
}

.gs-nav-backdrop.is-active {
	opacity: 1;
	pointer-events: auto;
}

.gs-nav-panel {
	position: fixed;
	top: 0;
	right: 0;
	height: 100dvh;
	width: min(400px, 86vw);
	z-index: 100045;
	background: radial-gradient(circle at 85% 10%, rgba(216, 168, 76, 0.14), transparent 45%),
		linear-gradient(160deg, #1c1108 0%, #120b08 60%, #0c0705 100%);
	padding: 96px 32px 40px;
	overflow-y: auto;
	transform: translateX(100%);
	transition: transform 0.4s cubic-bezier(0.65, 0, 0.35, 1);
	box-shadow: -20px 0 60px rgba(0, 0, 0, 0.4);
}

.gs-nav-panel.is-active {
	transform: translateX(0);
}

.gs-nav-list {
	list-style: none;
	margin: 0 0 32px;
	padding: 0;
}

.gs-nav-item {
	border-bottom: 1px solid rgba(216, 168, 76, 0.12);
}

.gs-nav-item:first-child {
	border-top: 1px solid rgba(216, 168, 76, 0.12);
}

.gs-nav-item > a {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 15px 0;
	font-size: 20px;
	font-weight: 700;
	color: #f6ead7;
	text-decoration: none;
	transition: color 0.2s ease;
}

.gs-nav-item > a:hover {
	color: #d8a84c;
}

.gs-nav-badge {
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: #1a1109;
	background: #d8a84c;
	padding: 3px 8px;
	border-radius: 999px;
}

.gs-nav-sub {
	list-style: none;
	margin: 0 0 12px;
	padding: 0 0 0 16px;
}

.gs-nav-sub a {
	display: block;
	padding: 8px 0;
	font-size: 14.5px;
	font-weight: 500;
	color: #cdbda8;
	text-decoration: none;
	transition: color 0.2s ease;
}

.gs-nav-sub a:hover {
	color: #d8a84c;
}

.gs-nav-lang {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 14px;
	font-weight: 700;
}

.gs-nav-lang-chip {
	color: #cdbda8;
	text-decoration: none;
	transition: color 0.2s ease;
}

.gs-nav-lang-chip.is-active {
	color: #d8a84c;
}

.gs-nav-lang-sep {
	color: rgba(205, 189, 168, 0.4);
}

@media (prefers-reduced-motion: reduce) {
	.gs-hb-line,
	.gs-nav-backdrop,
	.gs-nav-panel {
		transition: none;
	}
}

/* Nudge below the WP admin bar when logged in, so it never overlaps —
   irrelevant for anonymous visitors, who never see the admin bar. */
body.admin-bar .gs-hb {
	--gs-hb-offset: 32px;
}

@media (max-width: 782px) {
	body.admin-bar .gs-hb {
		--gs-hb-offset: 46px;
	}
}
