/*
Theme Name: Kaderraum
Theme URI: https://kaderraum.de
Author: Kaderraum
Author URI: https://kaderraum.de
Description: Eigenständiges Vereinsportal für Mannschaften, Trainer, Spieler und Eltern – mit Kader, Terminen, Zu- und Absagen, Trainingsplanung, Spieltag, Entwicklung, Dokumenten und Organisation.
Requires at least: 6.4
Tested up to: 7.1
Requires PHP: 8.0
Version: 2.2.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: kaderraum
Tags: full-width-template, custom-logo, featured-images, responsive-layout
*/

:root {
	--kr-theme-ink: #0c1728;
	--kr-theme-paper: #f4f5ef;
	--kr-theme-line: #e1e5df;
	--kr-theme-blue: #4667f5;
}

html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
	background: var(--kr-theme-paper);
	color: var(--kr-theme-ink);
	font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", sans-serif;
}

.kr-site-page {
	min-height: 100vh;
	background: linear-gradient(180deg, #f7f9ff 0, var(--kr-theme-paper) 340px);
}

.kr-site-header,
.kr-site-content,
.kr-site-footer {
	width: min(1080px, calc(100% - 40px));
	margin-inline: auto;
}

.kr-site-header {
	padding: 28px 0;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
}

.kr-site-brand {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	color: inherit;
	font-size: 14px;
	font-weight: 900;
	letter-spacing: .12em;
	text-decoration: none;
}

.kr-site-brand img {
	width: 42px;
	height: 42px;
	border-radius: 12px;
}

.kr-site-back {
	padding: 10px 14px;
	border: 1px solid var(--kr-theme-line);
	border-radius: 11px;
	background: #fff;
	color: inherit;
	font-size: 13px;
	font-weight: 700;
	text-decoration: none;
}

.kr-site-content {
	max-width: 820px;
	padding: 72px 0 100px;
}

.kr-site-content article {
	padding: clamp(24px, 5vw, 56px);
	border: 1px solid var(--kr-theme-line);
	border-radius: 24px;
	background: rgba(255, 255, 255, .94);
	box-shadow: 0 22px 70px rgba(12, 23, 40, .08);
}

.kr-site-content h1 {
	margin: 0 0 28px;
	font-size: clamp(34px, 6vw, 58px);
	line-height: 1;
	letter-spacing: -.045em;
}

.kr-site-content .entry-content {
	font-size: 17px;
	line-height: 1.75;
}

.kr-site-content a {
	color: var(--kr-theme-blue);
}

.kr-legal-document {
	display: grid;
	gap: 0;
}

.kr-legal-document .kr-legal-intro {
	margin: 0 0 34px;
	padding: 18px 20px;
	border: 1px solid #dfe5ff;
	border-radius: 16px;
	background: #f4f6ff;
	color: #3d4f75;
}

.kr-legal-document section {
	padding: 28px 0;
	border-top: 1px solid var(--kr-theme-line);
}

.kr-legal-document section:first-of-type {
	border-top: 0;
}

.kr-legal-document h2 {
	margin: 0 0 12px;
	font-size: clamp(21px, 3vw, 27px);
	line-height: 1.2;
	letter-spacing: -.025em;
}

.kr-legal-document p {
	margin: 0 0 12px;
}

.kr-legal-document p:last-child {
	margin-bottom: 0;
}

.kr-legal-document code {
	padding: 2px 6px;
	border-radius: 6px;
	background: #edf0f5;
	font-size: .88em;
}

.kr-legal-missing {
	display: inline-block;
	padding: 2px 7px;
	border-radius: 6px;
	background: #fff2bf;
	color: #705500;
	font-weight: 750;
}

.kr-legal-date {
	margin-top: 30px !important;
	color: #758091;
	font-size: 14px;
}

.kr-site-footer {
	padding: 24px 0 40px;
	border-top: 1px solid var(--kr-theme-line);
	color: #758091;
	font-size: 13px;
}

@media (max-width: 640px) {
	.kr-site-header,
	.kr-site-content,
	.kr-site-footer {
		width: min(100% - 24px, 1080px);
	}

	.kr-site-content {
		padding-top: 32px;
	}
}
