/* === Allgemeines Layout === */
body {
  margin: 0;
  font-family: Arial, sans-serif;
  background-color: #fffef7; /* 👈 Общий светлый фон сайта */
  color: #1c1c1a; /* Основной цвет текста */
}

header h1 {
  color: #fff; /* 👈 например, мягкий золотисто-коричневый */
}

/* === Hintergrundbild mit Overlay für Header und Footer === */
header, footer {
  position: relative;
  overflow: hidden;
  text-align: center;
}

footer {
  text-align: center;
  min-height: 50px; /* ← высота подвала */ 
  color: #fffff;
}

footer p {
  color: #ffffff;
}

/* Картинка — полностью видимая */
header::before,
footer::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  z-index: 0;
  opacity: 1;
}

header::before {
  background-image: url("header-bg.jpg");
}

footer::before {
  background-image: url("footer-bg.jpg");
}

/* Цветная заливка с прозрачностью */
header::after,
footer::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #5e5547;
  opacity: 0.8; /* 👈 регулируй как хочешь */
  z-index: 1;
}

/* Контент поверх всего */
header *, footer * {
  position: relative;
  z-index: 2;
}

footer p {
  color: #fffff;         /* 👈 цвет текста */
  text-align: center;  /* 👈 выравнивание по центру */
  margin: 0;           /* убрать возможные внешние отступы */
  padding: 1rem 0;     /* отступ сверху и снизу */
}

.language-switcher {
  position: absolute;
  top: 2rem;
  right: 2rem;
  display: flex;
  gap: 0;
  z-index: 10;
}

.lang-btn {
  padding: 0.4rem 0.8rem;
  text-decoration: none;
  font-weight: bold;
  color: #fff;
  border: none;
  background-color: #3b362d; /* тёмно-коричневая по умолчанию */
  transition: background-color 0.3s;
}

.lang-btn.active {
  background-color: #e3b82b; /* золотая */
}

.lang-btn:not(.active):hover {
  background-color: #2e2b27;
}

/* === Navigation-Menü === */
.navbar {
  display: flex;
  justify-content: center;
  gap: 1px;
  background-color: transparent; /* ✅ Убираем полосу */
  padding: 0.5rem 1rem;
  max-width: 1200px; /* ✅ Ширина такая же, как у intro */
  margin: 0 auto;
  margin-top: 1.5rem;
}

/* Каждая ссылка-меню */
.navbar a {
  flex: 1; /* ✅ Все ссылки занимают равную ширину */
  text-align: center;
  padding: 1rem;
  background-color: #f2e7c7;
  color: #333;
  text-decoration: none;
  font-weight: bold;
  transition: background-color 0.3s;
  border: 1px solid #e0d6c1;
}

/* Активная страница */
.navbar a.active {
  background-color: #e3b82b;       /* Белая кнопка */
  color: #fff;               /* Золотой текст */
}

/* При наведении */
.navbar a:hover {
  background-color: #e3b82b;    /* Мягкий светло-золотистый */
}

h1, h2 {
  color: #1d1c1a; /* 👈 Темные заголовки по умолчанию */
  margin-bottom: 1rem;
}

p {
  color: #1d1c1a;
  text-indent: 1.5rem; /* ⬅️ Красная строка */
  text-align: justify;
  line-height: 1.6;  
}

/* === Блок с фотографиями и текстом на главной странице === */
.intro {
  padding: 2rem 1rem;
  background-color: #fffef7; /* Светлый фон под блоком intro */
  margin-top: 3rem;
}

.intro-wrapper {
  display: flex;
  flex-wrap: wrap;
  max-width: 1200px;
  margin: 0 auto;
  gap: 2rem;
}

