#homepage-product-sections:empty { display: none; }
#homepage-product-sections { margin-top: 0; }
.omart-core-empty-products-hidden { display: none !important; }

/* Product titles already include the pack size; do not repeat the short unit below. */
.product-card .product-copy > .unit {
  display: none;
}

/* Temporarily hide homepage department cards; header/catalogue navigation stays available. */
#root > main:not([class]) > #categories {
  display: none;
}
#root > main:not([class]) > #categories > .section-title {
  display: none;
}

/* Compact every automatic product row on the homepage, not catalogue/detail pages. */
#root > main:not([class]) > section.product-section {
  padding-bottom: 28px;
  padding-top: 20px;
}
#root > main:not([class]) > section.product-section .section-title {
  align-items: center;
  margin-bottom: 16px;
}
#root > main:not([class]) > section.product-section .section-title h2,
.homepage-row-heading h2 {
  font-size: 15px;
  letter-spacing: -.015em;
  line-height: 1.25;
}

@media (min-width: 641px) {
  #root > main:not([class]) > section.product-section .section-title > a,
  .homepage-row-controls a {
    font-size: 15px;
  }
}

#root > main:not([class]) > section.product-section .section-title > a svg {
  height: 16px;
  width: 16px;
}

.homepage-product-row {
  padding-bottom: 32px;
  padding-top: 22px;
  position: relative;
}
.homepage-row-heading { align-items: center; }
.homepage-row-heading h2 {
  letter-spacing: -.025em;
  line-height: 1.2;
}
.homepage-row-heading .eyebrow { font-size: 10px; }
.homepage-row-controls { align-items: center; display: flex; gap: 8px; }
.homepage-row-controls a {
  align-items: center;
  color: #087a42;
  display: inline-flex;
  font-size: 15px;
  font-weight: 700;
  margin-right: 5px;
  white-space: nowrap;
}
.homepage-row-controls button {
  align-items: center;
  background: #fff;
  border: 1px solid #087a42;
  border-radius: 6px;
  color: #087a42;
  cursor: pointer;
  display: inline-flex;
  font-size: 18px;
  height: 30px;
  justify-content: center;
  line-height: 1;
  width: 30px;
}
.homepage-row-controls button:hover { background: #087a42; color: #fff; }
.homepage-row-controls button:disabled { cursor: default; opacity: .35; }
.homepage-row-controls button:disabled:hover { background: #fff; color: #087a42; }
.homepage-row-viewport { overflow: hidden; scroll-behavior: smooth; }
.homepage-row-track {
  display: flex;
  gap: 14px;
  min-width: 0;
  padding: 1px 1px 4px;
}
.homepage-row-product {
  border-radius: 11px;
  flex: 0 0 calc((100% - 56px) / 5);
  min-width: 0;
}
.homepage-row-product .product-image { aspect-ratio: 1.3; }
.homepage-row-product .product-image img { padding: 11px; }
.homepage-row-product .product-copy { padding: 13px; }
.homepage-row-product .product-copy h3 {
  font-size: 13px;
  line-height: 1.35;
  min-height: 36px;
}
.homepage-row-product .unit { font-size: 11px; }
.homepage-row-product .price-row { margin-top: 8px; min-height: 26px; }
.homepage-row-product .price-row strong { font-size: 18px; }
.homepage-product-placeholder {
  align-items: center;
  color: #087a42;
  display: flex;
  font-weight: 800;
  height: 100%;
  justify-content: center;
}
.homepage-row-empty {
  align-items: center;
  background: #fafcf9;
  border: 1px dashed #d8e1d9;
  border-radius: 12px;
  color: #7b857d;
  display: flex;
  justify-content: center;
  min-height: 150px;
  padding: 24px;
  text-align: center;
}

@media (max-width: 980px) {
  .homepage-row-product { flex-basis: calc((100% - 28px) / 3); }
}

@media (max-width: 640px) {
  #homepage-product-sections { margin-top: 0; }
  #root > main:not([class]) > section.product-section {
    padding-bottom: 22px;
    padding-top: 16px;
  }
  #root > main:not([class]) > section.product-section .section-title {
    margin-bottom: 13px;
  }
  .homepage-product-row { padding-bottom: 26px; padding-top: 18px; }
  .homepage-row-heading { align-items: flex-start; gap: 12px; }
  .homepage-row-heading h2,
  #root > main:not([class]) > section.product-section .section-title h2 {
    font-size: 14px;
  }
  .homepage-row-controls a { display: none; }
  .homepage-row-product { flex-basis: calc((100% - 12px) / 2); }
}
