/* Shared header + footer for every page of jaipur.no (homepage and subpages).
   The markup is generated by tools/build_site.py (shared_header / shared_footer),
   so all pages are identical. Classes are prefixed sh- so the old theme's
   styles can't touch them. */
.sh-header, .sh-footer {
	--sh-night: #0c1315;
	--sh-gold: #c6a270;
	--sh-gold-soft: #d6b588;
	--sh-line: rgba(198, 162, 112, .38);
	--sh-line-faint: rgba(198, 162, 112, .18);
	--sh-ivory: #efe8dc;
	--sh-muted: #a9a196;
	--sh-display: "Marcellus", "Iowan Old Style", Georgia, serif;
	--sh-text: "Josefin Sans", "Helvetica Neue", Arial, sans-serif;
	box-sizing: border-box;
}
.sh-header *, .sh-footer * { box-sizing: border-box; }

/* ---------------------------------------------------------------- header */
.sh-header { position: relative; z-index: 9000; background: var(--sh-night); border-bottom: 1px solid var(--sh-line); }
.sh-header-inner {
	display: flex;
	align-items: center;
	gap: 24px;
	max-width: 1440px;
	min-height: 110px;
	margin: 0 auto;
	padding: 0 38px;
}
.sh-logo { display: block; flex: 0 0 auto; }
.sh-logo img { display: block; width: 167px; height: auto; }
.sh-nav { flex: 1; display: flex; justify-content: center; flex-wrap: wrap; gap: 6px 26px; }
.sh-nav a {
	position: relative;
	padding: 8px 0;
	font: 300 14px/1 "Open Sans Condensed", "Arial Narrow", sans-serif;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: #fff;
	text-decoration: none;
}
.sh-nav a:hover { color: var(--sh-gold); }
.sh-nav a[aria-current="page"]::after {
	content: "";
	position: absolute;
	left: 0; right: 0; bottom: -2px;
	height: 3px;
	border-top: 1px solid var(--sh-gold);
	border-bottom: 1px solid var(--sh-gold);
}
.sh-nav .sh-nav-lang { display: none; }
.sh-actions { display: flex; align-items: center; gap: 12px; flex: 0 0 auto; }
.sh-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 0 20px;
	background: var(--sh-gold);
	border: 1px solid var(--sh-gold);
	color: var(--sh-night);
	font: 600 12px/1 var(--sh-text);
	letter-spacing: .16em;
	text-transform: uppercase;
	white-space: nowrap;
	text-decoration: none;
	transition: background-color .2s ease;
}
.sh-btn:hover { background: var(--sh-gold-soft); color: var(--sh-night); }
.sh-lang {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	min-width: 52px;
	padding: 0 14px;
	border: 1px solid var(--sh-line);
	color: var(--sh-gold);
	font: 600 12px/1 var(--sh-text);
	letter-spacing: .14em;
	text-decoration: none;
}
.sh-lang:hover { border-color: var(--sh-gold); color: var(--sh-gold); }
.sh-menu-toggle { display: none; }

@media (max-width: 1024px) {
	.sh-header { position: sticky; top: 0; }
	.sh-header-inner { min-height: 70px; padding: 0 22px; justify-content: space-between; }
	.sh-logo img { width: 128px; }
	/* phones: the booking bar covers "Book a table", so only the language switch stays, next to the menu button */
	.sh-header-inner { gap: 14px; }
	.sh-actions { margin-left: auto; }
	.sh-actions .sh-btn { display: none; }
	.sh-lang { min-height: 40px; min-width: 48px; padding: 0 12px; }
	.sh-menu-toggle {
		display: flex; flex-direction: column; align-items: flex-end; gap: 6px;
		width: 44px; height: 44px; padding: 11px 4px; border: 0; background: none; cursor: pointer;
	}
	.sh-menu-toggle span { display: block; height: 1px; background: var(--sh-gold); }
	.sh-menu-toggle span:nth-child(1) { width: 26px; }
	.sh-menu-toggle span:nth-child(2) { width: 34px; }
	.sh-menu-toggle span:nth-child(3) { width: 22px; }
	.sh-nav {
		display: none; position: fixed; inset: 70px 0 0 0;
		flex-direction: column; flex-wrap: nowrap; justify-content: flex-start; gap: 0;
		padding: 14px 22px 40px; background: var(--sh-night); border-top: 1px solid var(--sh-line); overflow-y: auto;
	}
	.sh-menu-open .sh-nav { display: flex; }
	.sh-menu-open, .sh-menu-open body { overflow: hidden; }
	/* locking the scroll makes the sticky header jump back to the top of the page (out of view
	   once you've scrolled), so pin it to the screen while the menu is open */
	.sh-menu-open .sh-header { position: fixed; top: 0; left: 0; right: 0; }
	.sh-nav a {
		padding: 15px 0; border-bottom: 1px solid var(--sh-line-faint);
		font: 400 22px/1.2 var(--sh-display); letter-spacing: .02em; text-transform: none; color: var(--sh-ivory);
	}
	.sh-nav a[aria-current="page"] { color: var(--sh-gold); }
	.sh-nav a[aria-current="page"]::after { display: none; }
	.sh-nav .sh-nav-lang {
		display: block; border: 0; padding-top: 22px;
		font: 600 13px/1 var(--sh-text); letter-spacing: .16em; text-transform: uppercase; color: var(--sh-gold);
	}
}

/* ---------------------------------------------------------------- footer */
.sh-footer {
	margin-top: 100px;
	padding: 56px 22px calc(56px + env(safe-area-inset-bottom, 0px));
	border-top: 1px solid var(--sh-line);
	background: var(--sh-night);
	text-align: center;
	color: var(--sh-muted);
	font: 400 15px/1.6 var(--sh-text);
}
.sh-footer img { display: block; width: 130px; height: auto; margin: 0 auto 18px; }
.sh-footer p { margin: 4px 0; }
.sh-footer a { color: var(--sh-gold); text-decoration: none; }
.sh-footer a:hover { color: var(--sh-gold-soft); }
.sh-footer-links { display: flex; justify-content: center; gap: 24px; margin-top: 16px !important; }

/* ---------------------------------------------------------------- rating band (above the footer, every page) */
.sh-rating-band { margin-top: 100px; padding: 34px 22px; border-top: 1px solid rgba(198, 162, 112, .38); text-align: center; background: #0c1315; }
.sh-rating-band + .sh-footer { margin-top: 0; }
.sh-rating {
	display: inline-flex; align-items: center; flex-wrap: wrap; justify-content: center; gap: 8px 16px;
	color: #efe8dc; text-decoration: none; font: 400 16px/1.4 "Josefin Sans", "Helvetica Neue", Arial, sans-serif;
}
.sh-rating-stars { color: #c6a270; font-size: 20px; letter-spacing: .12em; }
.sh-rating-score { font: 400 40px/1 "Marcellus", Georgia, serif; color: #c6a270; }
.sh-rating-text { color: #efe8dc; border-bottom: 1px solid rgba(198, 162, 112, .38); padding-bottom: 2px; }
.sh-rating:hover .sh-rating-text { border-color: #c6a270; }
