/* css Datei für supersauber-gebaeudereinigung.de  */

:root {
	--textcolor: #647162;
	--gruencolor: #0084ad;
	/* Ursprungsfarbe */
	/* --backgroundcolor: #73806f; */
	/* Möbelfarbe */
	--backgroundcolor: #506364;
	--rotcolor: #0e4cab;

}

html {
	scroll-behavior: smooth;
}

body,
html {
	height: 100%;
	margin: 0;
	padding: 0;
	scroll-behavior: smooth;
}

body {
	margin: 0;
	padding: 0;
	width: 100%;
	height: 100%;
	font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
	font-weight: 400;
	font-size: 17px;
	line-height: 1.6;
	color: #111;
	/* hell genug für white background */
	background-color: #fff;
	scroll-behavior: smooth;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;

	background-attachment: scroll;
}


#services .service-liste-premium {
	display: flex;
	gap: 30px;
	flex-wrap: wrap;
	margin-top: 20px;
}

#services .service-box {
	flex: 1 1 calc(33% - 30px);
	background: #ffffff;
	padding: 20px;
	border-radius: 12px;
	box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.08);
}

#services .service-box h3 {
	margin-top: 0px;
	margin-bottom: 10px;
}

#services .service-box ul {
	padding-left: 20px;
}

@media (max-width: 900px) {
	#services .service-box {
		flex: 1 1 100%;
	}
}

@media (max-width: 800px) {
  h2 {
	font-size: 28px;
  }
}


#about .innerbox {
	display: flex;
	gap: 40px;
	align-items: center;
	justify-content: space-between;
}


header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	background: var(--rotcolor);
	color: white;
	z-index: 1000;
	font-size: 20px;

}

nav {
	display: flex;
	justify-content: center;
	padding: 1em;
}

nav a {
	color: white;
	text-decoration: none;
	margin: 0 1em;
	transition: color 0.3s;
}

nav a:hover {
	color: #ff6600;
}

b {
	font-weight: 800;
}

/* Burger-Button */
.menu-toggle {
	display: none;
	flex-direction: column;
	justify-content: space-between;
	width: 30px;
	height: 20px;
	cursor: pointer;
}

.menu-toggle span {
	display: block;
	height: 3px;
	background: white;
	border-radius: 2px;
}

/* Standardmenü */
.nav-links {
	display: flex;
}

.innerbox {
	background-color: rgb(223, 222, 235);
	border-radius: 15px;
	padding: 40px;
}

.zentriert {
	align-items: center;
	text-align: center;
}


/* Responsive */
@media (max-width: 768px) {
	nav {
		justify-content: space-between;
		align-items: center;
		padding: 15px;
	}

	.menu-toggle {
		display: flex;
	}

	.nav-links {
		display: none;
		flex-direction: column;
		width: 100%;
		background: #333;
		position: absolute;
		top: 60px;
		left: 0;
	}

	.nav-links a {
		padding: 1em;
		border-top: 1px solid #444;
		text-align: center;
	}

	.nav-links.active {
		display: flex;
	}
}

.infokasten {
	border: 3px solid var(--gruencolor);
	border-radius: 15px;
	padding: 5px 15px;
	box-shadow: 3px 3px 5px grey;
}

/* habe #home weggenommen */
#home .innerbox {
	display: flex;
	flex-wrap: wrap;
	/* bei kleinen Screens umbrechen */
	align-items: flex-start;
	gap: 2rem;
	/* Abstand zwischen Text und Bild */
}

#services .innerbox {
	display: flex;
	flex-wrap: wrap;
	/* bei kleinen Screens umbrechen */
	align-items: flex-start;
	gap: 2rem;
	/* Abstand zwischen Text und Bild */
}

#home .textblock {
	flex: 1 1 60%;
	/* nimmt ca. 60% Breite */
	min-width: 300px;
}

#services .textblock {
	flex: 1 1 60%;
	/* nimmt ca. 60% Breite */
	min-width: 300px;
}

.fotogross {
	flex: 0 0 300px;
	/* feste Breite fürs Bild (z. B. 300px) */
	max-width: 35%;
	align-self: center;
	/* nicht breiter als 35% */
}

.fotogross img {
	width: 100%;
	height: auto;
	display: block;
	border-radius: 15px;

}

