.parallax-section{display:grid; margin-top: 100px ;grid-template-columns:1.2fr 2fr;gap:50px;align-items:center;padding:150px 5vw;background:#F6F2EE;color:#111;position:relative;overflow:hidden}.parallax-text{z-index:2}.parallax-text h2{font-size:50px;font-weight:300;margin-bottom:20px;z-index:999}.parallax-text p{margin-right:10px;font-size:20px;line-height:1.6;font-weight:500;margin-bottom:40px}.parallax-button{display:inline-block;background:#2b013c;color:#F6F2EE;padding:14px 28px;border-radius:30px;text-decoration:none;font-weight:600;transition:background 0.3s ease}.parallax-button:hover{background:#333}.parallax-images{position:relative;display:flex;align-items:center;justify-content:center}.parallax-image.back{width:800px;max-height:950px;object-fit:cover;box-shadow:0 10px 30px rgb(0 0 0 / .2);z-index:1;margin-left:65px}.parallax-image.front{position:absolute;top:0;width:350px;max-height:1000px;transform:translateY(0);transition:transform 0.1s ease;z-index:2;box-shadow:0 10px 50px rgb(0 0 0 / .3);margin-right:630px;margin-top:450px}
.parallax-image.front2{position:absolute;top:0;width:350px;max-height:1000px;transform:translateY(0);transition:transform 0.1s ease;z-index:2;box-shadow:0 10px 50px rgb(0 0 0 / .3);margin-right:-630px;margin-top:150px}


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

html {
  scroll-behavior: smooth;
}

body {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  background: #F6F2EE;
  color: #101010;
  overflow-x: hidden;
}

/* ======= БАЗОВЫЕ СТИЛИ HEADER (ваши) ======= */
.header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  padding: 20px 40px;
  background: rgba(246, 242, 238, 0);
  backdrop-filter: blur(10px);
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  opacity: 0;
  transform: translateY(-100%);
}

.header.visible {
  opacity: 1;
  transform: translateY(0);
  background: rgba(246, 242, 238, 0.95);
}

.header-content {
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: 1400px;
  margin: 0 auto;
}

.logo {
  font-size: 18px;
  font-weight: 700;
  color: #101010;
  text-decoration: none;
  letter-spacing: -0.02em;
  z-index: 1002;
  position: relative;
}

.nav {
  display: flex;
  gap: 40px;
}

.nav a {
  color: #101010;
  text-decoration: none;
  font-weight: 500;
  transition: color 0.3s ease;
}

.nav a:hover {
  color: #666;
}

.lang-switch {
  display: flex;
  gap: 10px;
  z-index: 1002;
  position: relative;
}

.lang-switch button {
  background: none;
  border: none;
  color: #101010;
  cursor: pointer;
  font-weight: 500;
  transition: color 0.3s ease;
}

.lang-switch button.active {
  color: #666;
}

/* ======= БУРГЕР-КНОПКА (скрыта на десктопе) ======= */
.burger-btn {
  display: none;
  flex-direction: column;
  justify-content: space-between;
  width: 28px;
  height: 22px;
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 0;
  z-index: 1002;
  position: relative;
  transition: transform 0.3s ease;
}

.burger-btn span {
  display: block;
  width: 100%;
  height: 3px;
  background: #101010;
  border-radius: 2px;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  transform-origin: center;
}

/* Анимация бургера в X */
.burger-btn.active span:nth-child(1) {
  transform: translateY(9.5px) rotate(45deg);
}

.burger-btn.active span:nth-child(2) {
  opacity: 0;
  transform: scaleX(0);
}

.burger-btn.active span:nth-child(3) {
  transform: translateY(-9.5px) rotate(-45deg);
}

/* ======= МОБИЛЬНОЕ МЕНЮ (overlay) ======= */
.mobile-menu {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background: rgba(16, 16, 16, 0.6);
  backdrop-filter: blur(8px);
  z-index: 1001;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}

.mobile-menu.active {
  opacity: 1;
  visibility: visible;
}

/* Панель меню справа */
.mobile-menu-panel {
  position: absolute;
  top: 0;
  right: 0;
  width: min(320px, 85vw);
  height: 100vh;
  background: #F6F2EE;
  box-shadow: -8px 0 40px rgba(16, 16, 16, 0.15);
  transform: translateX(100%);
  transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  overflow-y: auto;
  padding: 80px 24px 24px;
}

.mobile-menu.active .mobile-menu-panel {
  transform: translateX(0);
}

/* Навигационные ссылки */
.mobile-nav {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-bottom: 32px;
}

.mobile-nav a {
  display: block;
  padding: 16px 20px;
  color: #101010;
  text-decoration: none;
  font-weight: 500;
  font-size: 18px;
  border-radius: 12px;
  transition: all 0.25s ease;
  background: transparent;
}

.mobile-nav a:active {
  background: rgba(16, 16, 16, 0.08);
  transform: scale(0.98);
}

/* Разделитель */
.mobile-divider {
  height: 1px;
  background: linear-gradient(to right,
    rgba(0,0,0,0),
    rgba(16,16,16,0.12) 20%,
    rgba(16,16,16,0.12) 80%,
    rgba(0,0,0,0)
  );
  margin: 20px 0;
}

/* Языковые кнопки в мобильном меню */
.mobile-lang {
  display: flex;
  gap: 8px;
  padding: 0 20px;
}

.mobile-lang button {
  flex: 1;
  padding: 12px;
  background: rgba(16, 16, 16, 0.06);
  border: 1.5px solid transparent;
  border-radius: 10px;
  color: #101010;
  font-weight: 600;
  font-size: 14px;
  cursor: pointer;
  transition: all 0.25s ease;
}

.mobile-lang button.active {
  background: #101010;
  color: #F6F2EE;
  border-color: #101010;
}

.mobile-lang button:active {
  transform: scale(0.96);
}

/* Блокировка скролла body */
body.menu-open {
  overflow: hidden;
}

