@import url(https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=Inter:wght@300;400;500;600;700&display=swap);


/* =========================================================
   ROOT
   Sämtliche Farben, Transparenzen, Verläufe und Schatten
   werden ausschließlich hier definiert.
   ========================================================= */

:root {

	/* -----------------------------------------------------
	   GRÖSSEN
	----------------------------------------------------- */

	--fire-sidebar-width: 64px;
	--fire-mobile-nav-height: 66px;

	--fire-content-max: 1680px;

	--fire-radius-small: 2px;
	--fire-radius-medium: 4px;

	/* -----------------------------------------------------
	   SCHRIFTEN
	----------------------------------------------------- */

	--fire-body: "Inter", Arial, sans-serif;
	--fire-display: "Cormorant Garamond", Georgia, serif;


	/* -----------------------------------------------------
	   BILDER / CURSOR
	----------------------------------------------------- */

	--fire-hero-image: url(../../../images/circus1.png);
	--fire-wand-cursor: url(/images/wandpointer.png) 8 2, auto;


	/* -----------------------------------------------------
	   BASISFARBEN
	----------------------------------------------------- */

	--fire-bg: #090809;
	--fire-bg-deep: #060506;
	--fire-bg-dark: #0c0a0b;
	--fire-bg-soft: #121012;
	--fire-bg-raised: #181316;

	--fire-panel: #120e10;
	--fire-panel-light: #191316;
	--fire-panel-hover: #21171b;

	--fire-text: #ece5e7;
	--fire-text-strong: #f7f1f2;
	--fire-text-soft: #bcb0b4;
	--fire-text-muted: #897b80;
	--fire-text-dark: #5f5357;

	--fire-accent-dark: #50101a;
	--fire-accent: #7c1d2c;
	--fire-accent-medium: #9d2d40;
	--fire-accent-light: #bd4659;
	--fire-accent-bright: #df6678;

	--fire-white-soft: #f4edef;

	--fire-transparent: transparent;


	/* -----------------------------------------------------
	   TRANSPARENZEN
	----------------------------------------------------- */

	--fire-border: rgba(189, 70, 89, 0.25);
	--fire-border-soft: rgba(189, 70, 89, 0.12);
	--fire-border-faint: rgba(255, 255, 255, 0.06);

	--fire-panel-alpha: rgba(18, 14, 16, 0.96);
	--fire-panel-alpha-soft: rgba(18, 14, 16, 0.88);

	--fire-hover-alpha: rgba(157, 45, 64, 0.14);
	--fire-hover-alpha-strong: rgba(157, 45, 64, 0.24);

	--fire-black-alpha-soft: rgba(0, 0, 0, 0.18);
	--fire-black-alpha: rgba(0, 0, 0, 0.42);
	--fire-black-alpha-strong: rgba(0, 0, 0, 0.72);

	--fire-glow: rgba(189, 70, 89, 0.25);
	--fire-glow-strong: rgba(189, 70, 89, 0.42);

	--fire-light-glow: rgba(255, 239, 242, 0.12);


	/* -----------------------------------------------------
	   SCHATTEN
	----------------------------------------------------- */

	--fire-shadow-sidebar: 14px 0 38px rgba(0, 0, 0, 0.52);

	--fire-shadow-top:
		0 8px 28px rgba(0, 0, 0, 0.38);

	--fire-shadow-panel:
		0 -18px 55px rgba(0, 0, 0, 0.48);

	--fire-shadow-flyout:
		18px 22px 55px rgba(0, 0, 0, 0.72);

	--fire-shadow-tooltip:
		10px 13px 30px rgba(0, 0, 0, 0.68);

	--fire-title-shadow:
		0 0 18px rgba(0, 0, 0, 0.75);

	--fire-title-glow:
		0 0 32px rgba(189, 70, 89, 0.13);


	/* -----------------------------------------------------
	   VERLÄUFE
	----------------------------------------------------- */

	--fire-sidebar-gradient:
		linear-gradient(
			to bottom,
			#121012,
			#080708
		);

	--fire-flyout-gradient:
		linear-gradient(
			145deg,
			#191316,
			#0d0a0c
		);

	--fire-avatar-overlay:
		linear-gradient(
			to bottom,
			rgba(9, 8, 9, 0.05),
			rgba(9, 8, 9, 0.52)
		);

	--fire-avatar-overlay-hover:
		linear-gradient(
			to bottom,
			rgba(124, 29, 44, 0.06),
			rgba(124, 29, 44, 0.38)
		);

	--fire-nav-line:
		linear-gradient(
			to right,
			rgba(189, 70, 89, 0),
			rgba(189, 70, 89, 0.95),
			rgba(189, 70, 89, 0)
		);

	--fire-hero-overlay:
		linear-gradient(
			to bottom,
			rgba(5, 4, 5, 0.08) 0%,
			rgba(5, 4, 5, 0.14) 42%,
			rgba(7, 5, 6, 0.52) 76%,
			rgba(7, 5, 6, 0.92) 100%
		);

	--fire-hero-vignette:
		radial-gradient(
			ellipse at center,
			rgba(124, 29, 44, 0.02) 0%,
			rgba(5, 4, 5, 0.08) 45%,
			rgba(5, 4, 5, 0.56) 100%
		);

	--fire-hero-bottom-glow:
		radial-gradient(
			ellipse at 50% 100%,
			rgba(157, 45, 64, 0.18),
			rgba(157, 45, 64, 0) 62%
		);

	--fire-panel-gradient:
		linear-gradient(
			135deg,
			rgba(24, 18, 21, 0.98),
			rgba(12, 9, 11, 0.98)
		);

	--fire-topbar-gradient:
		linear-gradient(
			to right,
			#0d0b0c,
			#121012,
			#0d0b0c
		);

	--fire-divider-gradient:
		linear-gradient(
			to right,
			rgba(189, 70, 89, 0),
			rgba(189, 70, 89, 0.75),
			rgba(189, 70, 89, 0)
		);

	--fire-button-gradient:
		linear-gradient(
			135deg,
			#7c1d2c,
			#50101a
		);

	--fire-button-gradient-hover:
		linear-gradient(
			135deg,
			#9d2d40,
			#6b1724
		);
}


