/*
 * KFL3 Domain Modes
 * Gemeinsame Layout-Helfer fuer App- und Intern-Domain.
 */

.kfl3-mode-app .intern-only,
.kfl3-mode-intern .app-only {
	display: none !important;
}

.kfl3-mode-intern body {
	min-height: 100vh;
}

body.kfl3-mode-intern {
	--kfl3-page-max-width: 1320px;
	--kfl3-page-gutter: clamp(24px, 4vw, 56px);
}

body.kfl3-mode-intern .bnav_bottom_nav_wrapper {
	display: none !important;
}

body.kfl3-mode-intern {
	padding-bottom: 0 !important;
}

@media (min-width: 900px) {
	body.kfl3-mode-intern .wp-site-blocks > header,
	body.kfl3-mode-intern .wp-site-blocks > main,
	body.kfl3-mode-intern .wp-site-blocks > footer {
		width: min(100% - var(--kfl3-page-gutter), var(--kfl3-page-max-width));
		margin-inline: auto;
	}

	body.kfl3-mode-intern main,
	body.kfl3-mode-intern .wp-block-post-content {
		min-height: calc(100vh - 180px);
	}

	body.kfl3-mode-intern .wp-block-group.alignfull,
	body.kfl3-mode-intern .wp-block-cover.alignfull {
		width: 100vw;
		margin-left: calc(50% - 50vw);
	}

	body.kfl3-mode-intern .wp-block-columns {
		align-items: stretch;
	}
}

@media (min-width: 1100px) {
	body.kfl3-mode-intern .kfl3-desktop-dashboard {
		display: grid;
		grid-template-columns: minmax(220px, 280px) minmax(0, 1fr);
		gap: 24px;
		align-items: start;
	}

	body.kfl3-mode-intern .kfl3-desktop-sidebar {
		position: sticky;
		top: 24px;
	}

	body.admin-bar.kfl3-mode-intern .kfl3-desktop-sidebar {
		top: 56px;
	}
}

@media (max-width: 899px) {
	body.kfl3-mode-app .desktop-only,
	body.kfl3-mode-app .kfl3-desktop-only {
		display: none !important;
	}
}

.kfl3-menu-list {
	display: grid;
	gap: 14px;
	width: min(100%, 520px);
	margin-inline: auto;
	justify-items: stretch;
}

.kfl3-menu-list .wp-block-button,
.kfl3-menu-list .wp-block-button__link,
.kfl3-menu-list .o-button,
.kfl3-menu-list a {
	width: 100%;
	max-width: 100%;
}

.kfl3-menu-list .wp-block-button__link,
.kfl3-menu-list .o-button,
.kfl3-menu-list a {
	display: grid;
	grid-template-columns: 48px minmax(0, 1fr) 24px;
	align-items: center;
	min-height: 72px;
	padding: 12px 16px;
	border: 1px solid #dfe7dd;
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 8px 24px rgba(20, 35, 25, 0.08);
	color: #07140d;
	font-weight: 700;
	text-align: center;
	text-decoration: none;
	white-space: normal;
}

.kfl3-menu-list .wp-block-button__link::before,
.kfl3-menu-list .o-button::before,
.kfl3-menu-list a::before {
	content: "";
	display: block;
	width: 48px;
	height: 48px;
	border: 1px solid #cfe0c9;
	border-radius: 14px;
	background: #eef8ec;
}

.kfl3-menu-list .wp-block-button__link::after,
.kfl3-menu-list .o-button::after,
.kfl3-menu-list a::after {
	content: "›";
	color: #4f6257;
	font-size: 22px;
	font-weight: 700;
	line-height: 1;
	text-align: center;
}

.kfl3-menu-list .wp-block-button__link:hover,
.kfl3-menu-list .o-button:hover,
.kfl3-menu-list a:hover {
	border-color: #c9dcc7;
	box-shadow: 0 10px 28px rgba(20, 35, 25, 0.12);
	transform: translateY(-1px);
}
