/* ------------------------------------------------------------------
 * nav.css -- the site navigation (see js/nav.js).
 * Sticky in-theme bar: mensch wordmark links (coral hover), a persistent
 * booking cluster on the right (phone / WhatsApp / "Anfragen" CTA), and a
 * hamburger dropdown on phones. Non-destructive layer.
 * ------------------------------------------------------------------ */

.site-nav {
	position: sticky;
	top: 0;
	z-index: 50;
	width: 100%;
	/* Neutralize the theme's old `nav {}` rule (float:left, margin-top:110px,
	   padding-top:28px) which still targets this <nav> element. */
	float: none;
	margin: 0;
	padding: 0;
	background: #ece9d6 url(../img/nav-top.png) repeat-x top left;
	border-bottom: 1px solid #9d9b92;
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.12);
}

/* Anchor targets clear the sticky bar when jumped to. */
#band, #musik, #galerie, #posts-list, #kontakt, #newsletter {
	scroll-margin-top: 64px;
}
html { scroll-behavior: smooth; }

/* Flex row: links grow/centre, booking actions pinned right. */
.nav-inner {
	position: relative;
	display: flex;
	align-items: center;
	gap: 6px;
	max-width: 1000px;
	min-height: 52px;
	margin: 0 auto;
	padding: 0 10px;
}

.nav-menu {
	flex: 1 1 auto;
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0;
	padding: 0;
	list-style: none;
}
.nav-menu li { margin: 0; }
.nav-menu a {
	display: block;
	padding: 12px 16px;
	font-family: mensch, Tahoma, sans-serif;
	font-size: 22px;
	line-height: 1;
	color: #444;
	text-shadow: 0 1px 0 #fff;
	white-space: nowrap;
}
.nav-menu a:hover,
.nav-menu a:focus-visible,
.nav-menu a.is-current {
	color: #fff;
	text-shadow: 0 2px 0 rgba(0, 0, 0, 0.3);
	background: #e37655;
}

/* --- Booking actions (right cluster) ------------------------------ */
.nav-actions {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	gap: 6px;
}
.nav-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	color: #4d4d4d;
}
.nav-icon svg { width: 20px; height: 20px; fill: currentColor; display: block; }
.nav-icon:hover,
.nav-icon:focus-visible { color: #fff; background: #e37655; }

.nav-cta {
	display: inline-block;
	padding: 9px 18px;
	background: #e37655;
	border: 1px solid #ffa887;
	border-bottom: 1px solid #cf6241;
	border-radius: 3px;
	box-shadow: 2px 2px 0 0 rgba(0, 0, 0, 0.15);
	color: #fff;
	font-family: mensch, Tahoma, sans-serif;
	font-size: 19px;
	line-height: 1;
	letter-spacing: .03em;
	text-transform: uppercase;
	text-shadow: 0 1px 0 rgba(0, 0, 0, 0.35);
	white-space: nowrap;
}
.nav-cta:hover,
.nav-cta:focus-visible { background: #f98c6b; color: #fff; }
.nav-cta:active { transform: translate(2px, 2px); box-shadow: 1px 1px 0 0 rgba(0, 0, 0, .12); }

/* --- Hamburger (hidden on desktop) -------------------------------- */
.nav-toggle {
	display: none;
	flex: 0 0 auto;
	position: relative;
	width: 46px;
	height: 44px;
	padding: 0;
	background: transparent;
	border: 0;
	cursor: pointer;
}
.nav-toggle-bars,
.nav-toggle-bars::before,
.nav-toggle-bars::after {
	position: absolute;
	left: 11px;
	width: 24px;
	height: 3px;
	background: #4d4d4d;
	border-radius: 2px;
	transition: transform 0.2s ease, opacity 0.2s ease;
}
.nav-toggle-bars { top: 21px; }
.nav-toggle-bars::before { content: ""; top: -7px; }
.nav-toggle-bars::after  { content: ""; top: 7px; }

/* Open state -> X */
.nav-toggle[aria-expanded="true"] .nav-toggle-bars { background: transparent; }
.nav-toggle[aria-expanded="true"] .nav-toggle-bars::before { transform: translateY(7px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] .nav-toggle-bars::after  { transform: translateY(-7px) rotate(-45deg); }

/* --- Phone / narrow tablet: hamburger + dropdown, actions stay ---- */
@media (max-width: 767px) {
	.nav-inner { justify-content: space-between; }
	.nav-toggle { display: block; }
	/* Menu drops out of flow so the bar keeps [hamburger] ... [actions]. */
	.nav-menu {
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		flex: none;
		flex-direction: column;
		align-items: stretch;
		overflow: hidden;
		max-height: 0;
		background: #ece9d6 url(../img/nav-top.png) repeat-x top left;
		border-bottom: 1px solid #9d9b92;
		box-shadow: 0 6px 8px rgba(0, 0, 0, 0.14);
		transition: max-height 0.28s ease;
	}
	.nav-menu.is-open { max-height: 70vh; }
	.nav-menu li { border-top: 1px solid #d9d5c2; }
	.nav-menu a { text-align: center; padding: 14px 18px; }
	.nav-cta { font-size: 17px; padding: 8px 14px; }
}

/* Very narrow: drop the two icon buttons, keep the CTA (booking > all). */
@media (max-width: 400px) {
	.nav-actions .nav-icon { display: none; }
}
