/* V2-05.4R.5 — Separated Content Islands & Light-Gray Canvas
   Structural spacing for the catalogue workspace:
   - pure white content surfaces
   - light-gray canvas only in the gutters
   - persistent breathing room below the structural header
   - visible separation between sidebar and catalogue content */

body.is-catalogue-route {
  --catalogue-canvas: #f4f4f2;
  --catalogue-island: #ffffff;
  --catalogue-island-gap: 14px;
  --catalogue-island-radius: 18px;
  --catalogue-island-border: rgba(17, 17, 17, 0.065);
  --catalogue-island-shadow: 0 8px 24px rgba(17, 17, 17, 0.035);
}

body.is-catalogue-route,
body.is-catalogue-route .app-shell,
body.is-catalogue-route .content-scroll-region,
body.is-catalogue-route #main-content,
body.is-catalogue-route .catalogue-workspace-v2 {
  background: var(--catalogue-canvas) !important;
  background-image: none !important;
}

/* A sticky canvas strip keeps a real gap between the ellipse header and
   whichever catalogue content row is currently at the top while scrolling. */
body.is-catalogue-route .content-scroll-region::before {
  content: "";
  position: sticky;
  top: 0;
  z-index: 35;
  display: block;
  width: 100%;
  height: var(--catalogue-island-gap);
  min-height: var(--catalogue-island-gap);
  pointer-events: none;
  background: var(--catalogue-canvas);
}

body.is-catalogue-route #main-content {
  min-height: calc(100% - var(--catalogue-island-gap));
  padding: 0 var(--catalogue-island-gap) var(--catalogue-island-gap);
}

body.is-catalogue-route .catalogue-workspace-v2 .page-container--wide {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.is-catalogue-route .catalogue-workspace-layout {
  grid-template-columns: 252px minmax(0, 1fr) !important;
  gap: var(--catalogue-island-gap) !important;
  align-items: start !important;
  padding-top: 0 !important;
}

/* Left category island. */
body.is-catalogue-route .catalogue-category-sidebar {
  top: var(--catalogue-island-gap) !important;
  max-height: calc(100dvh - var(--catalogue-header-row-height) - var(--catalogue-domain-row-height) - (var(--catalogue-island-gap) * 3)) !important;
  padding: 14px 12px 18px !important;
  overflow: auto;
  border: 1px solid var(--catalogue-island-border) !important;
  border-radius: var(--catalogue-island-radius) !important;
  background: var(--catalogue-island) !important;
  background-image: none !important;
  box-shadow: var(--catalogue-island-shadow) !important;
}

body.is-catalogue-route .catalogue-category-sidebar__header {
  padding-inline: 10px !important;
}

/* Main catalogue island. Its entire surface is white; gray is visible only
   through the surrounding structural gutters. */
body.is-catalogue-route .catalogue-workspace-content {
  min-width: 0;
  overflow: hidden;
  padding: 0 14px 18px;
  border: 1px solid var(--catalogue-island-border);
  border-radius: var(--catalogue-island-radius);
  background: var(--catalogue-island) !important;
  background-image: none !important;
  box-shadow: var(--catalogue-island-shadow);
}

body.is-catalogue-route .catalogue-content-heading,
body.is-catalogue-route .catalogue-subcategory-section,
body.is-catalogue-route .catalogue-smart-filter-section,
body.is-catalogue-route .smart-filter-chips,
body.is-catalogue-route .catalogue-results-toolbar,
body.is-catalogue-route .catalog-product-grid,
body.is-catalogue-route .heater-product-grid,
body.is-catalogue-route .catalog-empty,
body.is-catalogue-route .catalog-load-more-wrap {
  background: #ffffff !important;
  background-image: none !important;
}

/* Keep a clear internal edge around the product grid without creating a
   second tinted surface. */
body.is-catalogue-route .catalog-product-grid,
body.is-catalogue-route .heater-product-grid {
  padding-top: 2px;
}

/* Cards stay pure white; separation comes from the very light outline. */
body.is-catalogue-route .catalog-product-card,
body.is-catalogue-route .heater-product-card {
  background: #ffffff !important;
  background-image: none !important;
}

@media (max-width: 1260px) {
  body.is-catalogue-route .catalogue-workspace-layout {
    grid-template-columns: 218px minmax(0, 1fr) !important;
  }
}

@media (max-width: 900px) {
  body.is-catalogue-route {
    --catalogue-island-gap: 10px;
    --catalogue-island-radius: 15px;
  }

  body.is-catalogue-route #main-content {
    padding-inline: var(--catalogue-island-gap);
  }

  body.is-catalogue-route .catalogue-workspace-layout {
    display: block !important;
  }

  body.is-catalogue-route .catalogue-workspace-content {
    padding-inline: 10px;
  }

  body.is-catalogue-route .catalogue-category-sidebar {
    top: 0 !important;
    max-height: 100dvh !important;
    border-radius: 0 18px 18px 0 !important;
  }
}