/* =========================================================
   GRUNDLAYOUT
   ========================================================= */

html {
	scroll-behavior: smooth;
	background: var(--fire-bg);
}

body {
	margin: 0;
	color: var(--fire-text);
	font-family: var(--fire-body);
	background: var(--fire-bg);
}

.index-wrapper {
	position: relative;
	box-sizing: border-box;
	width: 100%;
	max-width: none;
	min-height: 100vh;
	background: var(--fire-bg);
}

#container {
	position: relative;
	box-sizing: border-box;

	width: 100% !important;
	max-width: none !important;
	min-height: 100vh;

	margin: 0 !important;

	background: var(--fire-bg);
}

.fire-page {
	position: relative;

	box-sizing: border-box;

	width: calc(100% - var(--fire-sidebar-width));
	max-width: none;

	margin-left: var(--fire-sidebar-width);

	background: var(--fire-bg);
}

#content {
	position: relative;

	box-sizing: border-box;

	width: 100%;
	max-width: none;
	padding: 0;
}

.fire-after-hero {
	position: relative;

	width: 100%;

	margin-top: 0;

	background: var(--fire-bg-dark);
}

.fire-visually-hidden {
	position: absolute;

	width: 1px;
	height: 1px;

	margin: -1px;
	padding: 0;

	overflow: hidden;

	clip: rect(0, 0, 0, 0);
	white-space: nowrap;

	border: 0;
}


/* =========================================================
   DESKTOP SIDEBAR
   ========================================================= */

.fire-sidebar {
	position: fixed;
	z-index: 5000;
	top: 0;
	left: 0;

	display: flex;
	flex-direction: column;

	box-sizing: border-box;

	width: var(--fire-sidebar-width);
	height: 100vh;

	overflow: visible;

	background: var(--fire-sidebar-gradient);

	border-right: 1px solid var(--fire-border);

	box-shadow: var(--fire-shadow-sidebar);
}


/* Logo für Gäste */

.fire-sidebar__guestlogo {
	position: relative;

	display: flex;
	align-items: center;
	justify-content: center;

	flex: 0 0 70px;

	box-sizing: border-box;

	width: 100%;
	height: 70px;

	color: var(--fire-accent-light);

	text-decoration: none;

	background: var(--fire-panel);

	border-bottom: 1px solid var(--fire-border);
}

.fire-sidebar__guestlogo::after {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;

	height: 2px;

	content: "";

	background: var(--fire-nav-line);
}

.fire-sidebar__guestlogo span {
	font-family: var(--fire-display);
	font-size: 34px;
	font-weight: 600;
	line-height: 1;

	text-shadow: 0 0 20px var(--fire-glow);
}

.fire-sidebar__guestlogo:hover {
	color: var(--fire-text-strong);
	background: var(--fire-panel-hover);
}


/* Benutzeravatar */

.fire-user {
	position: relative;

	flex: 0 0 70px;

	width: 100%;
	height: 70px;
}

.fire-user__avatar {
	position: relative;

	display: block;

	box-sizing: border-box;

	width: 100%;
	height: 70px;

	overflow: hidden;

	background-color: var(--fire-panel);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;

	border-bottom: 1px solid var(--fire-border);
}

.fire-user__avatar::before {
	position: absolute;
	inset: 0;

	content: "";

	background: var(--fire-avatar-overlay);

	transition: background 0.2s ease;
}

.fire-user__avatar::after {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;

	height: 2px;

	content: "";

	background: var(--fire-nav-line);
}

.fire-user__avatar:hover::before {
	background: var(--fire-avatar-overlay-hover);
}


/* Benutzer-Flyout */

.fire-user__flyout {
	position: absolute;
	z-index: 5100;
	top: 0;
	left: calc(100% + 1px);

	box-sizing: border-box;

	width: 300px;
	padding: 24px;

	visibility: hidden;
	opacity: 0;
	pointer-events: none;

	background: var(--fire-flyout-gradient);

	border: 1px solid var(--fire-border);
	border-left: 2px solid var(--fire-accent);

	box-shadow: var(--fire-shadow-flyout);

	transform: translateX(-8px);

	transition:
		visibility 0.18s ease,
		opacity 0.18s ease,
		transform 0.18s ease;
}

.fire-user:hover .fire-user__flyout,
.fire-user:focus-within .fire-user__flyout {
	visibility: visible;
	opacity: 1;
	pointer-events: auto;

	transform: translateX(0);
}