/* 👇 Левая колонка — 2 изображения */
.intro-images {
  flex: 1 1 45%;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.intro-images img:first-child {
  width: 70%;
  height: auto;
}

.intro-images img:last-child {
  width: 50%;
  height: auto;
  align-self: flex-start;
}

/* 👇 Правая колонка — текст и кнопка "Mehr erfahren" */
.intro-text {
  flex: 1 1 50%;
  display: flex;
  flex-direction: column;
  justify-content: flex-start; /* 👈 поднимает текст вверх */
  padding-top: 0rem; /* 👈 можно регулировать расстояние от верха */
  padding-left: 0rem; /* 👈 сдвигает текст чуть левее */
}

.absatz-links {
  margin-left: -10rem;
  padding-top: 0rem;
}

.absatz-rechts {
  margin-left: -15rem;
  padding-top: 5rem;
}

.intro-text h2 {
  margin-top: 0;
  color: #5e5547; /* Тёмный текст для заголовка блока */
  transform: translateX(-160px);
}

/* === Стили для ссылки-кнопки "Mehr erfahren" под intro === */
.btn-mehr {
  align-self: flex-end; /* 👈 прижимает кнопку к правому краю */
  margin-top: auto;     /* 👈 прижимает к низу блока */
  background-color: #e3b82b; /* золотистый фон */
  color: #fff;               /* белый текст */
  padding: 0.5rem 1.2rem;
  text-decoration: none;
  font-weight: bold;
  border: none;  
  transition: background-color 0.3s;
}

.btn-mehr:hover {
  background-color: #b9971f;
}

/* === Блок с ценами на главной странице === */
.price-banner {
  background-color: #fcf6e1; /* 👈 Светло-золотой фон */
  padding: 3rem 1rem;
  margin: 2rem auto; 
  margin-bottom: 5rem;
  margin-top: -1rem;
}

.price-grid {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 2rem;
  max-width: 900px;
  margin: 0 auto;
}

.price-item {
  text-align: center;
  flex: 1 1 150px;
}

.price-item strong {
  display: block;
  font-size: 1.2rem;
  color: #5e5547;
  margin-bottom: 1rem;  
}

.price-item span {
  color: #777;
  font-size: 0.95rem;
}

/* === Кнопки: верхние и "Jetzt buchen" === */
.buttons {
  margin: 1rem 0;
}

.btn {
  background-color: #e3b82b; /* 👈 Основной цвет кнопок */
  color: #fff;
  padding: 0.75rem 1.5rem;
  text-decoration: none;  
  margin: 0.5rem;
  display: inline-block;
  font-weight: bold;
  transition: background-color 0.3s;
}

.btn:hover {
  background-color: #b9971f;
}

.btn.secondary {
  background-color: #453f36;
  color: #fff;
}

.btn.secondary:hover {
  background-color: #2e2b27;
}

.map-section {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  padding: 0.5rem;
  max-width: 1200px;  
  margin: auto;
  align-items: flex-start; /* 👈 текст будет выровнен по верху карты */
}

.map-section .text {
  flex: 1 1 35%; /* 👈 текстовая колонка уже */
  display: flex;
  flex-direction: column;
  justify-content: flex-start; /* 👈 текст прижат вверх */
}

.map-section .map iframe {
  transform: translateX(40px);
}

.map-section .map {
  flex: 1 1 60%; /* 👈 карта шире */  
}

.map-section h2 {
  color: #5e5547; /* или любой другой */
  margin-top: -0.5rem;
  margin-bottom: 2rem;
}

.map-section .text {
  display: flex;
  flex-direction: column;
  align-items: flex-end; /* 👉 прижимает всё вправо */
  justify-content: flex-end; /* 👉 прижимает всё вниз */
  flex: 1 1 35%;
  padding: 0.5rem;
}

.map-section .text p {
  align-self: flex-start; /* 👉 чтобы текст остался слева */
  margin-bottom: 2rem;
}

.map-section .btn-mehr {
  margin-top: 6rem; /* если нужно отступ от текста */
}


/* === Galerie-Bereich (cleane Version ohne Rahmen и подложек) === */
.gallery {
  padding: 2rem 0;
  text-align: center;
  background-color: transparent; /* убираем заливку фона */
  margin-bottom: 3rem;
}

.gallery h2 {
  max-width: 1200px;
  margin: 0 auto 1rem auto;
  padding: 0 1rem;
  text-align: left;
  color: #5e5547;
  margin-top: 2rem;
  margin-bottom: 2rem;
}

/* Центрирование и увеличение ширины галереи */
.slider {
  position: relative;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  margin-bottom: 1rem;
}

/* Контейнер для изображений — фон под изображениями бежевый */
.slider-container {
  width: 100%;
  overflow: hidden;
  position: relative;
  background-color: #f2e7c7; /* 👈 бежевый фон вместо чёрного */
  display: flex;
  justify-content: center;
  align-items: center;
}

/* Картинки — выравнивание и высота */
.slider-container img {
  max-height: 650px;
  width: auto;
  height: auto;
  max-width: 100%;
  object-fit: contain;
}

/* Стрелки */
.prev, .next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background-color: rgba(59, 54, 45, 0.45);
  color: white;
  font-size: 1.8rem;
  border: none;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  cursor: pointer;
  z-index: 2;
  transition: background-color 0.3s;
  display: flex;
  justify-content: center;
  align-items: center;
}