/* ======= АДАПТИВНОСТЬ ======= */
@media (max-width: 767px) {
  .header {
    padding: 12px 16px;
  }

  .logo {
    font-size: 16px;
  }

  /* Скрываем десктопное меню */
  .nav {
    display: none;
  }

  /* Показываем бургер */
  .burger-btn {
    display: flex;
  }

  /* Язык на десктопе скрыт на мобильном (дублируется в меню) */
  .lang-switch {
    display: none;
  }
}

/* На планшетах и выше бургер не нужен */
@media (min-width: 768px) {
  .burger-btn,
  .mobile-menu {
    display: none !important;
  }
}

/* ======= DEMO STYLES (удалите в продакшене) ======= */
body {
  margin: 0;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  background: #F6F2EE;
}

.demo-content {
  padding-top: 100px;
  padding-left: 20px;
  padding-right: 20px;
}

.demo-content h1 {
  font-size: 2rem;
  margin-bottom: 20px;
}

.demo-content p {
  line-height: 1.6;
  margin-bottom: 20px;
}
/* Hero Section */
.hero {
  height: 100vh;
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}

.hero-bg {
  position: absolute;
  top: -10%;
  left: -10%;
  width: 120%;
  height: 120%;
  background: linear-gradient(rgba(16, 16, 16, 0.3), rgba(16, 16, 16, 0.3)),
              url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 800"><rect fill="%23E7E3E0" width="1200" height="800"/><rect fill="%23D4CFC8" x="0" y="0" width="600" height="400"/><rect fill="%23C8C1B8" x="600" y="0" width="600" height="400"/><rect fill="%23BDB4A8" x="0" y="400" width="600" height="400"/><rect fill="%23B2A698" x="600" y="400" width="600" height="400"/></svg>');
  background-size: cover;
  background-position: center;
  transition: transform 0.1s linear;
  will-change: transform;
}

.hero-content {
  text-align: center;
  z-index: 10;
  max-width: 800px;
  padding: 0 40px;
  opacity: 0;
  transform: translateY(60px);
  animation: fadeInUp 1.2s cubic-bezier(0.4, 0, 0.2, 1) 0.5s forwards;
}

.hero h1 {
  font-size: clamp(3rem, 8vw, 6rem);
  font-weight: 300;
  letter-spacing: -0.03em;
  line-height: 1.1;
  margin-bottom: 24px;
  color: white;
}

.hero p {
  font-size: 18px;
  color: rgba(255, 255, 255, 0.9);
  margin-bottom: 40px;
  font-weight: 300;
}

.cta-button {
  background: #101010;
  color: white;
  padding: 16px 32px;
  border: none;
  border-radius: 2px;
  font-size: 16px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  text-decoration: none;
  display: inline-block;
}

.cta-button:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(16, 16, 16, 0.3);
}

/* Section Styles */
.section {
  padding: 80px 40px;
  max-width: 1400px;
  margin: 0 auto;
}

.section-title {
  font-size: clamp(2.5rem, 5vw, 4rem);
  font-weight: 300;
  text-align: center;
  margin-top: 80px;
  margin-bottom: 80px;
  letter-spacing: -0.02em;
  opacity: 0;
  transform: translateY(40px);
  transition: all 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}

.amenities-list .section-title{
  margin-top: 100px;
  justify-content: center;
  align-items: center;

}

.amenities-wrap .section-title :first-child{
  margin-top: -200px;
}

.section-title.visible {
  opacity: 1;
  transform: translateY(0);
}

        /* Gallery Section */
        .gallery {
          background: var(--bg-secondary);
          margin: 120px -40px;
          padding: 120px 40px;
          box-shadow: 0 20px 50px rgba(0,0,0,0.15);
      }

      .gallery-grid {
          display: grid;
          grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
          gap: 24px;
          max-width: 1400px;
          margin: 0 auto;
      }

      .gallery-item {
          height: 300px;
          background: #D4CFC8;
          border-radius: 8px;
          overflow: hidden;
          cursor: pointer;
          transition: all 0.4s var(--transition-smooth);
          opacity: 0;
          transform: translateY(40px) scale(0.95);
      }

      .gallery-item img {
          width: 100%;
          height: 100%;
          object-fit: cover;
          display: block;
      }

      .gallery-item.visible {
          opacity: 1;
          transform: translateY(0) scale(1);
      }

      .gallery-item:hover {
          transform: translateY(-8px) scale(1.02);
          box-shadow: 0 20px 40px rgba(16, 16, 16, 0.15);
      }

      .gallery-item.hidden-item {
          display: none;
      }

      .gallery-item.hidden-item.show {
          display: block;
      }

      .gallery-more-btn {
          text-align: center;
          margin-top: 60px;
      }

      .gallery-more-btn.hidden {
          display: none;
      }

/* gallery-only layouts for Playground / Sauna */
.gallery-only { display: none; }
.gallery-only.active { display: block; }

.gallery-only .image-gallery{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 16px;
}
.gallery-only .image-gallery img{
  width: 100%;
  aspect-ratio: 4 / 3;      /* или 3/2 — под свои фото */
  object-fit: cover;
  border-radius: 10px;
  cursor: pointer;
  box-shadow: 0 10px 30px rgba(16,16,16,.08);
  transition: transform .25s ease, box-shadow .25s ease;
}
.gallery-only .image-gallery img:hover{
  transform: translateY(-2px);
  box-shadow: 0 18px 40px rgba(16,16,16,.12);
}
/* Режим одной колонки для Playground/Sauna */
.content.single{
  display: grid !important;          /* гарантируем grid */
  grid-template-columns: 1fr;        /* одна колонка */
  justify-content: center;           /* центрируем трек */
}

/* Левую панель растягиваем на всю ширину и центрируем её содержимое */
.content.single .info-panel{
  grid-column: 1 / -1;               /* занять всю сетку */
  justify-self: center;              /* сама панель по центру */
  width: 100%;
  max-width: 1200px;                 /* ограничитель ширины */
}