.fire-user__label {
	display: block;

	margin-bottom: 7px;

	color: var(--fire-accent-light);

	font-size: 9px;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
}

.fire-user__name {
	display: block;

	color: var(--fire-text-strong);

	font-family: var(--fire-display);
	font-size: 31px;
	font-weight: 600;
	line-height: 1;

	text-decoration: none;
}

.fire-user__name:hover {
	color: var(--fire-accent-light);
}

.fire-user__links {
	display: grid;
	gap: 3px;

	margin-top: 17px;
	padding-top: 14px;

	border-top: 1px solid var(--fire-border-soft);
}

.fire-user__links a {
	display: flex;
	align-items: center;
	gap: 10px;

	box-sizing: border-box;

	min-height: 34px;
	padding: 6px 8px;

	color: var(--fire-text-soft);

	font-size: 9px;
	font-weight: 600;
	letter-spacing: 0.08em;

	text-decoration: none;
	text-transform: uppercase;

	transition:
		color 0.18s ease,
		background 0.18s ease;
}

.fire-user__links a:hover {
	color: var(--fire-text-strong);
	background: var(--fire-hover-alpha);
}

.fire-user__links i {
	width: 16px;

	color: var(--fire-accent-light);

	text-align: center;
}


/* Hauptnavigation */

.fire-sidebar__navigation {
	display: flex;
	flex: 1;
	flex-direction: column;

	width: 100%;
	min-height: 0;

	padding: 6px 0;

	overflow: visible;
}

.fire-nav-item {
	position: relative;

	display: flex;
	align-items: center;
	justify-content: center;

	flex-shrink: 0;

	box-sizing: border-box;

	width: 100%;
	min-height: 50px;

	padding: 0;

	color: var(--fire-accent-light);

	font-size: 14px;

	text-decoration: none;

	background: var(--fire-transparent);

	border: 0;
	border-bottom: 1px solid var(--fire-border-soft);

	transition:
		color 0.18s ease,
		background 0.18s ease;
}

.fire-nav-item::before {
	position: absolute;
	top: 50%;
	right: 0;

	width: 2px;
	height: 0;

	content: "";

	background: var(--fire-accent-light);

	transform: translateY(-50%);

	transition: height 0.18s ease;
}

.fire-nav-item > i {
	position: relative;
	z-index: 1;

	color: var(--fire-accent-light);

	transition:
		color 0.18s ease,
		transform 0.18s ease,
		text-shadow 0.18s ease;
}

.fire-nav-item:hover,
.fire-nav-item:focus-visible {
	color: var(--fire-text-strong);

	background: var(--fire-hover-alpha);

	outline: none;
}

.fire-nav-item:hover > i,
.fire-nav-item:focus-visible > i {
	color: var(--fire-text-strong) !important;

	text-shadow: 0 0 14px var(--fire-glow-strong);
}

.fire-nav-item:hover > i {
	transform: translateY(-1px);
}

.fire-nav-item:hover::before,
.fire-nav-item:focus-visible::before {
	height: 26px;
}


/* Tooltips */

.fire-nav-tooltip {
	position: absolute;
	z-index: 9999;
	top: 50%;
	left: calc(100% + 13px);

	display: block;

	box-sizing: border-box;

	width: max-content;
	max-width: 230px;

	padding: 9px 12px;

	visibility: hidden;
	opacity: 0;

	pointer-events: none;

	color: var(--fire-text);

	font-size: 9px;
	font-weight: 700;
	letter-spacing: 0.12em;
	line-height: 1.4;

	text-transform: uppercase;
	white-space: nowrap;

	background: var(--fire-panel);

	border: 1px solid var(--fire-border);
	border-left: 2px solid var(--fire-accent);

	box-shadow: var(--fire-shadow-tooltip);

	transform: translate(-6px, -50%);

	transition:
		visibility 0s linear 0.15s,
		opacity 0.15s ease,
		transform 0.15s ease;
}

.fire-nav-tooltip::before {
	position: absolute;
	top: 50%;
	right: 100%;

	width: 0;
	height: 0;

	content: "";

	border-top: 5px solid var(--fire-transparent);
	border-bottom: 5px solid var(--fire-transparent);
	border-right: 6px solid var(--fire-accent);

	transform: translateY(-50%);
}

.fire-nav-item:hover > .fire-nav-tooltip,
.fire-nav-item:focus-visible > .fire-nav-tooltip {
	visibility: visible;
	opacity: 1;

	transform: translate(0, -50%);

	transition-delay: 0s;
}


/* Benachrichtigungen */

.fire-nav-badge {
	position: absolute;
	z-index: 4;
	top: 6px;
	right: 6px;

	display: flex;
	align-items: center;
	justify-content: center;

	box-sizing: border-box;

	min-width: 18px;
	height: 18px;

	padding: 0 4px;

	color: var(--fire-text-strong);

	font-size: 8px;
	font-weight: 700;
	line-height: 1;

	background: var(--fire-accent);

	border: 2px solid var(--fire-bg-dark);
	border-radius: 999px;

	box-shadow: 0 2px 9px var(--fire-black-alpha);
}

.fire-nav-badge[data-count="0"],
.fire-nav-badge[data-count=""],
.fire-nav-badge[data-count=" "] {
	display: none;
}