.prev {
  left: 60px;
}

.next {
  right: 60px;
}

.prev:hover,
.next:hover {
  background-color: rgba(185, 151, 31, 0.95);
}

.slider-container figure {
  position: relative;
  display: none;
  margin: 0;
}

.slider-container figure.active {
  display: block;
}

.slider-container figure img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
  max-height: 650px;
}

/* Красивый "лейбл" по центру */
.slider-container figure figcaption {
  position: absolute;
  bottom: 1.5rem; /* можно и top: 50% + transform если хочешь по центру */
  left: 50%;
  transform: translateX(-50%);
  background: rgba(0, 0, 0, 0.3); /* затемнённый фон */
  color: #e3b82b; /* золотистый текст */
  padding: 0.4rem 1rem;
  font-size: 1rem;  
  font-weight: 500;
  white-space: nowrap;  
}

/* === Kalender === */
#calendar-wrapper {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  background-color: #8f876e;
  padding: 1rem;  
  z-index: 10;
  margin-top: 220px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
  display: none;  
}

#calendar {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 2px;
  background-color: #fcf6e1;
  padding: 0.5rem; 
  max-width: 600px;
  color: #121212;
}

.weekday {
  text-align: center;
  color: #121212;
  font-weight: bold;
  padding: 6px 0;
  border-bottom: 1px solid #e3b82b;
}

.calendar-hidden {
  display: none;
}

.calendar-header {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1rem;
  font-size: 1.2rem;
  font-weight: bold;
  color: #121212;
  margin-bottom: 1rem;
}

.calendar-header button {
  background-color: #8f876e;   /* 👈 тёмно-коричневая */
  color: #fff;
  border: none;
  width: 36px;
  height: 36px;
  border-radius: 50%;         /* 👈 делает их круглыми */
  font-weight: bold;
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1rem;
  transition: background-color 0.3s;
}

.calendar-header button:hover {
  background-color: #8f876e;
}

.day {
  border: 1px solid #e3b82b;
  width: 70px;
  height: 70px;
  text-align: center;
  background-color: #fffef7;  
  position: relative;
  cursor: pointer;
  padding-top: 5px;
}

.day.disabled {
  background-color: #c4bfaf;
  color: #121212;
  cursor: not-allowed;
}

.day.selected,
.day.entry {
  background-color: #e3b82b;
  color: #121212;
  font-weight: bold;
}

.day.between {
  background-color: #e3cd86;
  color: #121212;
}

.price {
  font-size: 0.75rem;
  color: #121212;
  margin-top: 4px;
}

#price-output {
  font-weight: bold;
  color: #121212;
  font-size: 1.2rem;
  margin-top: 1rem;
}

#prevMonth,
#nextMonth {
  background-color: #5e5547;
  color: white;
  border: none;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  cursor: pointer;
  font-size: 1.2rem;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: background-color 0.3s;
}

#prevMonth:hover,
#nextMonth:hover {
  background-color: #e3b82b;
}

