/* Lunar treatment is scoped to the cart catalogue and leaves client-area pages untouched. */
.content-wrapper {
  position: relative;
  isolation: isolate;
  background: #071016;
}

/* The QRuser client theme uses .main-content as its actual page canvas. */
.main-content {
  min-height: 100vh;
  background: #071016 url('/themes/cart/SurperHuiThree/assets/img/lunar-surface.jpg') center 42% / cover fixed no-repeat !important;
}

.main-content > .page-content {
  min-height: calc(100vh - 70px);
  background: rgba(3, 10, 15, .54) !important;
}

.content-wrapper::before {
  position: fixed;
  z-index: -2;
  inset: 70px 0 0;
  content: "";
  background: #071016 url('/themes/cart/SurperHuiThree/assets/img/lunar-surface.jpg') center 35% / cover no-repeat;
}

.content-wrapper::after {
  position: fixed;
  z-index: -1;
  inset: 70px 0 0;
  content: "";
  background: rgba(3, 10, 15, .58);
}

.content-wrapper > .container-fluid { max-width: 1480px; }
.page-title-box h4, .breadcrumb-item, .breadcrumb-item.active { color: #d7e4e8 !important; }

.cart-catalogue-heading h1 { color: #f6fbfd; }
.cart-eyebrow { color: #82ead1; }
.cart-home-link {
  border-color: rgba(214, 246, 241, .3);
  background: rgba(12, 29, 36, .55);
  color: #e5f5f4;
  backdrop-filter: blur(10px);
}

.cart-filter-panel {
  border-color: rgba(211, 242, 238, .24);
  border-radius: 12px;
  background: rgba(12, 28, 35, .58);
  box-shadow: 0 18px 46px rgba(0, 0, 0, .25);
  backdrop-filter: blur(16px);
}

.cart-filter-panel .firstgroup_box:last-child { border-color: rgba(211, 242, 238, .17); }
.firstgroup_box .firstgroup_box_prov, .secondgroup_box .secondgroup_box_area { color: #d8f1ee; }
.firstgroup_box .card-text { color: #b9d1d4; }

.firstgroup_box .firstgroup_item,
.secondgroup_box .secondgroup_item,
.pro_box .pro_item {
  border-color: rgba(220, 246, 242, .26);
  border-radius: 7px;
  background: rgba(247, 255, 255, .09);
  color: #e7f7f5;
}

.firstgroup_box a, .secondgroup_box a, .pro_box a,
.firstgroup_box .firstgroup_item, .secondgroup_box .secondgroup_item, .pro_box .pro_item { color: #e7f7f5; }

.firstgroup_box .firstgroup_item.active, .firstgroup_box .firstgroup_item:hover,
.secondgroup_box .secondgroup_item.active, .secondgroup_box .secondgroup_item:hover,
.pro_box .pro_item.active, .pro_box .pro_item:hover {
  border-color: #80ead1;
  background: rgba(28, 154, 127, .9);
  box-shadow: 0 0 22px rgba(98, 229, 198, .2);
}

/* Standard responsive catalogue grid. */
.cart-catalogue + style + link + .card,
.cart-catalogue ~ .card { overflow: visible; }
.cart-catalogue ~ .card .row {
  display: flex;
  flex-wrap: wrap;
  width: auto;
  min-width: 0;
  margin-right: -8px;
  margin-left: -8px;
  padding: 0;
}

.cart-catalogue ~ .card .col-sm-3 {
  display: flex;
  flex: 0 0 25%;
  max-width: 25%;
  margin-bottom: 16px !important;
  padding: 0 8px;
  position: relative;
  transform: none;
}

.cartitem {
  overflow: hidden;
  border: 1px solid #d6e0e5;
  border-radius: 0 !important;
  background: #fff !important;
  box-shadow: 0 4px 12px rgba(12, 34, 45, .08);
}

.cartitem:hover, .cartitem.active {
  border-color: #8cbeb2;
  box-shadow: 0 8px 18px rgba(12, 34, 45, .12);
  transform: none;
}

.cartitem h5,
.cartitem h5 *,
.cartitem .card-body,
.cartitem .card-body p,
.cartitem .card-body div,
.cartitem .card-body span,
.cartitem .card-body b,
.cartitem .card-body strong,
.cartitem .card-body td,
.cartitem .card-text,
.cartitem .card-text *,
.cartitem .tftable,
.cartitem .tftable td {
  color: #111 !important;
  text-shadow: none;
}

.cartitem .card-body { padding: 25px 21px 20px; }
.cartitem h5, .cartitem h5 * { color: #0c2235 !important; }
.cartitem .tftable td:first-child { color: #111 !important; }
.cartitem .msy_adv,
.cartitem .card-body span { color: #111 !important; }
.cartitem .card-body a { color: #0060ff !important; }
.cartitem .card-body .large-text,
.cartitem .card-body .large-text *,
.cartitem .card-body [style*="color:red"],
.cartitem .card-body [style*="color: red"] { color: #f1672a !important; }
.cartitem .card-body .huihui-text { color: #8a969c !important; }
.stock-box { background: #e9f7f2; color: #13725f; }

.cartitem .card-footer { border: 0; }
.cartitem .card-footer a {
  padding: 13px 14px;
  background: #168c77 !important;
  color: #fff !important;
}
.cartitem .card-footer a:hover { background: #10735f !important; }

@media (max-width: 991px) {
  .cart-catalogue ~ .card .row {
    margin-right: -8px;
    margin-left: -8px;
  }
  .cart-catalogue ~ .card .col-sm-3:nth-child(n) {
    z-index: auto;
    margin-left: 0 !important;
    transform: none;
  }
  .cart-catalogue ~ .card .col-sm-3 { flex-basis: 50%; max-width: 50%; }
}

@media (max-width: 576px) {
  .content-wrapper::before, .content-wrapper::after { inset-top: 70px; }
  .cart-filter-panel { border-radius: 9px; }
  .cartitem { border-radius: 9px !important; }
}

/* Product catalogue refinements: preserve the template markup while making the
   filters and product comparison easier to scan. */
.cart-catalogue {
  margin-bottom: 24px;
}

.cart-catalogue-heading {
  align-items: center;
  margin: 8px 0 16px;
}

.cart-catalogue-heading h1 {
  font-size: 26px;
}

.cart-filter-panel {
  display: block;
  padding: 14px 16px;
}

.cart-filter-panel .firstgroup_box,
.cart-filter-panel .secondgroup_box {
  display: grid;
  grid-template-columns: 82px minmax(0, 1fr);
  align-items: center;
  min-height: 48px;
  padding: 5px 0;
}

.cart-filter-panel .firstgroup_box:last-child {
  display: grid;
  grid-column: auto;
  padding: 12px 0 2px;
}

.firstgroup_box .firstgroup_box_prov,
.secondgroup_box .secondgroup_box_area {
  margin: 0 !important;
  color: #9db9bd;
  font-size: 12px;
  letter-spacing: 0;
}

.firstgroup_box .firstgroup_box_group,
.secondgroup_box .secondgroup_box_group {
  justify-content: flex-start;
  gap: 8px;
  width: 100%;
}

.firstgroup_box .firstgroup_item,
.secondgroup_box .secondgroup_item {
  min-width: 104px;
  height: 36px;
  padding: 0 14px;
}

.firstgroup_box .card-text {
  margin: 0;
  color: #c0d5d6;
}

.cart-catalogue ~ .card .row {
  align-items: stretch;
}

.cart-catalogue ~ .card .col-sm-3 {
  margin-bottom: 18px !important;
}

.cartitem {
  min-height: 346px;
  border-color: rgba(207, 241, 238, .28);
  border-radius: 12px !important;
  background: rgba(12, 27, 34, .52) !important;
  box-shadow: 0 14px 34px rgba(0, 0, 0, .3);
  -webkit-backdrop-filter: blur(18px) saturate(125%);
  backdrop-filter: blur(18px) saturate(125%);
}

.cartitem:hover,
.cartitem.active {
  border-color: rgba(121, 234, 209, .62);
  background: rgba(15, 36, 43, .64) !important;
  box-shadow: 0 18px 42px rgba(0, 0, 0, .38), 0 0 0 1px rgba(121, 234, 209, .08);
}

.cartitem .card-body {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  width: min(100%, 330px);
  margin: 0 auto;
  padding: 21px 20px 16px;
}

/* Bootstrap's .row has negative horizontal margins; this card uses it as a
   container rather than a grid, so neutralise those margins. */
.cartitem > .card-body.row {
  margin-right: 0;
  margin-left: 0;
}

.cartitem .card-body > .col-sm-12 {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  padding: 0;
}

.cartitem .card-body > .d-flex {
  justify-content: center !important;
  margin-top: 8px;
  text-align: center;
}

.cartitem h5,
.cartitem h5 * {
  color: #f4fbfb !important;
  font-size: 16px;
  font-weight: 700;
}

.cartitem .card-body,
.cartitem .card-body p,
.cartitem .card-body div,
.cartitem .card-body b,
.cartitem .card-body strong,
.cartitem .card-body td,
.cartitem .card-text,
.cartitem .card-text * {
  color: #d9e8e9 !important;
}

.cartitem .card-text {
  margin: 12px 0 14px;
  min-height: 0;
}

.cartitem .tftable {
  border-collapse: collapse;
  width: calc(100% - 24px);
  margin-left: 24px;
}

.cartitem .tftable td {
  padding: 5px 0;
  font-size: 13px;
  line-height: 1.35;
}

.cartitem .tftable tr + tr td {
  border-top: 1px solid rgba(220, 242, 241, .13);
}

.cartitem .tftable td:first-child {
  width: 32%;
  color: #91aaae !important;
}

.cartitem .tftable td:first-child b,
.cartitem .tftable td:last-child,
.cartitem .tftable td:last-child * {
  color: inherit !important;
}

.cartitem .tftable td:first-child,
.cartitem .tftable td:first-child * {
  color: #91aaae !important;
}

.cartitem .tftable td:last-child,
.cartitem .tftable td:last-child * {
  color: #eef8f8 !important;
}

.cartitem .product-description-table {
  overflow: hidden;
  border: 1px solid rgba(211, 240, 237, .13);
  border-radius: 7px;
  background: rgba(4, 15, 20, .2);
}

.cartitem .product-description-table td {
  padding: 7px 10px;
}

.cartitem .msy_adv {
  display: inline-block;
  margin-left: 6px;
  padding: 2px 6px;
  border: 1px solid rgba(144, 238, 218, .55);
  border-radius: 3px;
  background: rgba(84, 190, 166, .32);
  color: #e6fffa !important;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.25;
  vertical-align: 1px;
}

/* Override the legacy broad span rule used earlier in this theme. */
.cartitem .card-body span.msy_adv,
.cartitem .card-text span.msy_adv,
.cartitem .tftable td span.msy_adv {
  color: #e6fffa !important;
  text-shadow: 0 1px 1px rgba(0, 0, 0, .28);
}

.cartitem .tftable td:not(:first-child) {
  color: #eef8f8 !important;
  font-weight: 500;
}

.cartitem .product-price {
  margin-top: 4px;
  padding: 10px 2px 0;
  float: none !important;
}

.cartitem .product-sale-price {
  color: #7ce6cd !important;
  font-size: 22px;
  font-weight: 700;
}

.cartitem .product-original-price {
  margin-top: 3px;
  color: #8fa6aa !important;
}

.cartitem .large-text,
.cartitem .large-text * {
  color: #7ce6cd !important;
  font-size: 23px;
}

.cartitem .huihui-text {
  color: #9fb5b8 !important;
}

.cartitem .card-footer {
  border-top: 1px solid rgba(220, 242, 241, .14);
  border-radius: 0 0 12px 12px;
  background: rgba(7, 20, 25, .3) !important;
}

.cartitem .card-footer a {
  padding: 14px;
  border-radius: 0 0 12px 12px;
  background: rgba(23, 151, 126, .82) !important;
  letter-spacing: 0;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
}

.cartitem .card-footer a:hover { background: rgba(28, 177, 147, .94) !important; }

@media (max-width: 576px) {
  .cart-catalogue-heading h1 { font-size: 23px; }
  .cart-filter-panel { padding: 10px 12px; }
  .cart-filter-panel .firstgroup_box,
  .cart-filter-panel .secondgroup_box,
  .cart-filter-panel .firstgroup_box:last-child {
    display: block;
    padding: 9px 0;
  }
  .firstgroup_box .firstgroup_box_prov,
  .secondgroup_box .secondgroup_box_area { display: block; margin-bottom: 8px !important; }
  .firstgroup_box .firstgroup_item,
  .secondgroup_box .secondgroup_item { min-width: calc(50% - 4px); }
  .cartitem { min-height: 0; }
  .cartitem .tftable {
    width: calc(100% - 14px);
    margin-left: 14px;
  }
  .cartitem .card-body > .col-sm-12 > div:last-child {
    padding-left: 0;
  }
}
