/* ============================================================
   newzealand-helicopter.com — Stylesheet
   Farbkonzept (Begruendung siehe BAUPLAN §11, 24.08.2026):
   Die Palette kommt aus den eigenen Regionsfotos — Fjord-Dunkelblau
   (Fels/Schatten der Southern Alps), Eisweiss der Gletscherflaechen,
   Gletscherblau der Seen fuer Links, und als CTA das Signalrot der
   Helikopter vor Schnee (3 der 6 Projektfotos). Bewusst NICHT die
   NYC-Palette (Bauplan §8).
   Typografie: Outfit (Headlines) + Inter (Body) — eigenstaendig ggue. NYC.
   ============================================================ */

:root {
	/* Farben */
	--c-ink:      #12283a;  /* Fjord-Dunkelblau: Text, Header */
	--c-ink-soft: #45607a;  /* abgesenkter Text */
	--c-bg:       #ffffff;
	--c-ice:      #eef5f9;  /* Eisweiss: Sektionen, Karten-Hintergrund */
	--c-glacier:  #2c7da0;  /* Gletscherblau: Links, Sekundaeres */
	--c-glacier-deep: #1b5e7d;
	--c-cta:      #d9432f;  /* Signalrot der Helikopter vor Schnee */
	--c-cta-hover:#b93322;
	--c-star:     #e8a72e;  /* Bewertungssterne */
	--c-line:     #d8e4ec;
	/* Typo & Raster */
	--f-head: 'Outfit', system-ui, sans-serif;
	--f-body: 'Inter', system-ui, sans-serif;
	--s-1: 8px; --s-2: 12px; --s-3: 20px; --s-4: 32px; --s-5: 56px;
	--radius: 12px;
	--maxw: 1080px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.nzh-body {
	margin: 0;
	font: 16px/1.65 var(--f-body);
	color: var(--c-ink);
	background: var(--c-bg);
	-webkit-font-smoothing: antialiased;
}
h1, h2, h3 { font-family: var(--f-head); line-height: 1.15; color: var(--c-ink); }
h1 { font-size: clamp(1.8rem, 4vw, 2.6rem); margin: 0 0 var(--s-2); }
h2 { font-size: clamp(1.4rem, 3vw, 1.9rem); margin: var(--s-4) 0 var(--s-2); }
h3 { font-size: 1.15rem; margin: var(--s-3) 0 var(--s-1); }
a { color: var(--c-glacier-deep); }
a:hover { color: var(--c-glacier); }
img { max-width: 100%; height: auto; display: block; }

/* ---- Header / Navigation ---- */
.nzh-header { border-bottom: 1px solid var(--c-line); background: var(--c-bg); }
.nzh-header__inner {
	max-width: var(--maxw); margin: 0 auto; padding: var(--s-2) 16px;
	display: flex; align-items: center; gap: var(--s-3); flex-wrap: wrap;
}
.nzh-header__brand {
	font-family: var(--f-head); font-weight: 700; font-size: 1.05rem;
	color: var(--c-ink); text-decoration: none; white-space: nowrap;
}
/* ---- Navigation: Orte-Dropdown + Sprach-Dropdown + Burger (26.08.2026) ---- */
.nzh-menu { flex: 1 1 auto; display: flex; align-items: center; gap: var(--s-3); }
.nzh-nav { flex: 1 1 auto; }
.nzh-nav__list { list-style: none; display: flex; align-items: center; gap: 2px 18px; margin: 0; padding: 0; }
.nzh-nav__item > a {
	color: var(--c-ink-soft); text-decoration: none; font-size: .95rem; padding: 4px 2px;
}
.nzh-nav__item > a:hover { color: var(--c-glacier-deep); }
.nzh-nav__item--active > a,
.nzh-nav__item--active > .nzh-dd > summary { color: var(--c-ink); font-weight: 600; border-bottom: 2px solid var(--c-cta); }

/* Aufklapper (details/summary — funktioniert ohne JS) */
.nzh-dd { position: relative; }
.nzh-dd > summary {
	list-style: none; cursor: pointer; user-select: none;
	color: var(--c-ink-soft); font-size: .95rem; padding: 4px 2px; white-space: nowrap;
}
.nzh-dd > summary::-webkit-details-marker { display: none; }
.nzh-dd > summary::after { content: ' ▾'; font-size: .75em; }
.nzh-dd > summary:hover { color: var(--c-glacier-deep); }
.nzh-dd__list {
	list-style: none; margin: 6px 0 0; padding: 8px;
	position: absolute; left: 0; top: 100%; z-index: 60; min-width: 190px;
	background: var(--c-bg); border: 1px solid var(--c-line); border-radius: 10px;
	box-shadow: 0 8px 24px rgba(18,40,58,.14);
}
.nzh-dd__list li { margin: 0; }
.nzh-dd__list a, .nzh-dd__list .nzh-dd__active {
	display: block; padding: 7px 10px; border-radius: 6px;
	color: var(--c-ink); text-decoration: none; font-size: .93rem; white-space: nowrap;
}
.nzh-dd__list a:hover { background: var(--c-ice); color: var(--c-glacier-deep); }
.nzh-dd__active { font-weight: 700; }

/* Sprach-Dropdown: Chip-Optik, Liste rechtsbuendig */
.nzh-langswitch > summary {
	border: 1px solid var(--c-line); border-radius: 6px; padding: 3px 10px;
	font-size: .85rem; color: var(--c-ink);
}
.nzh-langswitch .nzh-dd__list { left: auto; right: 0; min-width: 150px; }
.nzh-langswitch__word { display: none; }

/* Burger: Checkbox-Loesung, ohne JS lauffaehig; auf Desktop unsichtbar */
.nzh-menu-toggle { display: none; }
.nzh-burger { display: none; }

/* ---- Layout ---- */
.nzh-main { max-width: var(--maxw); margin: 0 auto; padding: 0 16px var(--s-5); }
.nzh-section { margin: var(--s-4) 0; }

/* ---- Hero ---- */
.nzh-hero { position: relative; margin: var(--s-3) -16px 0; }
.nzh-hero__media { position: relative; min-height: 320px; overflow: hidden; border-radius: 0; }
.nzh-hero__media img { width: 100%; height: 100%; min-height: 320px; object-fit: cover; object-position: center 60%; position: absolute; inset: 0; }
.nzh-hero__overlay {
	position: relative; z-index: 1; padding: var(--s-5) 16px var(--s-4);
	background: linear-gradient(180deg, rgba(18,40,58,.15) 0%, rgba(18,40,58,.72) 100%);
	min-height: 320px; display: flex; flex-direction: column; justify-content: flex-end;
}
/* Defensive Textfarben: Hero setzt hell, Komponenten darin setzen selbst (Skill-Regel) */
.nzh-hero__overlay, .nzh-hero__overlay h1, .nzh-hero__overlay p { color: #fff; }
.nzh-hero__sub { font-size: 1.05rem; max-width: 640px; margin: 0 0 var(--s-2); }
.nzh-hero--plain { margin: var(--s-3) 0 0; }
.nzh-hero__credit {
	position: absolute; right: 8px; bottom: 6px; z-index: 2;
	font-size: .68rem; color: rgba(255,255,255,.75);
}

/* ---- Ortskacheln (Startseite) ---- */
.nzh-loc-grid {
	list-style: none; display: grid; gap: var(--s-2); padding: 0; margin: var(--s-3) 0;
	grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
}
.nzh-loc-grid__item a {
	display: block; padding: var(--s-3); border-radius: var(--radius);
	background: var(--c-ice); color: var(--c-ink); text-decoration: none;
	font-family: var(--f-head); font-weight: 600; border: 1px solid var(--c-line);
}
.nzh-loc-grid__item a:hover { border-color: var(--c-glacier); }

/* ---- Flugkarten ---- */
.nzh-card {
	background: var(--c-bg); border: 1px solid var(--c-line); border-radius: var(--radius);
	margin: var(--s-3) 0; overflow: hidden;
}
.nzh-card__head { display: flex; gap: var(--s-3); align-items: stretch; }
.nzh-card__img { flex: 0 0 200px; min-height: 132px; background: var(--c-ice); }
.nzh-card__img img { width: 100%; height: 100%; object-fit: cover; }
.nzh-card__title { padding: var(--s-2) var(--s-3) 0; flex: 1; }
.nzh-card__title h3 { margin: var(--s-1) 0 2px; }
.nzh-card__meta { color: var(--c-ink-soft); font-size: .9rem; margin: 0 0 var(--s-1); }
/* Fakten als Icon-Chips (Patrick 02.09.2026: gingen als graue Zeile unter) */
.nzh-card__facts {
	list-style: none; display: flex; flex-wrap: wrap; gap: 8px;
	padding: 0 var(--s-3); margin: var(--s-1) 0 var(--s-2);
}
.nzh-card__facts li {
	display: inline-flex; align-items: center; gap: 6px;
	background: var(--c-ice); border: 1px solid var(--c-line); border-radius: 999px;
	padding: 4px 12px; font-size: .85rem; font-weight: 600; color: var(--c-ink);
}
.nzh-card__facts svg { flex: 0 0 15px; width: 15px; height: 15px; color: var(--c-glacier-deep); }
.nzh-card__body { padding: 0 var(--s-3) var(--s-2); }

/* Verkaeuferzeilen */
.nzh-sellers { width: 100%; border-collapse: collapse; font-size: .93rem;
	/* Feste Spaltenbreiten (Patrick, 26.08.2026): sonst richtet sich jede
	 * Karten-Tabelle am eigenen Inhalt aus und die Buchen-Buttons springen
	 * horizontal von Karte zu Karte — unruhiges Bild. table-layout: fixed
	 * nimmt die Breiten aus der ersten Zeile; die Button-Spalte ist exakt
	 * Buttonbreite (220px) + Zellen-Padding, rechtsbuendig verankert. */
	table-layout: fixed;
}
.nzh-sellers th:nth-child(1) { width: 24%; }
.nzh-sellers th:nth-child(2) { width: 16%; }
.nzh-sellers th:nth-child(3) { width: auto; }
.nzh-sellers th:nth-child(4) { width: 236px; }
.nzh-sellers td:nth-child(4) { text-align: right; }
.nzh-sellers .nzh-cta { margin-left: auto; }
.nzh-sellers th {
	text-align: left; font-weight: 600; color: var(--c-ink-soft);
	border-bottom: 1px solid var(--c-line); padding: 6px 8px; font-size: .8rem;
	text-transform: uppercase; letter-spacing: .03em;
}
.nzh-sellers td { padding: 9px 8px; border-bottom: 1px solid var(--c-line); vertical-align: middle; color: var(--c-ink); }
.nzh-sellers tr:last-child td { border-bottom: 0; }
.nzh-sellers__price { font-weight: 700; white-space: nowrap; }
.nzh-sellers__rating { color: var(--c-ink-soft); white-space: nowrap; }
.nzh-sellers__rating .star { color: var(--c-star); }
.nzh-badge-best {
	display: inline-block; background: var(--c-ice); color: var(--c-glacier-deep);
	font-size: .72rem; font-weight: 700; padding: 2px 7px; border-radius: 99px; margin-left: 6px;
}
.nzh-note { font-size: .85rem; color: var(--c-ink-soft); }

/* ---- CTA ---- */
.nzh-cta {
	display: inline-block; background: var(--c-cta); color: #fff !important;
	font-family: var(--f-head); font-weight: 600; font-size: .92rem;
	padding: 9px 16px; border-radius: 9px; text-decoration: none; white-space: nowrap;
}
.nzh-cta:hover { background: var(--c-cta-hover); color: #fff; }

/* ---- Info-/Wissensboxen ---- */
.nzh-info {
	background: var(--c-ice); border-radius: var(--radius);
	padding: var(--s-3); margin: var(--s-3) 0; color: var(--c-ink);
}
.nzh-info h3 { margin-top: 0; }

/* ---- Footer ---- */
.nzh-footer { margin-top: var(--s-5); border-top: 1px solid var(--c-line); background: var(--c-ice); }
.nzh-footer__inner { max-width: var(--maxw); margin: 0 auto; padding: var(--s-4) 16px; font-size: .88rem; color: var(--c-ink-soft); }
.nzh-footer__links { list-style: none; display: flex; gap: var(--s-3); padding: 0; }
.nzh-footer__links a { color: var(--c-ink-soft); }

/* ---- Mobile ---- */
@media (max-width: 720px) {
	.nzh-card__head { flex-direction: column; }
	.nzh-card__img { flex-basis: auto; height: 170px; }
	.nzh-sellers thead { display: none; }
	.nzh-sellers td { display: block; border-bottom: 0; padding: 3px 8px; }
	.nzh-sellers tr { display: block; border-bottom: 1px solid var(--c-line); padding: 8px 0; }
	.nzh-sellers td:last-child { padding-bottom: 10px; }
}

/* ---- Sprungnavigation (Umbau 25.08.2026) ---- */
.nzh-jumpnav {
	position: sticky; top: 0; z-index: 20;
	display: flex; gap: var(--s-1); overflow-x: auto; -webkit-overflow-scrolling: touch;
	padding: var(--s-2) 0; margin: 0 -16px; padding-left: 16px; padding-right: 16px;
	background: var(--c-bg); border-bottom: 1px solid var(--c-line);
}
.nzh-jumpnav a {
	flex: 0 0 auto; white-space: nowrap;
	font-size: .85rem; font-weight: 600; text-decoration: none;
	color: var(--c-glacier-deep); background: var(--c-ice);
	padding: 6px 12px; border-radius: 99px; border: 1px solid var(--c-line);
}
.nzh-jumpnav a:hover { border-color: var(--c-glacier); }

/* ---- Intro-Prosa ---- */
.nzh-prose { max-width: 720px; }
.nzh-prose p { margin: 0 0 var(--s-2); }
/* Ortsseiten-Intro auf voller Breite wie die Startseite (02.09.2026) */
.nzh-prose--full p { margin: 0 0 var(--s-2); }
.nzh-prose--full p:last-child { margin-bottom: 0; }
.nzh-section__intro { max-width: 720px; color: var(--c-ink-soft); margin: 0 0 var(--s-2); }

/* ---- Uebersichtstabelle ---- */
.nzh-overview-wrap { overflow-x: auto; }
.nzh-overview { width: 100%; border-collapse: collapse; font-size: .92rem; }
.nzh-overview th {
	text-align: left; font-weight: 600; color: var(--c-ink-soft);
	border-bottom: 2px solid var(--c-line); padding: 8px; font-size: .78rem;
	text-transform: uppercase; letter-spacing: .03em;
}
.nzh-overview td { padding: 9px 8px; border-bottom: 1px solid var(--c-line); }
.nzh-overview td a { color: var(--c-ink); font-weight: 600; text-decoration: none; }
.nzh-overview td a:hover { color: var(--c-glacier-deep); }
.nzh-overview__op { color: var(--c-ink-soft); }
.nzh-overview__go { font-size: .85rem; color: var(--c-glacier-deep) !important; font-weight: 600; white-space: nowrap; }

/* ---- Karten: ab-Preis im Kopf ---- */
.nzh-card__from {
	flex: 0 0 auto; align-self: flex-start; text-align: right;
	padding: var(--s-2) var(--s-3) 0 0;
}
.nzh-card__from-label { display: block; font-size: .75rem; color: var(--c-ink-soft); }
.nzh-card__from-price { font-family: var(--f-head); font-weight: 700; font-size: 1.25rem; color: var(--c-ink); }
@media (max-width: 720px) {
	.nzh-card__from { padding: 0 var(--s-3); text-align: left; }
	.nzh-card__from-label { display: inline; margin-right: 6px; }
}

/* ---- FAQ ---- */
.nzh-faq {
	border: 1px solid var(--c-line); border-radius: var(--radius);
	margin: 0 0 var(--s-1); background: var(--c-bg);
}
.nzh-faq summary {
	cursor: pointer; padding: var(--s-2) var(--s-3);
	font-family: var(--f-head); font-weight: 600; color: var(--c-ink);
	list-style: none; position: relative; padding-right: 40px;
}
.nzh-faq summary::-webkit-details-marker { display: none; }
.nzh-faq summary::after {
	content: '+'; position: absolute; right: var(--s-3); top: 50%; transform: translateY(-50%);
	color: var(--c-glacier-deep); font-size: 1.2rem; font-weight: 600;
}
.nzh-faq[open] summary::after { content: '–'; }
.nzh-faq p { margin: 0; padding: 0 var(--s-3) var(--s-2); color: var(--c-ink-soft); }

/* Anker landen nicht unter der Sticky-Jumpnav */
.nzh-section[id], .nzh-card[id] { scroll-margin-top: 64px; }

/* ---- Tabs (Umbau 25.08.2026, zweite Runde) ---- */
.nzh-js .nzh-tabpanel { display: none; }
.nzh-js .nzh-tabpanel.is-active { display: block; }
.nzh-tab.is-active {
	background: var(--c-ink); color: #fff; border-color: var(--c-ink);
}
.nzh-tab--link { opacity: .85; }

/* ---- Uebersicht: Gruppenzeilen + Thumbnails ---- */
.nzh-overview__group th {
	background: var(--c-ice); color: var(--c-ink);
	font-family: var(--f-head); font-size: .95rem; text-transform: none;
	letter-spacing: 0; padding: 10px 8px; border-bottom: 1px solid var(--c-line);
}
.nzh-overview__thumb { width: 72px; padding: 6px 8px; }
.nzh-overview__thumb img {
	width: 64px; height: 44px; object-fit: cover; border-radius: 6px; display: block;
}
.nzh-overview__op-inline { display: block; font-size: .8rem; color: var(--c-ink-soft); font-weight: 400; }

/* ---- Kartenbeschreibung ---- */
.nzh-card__desc { margin: var(--s-1) 0 0; font-size: .93rem; color: var(--c-ink-soft); max-width: 640px; }

/* Mobile (Patrick 02.09.2026: "Alle Fluege im Ueberblick" war nicht mobile-
 * friendly): die Ortsseiten-Tabelle stapelt sich unter 720px zu einer Liste —
 * Name + Betreiber in voller Breite, darunter Dauer · Preis · Sprunglink.
 * Gilt NUR fuer .nzh-overview--flights; die Vergleichstabelle der Startseite
 * behaelt ihr Tabellenlayout (scrollt im -wrap). */
@media (max-width: 720px) {
	.nzh-overview--flights thead { display: none; }
	.nzh-overview--flights, .nzh-overview--flights tbody { display: block; }
	.nzh-overview--flights tr {
		display: flex; flex-wrap: wrap; align-items: baseline; column-gap: 14px;
		padding: 10px 0; border-bottom: 1px solid var(--c-line);
	}
	.nzh-overview--flights td { display: block; padding: 0; border: 0; }
	.nzh-overview--flights .nzh-overview__thumb { display: none; }
	.nzh-overview--flights td:nth-child(2) { flex: 1 1 100%; margin-bottom: 2px; }
	.nzh-overview--flights td:nth-child(3) { color: var(--c-ink-soft); }
	.nzh-overview--flights td:nth-child(4) { display: none; } /* Landungs-Haken steht in der Karte */
	.nzh-overview--flights .nzh-sellers__price { font-weight: 700; }
	.nzh-overview--flights td:last-child { margin-left: auto; }
	.nzh-overview--flights .nzh-overview__group { display: block; padding: 0; border-bottom: 0; }
	.nzh-overview--flights .nzh-overview__group th {
		display: block; border-radius: 6px; margin-top: var(--s-2); border-bottom: 0;
	}
}

/* ---- Kachel-Auswahl (dritte Runde, 25.08.2026) ---- */
.nzh-picker { margin: var(--s-3) 0 var(--s-2); }
.nzh-picker h2 { margin-top: 0; }
.nzh-picker__grid {
	display: grid; gap: var(--s-2);
	grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
}
.nzh-picker__tile {
	display: flex; flex-direction: column; gap: 4px;
	padding: var(--s-3); border-radius: var(--radius);
	background: var(--c-ice); border: 2px solid var(--c-line);
	text-decoration: none; color: var(--c-ink);
	transition: border-color .12s ease, transform .12s ease;
}
.nzh-picker__tile:hover { border-color: var(--c-glacier); transform: translateY(-2px); color: var(--c-ink); }
.nzh-picker__tile strong { font-family: var(--f-head); font-size: 1.05rem; }
.nzh-picker__sub { font-size: .84rem; color: var(--c-ink-soft); }
.nzh-picker__meta { font-size: .9rem; font-weight: 700; color: var(--c-cta); margin-top: 2px; }
.nzh-picker__tile.is-active {
	background: var(--c-ink); border-color: var(--c-ink); color: #fff;
}
.nzh-picker__tile.is-active .nzh-picker__sub { color: rgba(255,255,255,.75); }
.nzh-picker__tile.is-active .nzh-picker__meta { color: #ffb3a7; }
.nzh-picker__links { font-size: .88rem; color: var(--c-ink-soft); margin: var(--s-2) 0 0; }
#results { scroll-margin-top: 12px; }

/* Buchen-Buttons in Verkaeufertabellen: immer gleich breit (Patrick, 25.08.) */
.nzh-sellers .nzh-cta { display: block; width: 220px; text-align: center; }
@media (max-width: 720px) {
	.nzh-sellers .nzh-cta { width: 100%; }
	.nzh-picker__grid { grid-template-columns: 1fr 1fr; }
}

/* ---- Startseite: Orts-Grid, Routen-Kette, Foto-Credit (26.08.2026) ---- */
.nzh-locs {
	display: grid; gap: var(--s-2);
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	margin: var(--s-2) 0 0;
}
.nzh-locs__card {
	display: flex; flex-direction: column; border-radius: var(--radius);
	overflow: hidden; background: var(--c-ice); border: 2px solid var(--c-line);
	text-decoration: none; color: var(--c-ink);
	transition: border-color .12s ease, transform .12s ease;
}
.nzh-locs__card:hover { border-color: var(--c-glacier); transform: translateY(-2px); color: var(--c-ink); }
.nzh-locs__media { display: block; aspect-ratio: 16 / 9; overflow: hidden; }
.nzh-locs__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.nzh-locs__body { display: flex; flex-direction: column; gap: 4px; padding: var(--s-2) var(--s-3) var(--s-3); }
.nzh-locs__name { font-family: var(--f-head); font-size: 1.1rem; }
.nzh-locs__line { font-size: .87rem; color: var(--c-ink-soft); }
.nzh-locs__meta { font-size: .9rem; font-weight: 700; color: var(--c-cta); margin-top: 2px; }
.nzh-locs__credit { font-size: .78rem; color: var(--c-ink-soft); margin: var(--s-2) 0 0; }
.nzh-route-chain { font-weight: 600; }
.nzh-route-chain span { color: var(--c-ink-soft); }
@media (max-width: 720px) {
	.nzh-locs { grid-template-columns: 1fr; }
}

/* ---- Logo im Header (26.08.2026) ---- */
.nzh-header__brand { display: inline-flex; align-items: center; gap: 10px; }
.nzh-header__logo { width: 40px; height: 40px; display: block; }

/* ---- FAQ-Hub + Rechtsseiten (26.08.2026) ---- */
.nzh-hero__sub--plain { max-width: 640px; color: var(--c-ink-soft); margin: 6px 0 0; }
.nzh-legal { max-width: 760px; }
.nzh-legal h2 { margin-top: var(--s-4); }
.nzh-legal h3 { margin-top: var(--s-3); }
.nzh-legal__caps { font-size: .82rem; line-height: 1.55; color: var(--c-ink-soft); }

/* ---- Hero-CTA + gedaempfter Strich (Audit 26.08.2026) ---- */
.nzh-hero__cta { margin-top: 4px; padding: 11px 22px; font-size: 1rem; }
.nzh-muted { color: var(--c-ink-soft); }


/* ---- Burger-Menue (mobil, 26.08.2026) ---- */
@media (max-width: 720px) {
	/* Zeile 1: Brand + Burger; das aufgeklappte Menue bricht als volle Breite
	 * in Zeile 2 um (flex-wrap bleibt an, Basis-Regel). */
	.nzh-burger {
		display: flex; flex-direction: column; justify-content: center; gap: 5px;
		width: 40px; height: 40px; padding: 8px; margin-left: auto;
		border: 1px solid var(--c-line); border-radius: 8px; cursor: pointer;
		box-sizing: border-box;
	}
	.nzh-burger span {
		display: block; height: 2px; width: 100%; background: var(--c-ink);
		border-radius: 2px; transition: transform .18s ease, opacity .18s ease;
	}
	.nzh-menu-toggle:checked ~ .nzh-burger span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
	.nzh-menu-toggle:checked ~ .nzh-burger span:nth-child(2) { opacity: 0; }
	.nzh-menu-toggle:checked ~ .nzh-burger span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

	.nzh-menu { display: none; }
	.nzh-menu-toggle:checked ~ .nzh-menu {
		display: block; flex-basis: 100%; width: 100%;
		padding: var(--s-2) 0 var(--s-1); border-top: 1px solid var(--c-line); margin-top: var(--s-2);
	}
	.nzh-nav__list { flex-direction: column; align-items: stretch; gap: 2px; }
	.nzh-nav__item > a, .nzh-dd > summary { display: block; padding: 10px 4px; font-size: 1rem; }
	.nzh-nav__item--active > a,
	.nzh-nav__item--active > .nzh-dd > summary { border-bottom: 0; }

	/* Dropdowns im Burger: eingebettet statt schwebend */
	.nzh-dd__list {
		position: static; box-shadow: none; border: 0; border-left: 2px solid var(--c-line);
		border-radius: 0; margin: 0 0 4px 8px; padding: 0 0 0 10px; min-width: 0;
	}
	.nzh-langswitch { margin-top: var(--s-1); border-top: 1px solid var(--c-line); padding-top: var(--s-1); }
	.nzh-langswitch > summary { border: 0; padding: 10px 4px; font-size: 1rem; }
	.nzh-langswitch__word { display: inline; color: var(--c-ink-soft); }
	.nzh-langswitch .nzh-dd__list { margin-left: 8px; }
}


/* ---- Startseite: Routen-Etappen + Gut-zu-wissen-Karten (26.08.2026) ---- */
.nzh-route { list-style: none; margin: var(--s-3) 0 0; padding: 0; display: grid; gap: var(--s-2); grid-template-columns: repeat(2, 1fr); }
.nzh-route__stage {
	display: flex; gap: var(--s-2); padding: var(--s-3); border-radius: var(--radius);
	background: var(--c-ice); border: 1px solid var(--c-line);
}
.nzh-route__num {
	flex: 0 0 36px; height: 36px; border-radius: 50%; background: var(--c-ink); color: #fff;
	font-family: var(--f-head); font-weight: 700; display: flex; align-items: center; justify-content: center;
}
.nzh-route__body { flex: 1 1 auto; min-width: 0; }
.nzh-route__title { margin: 4px 0 6px; font-size: 1.05rem; }
.nzh-route__body p { margin: 0 0 8px; color: var(--c-ink-soft); font-size: .95rem; }
.nzh-route__chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.nzh-chip {
	display: inline-flex; align-items: center; gap: 6px; padding: 5px 11px; border-radius: 999px;
	background: var(--c-bg); border: 1px solid var(--c-line); text-decoration: none;
	color: var(--c-ink); font-weight: 600; font-size: .88rem;
}
.nzh-chip:hover { border-color: var(--c-glacier); color: var(--c-glacier-deep); }
.nzh-chip__meta { font-weight: 700; color: var(--c-cta); }

.nzh-know { list-style: none; margin: var(--s-3) 0 0; padding: 0; display: grid; gap: var(--s-2); grid-template-columns: repeat(2, 1fr); }
.nzh-know__item {
	display: flex; gap: var(--s-2); padding: var(--s-3); border-radius: var(--radius);
	background: var(--c-bg); border: 1px solid var(--c-line);
}
.nzh-know__icon { flex: 0 0 28px; width: 28px; height: 28px; color: var(--c-glacier); margin-top: 2px; }
.nzh-know__title { margin: 0 0 4px; font-size: 1rem; }
.nzh-know__item p { margin: 0; color: var(--c-ink-soft); font-size: .93rem; }
@media (max-width: 720px) {
	.nzh-route, .nzh-know { grid-template-columns: 1fr; }
}

/* ---- Abflugorte als Karten + kleine Reiseziel-Karten (Ortsseiten, 02.09.2026) ---- */
.nzh-bases {
	list-style: none; margin: var(--s-2) 0 0; padding: 0;
	display: grid; gap: var(--s-2);
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}
.nzh-bases__item {
	display: flex; gap: 12px; align-items: flex-start;
	background: var(--c-bg); border: 1px solid var(--c-line);
	border-radius: var(--radius); padding: var(--s-2) var(--s-3);
}
.nzh-bases__icon { flex: 0 0 22px; width: 22px; height: 22px; color: var(--c-glacier); margin-top: 3px; }
.nzh-bases__name { display: block; font-family: var(--f-head); font-size: .98rem; }
.nzh-bases__addr { display: block; font-size: .88rem; color: var(--c-ink-soft); margin-top: 2px; }

.nzh-locs--mini { grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); }
.nzh-locs--mini .nzh-locs__name { font-size: .98rem; }
.nzh-locs--mini .nzh-locs__meta { font-size: .84rem; }
.nzh-locs--mini .nzh-locs__body { padding: 10px 12px 12px; gap: 2px; }
@media (max-width: 720px) {
	.nzh-locs--mini { grid-template-columns: repeat(2, 1fr); }
}
