.manufacturer-icon-sm {
  width: 40px;
  height: 40px;
}

.shop-search-dropdown {
  position: absolute;
  left: 0;
  right: 0;
  z-index: 1050;
}

.search-result-img {
  width: 52px;
  height: 52px;
  -o-object-fit: cover;
     object-fit: cover;
}

.manufacturer-icon-md {
  width: 50px;
  height: 50px;
}

.search-results-scroll {
  max-height: 300px;
  overflow-y: auto;
}

.market-product-image {
  aspect-ratio: 4 / 3;
  -o-object-fit: cover;
     object-fit: cover;
  background: -webkit-gradient(linear, left top, left bottom, from(var(--bs-success-bg-subtle)), to(var(--bs-body-bg)));
  background: linear-gradient(180deg, var(--bs-success-bg-subtle), var(--bs-body-bg));
}

.market-sidebar .list-group-item.active {
  background-color: var(--bs-success-bg-subtle);
  color: var(--bs-success-text-emphasis);
  border-color: var(--bs-success-border-subtle);
}

.market-showcase .badge,
.market-hero .badge {
  letter-spacing: 0.02em;
}

.pagination-success .page-link {
  color: var(--bs-success);
}

.pagination-success .page-item.active .page-link {
  background-color: var(--bs-success);
  border-color: var(--bs-success);
}

.market-hero {
  background: linear-gradient(135deg, rgba(25, 135, 84, 0.12), rgba(32, 201, 151, 0.08));
  border: 1px solid rgba(25, 135, 84, 0.12);
}

.market-sidebar {
  position: sticky;
  top: 1rem;
}

.market-sidebar .list-group-item {
  border-color: rgba(25, 135, 84, 0.12);
}

.market-sidebar .list-group-item-action:hover,
.market-sidebar .list-group-item-action:focus {
  background-color: rgba(25, 135, 84, 0.08);
}

.market-showcase {
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.96)), to(rgba(248, 249, 250, 1)));
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(248, 249, 250, 1));
}

.market-image-frame {
  aspect-ratio: 1 / 1;
  background: radial-gradient(circle at top, rgba(25, 135, 84, 0.10), rgba(255, 255, 255, 1) 65%);
  border: 1px solid rgba(25, 135, 84, 0.12);
}

.category-grid {
  margin-left: auto;
  margin-right: auto;
  max-width: 1400px;
}

.category-card {
  -webkit-transition: border-color 0.2s ease, -webkit-transform 0.2s ease, -webkit-box-shadow 0.2s ease;
  transition: border-color 0.2s ease, -webkit-transform 0.2s ease, -webkit-box-shadow 0.2s ease;
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease, -webkit-transform 0.2s ease, -webkit-box-shadow 0.2s ease;
  background: var(--bs-body-bg);
  border-radius: 1rem;
  -webkit-box-shadow: 0 0.25rem 1rem rgba(0, 0, 0, 0.06);
          box-shadow: 0 0.25rem 1rem rgba(0, 0, 0, 0.06);
}

.category-card:hover,
.category-card:focus-visible {
  -webkit-transform: translateY(-3px);
          transform: translateY(-3px);
  border-color: var(--bs-primary-border-subtle);
  -webkit-box-shadow: 0 0.5rem 1.5rem rgba(0, 0, 0, 0.12);
          box-shadow: 0 0.5rem 1.5rem rgba(0, 0, 0, 0.12);
}

.category-image-wrapper {
  aspect-ratio: 1 / 1;
  background: -webkit-gradient(linear, left top, left bottom, from(var(--bs-body-bg)), to(var(--bs-tertiary-bg)));
  background: linear-gradient(180deg, var(--bs-body-bg), var(--bs-tertiary-bg));
}

.category-image {
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: -webkit-transform 0.25s ease;
  transition: -webkit-transform 0.25s ease;
  transition: transform 0.25s ease;
  transition: transform 0.25s ease, -webkit-transform 0.25s ease;
}

.category-card:hover .category-image,
.category-card:focus-visible .category-image {
  -webkit-transform: scale(1.04);
          transform: scale(1.04);
}

.market-image-frame img {
  -o-object-fit: contain;
     object-fit: contain;
}

.market-thumb {
  width: 72px;
  height: 72px;
  border: 1px solid rgba(25, 135, 84, 0.12);
  background: #fff;
  overflow: hidden;
  border-radius: 1rem;
  -webkit-transition: border-color 0.15s ease, -webkit-transform 0.15s ease, -webkit-box-shadow 0.15s ease;
  transition: border-color 0.15s ease, -webkit-transform 0.15s ease, -webkit-box-shadow 0.15s ease;
  transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
  transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease, -webkit-transform 0.15s ease, -webkit-box-shadow 0.15s ease;
}

.market-thumb:hover {
  -webkit-transform: translateY(-2px);
          transform: translateY(-2px);
  -webkit-box-shadow: 0 0.5rem 1.25rem rgba(25, 135, 84, 0.10);
          box-shadow: 0 0.5rem 1.25rem rgba(25, 135, 84, 0.10);
}

.market-thumb.active {
  border-color: var(--bs-success);
  -webkit-box-shadow: 0 0 0 0.2rem rgba(25, 135, 84, 0.12);
          box-shadow: 0 0 0 0.2rem rgba(25, 135, 84, 0.12);
}

.market-pill {
  border: 1px solid rgba(25, 135, 84, 0.18);
  background: #fff;
  color: var(--bs-body-color);
  -webkit-transition: all 0.15s ease;
  transition: all 0.15s ease;
}

.market-pill:hover,
.market-pill.active {
  background: var(--bs-success);
  color: #fff;
  border-color: var(--bs-success);
}

.market-qty {
  max-width: 11rem;
}

.market-qty .input-group-text,
.market-qty .form-control {
  border-color: rgba(25, 135, 84, 0.18);
}

.market-cta {
  min-height: 3.25rem;
}

.market-info-card {
  border: 1px solid rgba(25, 135, 84, 0.12);
  background: #fff;
}

.market-spec-table th,
.market-spec-table td {
  padding: 0.85rem 1rem;
}

.market-spec-table tbody tr:hover {
  background-color: rgba(25, 135, 84, 0.04);
}
