:root {
  --text-color: rgb(86, 97, 80);
  --accent1: rgb(168, 156, 91);
  --accent2: rgb(217, 197, 151);
  --white: #ffffff;
  --bg-gradient-start: rgb(206, 247, 255);
  --bg-gradient-end: rgb(255, 243, 204);
  --shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
  --border-radius: 2rem;
  --border-radius-small: 1rem;
}

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  font-family: sans-serif;
  color: var(--text-color);
}

body {
  background: linear-gradient(to right, var(--bg-gradient-start), var(--bg-gradient-end));
  padding-top: 100px;
}

header {
  position: fixed;
  top: 0;
  width: 100%;
  background: rgba(255, 255, 255, 0.8);
  box-shadow: var(--shadow);
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem 2rem;
  z-index: 1000;
  flex-wrap: wrap;
  transition: transform 0.3s ease;
}

header.hide {
  transform: translateY(-100%);
}

.logo {
  font-size: 1.5rem;
  font-weight: bold;
}

.logo-text-big {
  padding-left: 10rem;
  font-family: "Allura", cursive;
  font-weight: 400;
  font-style: normal;
  font-size: 3rem;
}

.logo-text-small {
	padding-left: 10rem;
	font-family: "Montserrat", sans-serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	font-size: 1rem;
	text-transform: uppercase;
	letter-spacing: 0.36rem;
}
.logo-text {
  display: inline-block;
}

.logo-img {
	left:-10px;
	top:-15px;
	width: 13rem;
	position: fixed;
}

nav {
  padding-top: 1rem;
  padding-left: 10rem;
  position: relative;
}

.nav-links {
  display: flex;
  gap: 1.5rem;
  list-style: none;
}

.nav-links li a {
  text-decoration: none;
  font-weight: bold;
  transition: color 0.3s;
}

.nav-links li a:hover {
  color: var(--accent1);
}

.burger {
  display: none;
  flex-direction: column;
  cursor: pointer;
  gap: 5px;
}

.burger div {
  width: 25px;
  height: 3px;
  background-color: var(--text-color);
}

.button {
  background-color: var(--accent1);
  color: var(--white);
  border: none;
  padding: 0.8rem 1.5rem;
  border-radius: var(--border-radius);
  box-shadow: var(--shadow);
  cursor: pointer;
  font-weight: bold;
  text-decoration: none;
  display: inline-block;
  transition: background-color 0.3s;
}

.button:hover {
  background-color: var(--accent2);
}

.text-image {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 4rem 2rem;
  gap: 2rem;
  box-shadow: var(--shadow);
  margin: 2rem;
  border-radius: var(--border-radius);
  background-color: rgba(255, 255, 255, 0.6);
}

.text-image.red {
	  background-color: rgba(255, 200, 200, 0.6) !important;
}

.text-image img {
  width: 100%;
  border-radius: var(--border-radius);
  box-shadow: var(--shadow);
}

.text-image.left .text {
  order: 1;
}

.text-image.left .image,
.text-image.left .carousel-container {
  order: 2;
}

.text-image.right .text {
  order: 2;
}

.text-image.right .image,
.text-image.right .carousel-container {
  order: 1;
}

.text {
  flex: 1 1 50%;
}

.image {
  flex: 1 1 50%;
  display: flex;
  justify-content: center;
}

.carousel-container {
  flex: 2 0 67%;
  display: flex;
  justify-content: center;
}

.image video,
.image img {
  width: auto;
  height: auto;
  max-height: 60vh;
  border-radius: var(--border-radius);
  box-shadow: var(--shadow);
  max-width: 100%;
}

.signature {
	font-family: "Allura", cursive;
	font-weight: 400;
	font-style: normal;
	font-size: 2rem;
}

.preisliste {
  width: 100%;
  border-collapse: collapse;
  margin: 2rem 0;
  font-size: 1rem;
  box-shadow: var(--shadow);
  background-color: rgba(255, 255, 255, 0.8);
  border-radius: var(--border-radius);
  overflow: hidden;
}

.preisliste thead {
  background-color: var(--accent1);
  color: white;
}

.preisliste th,
.preisliste td {
  padding: 1rem;
  text-align: left;
  border-bottom: 1px solid #ddd;
}

