/* Compatibility overlay for the analytics production image. */
/* Owner request 2026-09-07: common CompareDrawer, not other PDF downloads. */
button[aria-label="Скачать сравнение в PDF"] {
  display: none !important;
}

html:has(.collection-scroll-container-overlay) {
  max-width: 100%;
  overflow-x: clip !important;
}

body:has(.collection-scroll-container-overlay) {
  max-width: 100%;
  overflow-x: hidden !important;
}

.collection-scroll-container-overlay {
  --collection-scroll-distance: 0px;
  --collection-track-height: auto;
  --collection-sticky-height: auto;
  --collection-sticky-top: 0px;
  --collection-end-runway: 0px;
  --collection-vertical-gap: 5rem;
}

.collection-scroll-stage-overlay {
  --collection-scroll-distance: 0px;
  --collection-track-height: auto;
  --collection-sticky-height: auto;
  --collection-sticky-top: 0px;
  --collection-end-runway: 0px;
  position: relative;
  width: 100%;
}

.collection-filters-overlay {
  margin-bottom: 0 !important;
}

.collection-cta-overlay {
  margin-top: 0 !important;
  /* Its old Reveal threshold is above this pinned bottom action. */
  opacity: 1 !important;
  transform: none !important;
}

.collection-project-track-overlay {
  display: grid !important;
  grid-template-columns: none !important;
  grid-auto-flow: column !important;
  grid-auto-columns: min(84vw, 340px) !important;
  align-items: stretch !important;
  gap: 1.5rem !important;
  width: 100% !important;
  max-width: none !important;
  overflow-x: auto !important;
  overflow-y: visible !important;
  overscroll-behavior-inline: contain;
  scroll-behavior: auto !important;
  scroll-snap-type: x mandatory;
  scroll-padding-inline: 1.25rem;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
  margin-top: 1rem !important;
  padding: 1rem calc(1.25rem + var(--collection-end-runway)) 2rem 1.25rem !important;
}

.collection-project-track-overlay::-webkit-scrollbar {
  display: none;
}

.collection-project-card-overlay {
  min-width: 0;
  height: 100% !important;
  margin-top: 0 !important;
  align-self: stretch !important;
  scroll-snap-align: start;
}

.collection-project-card-overlay > div {
  display: flex !important;
  height: 100% !important;
  flex-direction: column !important;
}

.collection-project-card-overlay > div > .p-5 {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
}

.collection-project-card-overlay > div > .p-5 > .border-t {
  margin-top: auto !important;
}

@media (min-width: 768px) {
  /* hidden creates an unscrolled body scroll-container and disables sticky.
     clip preserves horizontal containment without stealing viewport scrolling. */
  body:has(.collection-scroll-container-overlay) {
    overflow-x: clip !important;
    overflow-y: visible;
  }

  .collection-scroll-container-overlay {
    --collection-vertical-gap: 8rem;
  }

  .collection-scroll-stage-overlay {
    width: 100vw;
    margin-left: calc(-1 * var(--collection-content-left, 2.5rem));
  }

  .collection-heading-row-overlay,
  .collection-filter-shell-overlay {
    width: var(--collection-content-width, calc(100vw - 5rem));
    margin-left: var(--collection-content-left, 2.5rem);
  }

  .collection-project-track-overlay {
    width: calc(100vw - var(--collection-content-left, 2.5rem)) !important;
    margin-left: var(--collection-content-left, 2.5rem) !important;
    grid-auto-columns: min(384px, calc((100vw - 8rem) / 3)) !important;
    gap: 1.875rem !important;
    scroll-padding-inline: 0;
    margin-top: 1.5rem !important;
    padding: 2rem calc(2.5rem + var(--collection-end-runway)) 2.5rem 0 !important;
  }
}

@media (min-width: 768px) and (prefers-reduced-motion: no-preference) {
  .collection-scroll-stage-overlay[data-horizontal-scroll="true"] {
    height: calc(var(--collection-sticky-height) + var(--collection-scroll-distance));
  }

  .collection-scroll-stage-overlay[data-horizontal-scroll="true"]
    .collection-scroll-sticky-overlay {
    position: sticky !important;
    top: var(--collection-sticky-top);
    z-index: 2;
    display: block;
    overflow: hidden;
  }

  .collection-scroll-stage-overlay[data-horizontal-scroll="true"]
    .collection-project-track-overlay {
    align-items: stretch !important;
    overflow-x: hidden !important;
    overflow-y: hidden !important;
    scroll-snap-type: none;
  }
}

@media (max-width: 767px) {
  .collection-project-track-overlay {
    grid-auto-columns: clamp(224px, calc(100vw - 124px), 340px) !important;
    /* Keep card content readable while doubling the next-card preview to 80px. */
    width: calc(100% + 1.25rem) !important;
    margin-left: -1.25rem !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    scroll-padding-inline-start: 0;
  }
}