.fire-nav-badge--messages {
	background: var(--fire-accent-bright);
}

.fire-nav-item--messages
.fire-nav-badge--messages:not([data-count="0"]):not([data-count=""]) {
	animation: fire-message-pulse 2.6s infinite;
}

@keyframes fire-message-pulse {

	0%,
	68%,
	100% {
		box-shadow:
			0 2px 9px var(--fire-black-alpha),
			0 0 0 0 var(--fire-transparent);
	}

	80% {
		box-shadow:
			0 2px 9px var(--fire-black-alpha),
			0 0 0 7px var(--fire-glow);
	}
}


/* Sidebar unten */

.fire-sidebar__bottom {
	flex-shrink: 0;

	width: 100%;

	overflow: visible;

	background: var(--fire-bg-deep);

	border-top: 1px solid var(--fire-border);
}

.fire-sidebar__bottom .fire-nav-item {
	min-height: 48px;
}


/* =========================================================
   TOPBAR
   ========================================================= */

.fire-topbar {
	position: relative;
	z-index: 20;

	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 30px;

	box-sizing: border-box;

	min-height: 62px;

	padding: 0 30px 0 38px;

	background: var(--fire-topbar-gradient);

	border-bottom: 1px solid var(--fire-border-soft);
}

.fire-topbar__welcome {
	min-width: 0;

	color: var(--fire-text-muted);

	font-size: 9px;
	font-weight: 600;
	letter-spacing: 0.11em;
	line-height: 1.5;

	text-transform: uppercase;
}

.fire-topbar__welcome a {
	color: var(--fire-text-soft);

	text-decoration: none;
}

.fire-topbar__welcome a:hover {
	color: var(--fire-accent-light);
}

.fire-topbar__links {
	display: flex;
	align-items: stretch;

	align-self: stretch;

	flex-shrink: 0;
}

.fire-topbar__links a {
	position: relative;

	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;

	box-sizing: border-box;

	min-width: 104px;

	padding: 0 15px;

	color: var(--fire-text-muted);

	font-size: 9px;
	font-weight: 600;
	letter-spacing: 0.09em;

	text-decoration: none;
	text-transform: uppercase;

	transition:
		color 0.18s ease,
		background 0.18s ease;
}

.fire-topbar__links a:last-child {
	min-width: 58px;
}

.fire-topbar__links a:hover {
	color: var(--fire-text-strong);

	background: var(--fire-hover-alpha);
}

.fire-topbar__links i {
	color: var(--fire-accent-light);

	font-size: 10px;
}

.fire-topbar__links a:hover i {
	color: var(--fire-accent-bright);
}


/* =========================================================
   HERO
   ========================================================= */

.fire-header {
	position: relative;
	isolation: isolate;

	box-sizing: border-box;

	width: 100%;
	max-width: none;

	overflow: hidden;

	background: var(--fire-bg-deep);
}


/* ---------------------------------------------------------
   REINER BILDBEREICH
   --------------------------------------------------------- */

.fire-hero-visual {
	position: relative;
	isolation: isolate;

	display: block;

	box-sizing: border-box;

	width: 100%;
	height: min(42vw, 600px);
	min-height: 460px;

	overflow: hidden;

	background-image:
		var(--fire-hero-overlay),
		var(--fire-hero-image);

	background-position:
		center,
		center bottom;

	background-size:
		cover,
		cover;

	background-repeat:
		no-repeat,
		no-repeat;

	cursor: var(--fire-wand-cursor);
}

.fire-hero-visual::before {
	position: absolute;
	z-index: 1;
	inset: 0;

	content: "";

	pointer-events: none;

	background: var(--fire-hero-vignette);
}

.fire-hero-visual::after {
	position: absolute;
	z-index: 2;
	right: 0;
	bottom: 0;
	left: 0;

	height: 45%;

	content: "";

	pointer-events: none;

	background: var(--fire-hero-bottom-glow);
}


/* Der Zauberstab gilt wirklich überall im Bildbereich */

.fire-hero-visual,
.fire-hero-visual *,
.fire-hero-visual a,
.fire-hero-visual img {
	cursor: var(--fire-wand-cursor);
}


/* ---------------------------------------------------------
   LOGO / TITEL
   Das Bild bleibt geometrisch exakt in der Mitte.
   --------------------------------------------------------- */

.fire-header__title {
	position: absolute;
	z-index: 5;
	inset: 0;

	pointer-events: none;
}

.fire-header__logo {
	position: absolute;
	top: 50%;
	left: 50%;

	display: flex;
	align-items: center;
	justify-content: center;

	width: min(980px, 76vw);

	text-decoration: none;

	pointer-events: auto;

	transform: translate(-50%, -50%);
}

.silent-banner-fg {
	display: block;
	height: auto;
	object-fit: contain;
	filter:
		drop-shadow(var(--fire-title-shadow))
		drop-shadow(var(--fire-title-glow));
}


/* Unterzeile für Gäste */

.fire-header__subtitle {
	position: absolute;
	top: calc(50% + 145px);
	left: 50%;

	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 16px;

	width: max-content;
	max-width: calc(100% - 60px);

	color: var(--fire-text-soft);

	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.26em;
	line-height: 1.6;

	text-align: center;
	text-transform: uppercase;

	transform: translateX(-50%);

	pointer-events: auto;
}

