
:root {
  --color-nav: #F8FAFC;        /* sehr hell */
  --color-header: #E8F3F8;     /* leichtes Blau */
  --color-main-bg: #F5F7FA;    /* ruhiges Hellgrau */
  --color-card-bg: #FFFFFF;
  --color-footer: #E2E8F0;     /* helles Grau-Blau */

  --color-accent: #000;     /* ruhiges Blau */
  --color-text: #243447;
  --color-text-light: #ffffff;
  --color-border: #D6DEE8;
}

/* =========================
   RESPONSIVE HEADLINES
========================= */

h1, h2, h3, h4, h5, h6 {
	margin-top: 0;
	line-height: 1.2;
	font-weight: 400;
	letter-spacing: -0.02em;
}

h1 {font-size: clamp(2rem, 4.5vw, 3rem);}
h2 {font-size: clamp(1.25rem, 2.2vw, 1.6rem);}
h3 {font-size: clamp(1.1rem, 1.8vw, 1.35rem);}
h4 {font-size: clamp(1rem, 1.5vw, 1.18rem);}
h5 {font-size: clamp(0.95rem, 1.2vw, 1.05rem);}
h6 {font-size: clamp(0.9rem, 1vw, 1rem);}

p {
	text-align: left;
	line-height: 2.0;
	max-width: 90ch;
}
body {
  display: flex;
  min-height: 100vh;
  flex-direction: column;
  background: var(--color-main-bg);
  color: var(--color-text);
}

header {
  background: var(--color-header);
}