/* === Buchungsformular (angepasst an bestehendes HTML) === */
.booking {
  padding: 2rem 1rem;
  background-color: #fcf6e1;
  margin-top: -1.5rem;
}

.booking h2 {
  background-color: #fcf6e1;
  padding: 1rem 2rem;
  margin: 0 auto 1rem auto;
  font-size: 1.5rem;
  color: #5e5547;
  text-align: left;
  max-width: 1200px;
}

.booking form {
  background-color: #fffef7;
  padding: 2rem;
  max-width: 1000px;
  margin: 0 auto;
  border: 1px solid #e3d9b4;  
  display: flex;
  flex-direction: column;
}

.booking input,
.booking textarea,
.booking select {
  width: 100%;
  padding: 0.75rem 1rem;
  margin-bottom: 1rem;
  border: 1px solid #ccc;
  font-size: 1rem;  
  background-color: #fff;
  box-sizing: border-box;
}

.booking button {
  background-color: #e3b82b;
  color: #fff;
  padding: 0.75rem 1.5rem;
  font-weight: bold;
  border: none;
  cursor: pointer;  
  transition: background-color 0.3s;
  width: 100%;
  font-size: 1rem;
}

.booking button:hover {
  background-color: #b9971f;
}

/* Центрирование календаря */
#calendar-wrapper {
  left: 50%;
  transform: translateX(-50%);
}

/* === Kommentare Abschnitt === */
.comments {
  padding: 0 1rem;
  background-color: #fffef7;  
}

.comments .form-wrapper {
  max-width: 1200px;
  margin: 0 auto;
}

.comments h2 {
  background-color: #fffef7;
  padding: 1rem 0;
  margin-bottom: 1rem;
  margin-top: 3.5rem;
  font-size: 1.5rem;
  color: #5e5547;
  text-align: left;  
}

.form-box {
  background-color: #fcf6e1;
  padding: 2rem;
  border: 1px solid #e3d9b4;    
}

#comment-form input,
#comment-form textarea {
  width: 100%;
  padding: 0.75rem 1rem;
  margin-bottom: 1rem;  
  border: 1px solid #ccc;
  font-size: 1rem;  
  box-sizing: border-box;
  background-color: #fff;
}

#comment-form button {
  background-color: #e3b82b;
  color: #fff;
  padding: 0.75rem 1.5rem;
  font-weight: bold;
  border: none;  
  cursor: pointer;  
  width: 100%;  
  transition: background-color 0.3s;
  font-size: 1rem;
}

#comment-form button:hover {
  background-color: #b9971f;
}

.comments-extra {
  max-width: 1000px;
  margin: 1rem auto;
  background-color: #f2e7c7;
  padding: 1.5rem;
  text-align: center;
  font-size: 1rem;
  color: #333;  
}

/* Footer */
footer p {
  margin: 0;
  color: #121212;
  font-size: 0.9rem;
}

/* Sonstiges */
select, input {
  margin-top: 1rem;
  padding: 0.5rem;  
  border: none;
  font-size: 1rem;
  margin: 0;
}

/* Выборка гостей */
#guestSelector {
  background-color: #ffffff; /* белый фон */
  color: #2a2a2a; /* тёмный текст при выборе */  
  padding: 0.75rem 0.75rem;
  font-size: 1rem;
  width: 100%; /* можно задать конкретно, например 300px */
  appearance: none;
  background-image: url("data:image/svg+xml;utf8,<svg fill='gray' height='16' viewBox='0 0 24 24' width='16' xmlns='http://www.w3.org/2000/svg'><path d='M7 10l5 5 5-5z'/></svg>");
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  background-size: 1rem;
  box-sizing: border-box;
  cursor: pointer;
  margin-top: 0;
  border-radius: 0;
}

#guestSelector {
  color: #707070; /* серый, пока не выбран гость */
}

#guestSelector:valid {
  color: #000; /* чёрный, когда выбран гость */
}

#guestSelector {
  border-radius: 0; /* 🔥 убирает скругление */
  appearance: none; /* убирает стрелочку по умолчанию */
  -webkit-appearance: none;
  -moz-appearance: none;
}