.preisliste tr:hover {
  background-color: rgba(0, 0, 0, 0.03);
}

.preisliste .small {
	font-size: 0.8rem;
}

.preisliste-mobile {
  display: none;
}

@media (max-width: 810px) {
  table.preisliste {
    display: none;
  }

  .preisliste-mobile {
    display: block;
    margin: 1rem;
  }

  .preisliste-mobile .row {
    background: rgba(255, 255, 255, 0.8);
    box-shadow: var(--shadow);
    border-radius: var(--border-radius);
    margin-bottom: 1.5rem;
    padding: 1rem;
  }

  .preisliste-mobile .cell {
    margin-bottom: 0.5rem;
  }

  .preisliste-mobile .cell::before {
    content: attr(data-label) ": ";
    font-weight: bold;
    display: inline-block;
    min-width: 100px;
  }

	.preisliste-mobile .headline {
	  font-size: 1.2rem;
	  font-weight: bold;
	  margin-bottom: 1rem;
	  color: var(--text-color);
	}

	.preisliste-mobile .headline::before {
	  content: "";
	  display:none;
	}

	.variant {
	  border-top: 1px solid rgba(0, 0, 0, 0.1);
	  padding-top: 0.5rem;
	  margin-top: 0.5rem;
	}
	
	.preisliste-mobile .small {
		font-size: 0.8rem;
	}
	
	.text-image{
		padding: 1rem 1rem;
		gap: 1rem;
		box-shadow: var(--shadow);
		margin: 1rem;
		border-radius: var(--border-radius-small);
	}
	
	.image video,
	.image img {
		border-radius: var(--border-radius-small);
	}
	
	.text-image.left .text {
	  order: 2;
	}

	.text-image.left .image {
	  order: 1;
	}

	.text-image.right .text {
	  order: 2;
	}

	.text-image.right .image {
	  order: 1;
	}

  .logo {
	flex-wrap:nowrap;
  }
  .logo-img {
	padding-top: 1rem;
	width: 6rem;
  }
  .logo-text-big {
    padding-left: 3rem;
	font-size: 1.5rem;
	line-height: 1rem;
  }
  .logo-text-small {
    padding-left: 3rem;
	font-size: 0.5rem;
	letter-spacing: 0.18rem;
  }
  nav {
	padding-left: 0rem;
  }
  .nav-links {
    display: none;
    position: absolute;
    top: 60px;
    right: 0;
    flex-direction: column;
    background-color: rgba(255, 255, 255, 0.95);
    padding: 1rem;
    box-shadow: var(--shadow);
    border-radius: var(--border-radius);
  }

  .burger {
    display: flex;
  }

  nav.active .nav-links {
    display: flex;
  }

  .text-image {
    flex-direction: column;
    text-align: center;
  }

	.text-image.left .text,
	.text-image.right .text,
	.text-image.left .image,
	.text-image.right .image {
		order: 0;
	}

	ul {
		max-width: 300px;
		margin: 0 auto;
	}

	h2 {
		font-size: 2.1rem !important;
	}

	h3 {
		font-size: .8rem !important;
	}
	
	.start {
		width: 100% !important;
		height: 50vh !important;
		border-radius: var(--border-radius-small) !important;
		background-position-x: 20% !important;
		background-position-y: 30% !important;

	}
	
	.start span {
		font-size: 2rem !important;
	}
}

@media (max-width: 1150px) {
	  .text-image {
		flex-direction: column;
		text-align: center;
	  }
	  
	.text-image.left .text {
	  order: 2;
	}

	.text-image.left .image {
	  order: 1;
	}

	.text-image.left .carousel-container {
	  order: 3;
	}
	
	.text-image.right .text {
	  order: 2;
	}

	.text-image.right .image {
	  order: 1;
	}

	.text-image.right .carousel-container {
	  order: 3;
	}

	.footer-content {
		flex-direction: column;
		text-align: center;
	}
}

ul {
	padding-left:	1rem;
}

ul li {
	text-align: left;
	margin-left: 1rem;
}

.footer-links ul {
	text-align:center;
}
.footer-links ul li {
	text-align:center;
}

