@keyframes collection-skeleton-shimmer {
  0% {
    background-position: 200% 0;
  }
  100% {
    background-position: -200% 0;
  }
}

.collection-skeleton-shimmer {
  background: linear-gradient(
    90deg,
    #e8e8e8 0%,
    #f4f4f4 45%,
    #e8e8e8 90%
  );
  background-size: 200% 100%;
  animation: collection-skeleton-shimmer 1.4s ease-in-out infinite;
}

.collection-scroll-skeleton {
  margin-top: 0;
  margin-bottom: 0;
}

.collection-scroll-skeleton > .row {
  --bs-gutter-x: 1.5rem;
  --bs-gutter-y: 0;
}

.collection-skeleton-card {
  margin-bottom: 24px;
}

.collection-skeleton-item {
  pointer-events: none;
  margin-bottom: 0;
}

.collection-skeleton-img {
  width: 100%;
  height: 480px;
  border-radius: 0;
}

.collection-skeleton-btn {
  width: 140px;
  height: 44px;
  margin-top: 20px;
  margin-left: auto;
  margin-right: auto;
  border-radius: 2px;
}

@media (max-width: 1399px) {
  .collection-skeleton-img {
    height: 412px;
  }
}

@media (max-width: 1199px) {
  .collection-skeleton-img {
    height: auto;
    aspect-ratio: 3 / 4;
  }
}

@media (max-width: 575px) {
  .collection-skeleton-img {
    height: 80vw;
    aspect-ratio: auto;
  }

  .collection-scroll-skeleton .collection-skeleton-card:nth-child(n + 3) {
    display: none;
  }

  .collection-skeleton-btn {
    width: 120px;
    height: 40px;
    margin-top: 16px;
  }
}

/* Mobile filter bar: keep Filter By yellow after h4→span a11y change */
.mob-filter-menu .mob-filter-label {
  color: #ffbe4a;
  margin-bottom: 0;
  font-size: 12px;
}

.filter-menu ul li label.cat-item {
  margin-bottom: 0;
  font-weight: inherit;
  cursor: pointer;
}

/* Duration chips sit under .fl-durations which styles form labels as block */
.filter-menu .fl-durations label.cat-item {
  display: inline-flex;
  margin-bottom: 0;
  font-weight: inherit;
}

/* Color swatch keeps accessible name via .visually-hidden (Bootstrap) */

/* Reset Filter: valid <li><a> nesting; keep chip look on phone/tablet/desktop */
.selected-filters .nav li.reset-filter a {
  margin-left: 0 !important;
  color: inherit;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.selected-filters .nav li.reset-filter a:hover,
.selected-filters .nav li.reset-filter a:focus {
  color: inherit;
  text-decoration: none;
}

.selected-filters .nav li button.filter-chip-remove {
  display: inline-flex;
  align-items: center;
  margin-left: 24px;
  border: none;
  background: transparent;
  padding: 0;
  cursor: pointer;
}

@media (max-width: 575px) {
  .selected-filters .nav li button.filter-chip-remove {
    margin-left: 14px;
  }
}

/* Datepicker month nav as <button> — match old <a> chrome */
.ui-datepicker .ui-datepicker-prev,
.ui-datepicker .ui-datepicker-next {
  border: none;
  background: transparent;
  cursor: pointer;
  padding: 0;
}

/* Wishlist control is a button (was <a> without href) */
.product-item .product-img .wish-cart li button {
  display: inline-flex;
  height: 32px;
  width: 32px;
  justify-content: center;
  align-items: center;
  background-color: #fff;
  margin-right: 16px;
  border: none;
  padding: 0;
  cursor: pointer;
}

.product-item .product-img .wish-cart li button:hover {
  background-color: #ffbe4a;
}

.product-item .product-img .wish-cart li:last-child button {
  margin-right: 0;
}

/* Heading hierarchy fix: product titles are h3 (was h4) — keep layout */
.product-item .product-title-price h3 {
  margin-bottom: 10px;
}

.product-item .product-title-price .product-inventory {
  font-size: inherit;
  font-weight: inherit;
}

@media (max-width: 575px) {
  .product-item .product-title-price h3 {
    width: 100%;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
  }
}
