/* ANCHOR ================= General ================= */
* {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

html {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

html,
body {
	/* Seite ist niemals breiter als der Browser */
	max-width: 100%;
	/* Alles, was links/rechts übersteht, wird abgeschnitten, statt scrollbar zu sein. */
	overflow-x: hidden;
}

ul {
	list-style: none;
}

body {
	font-family: 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;
	font-size: 1rem;
	background-color: rgb(233, 233, 233);
}

a {
	text-decoration: none;
}

/* ============================================= */

/* ANCHOR ================= Headerbereich ================= */

header {
	width: 100%;
	position: sticky;
	top: 0;
	background-color: rgb(245, 245, 245);
	margin-bottom: 80px;
	padding: 25px 25px;
	box-shadow: 0 0 12px rgba(0, 0, 0, 0.2);
	border-bottom: 1px solid goldenrod;
	position: relative;
	background-image: url('/assets/img/headerbg.png');
	background-size: cover;
	background-position: center;
	overflow: hidden;
	position: relative;
	z-index: 0;
}

header::before {
	content: '';
	position: absolute;
	inset: 0;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(255, 255, 255, 0.5); /* Weißer Schleier */
	pointer-events: none; /* verhindert Klick-Probleme */
	z-index: 0;
}

.header-inner {
	max-width: 1100px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	gap: 25px;
	padding: 10px 15px;
	position: relative;
	z-index: 1;
}

header ul {
	display: flex;
	flex-direction: row;
	gap: 16px;
}

h1 {
	filter: drop-shadow(0 2px 4px rgb(255, 255, 255));
	white-space: nowrap;
	flex-shrink: 0;
	font-size: 48px;
	margin-right: 16px;
}

.nav-a {
	color: rgb(110, 110, 110);
	border: 1px solid transparent;
}

.nav-a--active {
	text-decoration: underline;
	text-transform: uppercase;
	color: black;
}

/* ============================================= */

/* ANCHOR ================= Navigation ================= */

.nav-container {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	width: 100%;
}

.nav-buttons {
	display: flex;
	flex: 1;
	filter: drop-shadow(4px 4px 4px black);
}

.nav-button {
	background-color: #2cc08a;
	color: white;
	padding: 12px 24px;
	cursor: pointer;
	font-size: 16px;
	flex: 1; /* alle gleich breit innerhalb .nav-buttons */
	min-width: 120px; /* verhindert zu schmale Buttons */
	text-align: center;
	white-space: nowrap;
	display: inline-block;
}

.nav-1 {
	border-start-start-radius: 8px;
	border-end-start-radius: 8px;
}

.nav-4 {
	border-start-end-radius: 8px;
	border-end-end-radius: 8px;
}

.nav-container .nav-button:hover {
	background-color: rgb(52, 98, 143);
}

.nav-button-disable {
	opacity: 0.4;
	cursor: not-allowed;
}

/* ============================================= */

main,
footer {
	max-width: 1100px;
	margin: 0 auto 80px auto;
	border: 1px solid goldenrod;
	border-radius: 8px;
	padding: 5px;
	box-shadow: 0 5px 12px rgba(0, 0, 0, 0.15);
}

main {
	padding: 24px;
}

/* ANCHOR ================= Footerbereich ================= */

footer ul {
	display: flex;
	justify-content: center;
	gap: 12px;
	align-items: center;
}

footer ul li {
	display: flex;
	align-items: center;
}

.footer-made {
	font-family: monospace;
}
.footer-heart {
	color: rgb(192, 10, 10);
	text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.7);
}

.footer-link {
	color: #2cc08a;
	display: inline-block;
	border: 4px solid transparent;
	border-radius: 4px;
	text-decoration: none;
	transition: background-color 0.2s ease, border-color 0.2s ease;
}

.footer-link:hover {
	background-color: lightgray;
	border-radius: 4px;
	cursor: pointer;
}

.links {
	display: flex;
	flex-direction: column;
	gap: 0;
	margin-bottom: 5px;
}

.links a {
	color: grey;
	display: block;
	text-align: center;
}

/* Social Icons */

.nav-social {
	display: flex;
	align-items: center;
	flex-direction: row;
	gap: 12px;
	list-style: none;
}

.nav-social li img {
	height: 25px;
	width: 25px;
	filter: drop-shadow(4px 4px 4px rgb(68, 68, 68));
	transition: transform 0.2s ease;
}

.nav-social li img:hover {
	transform: scale(1.2);
	filter: drop-shadow(0 0 6px rgb(0, 0, 0));
}
/* ============================================= */

/* ANCHOR ================= changelog.html ================= */

.changelog {
	text-align: center;
}

.changelog h2 {
	margin-bottom: 16px;
}

.change-link {
	color: lightgrey;
}

/* ============================================= */

/* ANCHOR ================= projects.html ================= */

.projects {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
	gap: 24px;
	padding: 24px;
}

.projects-card {
	text-align: center;
	border: 1px solid transparent;
	border-radius: 8px;
	padding: 16px;
	box-shadow: 0 5px 12px rgba(0, 0, 0, 0.15);
	transition: transform 0.25s ease;
}

.projects-card h2 {
	border-top: 1px solid black;
}

.projects-card:hover {
	transform: translateY(-4px);
}

/* Fester Bildbereich in der Karte */
.project-thumb {
	width: 100%;
	height: 150px; /* alle Vorschaubilder gleich hoch */
	overflow: hidden; /* nichts kann „rausgucken“ */
	border-radius: 6px;
	margin-bottom: 8px;
}

/* Bild füllt die Box, ohne die Karte zu ändern */
.project-thumb img {
	width: 100%;
	height: 100%;
	object-fit: scale-down; /* Bild wird nur verkleinert, ggf. mit Rand – kein Zuschneiden */
	display: block;
}

/* ============================================= */

/* ANCHOR ================== impressum.html ================== */
#legal-datenschutz h2,
#legal-datenschutz h3,
#legal-impressum h2,
#legal-impressum h3 {
	margin-top: 24px;
	margin-bottom: 12px;
}

#legal-datenschutz p,
#legal-datenschutz ul,
#legal-impressum p,
#legal-impressum ul {
	margin-bottom: 16px;
}

#legal-datenschutz ul,
#legal-impressum ul {
	padding-left: 20px;
}
/* ============================================== */

/* ANCHOR ================= about.html ================= */
.about {
	max-width: 800px;
	text-align: left;
	padding: 16px;
}

.avatar-wrapper {
	width: 130px;
	height: 130px;
	margin: 0 auto 20px auto;
}

.avatar {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 50%;
	filter: drop-shadow(0 0 6px rgba(0, 0, 0, 0.3));
	transition: transform 0.2s ease;
}

.avatar:hover {
	transform: scale(1.1);
}

.about h2,
.about h3 {
	margin-top: 24px;
	margin-bottom: 12px;
	text-align: center;
}

.about p,
.about ul {
	margin-bottom: 16px;
}

.about ul {
	padding-left: 20px;
}

/* ============================================= */

/* === Upcoming ================= */
/* .hoch für Header h1 */
/*
.hoch {
	font-size: 22px;
	vertical-align: super;
	font-family: monospace;
}
*/
