/* Kalipso: safe visual fixes without touching animation states */

/* Gallery: stable 3-column grid so the last photos do not hang separately */
#gallery .columns-1 {
  column-count: initial !important;
  column-gap: initial !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 18px !important;
}
#gallery .columns-1 > .group {
  margin-bottom: 0 !important;
  break-inside: auto !important;
  height: clamp(260px, 34vw, 350px) !important;
}
@media (min-width: 640px) {
  #gallery .columns-1 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 20px !important;
  }
}
@media (min-width: 1024px) {
  #gallery .columns-1 {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 24px !important;
  }
}

/* Apartments: small offset only, card data and horizontal scroll remain original */
#catalog .horizontal-scroll-section {
  padding-top: clamp(42px, 4.5vh, 64px) !important;
  min-height: min(calc(72dvh - 16px), 640px) !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: equal Telegram/MAX buttons */
.kalipso-contact-messenger-btn,
a.kalipso-contact-messenger-btn,
.contacts-messenger-actions a[href*="t.me"],
.contacts-messenger-actions a[href*="max.ru"] {
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
  width: clamp(236px, 22vw, 264px) !important;
  min-width: clamp(236px, 22vw, 264px) !important;
  height: 52px !important;
  min-height: 52px !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;
  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;
}
.kalipso-contact-messenger-btn:hover,
.contacts-messenger-actions a[href*="t.me"]:hover,
.contacts-messenger-actions a[href*="max.ru"]: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;
}
.kalipso-contact-messenger-btn:active,
.contacts-messenger-actions a[href*="t.me"]:active,
.contacts-messenger-actions a[href*="max.ru"]:active {
  transform: translateY(0) scale(0.985) !important;
}
.kalipso-contact-messenger-btn svg,
.contacts-messenger-actions a[href*="t.me"] svg,
.contacts-messenger-actions a[href*="max.ru"] svg {
  width: 16px !important;
  height: 16px !important;
  flex: 0 0 16px !important;
  display: block !important;
}
@media (max-width: 639.98px) {
  .kalipso-contact-messenger-btn,
  a.kalipso-contact-messenger-btn,
  .contacts-messenger-actions a[href*="t.me"],
  .contacts-messenger-actions a[href*="max.ru"] {
    width: 100% !important;
    min-width: 0 !important;
  }
}
