/* Approved preview: majaa-navigation-narrow-lines. Navigation scope only. */
body.majaa-navigation-approved {
    --maj-paper:#fffdf9; --maj-white:#fff; --maj-ink:var(--majaa-color-ink); --maj-secondary:var(--majaa-color-text);
    --maj-icon:var(--majaa-color-ink); --maj-gold-soft:var(--majaa-color-cream); --maj-gold-hover:#f8f3e9; --maj-rule:#e7e0d5;
}
body.majaa-navigation-approved #navigation,
body.majaa-navigation-approved #vertical-navigation,
body.majaa-navigation-approved #navigation *,
body.majaa-navigation-approved #vertical-navigation * {box-sizing:border-box;}
body.majaa-navigation-approved #navigation {background:var(--majaa-color-page,#fff)!important; color:var(--maj-ink); padding:0!important; border:0!important; border-bottom:1px solid var(--maj-rule)!important; box-shadow:none; min-height:92px; z-index:1200;}
body.majaa-navigation-approved #navigation .navbar__container {width:100%; min-height:91px; padding:8px 18px!important; display:flex; justify-content:flex-start; align-items:center;}
body.majaa-navigation-approved #navigation .navbar__header {display:flex; flex:0 0 auto; width:auto; align-items:center; gap:20px; margin:0; padding:0;}
body.majaa-navigation-approved #navigation .navbar-brand {display:block; flex:0 0 auto; margin:0!important; padding:0!important; order:2; width:115.2px!important; height:60px!important;}
body.majaa-navigation-approved #navigation .maj-menu-toggle {position:relative!important; display:block!important; order:1; float:none; left:auto!important; right:auto!important; top:auto!important; bottom:auto!important; transform:none!important; width:48px!important; min-width:48px; height:60px!important; min-height:60px; padding:0!important; border:0!important; border-radius:0; background:transparent!important; color:var(--maj-ink)!important; opacity:1!important; box-shadow:none; font-size:0;}
body.majaa-navigation-approved #navigation .maj-menu-toggle::before,
body.majaa-navigation-approved #navigation .maj-menu-toggle::after {content:none!important; display:none!important;}
body.majaa-navigation-approved #navigation .maj-menu-bars {position:absolute; right:2px; top:26.77778px; width:35.2px!important; min-width:35.2px; max-width:none; height:25.24444px!important; max-height:none; overflow:visible; stroke-width:3; stroke-linecap:round; stroke-linejoin:round; filter:drop-shadow(0 1.5px 1.5px rgb(57 48 60 / 18%));}
body.majaa-navigation-approved #navigation .maj-menu-bars * {vector-effect:non-scaling-stroke;}
body.majaa-navigation-approved #navigation .maj-menu-toggle:hover {color:var(--maj-icon)!important;}
body.majaa-navigation-approved #navigation .maj-brand {position:relative; display:block; width:115.2px; height:60px; overflow:hidden; transform:translateY(-3px);}
body.majaa-navigation-approved #navigation .maj-brand img {position:absolute; width:177.77778px!important; min-width:177.77778px; max-width:none!important; height:177.77778px!important; max-height:none!important; left:-32px; top:-57.95556px; margin:0; object-fit:fill;}
/* Preserve the header while the native engine controls menu state and closing. */
body.majaa-navigation-approved #site.slideout-panel {transform:none!important; will-change:auto!important; z-index:auto!important;}
body.majaa-navigation-approved #header {z-index:auto!important;}
body.majaa-navigation-approved #slideout-wrapper {left:var(--majaa-menu-left,0px)!important; right:auto!important; top:var(--majaa-menu-top,92px)!important; bottom:0; width:min(320px,calc(100vw - var(--majaa-menu-left,0px) - 24px))!important; height:auto; padding:0!important; transform:none!important; overflow-x:hidden; overflow-y:auto; background:var(--maj-paper)!important; z-index:1150!important; box-shadow:8px 0 20px rgb(37 30 39 / 8%);}
body.majaa-navigation-approved #slideout-backdrop {left:var(--majaa-menu-left,0px)!important; right:0; top:var(--majaa-menu-top,92px)!important; bottom:0; width:auto!important; height:auto!important; background:rgb(37 30 39 / 30%)!important; z-index:1100!important; transform:none!important;}
body.majaa-navigation-approved #slideout-backdrop {font-size:0; color:transparent;}
body.majaa-navigation-approved #slideout-backdrop::before,
body.majaa-navigation-approved #slideout-backdrop::after {content:none!important;}
/* Explicit hit/visibility states, including themes that disable their backdrop's pointer events. */
body.majaa-navigation-approved #slideout-wrapper,
body.majaa-navigation-approved #slideout-backdrop {display:none!important; pointer-events:none!important;}
html.slideout-open body.majaa-navigation-approved #slideout-wrapper,
html.slideout-open body.majaa-navigation-approved #slideout-backdrop {display:block!important; visibility:visible!important; pointer-events:auto!important;}
html.slideout-open body.majaa-navigation-approved #slideout-backdrop {opacity:1!important;}
body.majaa-navigation-approved #vertical-navigation.maj-drawer {display:block; position:relative!important; transform:none!important; width:100%!important; height:auto!important; min-height:100%; padding:18px 14px 22px!important; margin:0; background:var(--maj-paper)!important; border:0; border-right:1px solid var(--maj-rule); color:var(--maj-ink); font-family:var(--majaa-font-body); font-size:16px; line-height:1.5;}
body.majaa-navigation-approved .maj-drawer a {text-decoration:none!important;}
body.majaa-navigation-approved .maj-drawer button {font-family:inherit; cursor:pointer;}
body.majaa-navigation-approved .maj-drawer-heading {position:relative; display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:108px; margin-bottom:16px; padding:18px 8px 18px 14px; border-radius:18px; background:linear-gradient(130deg,#fcf8f1,#f1e7d8); overflow:hidden;}
body.majaa-navigation-approved .maj-menu-welcome {position:relative; z-index:1;}
body.majaa-navigation-approved .maj-menu-welcome h2 {margin:0; font-family:var(--majaa-font-heading)!important; font-size:24px; line-height:1.5; font-weight:500; color:var(--maj-ink); text-transform:none;}
body.majaa-navigation-approved .maj-menu-welcome p {margin:5px 0 0; font-size:12px; line-height:1.5; color:var(--maj-secondary);}
body.majaa-navigation-approved .maj-flow-art {position:absolute; right:-18px; top:-20px; width:164px; height:150px; overflow:hidden; opacity:.14; pointer-events:none;}
body.majaa-navigation-approved .maj-flow-art span {position:absolute; width:224px; height:126px; left:20px; top:-12px; border:1.5px solid var(--maj-icon); border-radius:50%; transform:rotate(-28deg);}
body.majaa-navigation-approved .maj-flow-art span:nth-child(2) {left:18px; top:6px; width:228px; height:132px;}
body.majaa-navigation-approved .maj-flow-art span:nth-child(3) {left:34px; top:26px; width:232px; height:138px; border-color:var(--maj-secondary);}
body.majaa-navigation-approved .maj-member-preview {position:relative; z-index:1; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; flex:0 0 80px; width:80px; min-height:72px; padding:0; color:var(--maj-ink)!important; text-align:center; border-radius:12px;}
body.majaa-navigation-approved .maj-member-preview img,
body.majaa-navigation-approved .maj-avatar-fallback {display:block; width:48px!important; height:48px!important; flex:none; border-radius:50%; object-fit:cover; margin:0!important; background:var(--maj-paper);}
body.majaa-navigation-approved .maj-avatar-fallback {display:grid; place-items:center; color:var(--maj-icon);}
body.majaa-navigation-approved .maj-avatar-fallback .maj-icon {width:28px; height:28px;}
body.majaa-navigation-approved .maj-member-name {display:block; max-width:80px; font-family:var(--majaa-font-body); font-size:14px; line-height:1.3; overflow-wrap:anywhere;}
body.majaa-navigation-approved .maj-menu-welcome {min-width:0;}
body.majaa-navigation-approved #navigation a,
body.majaa-navigation-approved #navigation button,
body.majaa-navigation-approved #slideout-backdrop,
body.majaa-navigation-approved .maj-drawer a,
body.majaa-navigation-approved .maj-drawer button {touch-action:manipulation;}
body.majaa-navigation-approved #slideout-wrapper {touch-action:pan-y; -webkit-overflow-scrolling:touch; overscroll-behavior-y:contain;}
body.majaa-navigation-approved .maj-icon {display:block; width:16px; height:16px; flex:none;}
body.majaa-navigation-approved .maj-main-menu,
body.majaa-navigation-approved .maj-account-links {list-style:none; padding:0!important; margin:0!important; width:100%; display:block;}
body.majaa-navigation-approved .maj-menu-item {list-style:none; padding:0; margin:0; width:100%; display:block;}
body.majaa-navigation-approved .maj-menu-item + .maj-menu-item {margin-top:4px;}
body.majaa-navigation-approved #vertical-navigation .maj-nav-link,
body.majaa-navigation-approved #vertical-navigation .maj-account-toggle {display:flex; align-items:center; gap:13px; width:100%; min-height:52px; padding:12px 14px!important; margin:0; border:0; border-radius:18px; background:var(--maj-paper); color:var(--maj-ink)!important; text-align:left; font-family:var(--majaa-font-heading)!important; font-size:19px!important; font-weight:400!important; line-height:1.4!important; letter-spacing:0; text-transform:none!important; box-shadow:none;}
body.majaa-navigation-approved .maj-nav-link::before,
body.majaa-navigation-approved .maj-nav-link::after {content:none!important;}
body.majaa-navigation-approved .maj-nav-link > :first-child,
body.majaa-navigation-approved .maj-account-toggle > :first-child {color:var(--maj-icon);}
body.majaa-navigation-approved .maj-nav-link span,
body.majaa-navigation-approved .maj-account-toggle span {min-width:0; flex:1; overflow-wrap:anywhere;}
body.majaa-navigation-approved #vertical-navigation .maj-nav-link:hover,
body.majaa-navigation-approved #vertical-navigation .maj-account-toggle:hover {background:var(--maj-gold-hover);}
body.majaa-navigation-approved #vertical-navigation .maj-nav-link[aria-current=page] {background:var(--maj-gold-soft);}
body.majaa-navigation-approved .maj-selection {visibility:hidden; color:var(--maj-ink);}
body.majaa-navigation-approved [aria-current=page] .maj-selection {visibility:visible;}
body.majaa-navigation-approved .maj-menu-item.maj-account-section {margin-top:20px; padding-top:16px; border-top:1px solid var(--maj-rule);}
body.majaa-navigation-approved #vertical-navigation .maj-account-toggle {color:var(--maj-secondary)!important;}
body.majaa-navigation-approved .maj-account-toggle[aria-expanded=true] .maj-account-arrow {transform:rotate(180deg);}
body.majaa-navigation-approved #vertical-navigation .maj-account-link {display:flex; align-items:center; min-height:44px; padding:8px 14px 8px 43px!important; border-radius:10px; color:var(--maj-secondary); font-family:var(--majaa-font-body)!important; font-size:14px; line-height:1.5;}
body.majaa-navigation-approved .maj-account-link:hover {background:var(--maj-gold-hover);}
body.majaa-navigation-approved .maj-drawer [hidden] {display:none!important;}
/* A keyboard focus indicator is retained even when the theme applies outline:none. */
body.majaa-navigation-approved #navigation button:focus-visible,
body.majaa-navigation-approved #navigation a:focus-visible,
body.majaa-navigation-approved .maj-drawer button:focus-visible,
body.majaa-navigation-approved .maj-drawer a:focus-visible {outline:2px solid var(--majaa-color-gold-dark); outline-offset:2px;}
@media(max-width:480px) {
    body.majaa-navigation-approved #navigation .navbar__container {padding-inline:14px!important;}
    body.majaa-navigation-approved #navigation .navbar__header {gap:18px;}
}

/* Approved shared member avatar size: menu and Community post header. */
body.majaa-navigation-approved {--maj-member-avatar-size:3.3rem;}
body.majaa-navigation-approved .maj-member-preview img,
body.majaa-navigation-approved .maj-avatar-fallback {width:var(--maj-member-avatar-size)!important;height:var(--maj-member-avatar-size)!important;}

/* Desktop uses a persistent navigation region, without modal inertness or focus trapping. */
@media(min-width:1100px) {
 body.majaa-navigation-approved #slideout-wrapper {display:block!important;visibility:visible!important;pointer-events:auto!important;width:300px!important;box-shadow:none!important;}
 body.majaa-navigation-approved #slideout-backdrop {display:none!important;pointer-events:none!important;}
 body.majaa-navigation-approved #navigation #navbar-toggler {display:none!important;}
 body.majaa-navigation-approved #content {margin-left:300px!important;width:calc(100% - 300px)!important;max-width:none!important;}
}

/* Handy-Navigation: Leiste unten und Glocke oben (tabbar.php). Nur unter 1100 px. */
.majaa-tabbar,
.maj-header-bell { display: none; }
@media (max-width: 1099px) {
	body.majaa-navigation-approved .majaa-tabbar {
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 9990;
		display: flex;
		align-items: stretch;
		box-sizing: border-box;
		height: calc(64px + env(safe-area-inset-bottom, 0px));
		padding: 0 4px env(safe-area-inset-bottom, 0px);
		border-top: 1px solid var(--majaa-card-border);
		background: var(--majaa-card-bg);
		box-shadow: 0 -2px 14px rgb(57 48 60 / 6%);
	}
	body.majaa-navigation-approved { padding-bottom: calc(64px + env(safe-area-inset-bottom, 0px)); }
	.majaa-tabbar__item {
		position: relative;
		display: flex;
		flex: 1 1 0;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 3px;
		min-width: 0;
		color: var(--majaa-color-text);
		font: 400 11px / 1.2 var(--majaa-font-body);
		text-decoration: none;
		-webkit-tap-highlight-color: transparent;
	}
	.majaa-tabbar__item:hover,
	.majaa-tabbar__item:focus { color: var(--majaa-color-ink); text-decoration: none; }
	.majaa-tabbar__item.is-current { color: var(--majaa-color-ink); font-weight: 700; }
	/* Goldener Punkt unter dem aktiven Bereich */
	.majaa-tabbar__item.is-current::after {
		content: "";
		position: absolute;
		bottom: 5px;
		width: 4px;
		height: 4px;
		border-radius: 50%;
		background: var(--majaa-color-gold-dark);
	}
	.majaa-tabbar__item:focus-visible { outline: 2px solid var(--majaa-color-ink); outline-offset: -4px; border-radius: 12px; }
	.majaa-tabbar__icon { position: relative; display: grid; place-items: center; width: 26px; height: 26px; }
	body.majaa-navigation-approved .majaa-tabbar__icon .maj-icon { width: 24px !important; height: 24px !important; }
	.majaa-tabbar__label { max-width: 100%; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
	.majaa-tabbar__avatar { width: 26px; height: 26px; border-radius: 50%; object-fit: cover; }
	.majaa-tabbar__item.is-current .majaa-tabbar__avatar { box-shadow: 0 0 0 2px var(--majaa-card-bg), 0 0 0 3px var(--majaa-color-ink); }
	.majaa-tabbar__badge,
	.maj-header-bell__badge {
		position: absolute;
		top: -4px;
		right: -8px;
		box-sizing: border-box;
		min-width: 17px;
		height: 17px;
		padding: 0 4px;
		border-radius: 9px;
		background: var(--majaa-color-lilac);
		color: #fff;
		font: 700 10px / 17px var(--majaa-font-body);
		text-align: center;
	}
	/* Glocke rechts in der Kopfleiste */
	body.majaa-navigation-approved .maj-header-bell {
		position: absolute;
		top: 50%;
		right: 12px;
		display: grid;
		place-items: center;
		width: 44px;
		height: 44px;
		color: var(--majaa-color-ink);
		transform: translateY(-50%);
	}
	body.majaa-navigation-approved .maj-header-bell .maj-icon { width: 24px !important; height: 24px !important; }
	/* Der Theme-Behälter für das Kopfmenü ist mobil ausgeblendet; er enthält hier nur die Glocke. */
	body.majaa-navigation-approved .grimlock-hamburger-navbar-nav-menu-container:has(> .maj-header-bell) { display: contents !important; }
	body.majaa-navigation-approved .maj-header-bell .maj-header-bell__badge { top: 4px; right: 2px; }
}

/* Gäste am Handy (tabbar.php, Entwurf „Gäste-Navigation“ A): Leiste unten mit zwei Buttons,
 * „Anmelden“ oben rechts, kein Menü-Knopf. Nur unter 1100 px; darüber gilt die Seitenleiste. */
.majaa-guestbar,
.maj-header-login { display: none; }
@media (max-width: 1099px) {
	body.majaa-navigation-approved .majaa-guestbar {
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 9990;
		display: flex;
		gap: var(--majaa-button-spacing);
		box-sizing: border-box;
		padding: 12px 16px calc(12px + env(safe-area-inset-bottom, 0px));
		border-top: 1px solid var(--majaa-card-border);
		background: var(--majaa-card-bg);
		box-shadow: 0 -2px 14px rgb(57 48 60 / 6%);
	}
	body.majaa-navigation-approved .majaa-guestbar .majaa-ui-button { flex: 1 1 0; min-width: 0; padding-inline: 12px; }
	body.majaa-navigation-approved .majaa-guestbar .majaa-ui-button--filled { flex-grow: 1.6; }
	body.majaa-has-guestbar.majaa-navigation-approved { padding-bottom: calc(68px + env(safe-area-inset-bottom, 0px)); }
	body.majaa-guest.majaa-navigation-approved:not(.majaa-has-guestbar) { padding-bottom: 0; }
	/* Kein Menü-Symbol mehr am Handy – weder für Gäste noch für Mitglieder (05.11.2026).
	 * Mitglieder: Leiste unten, Glocke oben, Konto über das Zahnrad im Profil. */
	body.majaa-navigation-approved #navigation #navbar-toggler.maj-menu-toggle { display: none !important; }
	/* Die Schublade öffnet sich auch nicht mehr per Wischgeste. */
	html.slideout-open body.majaa-navigation-approved #slideout-wrapper,
	html.slideout-open body.majaa-navigation-approved #slideout-backdrop { display: none !important; pointer-events: none !important; }
	body.majaa-navigation-approved .maj-header-login {
		position: absolute;
		top: 50%;
		right: 16px;
		display: inline-flex;
		align-items: center;
		min-height: 44px;
		color: var(--majaa-color-ink);
		font: 400 16px / 1.4 var(--majaa-font-body);
		text-decoration: underline;
		text-decoration-color: var(--majaa-color-gold-dark);
		text-underline-offset: 4px;
		transform: translateY(-50%);
	}
	body.majaa-navigation-approved .grimlock-hamburger-navbar-nav-menu-container:has(> .maj-header-login) { display: contents !important; }
}

/* „Dein Konto“ unter den Einstellungen (tabbar.php) */
.majaa-account-links {
	box-sizing: border-box;
	max-width: 760px;
	margin: 32px 0 0;
	padding: var(--majaa-card-padding);
	border: 1px solid var(--majaa-card-border);
	border-radius: var(--majaa-card-radius);
	background: var(--majaa-card-bg);
	box-shadow: var(--majaa-card-shadow);
}
body #buddypress .majaa-account-links h2 { margin: 0 0 12px; color: var(--majaa-color-ink); font: 400 24px / 1.3 var(--majaa-font-heading); }
.majaa-account-links__actions { display: flex; flex-wrap: wrap; gap: var(--majaa-button-spacing); }