/* Карта */
.map iframe {  
  max-width: 800px;
  width: 90%;
  display: block;
  margin: auto;
}

/* Удобства */
.features-wrapper {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 1rem;
}

.features-grid {
  columns: 3 300px;
  column-gap: 2rem;
}

.ausstattung-section h2 {
  text-align: left;
  margin-bottom: 2rem;
  color: #5e5547;
  transform: translateX(20px);
}

.feature-group {
  display: inline-block;
  background: #fffef7;
  padding: 1rem;
  margin-bottom: 1.5rem;  
  width: 100%;
  box-sizing: border-box;
  break-inside: avoid;  
  border: 1px solid #e3d9b4;
}

.feature-group h3 {
  font-size: 1.1rem;
  margin: 0 0 1rem 0;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.feature-group img {
  width: 32px;
  height: 32px;
  flex-shrink: 0;
}

.feature-group ul {
  list-style: none;
  padding-left: 1.5rem;
}

.feature-group ul li::before {
  content: "\25A0"; /* чёрный квадрат */
  color: #000;
  font-size: 0.6rem;
  display: inline-block;
  width: 0.8rem;
  margin-left: -1.2rem;
  margin-right: 0.4rem;
}

.feature-group ul li {
  margin-bottom: 0.3rem;
}

/* Контейнеры общего текста — используется во многих местах */
.content-wrapper {
  max-width: 1200px;
  margin: 0 auto;
  padding: 2rem 1rem;
  margin-bottom: 3rem;
}

/* Удобства фон раздела — светло-жёлтый, карточки — белые */
.ausstattung-section {
  background-color: #f2e7c7; /* или #fffbd1 — мягкий жёлтый */
  padding: 1rem;
  max-width: 1168px;
  margin: 0 auto; /* центрирует по горизонтали */  
  margin-bottom: 2rem;
  margin-top: -1rem;
}

.ausstattung-section .feature-group {
  background-color: #fffef7; /* фон карточек в первом блоке */
  color: #000; /* цвет текста */
}

/* === Umgebung (Block 2) === */
.umgebung-section {
  background-color: #ffffff; /* белый фон блока */
  color: #000;
  padding: 1rem;
  max-width: 1200px;
  margin: 2rem auto; /* 👈 больше отступ сверху и снизу */ 
  margin-bottom: 3.5rem;
}

.umgebung-section h2 {
  text-align: left;
  margin-bottom: 2rem;
  color: #5e5547;
}

.umgebung-section .features-grid {
  columns: 3 300px;
  column-gap: 2rem;
}

.umgebung-section .feature-group {
  display: inline-block;
  background: #f2e7c7; /* светло-жёлтая карточка */
  padding: 1rem;
  margin-bottom: 1.5rem;  
  width: 100%;
  box-sizing: border-box;
  break-inside: avoid;
  border: 1px solid #e3d9b4;
}

.umgebung-section .feature-group h3 {
  font-size: 1.1rem;
  margin: 0 0 1rem 0;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.umgebung-section .feature-group img {
  width: 32px;
  height: 32px;
  flex-shrink: 0;
}

.umgebung-section .feature-group ul {
  list-style: none;
  padding-left: 1.5rem;
}

.umgebung-section .feature-group ul li::before {
  content: "\25A0"; /* чёрный квадрат */
  color: #000;
  font-size: 0.6rem;
  display: inline-block;
  width: 0.8rem;
  margin-left: -1.2rem;
  margin-right: 0.4rem;
}

.umgebung-section .feature-group ul li {
  margin-bottom: 0.3rem;
}

.map-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
  align-items: flex-start;
  max-width: 1200px;
  margin: 0 auto;
  margin-top: 1rem;
  margin-bottom: -1.5rem;
}

.map-box {
  flex: 1 1 50%;
  margin-top: 2rem;
  margin-left: -2rem;
}

.map-text {
  flex: 1 1 45%;
  display: flex;
  flex-direction: column;
  justify-content: flex-start; 
  margin-top: 1rem;
}

.map-text p {
  margin-bottom: 0;
  margin-top: 1rem;
}

.map-text h2 {
  margin-top: 0.5rem;
  color: #5e5547; /* Тёмный текст для заголовка блока */
  transform: translateX(10px);
  margin-left: -1rem;
}

/* Контейнер для произвольных блоков бежевый или белый фон */
.content-box {
  padding: 2rem;
  max-width: 1200px;
  margin: 2rem auto;  
}

.content-box.gelb {
  background-color: #f2e7c7;
  color: #000;
}

.content-box.weiss {
  background-color: #ffffff;
  color: #000;
}

/* Правила проживания */
.hausregeln-section {
  background-color: #fffef7;
  color: #000;
  padding: 2rem;
  max-width: 1200px;
  margin: 2rem auto; 
  margin-bottom: 2.5rem;  
  margin-top: 1.5rem;
}

.hausregeln-section h2 {
  text-align: left;
  margin-bottom: 2rem;
  color: #5e5547;
}

.rule {
  display: flex;
  align-items: flex-start;
  margin-bottom: 1.5rem;
  gap: 1.5rem;
  border-bottom: 1px solid #eee;
  padding-bottom: 1rem;
}

.rule-title {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  width: 300px; /* фиксированная ширина */
  flex-shrink: 0;
}

.rule-title img {
  width: 32px;
  height: 32px;
  flex-shrink: 0;
}

.rule-description {
  flex: 1;
  line-height: 2;
  color: #444;
}

.rule-description b {
  display: block;
  margin-top: 0.5rem;
  font-weight: bold;
}

/* Блок с планом и иконками */
.wohnung-detail-section {
  background-color: #fffef7;
  color: #000;
  padding: 2rem;
  max-width: 1200px;
  margin: 2rem auto;  
  margin-bottom: -2.5rem;
  margin-top: 1.5rem;
}

.wohnung-detail-section h2 {
  text-align: left;
  margin-bottom: 2rem;
  color: #5e5547;
}

.wohnung-detail-wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
  justify-content: center;
  align-items: flex-start;
}