.fire-header__subtitle::before,
.fire-header__subtitle::after {
	width: 52px;
	height: 1px;

	content: "";

	background: var(--fire-divider-gradient);
}


/* Willkommen für Mitglieder */

.fire-header__memberwelcome {
	position: absolute;
	top: calc(50% + 138px);
	left: 50%;

	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 5px;

	width: max-content;
	max-width: calc(100% - 60px);

	text-align: center;
	text-transform: uppercase;

	transform: translateX(-50%);

	pointer-events: auto;
}

.fire-header__memberwelcome span {
	color: var(--fire-text-soft);

	font-size: 9px;
	font-weight: 700;
	letter-spacing: 0.30em;
}

.fire-header__memberwelcome strong {
	color: var(--fire-text-strong);

	font-family: var(--fire-display);
	font-size: 22px;
	font-weight: 600;
	letter-spacing: 0.12em;
	line-height: 1;
}


/* =========================================================
   HERO PANEL
   ========================================================= */

.fire-hero-panel {
	position: relative;
	z-index: 10;

	box-sizing: border-box;

	width: 100%;

	background: var(--fire-panel-gradient);

	border-top: 1px solid var(--fire-border);

	box-shadow: var(--fire-shadow-panel);
}

.fire-hero-panel::before {
	position: absolute;
	top: 0;
	left: 50%;

	width: min(540px, 52vw);
	height: 1px;

	content: "";

	background: var(--fire-divider-gradient);

	transform: translateX(-50%);
}

.fire-hero-panel__inner {
	position: relative;
	z-index: 2;

	box-sizing: border-box;

	width: min(var(--fire-content-max), calc(100% - 90px));

	margin: 0 auto;
}


/* ---------------------------------------------------------
   GASTANSICHT
   --------------------------------------------------------- */

.fire-hero-panel__inner--guest {
	display: grid;

	grid-template-columns:
		minmax(260px, 0.9fr)
		minmax(360px, 1.35fr)
		auto;

	align-items: center;

	column-gap: 58px;

	padding: 42px 0 44px;
}

.fire-hero-panel__header {
	position: relative;

	margin: 0;
	padding: 0 34px 0 0;

	border-right: 1px solid var(--fire-border-soft);
}

.fire-hero-panel__eyebrow {
	display: block;

	margin-bottom: 9px;

	color: var(--fire-accent-light);

	font-size: 9px;
	font-weight: 700;
	letter-spacing: 0.25em;
	line-height: 1.5;

	text-transform: uppercase;
}

.fire-hero-panel__header h2 {
	max-width: 440px;

	margin: 0;

	color: var(--fire-text-strong);

	font-family: var(--fire-display);
	font-size: clamp(30px, 2.2vw, 42px);
	font-weight: 600;
	letter-spacing: -0.01em;
	line-height: 0.98;

	text-align: left;
	text-transform: none;
}

.fire-hero-panel__text {
	color: var(--fire-text-soft);

	font-size: 13px;
	font-weight: 400;
	line-height: 1.85;
}

.fire-hero-panel__text p {
	margin: 0 0 15px;
}

.fire-hero-panel__text p:last-child {
	margin-bottom: 0;
}

.fire-hero-panel__text a {
	color: var(--fire-accent-light);

	text-decoration: none;

	border-bottom: 1px solid var(--fire-border);
}

.fire-hero-panel__text a:hover {
	color: var(--fire-accent-bright);

	border-bottom-color: var(--fire-accent-bright);
}


/* Buttons */

.fire-hero-panel__actions {
	display: flex;
	flex-direction: column;
	gap: 9px;

	min-width: 150px;
}

.fire-hero-panel__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	box-sizing: border-box;

	min-height: 42px;

	padding: 0 20px;

	color: var(--fire-text-soft);

	font-size: 9px;
	font-weight: 700;
	letter-spacing: 0.14em;

	text-decoration: none;
	text-transform: uppercase;

	background: var(--fire-panel-light);

	border: 1px solid var(--fire-border);

	transition:
		color 0.18s ease,
		background 0.18s ease,
		border-color 0.18s ease,
		box-shadow 0.18s ease;
}

.fire-hero-panel__button:hover {
	color: var(--fire-text-strong);

	background: var(--fire-panel-hover);

	border-color: var(--fire-accent-light);

	box-shadow: 0 0 20px var(--fire-glow);
}

.fire-hero-panel__button--primary {
	color: var(--fire-text-strong);

	background: var(--fire-button-gradient);

	border-color: var(--fire-accent-light);
}

.fire-hero-panel__button--primary:hover {
	background: var(--fire-button-gradient-hover);
}


/* ---------------------------------------------------------
   MITGLIEDERANSICHT
   --------------------------------------------------------- */

.fire-hero-panel__inner--member {
	display: grid;

	grid-template-columns:
		minmax(0, 1.25fr)
		minmax(390px, 0.75fr);

	align-items: center;

	column-gap: 58px;

	padding: 40px 0 42px;
}

.fire-member-intro {
	position: relative;

	margin: 0;
	padding-right: 48px;

	border-right: 1px solid var(--fire-border-soft);
}

.fire-member-intro::before {
	position: absolute;
	top: 3px;
	left: -19px;

	width: 2px;
	height: 42px;

	content: "";

	background: var(--fire-accent);
}

