/* Kalipso safe UI patch: no runtime chunks, no animation overrides */

/* Gallery: make the 18 photos sit in a clean grid instead of masonry columns */
#gallery div[class*="columns-1"][class*="lg:columns-3"] {
  column-count: initial !important;
  column-gap: initial !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 18px !important;
}
#gallery div[class*="columns-1"][class*="lg:columns-3"] > div[class*="break-inside-avoid"] {
  margin-bottom: 0 !important;
  break-inside: auto !important;
  height: clamp(260px, 34vw, 350px) !important;
}
@media (min-width: 640px) {
  #gallery div[class*="columns-1"][class*="lg:columns-3"] {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 20px !important;
  }
}
@media (min-width: 1024px) {
  #gallery div[class*="columns-1"][class*="lg:columns-3"] {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 24px !important;
  }
}

/* Apartments: only a small offset below the fixed header, without changing cards */
#catalog .horizontal-scroll-section {
  padding-top: clamp(42px, 4.5vh, 64px) !important;
  min-height: min(calc(72dvh - 16px), 640px) !important;
  align-items: flex-start !important;
}
#catalog .horizontal-scroll-track {
  padding-top: clamp(14px, 1.8vh, 24px) !important;
  padding-bottom: clamp(18px, 2.4vh, 32px) !important;
  align-items: center !important;
}
@media (max-width: 767.98px) {
  #catalog .horizontal-scroll-section {
    padding-top: 18px !important;
    min-height: auto !important;
  }
  #catalog .horizontal-scroll-track {
    padding-top: 12px !important;
    padding-bottom: 20px !important;
  }
}

/* Contacts: Telegram and MAX buttons must be visually identical */
a.kalipso-contact-messenger-btn,
a[href*="t.me/kalipso_home"].kalipso-contact-messenger-btn,
a[href*="max.ru/u/"].kalipso-contact-messenger-btn {
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: clamp(242px, 24vw, 278px) !important;
  min-width: clamp(242px, 24vw, 278px) !important;
  height: 54px !important;
  min-height: 54px !important;
  padding: 0 24px !important;
  gap: 10px !important;
  background: #8A6428 !important;
  color: #FFFFFF !important;
  border: 1px solid rgba(138, 100, 40, 0.92) !important;
  border-radius: 0 !important;
  text-decoration: none !important;
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: var(--type-overline) !important;
  font-weight: 600 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  clip-path: none !important;
  transform: translateZ(0) !important;
  transition: transform 0.42s cubic-bezier(0.23, 1, 0.32, 1),
              background-color 0.42s cubic-bezier(0.23, 1, 0.32, 1),
              border-color 0.42s cubic-bezier(0.23, 1, 0.32, 1),
              box-shadow 0.42s cubic-bezier(0.23, 1, 0.32, 1) !important;
  will-change: transform !important;
}
a.kalipso-contact-messenger-btn:hover {
  transform: translateY(-2px) scale(1.015) !important;
  background: #061A30 !important;
  border-color: rgba(197, 160, 89, 0.65) !important;
  box-shadow: 0 18px 42px rgba(6, 26, 48, 0.16) !important;
}
a.kalipso-contact-messenger-btn:active {
  transform: translateY(0) scale(0.985) !important;
}
a.kalipso-contact-messenger-btn svg {
  width: 16px !important;
  height: 16px !important;
  flex: 0 0 16px !important;
  display: block !important;
}
@media (max-width: 639.98px) {
  a.kalipso-contact-messenger-btn {
    width: 100% !important;
    min-width: 0 !important;
  }
}
