/* One homepage-style category index, rendered once above the shared footer. */
.cacti-theme .categoriesSection {
  box-sizing: border-box;
  width: auto;
  min-width: 0;
  margin: 40px 13px 0;
  padding: 0 0 18px;
  color: #111;
}
.cacti-theme .categoriesTitle {
  margin: 0;
  font-family: var(--font-heading);
  font-weight: 600;
  font-size: 26.4px;
  line-height: .95;
  letter-spacing: -.02em;
}
.cacti-theme .categoriesList {
  width: auto;
  min-width: 0;
  max-width: none;
  margin: 14px 0 0;
  padding: 0;
  list-style: none;
}
.cacti-theme .categoriesList li { border-top: 1px solid rgba(0,0,0,.28); }
.cacti-theme .categoriesList li:last-child { border-bottom: 1px solid rgba(0,0,0,.28); }
.cacti-theme .categoryLink {
  display: flex;
  box-sizing: border-box;
  min-width: 0;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 38.6px;
  padding: 12.1px 4px 11px;
  font-family: var(--font-body);
  font-size: 15.4px;
  line-height: 1;
  color: #414141;
  text-decoration: none;
  transition: background-color 160ms ease, color 160ms ease;
}
.cacti-theme .categoryLink:hover,
.cacti-theme .categoryLink[data-active="true"] { background: rgba(0,0,0,.04); color: #111; }
.cacti-theme .categoryLink:focus-visible { outline: 2px solid #111; outline-offset: -2px; }
.cacti-theme .categoryLink > span:first-child { min-width: 0; overflow-wrap: anywhere; }
.cacti-theme .categoryLink > .categoryCount { flex-shrink: 0; }
.cacti-theme .categoryCount { color: rgba(0,0,0,.42); font-size: 13.2px; }
.cacti-theme .categoriesSection + .footer { margin-top: 0; }
@media (max-width: 1024px) {
  .cacti-theme .categoriesSection { margin: 28px 8px 0; padding-bottom: 14px; }
  .cacti-theme .categoriesTitle { font-size: 19.8px; }
  .cacti-theme .categoriesList { margin-top: 9px; }
  .cacti-theme .categoryLink { min-height: 28.7px; padding-block: 8.8px; font-size: 11px; }
  .cacti-theme .categoryCount { font-size: 9.9px; }
}
@media (max-width: 640px) {
  .cacti-theme .categoriesSection { margin: 6px 6px 0; }
  .cacti-theme .categoriesTitle { font-size: 16.5px; }
  .cacti-theme .categoriesList { margin-top: 6px; }
  .cacti-theme .categoryLink { min-height: 17.04px; padding: 5.5px 2px; font-size: 5.94px; }
  .cacti-theme .categoryCount { display: none; }
  .cacti-fresh-front .categoriesSection {
    position: relative;
    z-index: 1;
    background: var(--color-cream);
    margin-top: 6.9px;
  }
}
/* On tablets, the entire index follows the existing shop shell edges. */
@media (min-width: 641px) and (max-width: 1024px) {
  .cacti-theme .categoriesSection { margin-inline: 20px; }
}
@media (min-width: 1025px) and (max-width: 1199px) {
  .cacti-theme .categoriesSection { margin-inline: 24px; }
}
