/* One Home treatment for the shared grid and the store-owned decants grid.
   These overrides load before some late-enqueued builder styles, so the
   homepage scope keeps the visual contract stable across both renderers. */
body.home .loq-cards__header.gds-section-header {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  column-gap: 16px !important;
  margin: 0 !important;
}

body.home .loq-block--simple-grid .loq-cards__header {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  column-gap: 16px !important;
  margin: 0 !important;
}

body.home .loq-cards__header-left {
  min-width: 0;
}

body.home .loq-cards__header-right {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  align-self: center !important;
  padding: 0 !important;
}

body.home .loq-cards__header-cta {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  min-width: max-content;
  min-height: 36px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--gds-color-text, #111316) !important;
  font-family: var(--gds-font-body, inherit) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  letter-spacing: normal !important;
  text-align: center !important;
  text-transform: none !important;
  text-decoration: none !important;
  transition: color 180ms ease;
}

body.home .loq-cards__header-cta svg {
  display: none !important;
}

body.home .loq-cards__header-cta::after {
  content: "→";
  display: block;
  width: 14px;
  height: 14px;
  color: currentColor;
  font-family: Arial, sans-serif;
  font-size: 17px;
  font-weight: 400;
  line-height: 12px;
  text-align: center;
  transition: transform 180ms ease;
}

body.home .loq-cards__header-cta:hover {
  color: var(--gds-color-text, #111316) !important;
  text-decoration: underline !important;
  text-underline-offset: 4px;
}

body.home .loq-cards__header-cta:hover::after {
  transform: translateX(2px);
}

body.home .loq-cards__header-cta:focus-visible {
  outline: 2px solid var(--gds-color-text, #111316) !important;
  outline-offset: 4px;
}

/* Keep one predictable title-to-products rhythm in every Home grid. */
body.home .loq-block--main-grid .site-container {
  row-gap: var(--gds-space-md, 16px) !important;
}

body.home .loq-block--main-grid .loq-block--title-secondary {
  margin: 0 !important;
}

body.home .loq-block--main-grid .gds-section-header {
  margin-block: 0 !important;
}

body.home .loq-block--simple-grid .loq-block--title-secondary {
  margin: 0 0 var(--gds-space-md, 16px) !important;
}

body.home .loq-block--simple-grid .gds-section-header {
  margin-block-start: 0 !important;
  margin-block-end: var(--gds-space-md, 16px) !important;
}

@media (max-width: 767px) {
  body.home .loq-cards__header-cta {
    min-height: 44px !important;
    font-size: 13px !important;
  }

  /* Product rails use the same edge-to-edge track on small screens. */
  body.home .loq-block--main-grid .loq-cards.layout-carousel .loq-cards-grid,
  body.home .loq-block--simple-grid .loq-cards.layout-carousel .loq-cards-grid {
    box-sizing: border-box;
    width: calc(100% + 2 * var(--gds-page-gutter, 16px)) !important;
    margin-inline: calc(var(--gds-page-gutter, 16px) * -1) !important;
    padding-inline: var(--gds-page-gutter, 16px) !important;
    scroll-padding-inline: var(--gds-page-gutter, 16px) !important;
  }

  body.home .loq-block--simple-grid .loq-cards.layout-carousel {
    overflow: visible;
  }

  body.home .loq-block--simple-grid.overflow-hidden {
    overflow: visible !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.home .loq-cards__header-cta,
  body.home .loq-cards__header-cta::after {
    transition-duration: 0.01ms;
  }
}
