/**
 * Gemeinsame visuelle Grundlage der RIVF-Frontendmodule.
 * Fachbereichsspezifische Layouts und Farben bleiben in ihren Moduldateien.
 */
:where(
	.rivf-calendar,
	.rivf-wintering,
	.rivf-profile,
	.rivf-apiaries,
	.rivf-apiary-overview,
	.rivf-marketplace,
	.rivf-board,
	.rivf-import,
	.rivf-collective-orders,
	.rivf-organization
) {
	--rivf-color-primary: #315b3d;
	--rivf-color-primary-dark: #23472b;
	--rivf-color-accent: #d9a928;
	--rivf-color-surface: #fff;
	--rivf-color-surface-soft: #f4f7f2;
	--rivf-color-border: #d7e0d5;
	--rivf-color-text: #1e2a21;
	--rivf-color-muted: #526257;
	--rivf-color-danger: #8c2d22;
	--rivf-radius-control: 8px;
	--rivf-radius-card: 16px;
	--rivf-shadow-card: 0 8px 24px rgba(29, 58, 36, .08);
	--rivf-space-1: .35rem;
	--rivf-space-2: .65rem;
	--rivf-space-3: 1rem;
	--rivf-space-4: 1.5rem;
	box-sizing: border-box;
	min-width: 0;
}

:where(
	.rivf-calendar,
	.rivf-wintering,
	.rivf-profile,
	.rivf-apiaries,
	.rivf-apiary-overview,
	.rivf-marketplace,
	.rivf-board,
	.rivf-import,
	.rivf-collective-orders,
	.rivf-organization
) *,
:where(
	.rivf-calendar,
	.rivf-wintering,
	.rivf-profile,
	.rivf-apiaries,
	.rivf-apiary-overview,
	.rivf-marketplace,
	.rivf-board,
	.rivf-import,
	.rivf-collective-orders,
	.rivf-organization
) *::before,
:where(
	.rivf-calendar,
	.rivf-wintering,
	.rivf-profile,
	.rivf-apiaries,
	.rivf-apiary-overview,
	.rivf-marketplace,
	.rivf-board,
	.rivf-import,
	.rivf-collective-orders,
	.rivf-organization
) *::after {
	box-sizing: border-box;
}

:where(
	.rivf-calendar,
	.rivf-wintering,
	.rivf-profile,
	.rivf-apiaries,
	.rivf-apiary-overview,
	.rivf-marketplace,
	.rivf-board,
	.rivf-import,
	.rivf-collective-orders,
	.rivf-organization
) :where(img, svg, video, canvas, iframe) {
	max-width: 100%;
}

:where(
	.rivf-calendar,
	.rivf-wintering,
	.rivf-profile,
	.rivf-apiaries,
	.rivf-apiary-overview,
	.rivf-marketplace,
	.rivf-board,
	.rivf-import,
	.rivf-collective-orders,
	.rivf-organization
) :where(a, p, li, dd, small, strong, label) {
	min-width: 0;
	overflow-wrap: break-word;
}

:where(
	.rivf-calendar,
	.rivf-wintering,
	.rivf-profile,
	.rivf-apiaries,
	.rivf-marketplace,
	.rivf-board,
	.rivf-import,
	.rivf-collective-orders
) :where(input:not([type="checkbox"]):not([type="radio"]), select, textarea) {
	max-width: 100%;
	min-height: 44px;
	font: inherit;
}

.rivf-function-nav {
	display: flex;
	gap: .55rem;
	margin: 0;
	padding: .2rem 0 .45rem;
	overflow-x: auto;
	overflow-y: hidden;
	scrollbar-width: thin;
	-webkit-overflow-scrolling: touch;
}

.rivf-function-nav > a {
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: .65rem 1rem;
	border: 1px solid var(--rivf-color-border);
	border-radius: var(--rivf-radius-control);
	background: var(--rivf-color-surface);
	color: var(--rivf-color-primary-dark);
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	white-space: nowrap;
}

.rivf-function-nav > a:hover,
.rivf-function-nav > a:focus-visible,
.rivf-function-nav > a[aria-current="location"] {
	border-color: var(--rivf-color-primary);
	background: var(--rivf-color-surface-soft);
}

.rivf-function-nav > a:focus-visible {
	outline: 3px solid var(--rivf-color-accent);
	outline-offset: 2px;
}