/* На всякий случай — центр для самой «галереи только» */
.content.single .gallery-only{
  width: 100%;
  max-width: 1100px;
  margin-inline: auto;
}

/* Сетка фоток внутри галереи */
.gallery-only .image-gallery{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 16px;
}

/* Amenities Section */
.amenities-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  transform: translateX(clamp(-50px, 5vw, 0));
  gap: 40px;
}

.amenity-item {
  text-align: center;
  opacity: 0;
  transform: translateY(30px);
  transition: all 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}

.amenity-item.visible {
  opacity: 1;
  transform: translateY(0);
}

.amenity-icon {
  font-size: 48px;
  color: #101010;
  margin-bottom: 20px;
  transition: transform 0.3s ease;
}

.amenity-item:hover .amenity-icon {
  transform: scale(1.1);
}

.amenity-item h4 {
  font-size: 18px;
  font-weight: 500;
  margin-bottom: 8px;
}

.amenity-item p {
  color: #666;
  font-weight: 300;
}

/* ===== Amenities: двухколоночный лэйаут со sticky карточкой ===== */
.amenities-wrap {
  display: grid;
  grid-template-columns: 1fr 360px;
  gap: 40px;
  align-items: start;
  position: relative;
}

/* Стили для карточек удобств */
.amenities-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 30px;
  margin: 20px 0;
}

/* справа колонка 360px на десктопе */
@media (min-width: 1024px) {
  .amenities-wrap {
    grid-template-columns: 1fr 360px;
  }
}

/* левая часть контент */
.amenities-left {
  display: flex;
  flex-direction: column;
  gap: 40px;
  min-width: 0;
}

