/*
 * Klever v4 — корректировки после реальной проверки внутренних страниц.
 * Подключается последним, поэтому намеренно использует !important там,
 * где старые index.php отдают свои стили прямо внутри страницы.
 */
:root {
  --k4-shell: 1180px;
  --k4-card: #fffdf9;
  --k4-ink: #26231f;
  --k4-muted: #68635d;
  --k4-line: #e7ddd1;
  --k4-gold: #d39a20;
  --k4-dark: #25211c;
  --k4-shadow: 0 16px 42px rgba(36,30,20,.10);
}

/* ── Навигация: только главное снаружи, второстепенное — в «Ещё» ── */
@media (min-width: 768px) {
  body.klever-site-page #menu .navbar-nav.upper {
    min-height: 58px !important;
    flex-wrap: nowrap !important;
    justify-content: center !important;
  }

  body.klever-site-page #menu .navbar-nav.upper > li > a {
    padding-right: 13px !important;
    padding-left: 13px !important;
    font-size: 12px !important;
  }

  body.klever-site-page #menu .klever-more-menu {
    position: relative !important;
  }

  body.klever-site-page #menu .klever-more-menu > .dropdown-menu {
    right: 0 !important;
    left: auto !important;
    width: 250px !important;
    min-width: 250px !important;
    max-height: min(70vh, 480px) !important;
    overflow-y: auto !important;
  }

  body.klever-site-page #menu .klever-more-menu > a .caret {
    margin-left: 5px !important;
  }
}

@media (max-width: 767.98px) {
  body.klever-site-page #menu .klever-more-menu > .dropdown-menu {
    display: none;
    margin: 0 !important;
    padding: 0 0 8px !important;
    background: #fbf8f2 !important;
  }

  body.klever-site-page #menu .klever-more-menu.open > .dropdown-menu {
    display: block !important;
  }

  body.klever-site-page #menu .klever-more-menu > a {
    justify-content: space-between !important;
  }

  body.klever-site-page #menu .klever-more-menu > a .caret {
    transition: transform .18s ease;
  }

  body.klever-site-page #menu .klever-more-menu.open > a .caret {
    transform: rotate(180deg);
  }

  body.klever-site-page #menu .klever-more-menu > .dropdown-menu > li > a {
    min-height: 48px !important;
    padding: 13px 24px 13px 30px !important;
    border-bottom: 1px solid #eee6da !important;
    color: #675c4e !important;
    font-size: 15px !important;
    font-weight: 650 !important;
  }
}

/* ── Услуги: возвращаем полноценные карточки с изображением и текстом ── */
body.klever-site-page:not(.klever-home-page) .klever-services-row,
body.klever-site-page:not(.klever-home-page) .services-grid {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: stretch !important;
}

body.klever-site-page:not(.klever-home-page) .klever-service-column,
body.klever-site-page:not(.klever-home-page) .service-column {
  display: flex !important;
}

body.klever-site-page:not(.klever-home-page) .klever-service-column > .dop_servise,
body.klever-site-page:not(.klever-home-page) .service-column > .dop_servise {
  width: 100% !important;
  height: 100% !important;
}

body.klever-site-page:not(.klever-home-page) .dop_servise_index {
  position: relative !important;
  display: block !important;
  min-height: 238px !important;
  overflow: hidden !important;
  border: 1px solid var(--k4-line) !important;
  border-radius: 16px !important;
  background-color: #f2eee6 !important;
  background-position: left center !important;
  background-repeat: no-repeat !important;
  background-size: 47% 100% !important;
  box-shadow: var(--k4-shadow) !important;
}

body.klever-site-page:not(.klever-home-page) .dop_servise_index::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  left: 43% !important;
  z-index: 1 !important;
  width: auto !important;
  height: auto !important;
  opacity: 1 !important;
  background: linear-gradient(90deg, rgba(255,253,249,.14) 0%, #fffdf9 16%, #fffdf9 100%) !important;
  pointer-events: none !important;
}

body.klever-site-page:not(.klever-home-page) .dop_servise_index_text {
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  z-index: 2 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  width: 57% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 26px 25px 62px 33px !important;
  background: transparent !important;
  box-sizing: border-box !important;
}

body.klever-site-page:not(.klever-home-page) .dop_servise_index_text strong {
  display: block !important;
  margin: 0 0 9px !important;
  color: var(--k4-ink) !important;
  font-size: 20px !important;
  font-weight: 750 !important;
  line-height: 1.22 !important;
}

body.klever-site-page:not(.klever-home-page) .dop_servise_index_text > div:not(.more_service_bottom),
body.klever-site-page:not(.klever-home-page) .service-short-description {
  display: block !important;
  color: var(--k4-muted) !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  opacity: 1 !important;
  visibility: visible !important;
}