.wohnung-plan img {
  max-width: 100%;
  height: auto;  
  max-width: 500px;
}

.wohnung-info-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem 2rem;
  flex: 1;
  min-width: 300px;
}

.info-item {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  font-size: 1rem;
  background-color: #fcf6e1;
  padding: 0.75rem 1rem;   
  border: 1px solid #e3d9b4;
}

.info-item img {
  width: 32px;
  height: 32px;
  flex-shrink: 0;
}

.area {
  background-color: #fffef7; /* или другой фон */
  padding: 0 1rem;  
  margin: 1rem auto;
  margin-top: 0;
  margin-bottom: 0;
}

.area h2 {
  color: #5e5547;
  margin-bottom: 2rem;
  text-align: left;
  font-size: 1.5rem;
}

.area p {
  text-align: justify;
  line-height: 1.6;
}

.area-buchung {
  background-color: #fcf6e1; /* или другой фон */
  padding: 0 1rem;  
  margin: 2rem auto;
  margin-top: -0.5rem;  
}

.area-buchung h2 {
  color: #5e5547;
  margin-bottom: 1.5rem;
  text-align: left;
  font-size: 1.5rem;
}

.area-buchung p {
  text-align: justify;
  line-height: 1.6;
  margin-bottom: 2rem;
}

.form-price-summary {
  font-weight: bold;
  margin-top: 5px;
  margin-bottom: 20px;
  font-size: 1rem;
  color: #333;
  margin-left: -20px;
}

/* === Hinweis auf Hausregeln === */
.rules-section {
  background-color: #fffef7; /* фон от края до края */
  padding: 3.5rem 1rem;
  margin-top: 1.5rem; /* опустить блок */
  margin-bottom: 2.5rem;
}

.rules-note {
  background-color: #fcf6e1; /* рамка светлая внутри */
  color: #856404;
  padding: 0.5rem;
  text-align: center;
  margin: 0 auto;  
  font-size: 1.1rem;
  max-width: 600px;
  border: 1px solid #e3d9b4; 
}

