/* KEMOVE homepage vertical rhythm
   Major content sections share one spacing system; the hero and its service
   promise remain intentionally connected. */
:root {
  --kemove-home-section-space: 36px;
  --kemove-home-heading-gap: 8px;
  --kemove-home-content-gap: 24px;
}

body[data-page-type="index"] :is(
    .kemove-shop-category,
    .kemove-kbot-assistant,
    .kemove-scene-hotspots,
    .featured-collection-list__wrapper,
    .kemove-hub,
    .kemove-trusted-users,
    .kemove-community-gallery,
    .kemove-exclusive-offers,
    .kemove-reviewed-by,
    .kemove-featured-blogs
  ) {
  padding-block: var(--kemove-home-section-space) !important;
}

body[data-page-type="index"] .kemove-community-gallery__head > div,
body[data-page-type="index"] .kemove-exclusive-offers__header,
body[data-page-type="index"] .kemove-reviewed-by__copy {
  display: grid !important;
  gap: var(--kemove-home-heading-gap) !important;
}

body[data-page-type="index"] :is(
    .kemove-community-gallery__text,
    .kemove-exclusive-offers__subtitle,
    .kemove-reviewed-by__text
  ) {
  margin: 0 !important;
}

body[data-page-type="index"] .kemove-community-gallery__head,
body[data-page-type="index"] .kemove-exclusive-offers__header {
  margin-block-end: var(--kemove-home-content-gap) !important;
}

body[data-page-type="index"] .kemove-reviewed-by__marquee {
  margin-block-start: var(--kemove-home-content-gap) !important;
}

@media (min-width: 960px) {
  body[data-page-type="index"] .featured-collection-list__list:has(
      > .featured-collection-list__collection:first-child:nth-last-child(4)
    ) {
    --desktop-columns: 4 !important;
    --desktop-gap-columns: 4 !important;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }

  body[data-page-type="index"] .featured-collection-list__list:has(
      > .featured-collection-list__collection:first-child:nth-last-child(4)
    )
    > .featured-collection-list__collection {
    grid-column: auto !important;
    grid-row: auto !important;
    width: 100% !important;
    aspect-ratio: 2 / 1 !important;
  }
}

@media (max-width: 959px) {
  :root {
    --kemove-home-section-space: 28px;
    --kemove-home-content-gap: 20px;
  }
}