body.klever-site-page:not(.klever-home-page) .dop_servise_index_text .more_service_bottom {
  position: absolute !important;
  right: 24px !important;
  bottom: 20px !important;
  left: 33px !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
}

body.klever-site-page:not(.klever-home-page) .dop_servise_index_text .more_service_bottom .btn,
body.klever-site-page:not(.klever-home-page) .dop_servise_index_text .more_service_bottom a.btn {
  min-height: 36px !important;
  font-size: 12px !important;
}

@media (max-width: 991px) and (min-width: 768px) {
  body.klever-site-page:not(.klever-home-page) .dop_servise_index { min-height: 218px !important; }
  body.klever-site-page:not(.klever-home-page) .dop_servise_index_text { padding: 22px 20px 58px 27px !important; }
  body.klever-site-page:not(.klever-home-page) .dop_servise_index_text strong { font-size: 18px !important; }
}

@media (max-width: 767.98px) {
  body.klever-site-page:not(.klever-home-page) .dop_servise_index {
    min-height: 0 !important;
    background-size: 100% 168px !important;
    background-position: top center !important;
  }

  body.klever-site-page:not(.klever-home-page) .dop_servise_index::before {
    top: 142px !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    height: auto !important;
    background: linear-gradient(180deg, rgba(255,253,249,.10) 0%, #fffdf9 28px, #fffdf9 100%) !important;
  }

  body.klever-site-page:not(.klever-home-page) .dop_servise_index_text {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    width: 100% !important;
    min-height: 200px !important;
    margin: 142px 0 0 !important;
    padding: 24px 20px 62px !important;
  }

  body.klever-site-page:not(.klever-home-page) .dop_servise_index_text .more_service_bottom {
    right: 20px !important;
    bottom: 18px !important;
    left: 20px !important;
  }
}

/* ── Контакты: фото заполняют свою колонку без серой полосы ── */
body.klever-site-page:not(.klever-home-page) .contacts-page {
  width: min(100%, var(--k4-shell)) !important;
  max-width: var(--k4-shell) !important;
  margin: 0 auto 56px !important;
}

body.klever-site-page:not(.klever-home-page) .hotel-contact-card {
  overflow: hidden !important;
  border-color: var(--k4-line) !important;
  border-radius: 18px !important;
  background: var(--k4-card) !important;
  box-shadow: var(--k4-shadow) !important;
}

body.klever-site-page:not(.klever-home-page) .hotel-contact-hero {
  grid-template-columns: minmax(300px, 34%) minmax(0, 1fr) !important;
  min-height: 250px !important;
  align-items: stretch !important;
}

body.klever-site-page:not(.klever-home-page) .hotel-contact-photo {
  position: relative !important;
  align-self: stretch !important;
  min-height: 250px !important;
  height: auto !important;
  overflow: hidden !important;
  background: #ded8cf !important;
}

body.klever-site-page:not(.klever-home-page) .hotel-contact-photo img {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  object-fit: cover !important;
  object-position: center !important;
}

body.klever-site-page:not(.klever-home-page) .hotel-contact-copy {
  min-height: 250px !important;
  padding: 30px 32px !important;
}

@media (max-width: 767.98px) {
  body.klever-site-page:not(.klever-home-page) .hotel-contact-hero {
    grid-template-columns: 1fr !important;
    min-height: 0 !important;
  }

  body.klever-site-page:not(.klever-home-page) .hotel-contact-photo {
    height: 220px !important;
    min-height: 220px !important;
  }

  body.klever-site-page:not(.klever-home-page) .hotel-contact-copy {
    min-height: 0 !important;
    padding: 22px 20px !important;
  }
}

/* ── Детальные статьи: тот же широкий каркас, что у остальных страниц ── */
body.klever-site-page:not(.klever-home-page) .content_page .article-detail,
body.klever-site-page:not(.klever-home-page) .article-detail {
  width: 100% !important;
  max-width: var(--k4-shell) !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
  padding: clamp(28px, 4vw, 52px) !important;
  border: 1px solid var(--k4-line) !important;
  border-radius: 18px !important;
  background: var(--k4-card) !important;
  box-shadow: var(--k4-shadow) !important;
  box-sizing: border-box !important;
}

body.klever-site-page:not(.klever-home-page) .article-detail > [style*="max-width"],
body.klever-site-page:not(.klever-home-page) .article-detail > section,
body.klever-site-page:not(.klever-home-page) .article-detail > div {
  max-width: 100% !important;
}

body.klever-site-page:not(.klever-home-page) .article-detail img {
  max-width: 100% !important;
  height: auto !important;
}

@media (max-width: 767.98px) {
  body.klever-site-page:not(.klever-home-page) .content_page .article-detail,
  body.klever-site-page:not(.klever-home-page) .article-detail {
    padding: 24px 18px !important;
    border-radius: 14px !important;
  }
}