main {
  flex: 1 0 auto;
  background: var(--color-main-bg);
  color: var(--color-text);
	background: linear-gradient(to bottom, #e3f2fd, #ffffff);
}


.small-text {font-size: 0.9em;margin: 0 !important;}
footer {background: linear-gradient(to bottom, #ffffff,#cccccc) !important;}
.page-footer {border-top: none;}

.footer-copyright a{margin: 0 0.5em; padding: 0.3em 0.5em; background-color: aquamarine;}
.page-footer .footer-copyright a {min-height: 0 !important; padding: 0.5em 0.9em !important;border-radius: 10px;}
.page-footer .footer-copyright a:hover {color:#FFF; background-color: #515151;transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out; }

.navbar {
  height: 120px !important;
  background: var(--color-nav);
  border-bottom: 1px solid var(--color-border);
  box-shadow: none;
}

.navbar .nav-wrapper {
  height: 120px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.navbar .brand-logo {
  position: static;
  display: flex;
  align-items: center;
  height: 100%;
  transform: none;
}

.nav-logo {
  height: 100px;
  width: auto;
  margin: 0;
	margin-left: 4em;margin-top: 5px;
}

.nav-ul {
  display: flex;
  align-items: center;
  gap: 2rem;
  margin: 0 20% 0 0 !important;
}

.nav-ul li {
  float: none;
	padding: 0 !important;
}

.nav-ul a {
  	color: var(--color-text) !important;
	background-color: var( --color-header) !important;
  	font-weight: 500;
	border-radius: 9px;
	line-height: 40px;
}

.nav-ul a:hover {
  color: var(--color-accent);
  background: #ffea00  !important;
	transition: all 0.1s ease-in-out;
}

.custom-sidenav {display: flex;flex-direction: column;height: 100dvh;max-height: 100dvh;box-sizing: border-box;background: #fff;padding-top: 1rem;overflow: hidden;}
.custom-sidenav .sidenav-logo {display: flex;justify-content: center;align-items: center;text-align: center;margin-bottom: 1rem;flex-shrink: 0;}
.custom-sidenav .sidenav-logo a {display: flex;justify-content: center;align-items: center;width: 100%;height: auto;line-height: normal;padding: 0;}
.custom-sidenav .sidenav-logo img {display: block;width: 150px;max-width: 70%;height: auto;margin: 0 auto;}
.custom-sidenav .sidenav-logo a:hover,
.custom-sidenav .sidenav-logo a:focus {background: transparent;box-shadow: none;}
.custom-sidenav .sidenav-link {display: flex;align-items: center;gap: 0.8rem;margin: 0.25rem 1rem;padding: 0.85rem 1rem;border-radius: 14px;font-size: 1rem;font-weight: 500;color: #333;line-height: 1.3;transition: background-color 0.2s ease, color 0.2s ease;}
.custom-sidenav .sidenav-link i {margin: 0;color: #3B9A00;font-size: 1.5rem;width: 1.7rem;text-align: center;}
.custom-sidenav .sidenav-link:hover {background: rgba(59, 154, 0, 0.10);color: #2f7d00;}
.custom-sidenav .sidenav-spacer {flex: 1;min-height: 0;}
.custom-sidenav .sidenav-legal {padding: 0.6rem 1rem 0.7rem;border-top: 1px solid rgba(0, 0, 0, 0.08);flex-shrink: 0;}
.custom-sidenav .sidenav-legal a {display: flex;align-items: center;gap: 0.55rem;height: auto;line-height: 1.2;padding: 0.45rem 0.75rem;border-radius: 10px;font-size: 0.88rem;color: #666;}
.custom-sidenav .sidenav-legal a:hover {background: rgba(0, 0, 0, 0.05);color: #333;}
.custom-sidenav .sidenav-legal i {margin: 0;font-size: 1.15rem;color: #777;width: 1.4rem;text-align: center;}

@media (max-height: 700px) {
	.custom-sidenav {padding-top: 0.5rem;}
	.custom-sidenav .sidenav-logo {margin-bottom: 0.5rem;}
	.custom-sidenav .sidenav-logo img {width: 125px;}
	.custom-sidenav .sidenav-link {margin: 0.15rem 1rem;padding: 0.65rem 1rem;}
	.custom-sidenav .sidenav-legal {padding: 0.45rem 1rem 0.55rem;}
	.custom-sidenav .sidenav-legal a {padding: 0.35rem 0.75rem;}
}
.card,
.container_bg {
  background: var(--color-card-bg);
}

.page-footer {
  margin-top: 0;
  background: var(--color-footer);
  color: var(--color-text);
}

.page-footer a {
  color: var(--color-accent);
}

.footer-copyright {
  background: rgba(255,255,255,0.35);
  color: var(--color-text);
}

.btn,
.btn-small {
  background: var(--color-accent);
}

.btn:hover,
.btn-small:hover {
  background: #1C6DD0;
}


.intro-section h1 {
    font-size: clamp(2rem, 4vw, 2.8rem);
    font-weight: 700;
    margin-bottom: 0.3em;

}
.intro-section {
    padding: 2.5rem 0 1.5rem;
}

/*
.container1 {    background: linear-gradient(90deg, #0D47A1, #1976D2);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

*/
.intro-text {
    font-size: 1.15rem;
    color: #455a64;
    max-width: 650px;
    margin-bottom: 2rem;
}
.card-title {background-color: rgba(0,0,0,0.4); display: block;width: 100%;padding:0.4em !important;color:#000;}

.card-action a {
    display: inline-block;
    background: #1976D2;
    color: #fff !important;
    padding: 0.2em 1em;
	margin-right: 1em;
	float: right;
    border-radius: 6px;
    transition: 0.2s;
}
.card {
    border-radius: 16px;
    overflow: hidden;
    transition: all 0.25s ease;
}

.card:hover {
    transform: translateY(-6px);
    box-shadow: 0 12px 30px rgba(0,0,0,0.15);
}
.card-action a:hover {
    background-color: green !important;
}


/* Basis */
.link-ext,
.link-int {
	white-space: nowrap;
	text-decoration: none;
	padding: 2px 6px;
	border-radius: 6px;
	transition: all 0.2s ease-in-out;
	white-space: nowrap;
}

/* EXTERN */
.link-ext {
	background-color: rgba(255, 193, 7, 0.15);
}

.link-ext:hover {
	background-color: rgba(255, 193, 7, 0.35);
}

/* INTERN */
.link-int {
	background-color: rgba(59, 154, 0, 0.10);
}

.link-int:hover {
	background-color: rgba(59, 154, 0, 0.25);
}

/* Icon allgemein */
.link-ext .link-icon,
.link-int .link-icon {
	font-size: 0.8em;
	margin-left: 3px;
	vertical-align: -1px;
	opacity: 0.65;
	transition: 0.1s ease-in-out;
}

/* externe Icons */
.link-ext:hover .link-icon {
	opacity: 1;
	transform: translate(1px, -1px);
}

/* interne Icons */
.link-int:hover .link-icon {
	opacity: 1;
	transform: translate(2px, 0);
}

/* Inline-Bilder im Blogartikel */
.blog-inline-images {
	display: grid;
	gap: 0.75rem;
	margin: 1rem 0 1.25rem 0;
}

.blog-inline-images.cols-2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.blog-inline-images.cols-3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.blog-inline-images img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: 14px;
}

.blog-inline-image {
	display: block;
	width: min(100%, 720px);
	height: auto;
	margin: 1rem auto 1.25rem auto;
	border-radius: 14px;
}
.blog-inline-float-right {
	float: right;
	width: min(34%, 260px);
	height: auto;
	margin: 0.25rem 0 1rem 1.25rem;
	border-radius: 14px;
	object-fit: cover;
}
.blog-inline-images {display: grid;gap: 1rem;margin: 1.5rem 0;}
.blog-inline-images.cols-2 {grid-template-columns: repeat(2, 1fr);}
.blog-inline-images.cols-3 {grid-template-columns: repeat(3, 1fr);}
.blog-inline-figure {margin: 0;}
.blog-inline-figure img {display: block;width: 100%;height: auto;border-radius: 14px;}
.blog-inline-figure figcaption {display: block;margin-top: 0.45rem;font-size: 0.9rem;line-height: 1.35;color: #666;text-align: center;}
.blog-inline-float-right {float: right;width: min(360px, 45%);margin: 0 0 1rem 1.5rem;}

.blog-note-positive {margin: 1.4rem 0;padding: 1rem 1.2rem;border-left: 5px solid #3B9A00;background: #f5fbf1;border-radius: 12px;line-height: 1.55;}
.blog-note-info {margin: 1.4rem 0;padding: 1rem 1.2rem;border-left: 5px solid #1976d2;background: #f2f7fc;border-radius: 12px;line-height: 1.55;}
.blog-note-critical {margin: 1.4rem 0;padding: 1rem 1.2rem;border-left: 5px solid #c62828;background: #fff5f5;border-radius: 12px;line-height: 1.55;}
.blog-note-positive .material-icons, .blog-note-info .material-icons, .blog-note-critical .material-icons {vertical-align: middle;margin-right: 0.35rem;font-size: 1.2rem;}


.card .card-image {
	position: relative;
}

.card-badge-new {
	position: absolute;
	top: 12px;
	right: 12px;
	z-index: 5;
	padding: 6px 12px;
	border-radius: 999px;
	background: -webkit-linear-gradient(top left, #AA0000, #ff8a00);
	background: -o-linear-gradient(top left, #AA0000, #ff8a00);
	background: linear-gradient(to bottom right, #AA0000, #ff8a00);
	color: #fff3df;
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	box-shadow: 0 4px 14px rgba(255, 102, 0, 0.35);
	animation: badgePulse 1.8s infinite;
}

@keyframes badgePulse {
	0% {
		transform: scale(1);
		box-shadow: 0 4px 14px rgba(255, 102, 0, 0.35);
	}
	50% {
		transform: scale(1.06);
		box-shadow: 0 6px 20px rgba(255, 102, 0, 0.5);
	}
	100% {
		transform: scale(1);
		box-shadow: 0 4px 14px rgba(255, 102, 0, 0.35);
	}
}
	.insta-legal {
	margin-top: 2.5rem;
	margin-bottom: 2rem;
	text-align: center;
	font-size: 0.9rem;
	color: #607d8b;
}

.insta-legal a {
	color: #607d8b;
	text-decoration: none;
	font-weight: 500;
}

.insta-legal a:hover {
	color: #3B9A00;
	text-decoration: underline;
}

.insta-legal span {
	margin: 0 0.5rem;
	color: #90a4ae;
}


@media only screen and (max-width: 700px) {.blog-inline-images.cols-2, .blog-inline-images.cols-3 {grid-template-columns: 1fr;}.blog-inline-float-right {float: none;width: 100%;margin: 1rem 0;}}


@media only screen and (max-width: 900px) {
	.blog-inline-images.cols-3 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media only screen and (max-width: 700px) {
	.blog-inline-float-right {
		float: none;
		display: block;
		width: min(100%, 360px);
		margin: 1rem auto 1.25rem auto;
	}
}

@media only screen and (max-width: 600px) {
	.blog-inline-images.cols-2,
	.blog-inline-images.cols-3 {
		grid-template-columns: 1fr;
	}

	.blog-inline-images {
		gap: 0.65rem;
	}

	.blog-inline-images img,
	.blog-inline-image {
		border-radius: 12px;
	}
}