/* Trigger */
.amenities-actions{margin-top:clamp(90px, 5vw, 40px); margin-left:clamp(370px, 5vw, 40px); margin-bottom: clamp(40px, 5vw, 40px); justify-content: center; align-items: center;}
.amenities-all-btn{
  display:inline-flex;align-items:center;gap:10px;
  padding:14px 22px;border-radius:15px;border:1px solid #d8d8d8;
  background:#fff;color:#101010;font-weight:600;cursor:pointer;
  transition:transform .15s ease, box-shadow .2s ease, border-color .2s ease;
}
.amenities-all-btn:hover{transform:translateY(-1px);box-shadow:0 10px 30px rgba(16,16,16,.08);border-color:#cfcfcf}

/* Modal shell */
.amenities-modal{position:fixed;inset:0;display:none;z-index:1000}
.amenities-modal.open{display:block}
.amenities-modal__backdrop{
  position:absolute;inset:0;background:rgba(0,0,0,.45);backdrop-filter:blur(2px);
}
.amenities-modal__dialog{
  position:relative;z-index:1;max-width:980px;height:82vh;
  margin:5vh auto;background:#fff;border-radius:16px;
  box-shadow:0 30px 80px rgba(0,0,0,.25);overflow:hidden;display:flex;flex-direction:column;
}
.amenities-modal__close{
  position:absolute;top:12px;right:12px;width:40px;height:40px;border-radius:10px;
  border:1px solid #e8e8e8;background:#fff;color:#111;cursor:pointer;
}
#amenitiesTitle{padding:22px 24px 0;font-size:22px;font-weight:800}

/* Groups grid */
.amenities-groups{
  padding:18px 24px 24px;overflow:auto;scroll-behavior:smooth;
  display:grid;grid-template-columns:1fr 1fr;gap:18px;
}
@media (max-width: 860px){.amenities-groups{grid-template-columns:1fr}}
.amenity-group{
  border:1px solid #eee;border-radius:12px;padding:14px 14px 10px;background:#fff;
}
.amenity-group h4{font-size:16px;font-weight:800;margin:0 0 8px;display:flex;gap:8px;align-items:center}
.amenity-bullets{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:6px}
.amenity-bullets.columns-2{grid-template-columns:1fr 1fr}
.amenity-bullets li{display:flex;gap:8px;align-items:flex-start;font-size:14px;color:#212121}
.amenity-bullets i{margin-top:2px;color:#0f9d58}
.not-included .amenity-bullets i{color:#d33}
.amenity-note{font-size:12px;color:#6b6b6b;margin-top:8px}

/* Правая колонка с липкой карточкой */
.booking-sticky {
  position: sticky;
  top: 100px; /* Отступ сверху с учетом хедера */
  height: fit-content;
  align-self: start;
  margin-left: 20px;
}

.booking-card {
  background: #fff;
  border: 1px solid #e9e6e2;
  border-radius: 16px;
  box-shadow: 0 12px 32px rgba(16, 16, 16, .08);
  padding: 12px;
  transform: translateY(110px);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.booking-card:hover {
  box-shadow: 0 16px 40px rgba(16, 16, 16, .12);
}

/* Адаптивность */
@media (max-width: 1023px) {
  .amenities-wrap {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  
  .booking-sticky {
    position: static;
    margin: 20px 0 0 0;
  }
  
  .booking-card {
    max-width: 100%;
  }
}

/* заголовок в карточке */
.booking-title {
  font-size: 20px;
  font-weight: 700;
  color: #101010;
  margin: 0 0 16px;
}

/* группа дат — общий бордер и скругления */
.input-group {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border: 1px solid #dcd7d1;
  border-radius: 12px;
  overflow: hidden;
  background: #fff;
  margin-bottom: 10px;
}

.input-cell {
  display: block;
  padding: 4px 4px;
  border-right: 1px solid #eee9e4;
}

.input-cell:last-child { 
  border-right: 0; 
}

.small-label {
  display: block;
  font-size: 11px;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: #7a756e;
  margin-bottom: 6px;
}

.input-cell input[type="date"] {
  width: 100%;
  height: 28px;
  border: 0;
  outline: 0;
  background: transparent;
  color: #101010;
  font: inherit;
}
/* Глобальная полоска ошибок под формой */
.form-errors{
  margin-top: 12px;
  padding: 10px 12px;
  border-radius: 10px;
  background: #fff4f4;
  color: #c73333;
  font-size: 14px;
  line-height: 1.35;
}
.form-errors:empty{ display:none; }

/* Подсветка полей при ошибке — можно оставить как было */
.is-invalid{ outline:2px solid #ff6b6b; background:#fff7f7; }

/* гости */
.select-wrap { 
  margin-top: 6px; 
}

.select-cell {
  position: relative;
  border: 1.5px solid #101010;
  border-radius: 12px;
  background: #fff;
}

.select-cell select {
  appearance: none;
  -webkit-appearance: none;
  width: 100%;
  border: 0;
  outline: 0;
  background: transparent;
  padding: 14px 44px 14px 14px;
  font: inherit;
  color: #101010;
  cursor: pointer;
}

.select-cell .chev {
  position: absolute; 
  right: 12px; 
  top: 50%; 
  transform: translateY(-50%);
  width: 0; 
  height: 0;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-top: 7px solid #101010;
  pointer-events: none;
}

/* кнопка как на скрине — градиент */
.btn-gradient {
  width: 100%;
  margin-top: 14px;
  border: 0;
  border-radius: 999px;
  padding: 14px 18px;
  font-weight: 700;
  color: #fff;
  cursor: pointer;
  background: linear-gradient(90deg, #ff004d 0%, #d70dff 100%);
  box-shadow: 0 8px 18px rgba(215, 13, 255, .25);
  transition: transform .15s ease, filter .15s ease;
}

.btn-gradient2 {
  width: 100%;
  margin-top: 14px;
  border: 0;
  border-radius: 999px;
  padding: 14px 18px;
  font-weight: 700;
  color: #fff;
  cursor: pointer;
  background: linear-gradient(90deg, #094fff8f 0%, #2a01ce 100%);
  box-shadow: 0 8px 18px rgba(215, 13, 255, .25);
  transition: transform .15s ease, filter .15s ease;
}

.btn-gradient3 {
  width: 100%;
  margin-top: 14px;
  border: 0;
  border-radius: 999px;
  padding: 14px 18px;
  font-weight: 700;
  color: #fff;
  cursor: pointer;
  background: #040404;
  box-shadow: 0 8px 18px rgba(9, 9, 9, 0.25);
  transition: transform .15s ease, filter .15s ease;
}

.btn-gradient:hover,
.btn-gradient2:hover,
.btn-gradient3:hover { 
  filter: brightness(1.25); 
}

.btn-gradient:active,
.btn-gradient2:active,
.btn-gradient3:active { 
  transform: translateY(1px); 
}

.btn-gradient, .btn-gradient2, .btn-gradient3{
  display:inline-flex; align-items:center; gap:.5rem;
}

.btn-gradient .i18n::before,
.btn-gradient2 .i18n::before,
.btn-gradient3 .i18n::before{
  content:"|";
  opacity:.5;
  margin-right:.25rem;
  text-align: center;
  justify-content: center;
}
.btn-gradient,
.btn-gradient:link,
.btn-gradient:visited,
.btn-gradient2,
.btn-gradient:link,
.btn-gradient2:visited,
.btn-gradient3,
.btn-gradient3:link,
.btn-gradient3:visited
{ text-decoration: none; }

/* подпись внизу */
.report-link {
  display: inline-flex; 
  align-items: center; 
  gap: 8px;
  margin-top: 12px; 
  font-size: 14px; 
  color: #6b6762; 
  text-decoration: none;
}

.report-link:hover { 
  text-decoration: underline; 
}

/* мобильный — карточка становится обычным блоком */
@media (max-width: 1023px) {
  .booking-card { 
    position: static; 
    top: auto; 
  }
  .booking-sticky {
    min-height: auto;
  }
}

/* ==== Before/After ==== */
#perfect-for .before-after{
  position: relative;
  max-width: 1250px;
  max-height: 550px;
  margin: 24px auto 0;
  aspect-ratio: 16/9;
  border-radius: 16px;
  overflow: hidden;
  background: #e9e6e2;
  box-shadow: 0 12px 32px rgba(16,16,16,.08);
}

.ba-img{
  position:absolute; inset:0;
  width:100%; height:100%; object-fit:cover;
}
.ba-right{ /* верхняя картинка — изначально 50% */
  clip-path: inset(0 50% 0 0);
  transition: clip-path .15s ease-out;
}
.ba-range{ /* прозрачный полноэкранный range */
  position:absolute; inset:0;
  width:100%; height:100%;
  opacity:0; cursor: ew-resize;
}
.ba-divider{
  position:absolute; top:0; bottom:0; left:50%;
  width:2px; background: rgba(255,255,255,.95);
  box-shadow: 0 0 0 1px rgba(0,0,0,.15) inset;
  pointer-events:none;
}
.ba-handle{
  position:absolute; top:50%; left:50%;
  transform: translate(-50%,-50%);
  width:44px; height:44px; border-radius:999px;
  background:#fff; display:grid; place-items:center;
  box-shadow:0 10px 30px rgba(16,16,16,.18), 0 0 0 1px #e9e6e2 inset;
  pointer-events:none;
}
.ba-handle i{ font-size:18px; color:#101010; }

.perfect-label{
  text-align:center;
  margin-top:14px;
  font-weight:800;
  letter-spacing:.01em;
  color:#101010;
}

/* мобилки: выше контраст разделителя/хэндла */
@media (max-width: 768px){
  .ba-handle{ width:40px; height:40px; }
  .ba-handle i{ font-size:16px; }
}

/* Reviews Section */
/* === Reviews (minimal & on-brand) === */
.reviews {
  background: #F6F2EE; /* под твой общий бэкграунд */
}

.reviews-carousel {
  max-width: 980px;
  margin: 0 auto;
  position: relative;
  overflow: hidden;
}

.reviews-track {
  display: flex;
  will-change: transform;
  transition: transform .5s cubic-bezier(.4,0,.2,1);
}

.review-card {
  min-width: 100%;
  box-sizing: border-box;
  padding: 28px;
  background: #fff;
  border: 1px solid #e9e6e2;
  border-radius: 16px;
  box-shadow: 0 12px 32px rgba(16,16,16,.06);
  display: grid;
  gap: 12px;
  align-content: start;
}

.review-text {
  font-size: 18px;
  line-height: 1.6;
  color: #101010;
}

.review-rating { color: #D4AF37; letter-spacing: 2px; }
.review-author  { color:#6b6762; font-weight:600; }

/* See more card */
.review-more {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  text-decoration:none;
  color:#101010;
}
.review-more .more-icon{
  width:44px;height:44px;border-radius:12px;
  display:grid;place-items:center;
  background:#ff385c10;border:1px solid #ffd1db;
}
.review-more .more-icon .fa-airbnb{ font-size:22px; color:#FF385C; }
.review-more .more-text { display:flex; flex-direction:column; align-items:flex-start; }
.review-more .more-text span{ font-weight:800; }
.review-more .more-text small{ color:#6b6762; }

/* Dots + progress */
.reviews-dots{
  display:flex; gap:10px; justify-content:center;
  margin-top:16px;
}
.dot{
  width:30px;height:6px;border-radius:999px;border:1px solid #dad6d2;
  background:#fff; position:relative; overflow:hidden; padding:0;
  cursor:pointer;
}
.dot-progress{
  position:absolute; left:0; top:0; bottom:0; width:0%;
  background:#101010;
}
.dot.active .dot-progress{
  animation: reviewsFill var(--rv-autoplay,6000ms) linear forwards;
}
@keyframes reviewsFill { to { width:100%; } }

/* Responsive: на широких экранах карточка чуть уже и центрируется */
@media (min-width: 900px){
  .reviews-carousel { max-width: 800px; }
  .review-card    { padding: 34px; }
}

/* ===== Hosts (Airbnb / Booking) ===== */
.hosts .section-title { margin-bottom: 28px; }

.hosts-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:28px;
  align-items:start;
  margin-top: 58px;
}

.platform{
  background:#fff;
  border:1px solid #e9e6e2;
  border-radius:16px;
  box-shadow:0 20px 60px rgba(16,16,16,.06);
  padding:24px;
}

.platform-grid{
  display:grid;
  grid-template-columns:360px 1fr;
  gap:28px;
  align-items:start;
}

.host-card{
  background:#fff;
  border:1px solid #eee9e4;
  border-radius:16px;
  box-shadow:0 12px 32px rgba(16,16,16,.08);
  padding:22px;
}

.host-head{ display:flex; align-items:center; gap:14px; position:relative; }
.avatar{
  width:56px; height:56px; border-radius:50%;
  background:#101010; color:#fff; display:grid; place-items:center;
  font-weight:800; font-size:18px;
}
.host-id{ display:flex; flex-direction:column; }
.host-name{ font-weight:800; font-size:20px; display:flex; align-items:center; gap:8px; }
.verify{
  width:18px; height:18px; border-radius:50%;
  background:linear-gradient(135deg,#ff2b6a,#ff6a9f);
  display:inline-block; position:relative;
}
.verify2{
  width:18px; height:18px; border-radius:50%;
  background:linear-gradient(135deg,#2b9cff,#300bff);
  display:inline-block; position:relative;
}
.verify2::after{
  content:""; position:absolute; inset:4px;
  background:#fff; -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 14"><path fill="black" d="M5.7 10.3 2.8 7.4l1-1 1.9 1.9 3.7-3.7 1 1z"/></svg>') center/contain no-repeat;
          mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 14"><path fill="black" d="M5.7 10.3 2.8 7.4l1-1 1.9 1.9 3.7-3.7 1 1z"/></svg>') center/contain no-repeat;
  border-radius:50%;
}

.verify::after{
  content:""; position:absolute; inset:4px;
  background:#fff; -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 14"><path fill="black" d="M5.7 10.3 2.8 7.4l1-1 1.9 1.9 3.7-3.7 1 1z"/></svg>') center/contain no-repeat;
          mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 14"><path fill="black" d="M5.7 10.3 2.8 7.4l1-1 1.9 1.9 3.7-3.7 1 1z"/></svg>') center/contain no-repeat;
  border-radius:50%;
}
.host-role{ color:#7a756e; font-size:12px; margin-top:2px; }

.platform-chip{
  margin-left:auto; font-weight:700; font-size:13px;
  padding:8px 12px; border-radius:999px; border:1px solid transparent;
  display:inline-flex; align-items:center; gap:8px;
}
.platform-chip.airbnb{ background:#fff0f3; color:#ff385c; border-color:#ffd1dc; }
.platform-chip.booking{ background:#eef2ff; color:#003580; border-color:#d8e1ff; }

.host-stats{
  display:grid; grid-template-columns:1fr 1fr 1fr; gap:0; margin-top:18px;
  border:1px solid #eee9e4; border-radius:12px; overflow:hidden;
}
.host-stats li{ list-style:none; padding:14px; background:#fff; }
.host-stats li+li{ border-left:1px solid #eee9e4; }
.host-stats .num{ font-weight:800; font-size:18px; display:flex; align-items:center; gap:6px; }
.host-stats .label{ font-size:12px; color:#7a756e; margin-top:4px; }

.host-details .details-title{ font-weight:800; font-size:18px; margin:2px 0 12px; }
.detail-row{ margin:6px 0; font-size:14px; }
.btn-ghost{
  margin-top:12px; padding:12px 16px; border-radius:10px;
  border:1px solid #e2e2e2; background:#f7f7f7; font-weight:600; cursor:pointer;
}
.btn-ghost:hover{ background:#efefef; }

.btn-ghost,
.btn-ghost:link,
.btn-ghost:visited{
  text-decoration: none;
  color: inherit;
  display: inline-flex;
  align-items: center;
}

.muted-link{
  display:inline-block; margin-top:12px; color:#3c3c3c; font-size:14px; text-decoration:underline;
}

.notice{
  display:flex; align-items:flex-start; gap:10px;
  border-top:1px solid #eee; padding-top:14px; margin-top:18px;
  color:#6b6762; font-size:13px;
}

@media (max-width: 1200px){
  .platform-grid{ grid-template-columns:1fr; }
}
@media (max-width: 860px){
  .hosts-grid{ grid-template-columns:1fr; }
}

/* контейнер должен быть позиционирован */
.hosts-grid { position: relative; }

/* ВЕРТИКАЛЬНЫЙ разделитель (десктоп) */
.hosts-grid--divider::before{
  content:"";
  position:absolute;
  top:0; bottom:0;
  left:50%;
  width:1px;
  transform:translateX(-0.5px);
  background:linear-gradient(to bottom,
    rgba(0,0,0,0),
    rgba(16,16,16,.14) 12%,
    rgba(16,16,16,.14) 88%,
    rgba(0,0,0,0)
  );
  pointer-events:none;
  z-index:0;
}
/* чтобы линия не перекрывала карточки */
.platform { position: relative; z-index: 1; }

/* Точка/бейдж по центру (опционально) */
.hosts-grid--divider::after{
  content:"";
  position:absolute; left:50%; top:50%;
  width:10px; height:10px; border-radius:50%;
  background:#fff; border:1px solid rgba(16,16,16,.2);
  transform:translate(-50%,-50%);
  z-index:1;
}

/* МОБИЛЬНАЯ версия: вертикаль скрываем, ставим горизонтальный разделитель */
@media (max-width: 860px){
  .hosts-grid--divider::before,
  .hosts-grid--divider::after { display:none; }

  .platform + .platform{
    margin-top:22px; /* отступ между карточками */
  }
  .platform + .platform::before{
    content:"";
    position:absolute; left:0; right:0; top:-12px; height:1px;
    background:linear-gradient(to right,
      rgba(0,0,0,0),
      rgba(16,16,16,.14) 10%,
      rgba(16,16,16,.14) 90%,
      rgba(0,0,0,0)
    );
  }
}
/* ===== Hosts: мобильная адаптация ===== */

/* планшеты ≤1200px — уже есть 1 колонка внутри platform-grid, чуть сжимаем отступы */
@media (max-width: 1200px){
  .platform      { padding: 20px; }
  .platform-grid { gap: 20px; }
}

/* ≤860px — одна колонка на всю секцию, компактнее шрифты/паддинги */
@media (max-width: 860px){
  .hosts-grid    { grid-template-columns: 1fr; gap: 22px; }
  .platform      { padding: 18px; border-radius: 12px; }
  .platform-grid { grid-template-columns: 1fr; gap: 18px; }

  .host-card     { padding: 18px; border-radius: 12px; }
  .host-head     { gap: 12px; align-items: center; flex-wrap: wrap; }
  .avatar        { width: 48px; height: 48px; font-size: 16px; }

  .host-name     { font-size: 18px; }
  .host-role     { font-size: 12px; }

  /* бейдж платформы переносим под имя и уменьшаем */
  .platform-chip { margin-left: 0; margin-top: 6px; font-size: 12px; padding: 6px 10px; }

  /* сетка метрик остаётся в 3 колонки, но компактнее */
  .host-stats            { grid-template-columns: repeat(3, 1fr); }
  .host-stats li         { padding: 12px; }
  .host-stats .num       { font-size: 16px; }
  .host-stats .label     { font-size: 12px; }

  .details-title { font-size: 16px; margin-bottom: 8px; }
  .detail-row    { font-size: 14px; }

  .btn-ghost     { width: 100%; }
  .muted-link    { display: inline-block; margin-top: 10px; }
  .notice        { font-size: 12px; }
}

/* ≤560px — метрики в 2 колонки, ещё компактнее отступы/шрифты */
@media (max-width: 560px){
  .host-stats        { grid-template-columns: 1fr 1fr; }
  .host-stats li     { padding: 10px; }
  .host-stats .num   { font-size: 15px; }
  .host-stats .label { font-size: 11px; }

  .platform      { padding: 16px; }
  .host-card     { padding: 16px; }
}

/* очень узкие телефоны ≤400px */
@media (max-width: 400px){
  .avatar     { width: 44px; height: 44px; font-size: 15px; }
  .host-name  { font-size: 17px; }
  .platform   { padding: 14px; }
  .host-card  { padding: 14px; }

  /* чтобы длинные ссылки не ломали строку */
  .muted-link { word-break: break-word; }
}

/* Общий 2-колоночный лэйаут секции Host */
.hosts-layout{
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 420px; /* слева стек, справа форма */
  gap: 28px;
  align-items: start;
  margin-top: 38px;
}

/* тонкий вертикальный разделитель между колонками */
.hosts-layout--divider::before{
  content:"";
  position:absolute; top:0; bottom:0; left: calc(100% - 420px - 14px);
  width:1px;
  background: linear-gradient(to bottom,
    rgba(0,0,0,0),
    rgba(16,16,16,.14) 12%,
    rgba(16,16,16,.14) 88%,
    rgba(0,0,0,0)
  );
  pointer-events:none;
}

/* стек платформ слева */
.hosts-stack{
  display: grid;
  grid-template-columns: 1fr;
  gap: 28px;
}

/* формуляр справа */
.host-form{ align-self: start; }
.host-form-card{
  position: sticky; top: 96px; /* сделает форму «сопровождающей». Удали, если не нужно */
  background: #fff;
  border: 1px solid #e9e6e2;
  border-radius: 16px;
  box-shadow: 0 12px 32px rgba(16,16,16,.08);
  padding: 22px;
}
.host-form__title{ font-size: 18px; font-weight: 800; margin: 0 0 14px; }

/* сетка полей формы */
.host-form__grid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px 14px;
  margin-bottom: 12px;
}
.form-cell{ display: grid; gap: 6px; }
.form-cell--full{ grid-column: 1 / -1; }

.form-cell input,
.form-cell select,
.form-cell textarea{
  width: 100%;
  border: 1.5px solid #dcd7d1;
  border-radius: 12px;
  padding: 12px 14px;
  background: #fff;
  color: #101010;
  font: inherit;
  outline: none;
  transition: border-color .15s ease, box-shadow .15s ease;
}
.form-cell textarea{ resize: vertical; }

.form-cell input:focus,
.form-cell select:focus,
.form-cell textarea:focus{
  border-color:#9f968d;
  box-shadow: 0 6px 18px rgba(16,16,16,.06);
}

.host-form__note{
  margin-top: 10px;
  font-size: 12px;
  color: #6b6762;
}

/* адаптация */
@media (max-width: 1200px){
  .hosts-layout{ grid-template-columns: minmax(0,1fr) 360px; }
  .hosts-layout--divider::before{ left: calc(100% - 360px - 14px); }
}
@media (max-width: 980px){
  .hosts-layout{ grid-template-columns: 1fr; gap: 22px; }
  .hosts-layout--divider::before{ display:none; }
  .host-form-card{ position: static; top: auto; } /* на мобиле форма обычным блоком */
  .host-form__grid{ grid-template-columns: 1fr; }
}
.field-error{
  margin-top: 8px;
  font-size: 12px;
  color: #b00020;
}
.is-invalid{
  border-color: #ff6b6b !important;
  box-shadow: 0 0 0 3px rgba(255,107,107,.15);
}
/* Летящая «капсула» со значением */
.fly-chip{
  position: fixed;
  left: 0; top: 0;
  transform: translate3d(var(--x,0), var(--y,0), 0) scale(1);
  padding: 8px 12px;
  border-radius: 999px;
  background: #101010;
  color: #fff;
  font-weight: 700;
  font-size: 13px;
  letter-spacing: .2px;
  box-shadow: 0 14px 40px rgba(16,16,16,.25);
  pointer-events: none;
  z-index: 9999;
  transition: transform .6s cubic-bezier(.2,.85,.2,1);
  will-change: transform;
}

/* Короткая подсветка целевого инпута */
.fly-highlight{
  box-shadow: 0 0 0 3px rgba(255,56,92,.3), 0 8px 28px rgba(16,16,16,.12);
  transition: box-shadow .6s ease;
}
.fly-highlight-remove{
  box-shadow: none !important;
}

/* Contact Section */
.contact-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  align-items: start;
  box-shadow: 0 32px 64px rgba(16,16,16,0.18);
  background-color: #fff;
  border-radius: 15px;
}

.contact-info {
  opacity: 0;
  transform: translateX(-40px);
  transform: translateY(50px) !important;
  transition: all 0.8s cubic-bezier(0.4, 0, 0.2, 1);
  margin-left: 20px;
}

.contact-info.visible {
  opacity: 1;
  transform: translateX(0);
}

.contact-item {
  margin-bottom: 30px;
}

.contact-item h4 {
  font-size: 18px;
  font-weight: 500;
  margin-bottom: 8px;
}

.contact-item p {
  color: #666;
  font-weight: 300;
}

.map-container{
  position: relative;
  border: 1px solid #e9e6e2;
  border-radius: 16px;
  overflow: hidden;
  background: #fff;
}
.map-container iframe{
  display: block;
  width: 100%;
  height: 420px;   /* можно 360–520 по вкусу */
  border: 0;
}
@media (max-width: 768px){
  .map-container iframe{ height: 320px; }
}
.map-link{
  position: absolute;
  right: 12px; bottom: 10px;
  padding: 6px 10px;
  font-size: 12px;
  color: #101010;
  background: rgba(255,255,255,.92);
  border-radius: 20px;
  text-decoration: none;
}
.map-link:hover{ background: #fff; }

.map-container.visible {
  opacity: 1;
  transform: translateX(0);
}

/* Animations */
@keyframes fadeInUp {
  from {
      opacity: 0;
      transform: translateY(60px);
  }
  to {
      opacity: 1;
      transform: translateY(0);
  }
}

@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

/* Mobile Responsive */
@media (max-width: 768px) {
  .header {
      padding: 15px 20px;
  }

  .nav {
      display: none;
  }

  .section {
      padding: 80px 20px;
  }

  .about-grid,
  .scenarios-grid,
  .contact-grid {
      grid-template-columns: 1fr;
      gap: 40px;
  }

  .gallery {
      margin: 80px -20px;
      padding: 80px 20px;
  }

  .gallery-grid {
      grid-template-columns: 1fr;
  }

  .amenities-grid {
      grid-template-columns: repeat(2, 1fr);
      gap: 30px;
  }

  .scenario-card,
  .pricing-content,
  .booking-form {
      padding: 40px 30px;
  }

  .hero h1 {
      font-size: 3rem;
  }
}

.hidden {
  display: none;
}

.floor-tabs {
  display: flex;
  justify-content: center;
  gap: 15px;
  margin-top: 20px;
}

.floor-tab {
  padding: 12px 30px;
  background: rgba(94, 93, 93, 0.2);
  border: 2px solid rgb(123, 103, 103);
  border-radius: 25px;
  cursor: pointer;
  transition: all 0.3s ease;
  font-size: 1em;
  color: rgb(123, 103, 103);
}

.floor-tab:hover {
  background: rgba(255,255,255,0.3);
  transform: translateY(-2px);
}

.floor-tab.active {
  background: rgba(179, 159, 139, 0.95);
  color: #ffffff;
  border-color: white;
}

.content {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 40px;
  padding: 40px;
  min-height: 600px;
}

.info-panel {
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
  margin-left: 40px;
}

.info-content {
  opacity: 0;
  transform: translateX(-30px);
  transition: all 0.5s ease;
}

.info-content.show {
  opacity: 1;
  transform: translateX(0);
}

.placeholder {
  text-align: center;
  color: #999;
  font-size: 1.2em;
  padding: 60px;
}

.point-info {
  display: none;
}
.point-info img{
  margin-left: 50px;
}

.point-info.active {
  display: block;
}

.image-gallery {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 58px !important;
  margin-bottom: 20px;
}

.point-image {
  width: 230px;
  aspect-ratio: 1;
  object-fit: cover;
  border-radius: 15px;
  margin-bottom: 0;
  box-shadow: 0 10px 30px rgba(0,0,0,0.2);
  cursor: pointer;
  transition: transform 0.3s ease;
}

.point-image2 {
  width: 560px;
  aspect-ratio: 1;
  object-fit: cover;
  border-radius: 15px;
  margin-bottom: 10px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.2);
  cursor: pointer;
  transition: transform 0.3s ease;
  transform: translateX(clamp(35px, 10%, 20px));
}

.point-image:hover {
  transform: scale(1.05);
}

.modal {
  display: none;
  position: fixed;
  z-index: 1000;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.9);
  align-items: center;
  justify-content: center;
}

.modal.show {
  display: flex;
}

.modal-content {
  max-width: 90%;
  max-height: 90%;
  object-fit: contain;
  border-radius: 10px;
  animation: zoomIn 0.3s ease;
}

@keyframes zoomIn {
  from {
      transform: scale(0.8);
      opacity: 0;
  }
  to {
      transform: scale(1);
      opacity: 1;
  }
}

.modal-close {
  position: absolute;
  top: 20px;
  right: 40px;
  color: white;
  font-size: 40px;
  font-weight: bold;
  cursor: pointer;
  transition: color 0.3s ease;
}

.modal-close:hover {
  color: #B39F8B;
}

.point-title, .point-description {
  font-size: 1.8em;
  color: #333;
  margin-bottom: 15px;
  font-weight: 600;
  margin-left: clamp(140px, 20%, 20px);
}

.point-description {
  font-size: 1.1em;
  color: #666;
  line-height: 1.6;
}

.plan-panel {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
}

.floor-plan {
  display: none;
  position: relative;
  max-width: 100%;
  opacity: 0;
  transform: scale(0.95);
  transition: all 0.5s ease;
}

.floor-plan.active {
  display: block;
  opacity: 1;
  transform: scale(1);
}

.plan-image {
  width: 100%;
  height: auto;
  border-radius: 15px;
}

.point {
  position: absolute;
  width: 30px;
  height: 30px;
  background: #667eea;
  border: 3px solid white;
  border-radius: 50%;
  cursor: pointer;
  transform: translate(-50%, -50%);
  transition: all 0.3s ease;
  box-shadow: 0 4px 15px rgba(102, 126, 234, 0.4);
  z-index: 10;
}

.point:hover {
  transform: translate(-50%, -50%) scale(1.3);
  background: #764ba2;
  box-shadow: 0 6px 20px rgba(118, 75, 162, 0.6);
}

.point.active {
  background: #764ba2;
  transform: translate(-50%, -50%) scale(1.2);
  animation: pulse 2s infinite;
}

@keyframes pulse {
  0%, 100% {
      box-shadow: 0 4px 15px rgba(118, 75, 162, 0.4);
  }
  50% {
      box-shadow: 0 4px 25px rgba(118, 75, 162, 0.8);
  }
}

.point-label {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  margin-top: 8px;
  background: rgba(0,0,0,0.8);
  color: white;
  padding: 4px 10px;
  border-radius: 12px;
  font-size: 0.85em;
  white-space: nowrap;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.point:hover .point-label {
  opacity: 1;
}

@media (max-width: 968px) {
  .content {
      grid-template-columns: 1fr;
  }
  
  .plan-panel {
      order: -1;
  }
}

.header-gallery {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-weight: 300;
  background: #F6F2EE;
  color: #101010;
  padding: 30px;
  text-align: center;
  margin-bottom: -80px;
}

.header-gallery h1 {
  font-size: 2.5em;
  font-weight: 300;
  margin-bottom: 10px;
}

/* Контейнер секции + верхняя горизонтальная линия */
.policy { 
  position: relative;
  max-width: 1200px;
  margin: 0 auto;
  padding-top: 28px;           /* место для линии */
}
.policy::before{
  content:"";
  position:absolute;
  left: 0; right: 0; top: 0;
  height: 1px;
  background: linear-gradient(to right,
    rgba(0,0,0,0),
    rgba(16,16,16,.14) 12%,
    rgba(16,16,16,.14) 88%,
    rgba(0,0,0,0)
  );
  pointer-events: none;
}

/* Сетка из трёх колонок */
.policy-grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 40px;
  margin-top: 22px;
}

.policy-section{
  margin-bottom: 100px;
}

/* Карточка-колонка */
.policy-card h3{
  font-size: 18px;
  font-weight: 800;
  margin: 0 0 12px;
  color: #101010;
}
.policy-list{
  list-style: none;
  padding: 0;
  margin: 0 0 12px;
  display: grid;
  gap: 10px;
}
.policy-text{
  margin: 0 0 12px;
  color: #3d3a36;
}

/* Ссылка “Zobraziť viac/Pridať dátumy” с лёгкой стрелкой */
.policy-link{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #111;
  font-weight: 600;
  text-decoration: underline;
}
.policy-link::after{
  content: "›";
  font-size: 18px;
  line-height: 1;
  transform: translateY(1px);
  transition: transform .15s ease;
}
.policy-link:hover::after{ transform: translate(2px,1px); }

/* Адаптация */
@media (max-width: 980px){
  .policy-grid{ grid-template-columns: 1fr; gap: 26px; }
}

.site-footer {
  background: #111;
  padding: 20px 0;
  text-align: center;
  margin-bottom: clamp(-100px, -10%, -10px);
}

.footer-content {
  display: inline-flex;
  align-items: center;
  gap: 11px;
}

.footer-logo img {
  width: 40px;
  height: 40px;
  transition: transform 0.3s ease;
}

.footer-logo img:hover {
  transform: scale(1.15);
}

.footer-text {
  font-size: 14px;
  color: #aaa;
  font-weight: 500;
}

@media (max-width: 768px){
  .footer-text {
    font-size: 8px;
    color: #aaa;
    font-weight: 500;
  }
  .footer-logo img {
    width: 25px;
    height: 25px;
    transition: transform 0.3s ease;
  }
}