.rules-note a {
  color: #856404;
  font-weight: bold;
  text-decoration: underline;
}

.rules-note a:hover {
  color: #b9971f;
  text-decoration: none;
}

.contacts {
  background-color: #fffef7;
  padding: 0;
  max-width: 1200px;
  margin: 3rem auto; /* отступ сверху и снизу + центрирование */  
}

.contacts h2 {
  color: #5e5547;
  font-size: 1.5rem;  
  margin-bottom: 2rem;
  margin-top: 5rem;
}

.contacts p {
  display: flex;
  align-items: center;
  gap: 0.5rem; /* расстояние между иконкой и текстом */
  font-size: 1rem;
  margin: 0.5rem 0;
  color: #1c1c1a;
  text-align: left;    
}

.contacts p img {
  width: 32px;
  height: 32px;
  flex-shrink: 0;
}

.contacts .content-wrapper {
  padding: 0 1rem;
  margin: 0 auto;
  max-width: 1200px;
  margin-bottom: 5.5rem; 
}

.contacts .content-wrapper {
  padding-left: 0;
  padding-right: 0;
}

#scrollToTop {
  position: fixed;
  bottom: 4.5rem;
  right: 1rem;
  z-index: 999;
  display: none;
  background-color: rgba(59, 54, 45, 0.45);
  color: white;
  border: none;
  width: 44px;
  height: 44px;
  font-size: 1.8rem;
  border-radius: 50%;
  cursor: pointer;
  transition: background-color 0.3s;
  display: flex;
  justify-content: center;
  align-items: center;
}

#scrollToTop:hover {
  background-color: rgba(185, 151, 31, 0.95);
}


.comment-meta {
  font-weight: bold;
  color: #5e5547;
  margin-bottom: 0.3rem;
}

.comment-text {
  background-color: #fff;
  padding: 1rem;  
  border: 1px solid #ccc;
  font-size: 1rem;
  color: #121212;
  text-align: left;
  line-height: 1.4;
}

.comment-entry .comment-meta {
  font-weight: bold;
  margin-bottom: 1.5rem;
  color: #5e5547;
}

.comment-entry .comment-text {
  background-color: #fff;
  padding: 1rem;
  border: 1px solid #ccc; /* светло-серая рамка */
  font-size: 1rem;
  color: #121212;
  text-align: left;
  line-height: 2;
  }

.form-comment-box {
  background-color: transparent; /* Убрать цвет */
  border: none;                  /* 🔥 Убираем рамку */
  padding: 0;                    /* Минимальные отступы */
  margin-top: 2rem;
}

/* Оформление каждого комментария */
.comment-entry {
  border: 1px solid #e3d9b4;
  margin-bottom: 1.2rem;
  padding: 2rem;
  background-color: #fcf6e1;  
}

/* 🎯 Комментарии — отображение рейтинга */
.comment-stars {
  font-size: 1.8rem;           /* Увеличь, если нужно */
  color: #ccc;                 /* Серый — неактивные звезды */
  margin-bottom: 0.5rem;
  display: flex;
  gap: 0.2rem;
  margin-top: -1rem;       /* 🔧 добавь если нужно */
  margin-bottom: 1rem;      /* 🔧 увеличь нижний отступ */
}

.comment-stars .active {
  color: #e3b82b;              /* Золотые — активные */
}


/* ⭐ Форма: выбор звёзд */
.rating-stars {
  font-size: 2rem;           /* Увеличь здесь */
  display: flex;
  gap: 0.3rem;
  user-select: none;
  margin-top: 0;       /* 🔧 отступ сверху */
  margin-bottom: 1.5rem;  /* 🔧 отступ снизу */
}

.rating-stars span {
  color: #ccc;                 /* серый цвет по умолчанию */
  cursor: pointer;
  transition: color 0.2s;
}

.rating-stars span.hovered,
.rating-stars span.active {
  color: #e3b82b;              /* золотой */
}

.info-icon {
  margin-right: 0.3em;
  color: #444;
  font-weight: bold;
}