#home h1,
#home h2,
#home ul,
#home p {
	flex: 1 1 55%;
	/* Textteil füllt den Rest */
}

.logodiv {
	display: flex;
	align-items: center;
	justify-content: center;
	/* oder space-between, wenn du mehr Abstand willst */
	background-color: #ffffff;
	padding: 0px;
	gap: 30px;
	/* Abstand zwischen Bild und Text */
}

.logodiv img {
	height: 120px;
	/* passe nach Geschmack an */
	width: auto;
	display: block;
}

.logotext {
	font-weight: 400;
	font-size: 36px;
	line-height: 1.2em;
	text-align: left;
	color: var(--gruencolor);
	font-family: Montserrat;
  text-shadow: 1px 1px 1px rgb(91, 91, 91);
}

@media (max-width: 700px) {
	.logodiv {
		flex-direction: column;
		text-align: center;
		gap: 0px;

	}

	.logodiv img {
		height: 62px;

		/* passe nach Geschmack an */
	}

	.logotext {
		font-size: 22px;
		font-weight: 300;
	}

	.innerbox {
		padding: 15px;
	}

}

.telcontainer img {
	margin: 0px 0px -3px 0px;
}


section {
	/* min-height: calc(100vh - 250px); */
	/* 190px ist dein Header+Logo-Bereich */
	padding: 30px 20px;
	scroll-margin-top: 225px;
	/* damit beim Scrollen nix unter den Header rutscht */
}

ul {
	/* font-size: 18px; */
	line-height: 1.5em;
}

li {
	margin-top: 8px;
}

.praxisfotos {
	--gap: 1rem;
	/* eine Variable für den Abstand */
	display: flex;
	flex-wrap: wrap;
	gap: var(--gap);
	justify-content: center;
}

.praxisfotos img {
	flex: 1 1 calc(50% - var(--gap) / 2);
	max-width: calc(50% - var(--gap) / 2);
	height: auto;
	border-radius: 4px;
}

@media (max-width: 700px) {
	.praxisfotos img {
		flex-basis: 100%;
		max-width: 100%;
	}
}

#home {
	/* background: #f4f4f4; */
	margin-top: 225px;

	/* Platz für den fixen Header */
	/* min-height: calc(100vh - 255px); */
}

#about {
	/* background: #ddd; */
}

#services {
	/* background: #bbb; */
}

#contact {
	/* background: #999; */
}

/* ab hier ich */

h1,
h2,
h3,
h4 {
	font-weight: 300;
}


h2 {
  font-family: 'Montserrat', sans-serif;
  font-size: 34px;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0.5px;
  color: #222222;
}

h3 {
	font-size: 26px;
	margin-bottom: 5px;
	margin-top: 15px;

}

h1 {
	margin-block: 0.67em;
	font-size: 1.6em;
	line-height: 1.5em;
}

.inhli {
	max-width: 1000px;
	margin: 50px auto;
	width: 90%;
	/* padding: 50px 30px; */
	scroll-behavior: smooth;
	background-color: var(--gruencolor);

	/* background-color: #e80000; */
	/* padding: 20px; */
	padding: 20px;
	border-radius: 15px;

}

.kasten {
	padding: 20px;
	color: black;
	flex: 1;
	display: flex;
	overflow: hidden;
	flex-wrap: wrap;
	min-height: 0px;
}

/* Für alle Boxen */
.textbox {
	text-align: left;
	background-color: rgba(255, 255, 255, 1.0);
	padding: 35px;
	/* border:3px solid #9F3A43;
*/
	border-radius: 15px;
	color: black;
	overflow: hidden;
	flex: 1;
	display: flex;
	overflow: hidden;
	flex-wrap: wrap;
	min-height: 0px;
	align-self: center;
}


.impwhite {
	/* background-color: #74806F; */
	background-color: var(--backgroundcolor);

	color: white;
	font-size: 14px;
}

.impwhite a {
	color: white;
}

.email-copy {
	margin-left: .5rem;
	padding: .3rem .6rem;
	border-radius: .5rem;
	border: 1px solid #ccc;
	background: #f7f7f7;
	cursor: pointer;
}

.email-copy:hover {
	background: #eee;
}