h2 {
	font-family: "Allura", cursive;
	font-weight: 400;
	font-style: normal;
	font-size: 3rem;
}

h3 {
	font-family: "Montserrat", sans-serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	font-size: 1rem;
	text-transform: uppercase;
	letter-spacing: 0.36rem;
	padding-bottom: 1rem;
}

.site-footer {
	background-color: var(--text-color);
	color: white;
	padding: 3rem 2rem 1rem;
	margin-top: 4rem;
	box-shadow: inset 0 8px 20px rgba(0, 0, 0, 0.2);
}

footer .logo-text-big {
	padding-left: 0rem;
	color: var(--accent2);
}

footer .logo-text-small {
	padding-left: 0rem;
	color: var(--accent2);
}

.footer-content {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 2rem;
	max-width: 1200px;
	margin: 0 auto;
}

.footer-content div {
	color: var(--white);
}

.footer-content a {
	color: var(--white);
}

.footer-content a:hover {
  color: var(--accent1);
}

.footer-content h2,
.footer-content h3 {
	color: var(--accent2);
	margin-bottom: 0.5rem;
}

.footer-links ul {
	list-style: none;
	padding: 0;
}

.footer-links ul li {
	margin: 0.4rem 0;
}

.footer-links a {
	color: white;
	text-decoration: none;
	transition: color 0.3s;
}

.footer-links a:hover {
	color: var(--accent1);
}

.footer-contact p {
	line-height: 1.6;
}

.footer-bottom {
	text-align: center;
	margin-top: 2rem;
	font-size: 0.9rem;
	color: var(--accent1);
	border-top: 1px solid rgba(255, 255, 255, 0.1);
	padding-top: 1rem;
}

form {
	max-width: 600px;
	margin: 0 auto;
	background: white;
	padding: 2rem;
	border-radius: 1rem;
	box-shadow: 0 6px 16px rgba(0,0,0,0.1);
}
.form-group {
	margin-bottom: 1rem;
}
label {
	font-weight: bold;
	display: block;
	margin-bottom: 0.5rem;
}
input, textarea {
	width: 100%;
	padding: 0.75rem;
	border: 1px solid #ccc;
	border-radius: 0.75rem;
	font-size: 1rem;
}
button {
	background: rgb(168, 156, 91);
	color: white;
	padding: 0.75rem 1.5rem;
	border: none;
	border-radius: 2rem;
	font-size: 1rem;
	cursor: pointer;
}
.error {
	color: #b30000;
	background: #ffe0e0;
	padding: 1rem;
	border-radius: 0.5rem;
	margin-bottom: 1rem;
}
.success {
	color: #2e7d32;
	background: #e0f2f1;
	padding: 1rem;
	border-radius: 0.5rem;
	margin-bottom: 1rem;
}

.start {
	width: 100%;
	height: 100vh;
	display: flex;
	justify-content: center;
	align-items: end;
	padding: 2rem;
	text-align:center;
  background: 
    linear-gradient(
      to bottom,
      rgba(20,10,0,0) 0%,
	  rgba(20,10,0,0) 80%,
      rgba(20,10,0,0.8) 90%,
      rgba(20,10,0,1) 100%
    ),
    url("media/start.jpg");
	background-repeat: no-repeat, repeat;
	background-size: cover, cover;
	/*background-blend-mode: darken;*/
	border-radius: var(--border-radius);
	background-position: top, center top 50%;
}

.start span {
	font-size: 3.5rem;
	font-family: 'Allura', cursive;
	color: #ffddaa;
	text-shadow:
	  0 0 5px #ffcc99,
	  0 0 15px #ff9966,
	  0 0 30px #ff6600,
	  0 0 60px rgba(255,100,0,0.6);
	/*animation: glow 1s ease-in-out infinite alternate;*/
}

@keyframes glow {
	from {
	  text-shadow:
		0 0 5px #ffcc99,
		0 0 15px #ff9966,
		0 0 30px #ff6600,
		0 0 60px rgba(255,100,0,0.6);
	}
	to {
	  text-shadow:
		0 0 10px #ffe0b3,
		0 0 20px #ffb366,
		0 0 40px #ff8000,
		0 0 80px rgba(255,120,0,0.8);
	}
}