.fire-member-intro p {
	margin: 0;
}


/* Szenen */

.fire-scene-status {
	position: relative;

	margin: 0;
	padding: 0;

	border: 0;
}

.fire-scene-status__main {
	display: grid;

	grid-template-columns: 68px minmax(0, 1fr);

	align-items: center;

	column-gap: 20px;
}

.fire-scene-status__number {
	color: var(--fire-accent-light);

	font-family: var(--fire-display);
	font-size: 70px;
	font-weight: 600;
	line-height: 0.72;
}

.fire-scene-status__eyebrow {
	display: block;

	margin-bottom: 6px;

	color: var(--fire-accent-light);

	font-size: 9px;
	font-weight: 700;
	letter-spacing: 0.22em;

	text-transform: uppercase;
}

.fire-scene-status__copy p {
	margin: 0;

	color: var(--fire-text-soft);

	font-size: 13px;
	font-weight: 400;
	line-height: 1.7;
}

.fire-scene-status__copy strong {
	color: var(--fire-text-strong);

	font-weight: 600;
}

.fire-scene-status__meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;

	margin-top: 20px;
	padding-top: 15px;

	border-top: 1px solid var(--fire-border-soft);
}

.fire-scene-status__meta > span {
	display: flex;
	align-items: center;
	gap: 8px;

	color: var(--fire-text-muted);

	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.09em;

	text-transform: uppercase;
}

.fire-scene-status__meta > span i {
	color: var(--fire-accent-light);
}

.fire-scene-status__meta a {
	display: flex;
	align-items: center;
	gap: 8px;

	color: var(--fire-accent-light);

	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.11em;

	text-decoration: none;
	text-transform: uppercase;

	transition:
		color 0.18s ease,
		gap 0.18s ease;
}

.fire-scene-status__meta a:hover {
	gap: 11px;

	color: var(--fire-accent-bright);
}

.fire-scene-status__meta a i {
	color: currentColor;

	font-size: 8px;
}


/* =========================================================
   BREADCRUMBS
   ========================================================= */

.fire-breadcrumbs {
	box-sizing: border-box;

	width: 100%;

	padding: 14px 34px;

	color: var(--fire-text-muted);

	font-size: 9px;
	font-weight: 600;
	letter-spacing: 0.11em;
	line-height: 1.5;

	text-transform: uppercase;

	background: var(--fire-bg-dark);

	border-top: 1px solid var(--fire-border-faint);
	border-bottom: 1px solid var(--fire-border-faint);
}

.fire-breadcrumbs a {
	color: var(--fire-text-soft);

	text-decoration: none;
}

.fire-breadcrumbs a:hover {
	color: var(--fire-accent-light);
}

.fire-title,
.forum-title,
.category-title,
thead .thead-title {
	font-family: var(--fire-display);
	font-weight: 600;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1180px) {

	.fire-hero-visual {
		height: clamp(520px, 58vw, 690px);

		background-position:
			center,
			56% bottom;
	}

	.fire-header__logo {
		width: min(840px, 78vw);
	}

	.fire-header__subtitle {
		top: calc(50% + 125px);
	}

	.fire-header__memberwelcome {
		top: calc(50% + 122px);
	}

	.fire-hero-panel__inner {
		width: calc(100% - 60px);
	}

	.fire-hero-panel__inner--guest {
		grid-template-columns:
			minmax(240px, 0.8fr)
			minmax(320px, 1.2fr);

		column-gap: 40px;

		row-gap: 28px;
	}

	.fire-hero-panel__inner--guest .fire-hero-panel__actions {
		grid-column: 1 / -1;

		flex-direction: row;
		justify-content: center;
	}

	.fire-hero-panel__inner--member {
		grid-template-columns:
			minmax(0, 1fr)
			minmax(340px, 0.8fr);

		column-gap: 38px;
	}
}


/* =========================================================
   MOBILE
   Sidebar wird zur Sticky-Top-Navigation.
   ========================================================= */

