		:root {
		    --bg-color: #f9f9f9;
		    --text-color: #000;
		    --font-main: system-ui, Helvetica, Arial, sans-serif;
		    --font-serif: Georgia, serif;
		    --max-width: 1400px;
		    --content-width: 1300px;
		}

		* {
		    box-sizing: border-box;
		    margin: 0;
		    padding: 0;
		}

		body {
		    background-color: var(--bg-color);
		    color: var(--text-color);
		    font-family: var(--font-main);
		    font-size: 1.1rem;
		    line-height: 1.6;
		    -webkit-font-smoothing: antialiased;
		}

		.container {
		    width: 90%;
		    max-width: var(--max-width);
		    margin: 0 auto;
		}

		/* Header */
		header {
		    padding: 2rem 0;
		    border-bottom: 1px solid rgba(0,0,0,0.05);
		    background-color: var(--bg-color);
		}

		header .container {
		    display: flex;
		    justify-content: space-between;
		    align-items: center;
		}

		.site-title {
		    font-size: 1.25rem;
		    font-weight: 700;
		    letter-spacing: -0.02em;
		}

		nav ul {
		    display: flex;
		    list-style: none;
		    gap: 2rem;
		}

		nav a, .site-title a {
		    color: var(--text-color);
		    text-decoration: none;
		    transition: opacity 0.2s;
		}

		nav a:hover {
		    opacity: 0.7;
		    color: red;
		}

		/* Hauptinhalt */
		main {
		    padding: 4rem 0;
		}

		.hero {
		    max-width: var(--content-width);
		    margin: 0 auto;
		    text-align: center;
		}

		h1 {
		    font-family: var(--font-serif);
		    font-size: clamp(2.2rem, 4vw, 3.5rem);
		    font-weight: 400;
		    line-height: 1.2;
		    letter-spacing: -0.02em;
		    margin-bottom: 1.5rem;
		}

				/* Sicherer Wrapper für das HIS-Webshop Fragment */
		.his-shop-wrapper {
		    max-width: var(--content-width);
		    margin: 0 auto;
		    background: #ccc;
		    padding: 20px;
		    border-radius: 4px;
		    box-shadow: 0 2px 12px rgba(0,0,0,0.04);
		  /* Verhindert, dass Tabellen das Layout auf Smartphones sprengen */
		    overflow-x: auto;
		    -webkit-overflow-scrolling: touch;
		}

		.lokbild img {
			width: 100%;
			margin: 0 auto;
			height: 600px;
			object-fit: contain;
			border-radius: 5px;
			box-shadow: 3px 3px 5px grey;
			border: 1px black solid;
		}

		.fett {
			font-weight: 700;
		}
		/* Footer */
		footer {
		    padding: 4rem 0;
		    border-top: 1px solid rgba(0,0,0,0.05);
		    font-size: 0.95rem;
		    color: #666;
		    background-color: var(--bg-color);
		    margin-top: 4rem;
		}

		footer .container {
		    display: flex;
		    justify-content: space-between;
		    align-items: center;
		    flex-wrap: wrap;
		    gap: 1.5rem;
		}

		.kopfdaten {
			max-width: 100%;
			background-color: lightgrey;
			padding: 5px 0 0 0;
			overflow: hidden;
			border: 2px black solid;
			border-radius: 5px;
			padding: 20px;
		}

		.kopfdaten a {
		color: #000000;
			}

		img.icon {
			border-radius: 3px;
			position: relative;
			top: 5px;
		}

		#flex-inhalt {
			width: 100%;
			padding: 20px 20px;
			margin: 0 auto;
		  flex-wrap: wrap;
			display: flex;
			align-items: center;
			justify-content: space-evenly;
			gap: 20px;
		}

		.artikel {
			width: 800%;
			height: 1250px;
			background-color: #aaa;
			border: 2px black solid;
			border-radius: 5px;
			padding: 20px;
			font-size: 1rem;
			box-shadow: 5px 5px 10px grey;
		}

		.fussdaten {
			background-color: lightgrey;
			padding: 5px 0 0 0;
			text-align: center;
			border: 2px solid black;
			border-radius: 5px;
		}

		.bestellknopf {
			font-size: 1rem;
			padding: 5px;
			border: 1px solid black;
			border-radius: 5px;
			background-color: #67E04C;
		}

		.bestellknopf:hover {
			background-color: #FD594C;
			cursor: pointer;

		}


		#G_dif {
			appearance: none;
    	box-sizing: border-box;
    	padding: 3px 12px;
    	height: 30px;
    	width: 80px;
			border: 1px solid black;
			border-radius: 5px;
			background-color: #67E04C;
			font-size: 1rem;
			text-align: center;
		}

		#G_dif:hover {
			background-color: #FD594C;
			cursor: pointer;
		}

		.lupe {
			display: block;
			text-align: center;
			width: 100%;
			margin: 0 auto;
		}

		.mein-button {
			margin: 10px 0;
			padding: 8px 30px;
			font-size: 1.1rem;
			background-color: #FFFFFF;
			color: black;
			border: 1px solid black;
			border-radius: 8px;
			cursor: pointer;
			transition: background-color 0.3s ease;
			box-shadow: 5px 5px 10px grey;
		}

		.mein-button:hover {
			background-color: #0056b3;
			color: white;
		}

		.gruen {
			background-color: gold;
		}
