:root {
  --market-radius: 1rem;
  --market-shadow: 0 1rem 3rem rgba(15, 23, 42, .08);
}

html.is-market-loading { cursor: progress; }

body.market-theme {
  min-height: 100vh;
  background: #f8f9fa;
}

.market-progress {
  position: fixed;
  top: 0;
  left: 0;
  width: 0;
  height: 3px;
  background: #111827;
  z-index: 1080;
  opacity: 0;
  transition: width .25s ease, opacity .2s ease;
}

html.is-market-loading .market-progress { width: 72%; opacity: 1; }
html.is-market-loading.is-market-loaded .market-progress { width: 100%; }

.market-header .nav-link.is-active,
.market-category-nav .nav-link.is-active {
  color: #fff;
  background: #111827;
  border-radius: 999px;
}

.market-shell { min-height: calc(100vh - 150px); }

.market-category__description {
  position: relative;
  overflow: hidden;
}

.market-category__description.is-collapsed {
  max-height: 9rem;
}

.market-category__description.is-expanded {
  max-height: none;
}

.market-category__description.is-collapsed::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 2.5rem;
  background: linear-gradient(to bottom, rgba(248, 249, 250, 0), #f8f9fa);
  pointer-events: none;
}

.market-sidebar {
  position: sticky;
  top: 88px;
  border-radius: var(--market-radius);
}

.market-hero,
.market-product-card,
.market-product-gallery,
.market-filter-card,
.market-card-link,
.market-sidebar,
.market-hero-card,
.market-static-page .card,
.market-compare .card { border-radius: var(--market-radius); }

.market-card-link,
.market-product-card { transition: transform .18s ease, box-shadow .18s ease; }
.market-card-link:hover,
.market-product-card:hover { transform: translateY(-2px); box-shadow: var(--market-shadow) !important; }

.market-product-image {
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  text-decoration: none;
  border-radius: var(--market-radius) var(--market-radius) 0 0;
}

.market-product-image img { width: 100%; height: 100%; object-fit: cover; }
.market-product-placeholder { min-height: 360px; }
.market-dot { width: 16px; height: 16px; background: #111827; border-radius: 999px; box-shadow: 0 0 0 .5rem rgba(17, 24, 39, .08); }
.market-toolbar { min-width: min(100%, 360px); }
.market-compare-table th:first-child { min-width: 220px; }

.market-plugin-area:not(:empty),
.market-product-menu:not(:empty) {
  padding: 1rem;
  border-radius: var(--market-radius);
  background: #fff;
  box-shadow: 0 .5rem 1.5rem rgba(15, 23, 42, .06);
}

.market-checkout-steps .badge { font-size: .9rem; padding: .65rem .85rem; }
.market-currency-form { min-width: 84px; }
.market-tag-dropdown,
.market-plugin-dropdown { min-width: min(80vw, 360px); }
.market-promo-image,
.market-promo-placeholder {
  aspect-ratio: 16 / 6;
  object-fit: cover;
  min-height: 220px;
}
.market-plugin-nav :is(ul, ol) {
  margin-bottom: 0;
  padding-left: 1rem;
}

@media (max-width: 991.98px) {
  .market-sidebar { position: static; }
  .market-toolbar { width: 100%; }
}

.market-cart-widget.is-pending {
  opacity: .72;
  pointer-events: none;
}

.market-cart-qty .form-control {
  min-width: 54px;
}

.market-product-card__cart {
  margin-top: .75rem;
}

.market-product-purchase__sku-options {
  max-width: 100%;
}

.market-product-purchase__sku-choice,
.market-product-sku-card,
.market-product-sku-radio__item {
  transition: border-color .15s ease, box-shadow .15s ease, opacity .15s ease;
}

.market-product-purchase__sku-choice[data-market-sku-unavailable="1"],
.market-product-sku-card[data-market-sku-unavailable="1"],
.market-product-sku-radio__input[data-market-sku-unavailable="1"] + .market-product-sku-radio__name {
  opacity: .55;
}

.market-product-sku-card {
  min-height: 100%;
}

.market-product-sku-card.is-active,
.market-product-sku-radio__item.is-active {
  border-color: var(--bs-dark) !important;
  box-shadow: 0 0 0 .16rem rgba(33, 37, 41, .12);
}

.market-product-sku-radio__item {
  cursor: pointer;
}

[data-market-cart-count] {
  min-width: 1.65em;
}

.market-review-star {
  font-size: 1.4rem;
  line-height: 1;
  text-decoration: none;
}

.market-review-item.is-new > .market-review {
  animation: market-review-flash 1.4s ease;
}

.market-review-images img {
  object-fit: cover;
}

.market-filter-form .icon16.color,
.market-product-features .icon16.color {
  display: inline-block;
  width: 1rem;
  height: 1rem;
  margin-right: .35rem;
  border: 1px solid rgba(17, 24, 39, .2);
  border-radius: 50%;
  vertical-align: -.15em;
}

[data-market-review-form-card] textarea {
  min-height: 9rem;
}

[data-market-review-form].is-pending {
  opacity: .72;
}

@keyframes market-review-flash {
  0% { background: rgba(255, 243, 205, .9); }
  100% { background: transparent; }
}