@media (max-width: 820px), (max-device-width: 820px) {

	:root {
		--fire-mobile-nav-height: 68px;
	}


	/* -----------------------------------------------------
	   MOBILE NAV
	----------------------------------------------------- */

	.fire-sidebar {
		position: sticky !important;
		z-index: 99999 !important;

		top: 0 !important;
		left: auto !important;
		right: auto !important;

		display: flex !important;

		flex-direction: row !important;
		align-items: stretch !important;

		box-sizing: border-box;

		width: 100% !important;
		max-width: none !important;

		height: var(--fire-mobile-nav-height) !important;
		min-height: var(--fire-mobile-nav-height) !important;

		margin: 0 !important;
		padding: 0 !important;

		overflow-x: auto !important;
		overflow-y: hidden !important;

		visibility: visible !important;
		opacity: 1 !important;

		background: var(--fire-panel) !important;

		border-right: 0 !important;
		border-bottom: 1px solid var(--fire-border) !important;

		box-shadow: var(--fire-shadow-top) !important;

		scrollbar-width: none;
	}

	.fire-sidebar::-webkit-scrollbar {
		display: none;
	}

	.fire-sidebar__guestlogo,
	.fire-user,
	.fire-user__avatar {
		flex: 0 0 var(--fire-mobile-nav-height);

		width: var(--fire-mobile-nav-height);
		height: var(--fire-mobile-nav-height);
	}

	.fire-sidebar__guestlogo {
		display: flex !important;

		border-right: 1px solid var(--fire-border);
		border-bottom: 0;
	}

	.fire-sidebar__guestlogo span {
		font-size: 32px;
	}

	.fire-user {
		position: relative;

		display: block !important;
	}

	.fire-user__avatar {
		display: block !important;

		border-right: 1px solid var(--fire-border);
		border-bottom: 0;
	}

	.fire-user__flyout {
		position: fixed;

		top: var(--fire-mobile-nav-height);
		left: 8px;

		width: min(340px, calc(100vw - 16px));

		padding: 24px;

		transform: translateY(-8px);
	}

	.fire-user:hover .fire-user__flyout,
	.fire-user:focus-within .fire-user__flyout {
		transform: translateY(0);
	}

	.fire-user__label {
		font-size: 11px;
	}

	.fire-user__name {
		font-size: 34px;
	}

	.fire-user__links a {
		min-height: 40px;

		font-size: 12px;
	}


	/* Navigation horizontal */

	.fire-sidebar__navigation {
		display: flex !important;

		flex: 1 0 auto !important;
		flex-direction: row !important;
		align-items: stretch !important;

		width: auto !important;
		min-width: max-content !important;

		height: var(--fire-mobile-nav-height) !important;

		padding: 0 !important;

		overflow: visible !important;

		visibility: visible !important;
		opacity: 1 !important;
	}

	.fire-nav-item {
		display: flex !important;

		flex: 0 0 58px;

		width: 58px;
		min-height: var(--fire-mobile-nav-height);

		visibility: visible !important;
		opacity: 1 !important;

		border-bottom: 0;
		border-right: 1px solid var(--fire-border-soft);
	}

	.fire-nav-item::before {
		top: auto;
		right: 50%;
		bottom: 0;

		width: 0;
		height: 2px;

		transform: translateX(50%);

		transition: width 0.18s ease;
	}

	.fire-nav-item:hover::before,
	.fire-nav-item:focus-visible::before {
		width: 28px;
		height: 2px;
	}

	.fire-nav-item > i {
		font-size: 18px;
	}

	.fire-nav-badge {
		top: 7px;
		right: 6px;

		min-width: 19px;
		height: 19px;

		font-size: 9px;
	}

	.fire-nav-tooltip {
		display: none;
	}


	/* Accountswitcher */

	#accountswitcher_header {
		position: relative;

		display: flex !important;

		flex: 0 0 58px;

		align-items: stretch;
		justify-content: center;

		width: 58px;
		height: var(--fire-mobile-nav-height);

		visibility: visible !important;
		opacity: 1 !important;

		border-right: 1px solid var(--fire-border-soft);
	}

	#accountswitcher_header > a {
		display: flex;

		align-items: center;
		justify-content: center;

		width: 100%;
		height: 100%;

		color: var(--fire-accent-light);

		font-size: 18px;

		cursor: var(--fire-wand-cursor);
	}

	#accountswitcher_header_popup {
		position: fixed !important;
		z-index: 100000;

		top: var(--fire-mobile-nav-height) !important;
		left: 8px !important;

		width: min(340px, calc(100vw - 16px));

		background: var(--fire-panel);

		border: 1px solid var(--fire-border);

		box-shadow: var(--fire-shadow-flyout);
	}


	/* Unterer Sidebarbereich */

	.fire-sidebar__bottom {
		display: flex !important;

		flex: 0 0 auto;
		flex-direction: row;

		width: auto;
		height: var(--fire-mobile-nav-height);

		visibility: visible !important;
		opacity: 1 !important;

		background: var(--fire-transparent);

		border-top: 0;
		border-left: 1px solid var(--fire-border);
	}

	.fire-sidebar__bottom .fire-nav-item {
		min-height: var(--fire-mobile-nav-height);
	}


	/* -----------------------------------------------------
	   MOBILE SEITENLAYOUT
	----------------------------------------------------- */

	.fire-page {
		width: 100% !important;
		max-width: none !important;

		margin-left: 0 !important;
	}

	.fire-topbar {
		display: none;
	}


	/* -----------------------------------------------------
	   MOBILE HERO
	----------------------------------------------------- */

	.fire-hero-visual {
		height: clamp(470px, 76svh, 660px);

		background-position:
			center,
			58% center;
	}

	.fire-header__logo {
		width: min(88vw, 700px);
	}

	.fire-header__subtitle {
		top: calc(50% + 105px);

		max-width: calc(100% - 36px);

		font-size: 13px;
		letter-spacing: 0.17em;
		line-height: 1.7;
	}

	.fire-header__subtitle::before,
	.fire-header__subtitle::after {
		width: 32px;
	}

	.fire-header__memberwelcome {
		top: calc(50% + 102px);

		max-width: calc(100% - 36px);
	}

	.fire-header__memberwelcome span {
		font-size: 12px;
		letter-spacing: 0.22em;
	}

	.fire-header__memberwelcome strong {
		font-size: 27px;
	}


	/* -----------------------------------------------------
	   MOBILE PANEL
	----------------------------------------------------- */

	.fire-hero-panel__inner {
		width: 100%;

		padding-right: 28px;
		padding-left: 28px;
	}

	.fire-hero-panel__inner--guest,
	.fire-hero-panel__inner--member {
		display: grid;

		grid-template-columns: 1fr;

		row-gap: 28px;
		column-gap: 0;

		padding-top: 34px;
		padding-bottom: 38px;
	}

	.fire-hero-panel__header {
		padding: 0 0 24px;

		border-right: 0;
		border-bottom: 1px solid var(--fire-border-soft);
	}

	.fire-hero-panel__eyebrow {
		margin-bottom: 10px;

		font-size: 12px;
		letter-spacing: 0.20em;
	}

	.fire-hero-panel__header h2 {
		max-width: 600px;

		font-size: clamp(35px, 9vw, 47px);
		line-height: 1.02;
	}

	/* Bewusst groß: mobile Lesbarkeit */

	.fire-hero-panel__text {
		font-size: 16px;
		line-height: 1.78;
	}

	.fire-hero-panel__text p {
		margin-bottom: 18px;
	}

	.fire-hero-panel__actions,
	.fire-hero-panel__inner--guest .fire-hero-panel__actions {
		grid-column: 1;

		display: flex;

		flex-direction: row;
		flex-wrap: wrap;

		justify-content: flex-start;

		min-width: 0;
	}

	.fire-hero-panel__button {
		min-height: 48px;

		padding: 0 22px;

		font-size: 12px;
		letter-spacing: 0.11em;
	}


	/* Mitglieder */

	.fire-member-intro {
		padding: 0 0 28px;

		border-right: 0;
		border-bottom: 1px solid var(--fire-border-soft);
	}

	.fire-member-intro::before {
		top: 1px;
		left: -12px;

		height: 52px;
	}

	.fire-scene-status__main {
		grid-template-columns: 72px minmax(0, 1fr);

		column-gap: 20px;
	}

	.fire-scene-status__number {
		font-size: 72px;
	}

	.fire-scene-status__eyebrow {
		font-size: 12px;
		letter-spacing: 0.18em;
	}

	.fire-scene-status__copy p {
		font-size: 16px;
		line-height: 1.65;
	}

	.fire-scene-status__meta {
		gap: 16px;

		margin-top: 22px;
		padding-top: 17px;
	}

	.fire-scene-status__meta > span,
	.fire-scene-status__meta a {
		font-size: 12px;
		line-height: 1.5;
	}

	.fire-breadcrumbs {
		padding: 16px 24px;

		font-size: 12px;
		line-height: 1.6;
	}
}


/* =========================================================
   KLEINE HANDYS
   ========================================================= */

@media (max-width: 520px), (max-device-width: 520px) {

	:root {
		--fire-mobile-nav-height: 64px;
	}

	.fire-sidebar__guestlogo,
	.fire-user,
	.fire-user__avatar {
		flex-basis: var(--fire-mobile-nav-height);

		width: var(--fire-mobile-nav-height);
		height: var(--fire-mobile-nav-height);
	}

	.fire-nav-item,
	#accountswitcher_header {
		flex-basis: 54px;

		width: 54px;
	}

	.fire-nav-item > i,
	#accountswitcher_header > a {
		font-size: 18px;
	}

	.fire-hero-visual {
		height: clamp(450px, 74svh, 590px);

		background-position:
			center,
			61% center;
	}

	.fire-header__logo {
		width: 92vw;
	}

	.fire-header__subtitle {
		top: calc(50% + 92px);

		width: calc(100% - 34px);

		font-size: 13px;
		letter-spacing: 0.12em;
	}

	.fire-header__subtitle::before,
	.fire-header__subtitle::after {
		display: none;
	}

	.fire-header__memberwelcome {
		top: calc(50% + 90px);
	}

	.fire-header__memberwelcome span {
		font-size: 12px;
	}

	.fire-header__memberwelcome strong {
		font-size: 26px;
	}

	.fire-hero-panel__inner {
		padding-right: 20px;
		padding-left: 20px;
	}

	.fire-hero-panel__inner--guest,
	.fire-hero-panel__inner--member {
		padding-top: 30px;
		padding-bottom: 34px;
	}

	.fire-hero-panel__eyebrow {
		font-size: 12px;
	}

	.fire-hero-panel__header h2 {
		font-size: clamp(34px, 10.5vw, 44px);
	}

	.fire-hero-panel__text {
		font-size: 17px;
		line-height: 1.72;
	}

	.fire-hero-panel__actions,
	.fire-hero-panel__inner--guest .fire-hero-panel__actions {
		flex-direction: column;
	}

	.fire-hero-panel__button {
		width: 100%;

		min-height: 50px;

		font-size: 13px;
	}

	.fire-scene-status__main {
		grid-template-columns: 62px minmax(0, 1fr);

		column-gap: 16px;
	}

	.fire-scene-status__number {
		font-size: 63px;
	}

	.fire-scene-status__eyebrow {
		font-size: 12px;
	}

	.fire-scene-status__copy p {
		font-size: 16px;
	}

	.fire-scene-status__meta {
		align-items: flex-start;
		flex-direction: column;

		gap: 10px;
	}

	.fire-scene-status__meta > span,
	.fire-scene-status__meta a {
		font-size: 12px;
	}

	.fire-breadcrumbs {
		padding: 15px 20px;

		font-size: 12px;
	}
}