/*
cart_popup-0b768be9ef.css
async load to improve html size and performance
*/
.overflow-hidden-popup {
  overflow: hidden !important;
}
.uppercase {
  text-transform: uppercase;
}

/* spz-lightbox：视口内上下左右居中；蒙层为组件注入的相邻 .i-spzhtml-lightbox-mask */
spz-lightbox#cart-popup-modal {
  inset: 0;
  align-items: center;
  justify-content: center;
  padding: max(12px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right))
    max(12px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));
  box-sizing: border-box;
}
#cart-popup-modal + .i-spzhtml-lightbox-mask {
  background-color: rgba(0, 0, 0, 0.45);
}

/* atlas_popup：内层 .popup 为实际面板，最高 78vh，超出高度由中间区滚动 */
#cart-popup-modal .popup {
  display: flex;
  width: 398px;
  max-width: min(398px, calc(100vw - 32px));
  max-height: 78vh;
  height: auto;
  min-height: 0;
  padding: 20px;
  box-sizing: border-box;
  flex-direction: column;
  align-items: stretch;
  border-radius: var(--popup-corner-radius);
}
#cart-popup-modal .popup__head {
  padding: 0 0 12px;
  border-bottom: 1px solid var(--color-border);
  box-sizing: border-box;
}
/* 让 atlas_popup 内 .popup__content 在 max-height 下可收缩，内部才能出现滚动；隐藏滚动条保留触控/滚轮滚动 */
#cart-popup-modal .popup__content {
  min-height: 0;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
#cart-popup-modal .popup__content::-webkit-scrollbar {
  display: none;
  width: 0;
  height: 0;
}
/* atlas_popup 的 .popup__content 负责纵向滚动；摘要条 position:sticky 相对该滚动容器（内容少时随流，多时吸底） */
#cart-popup-modal .cart-popup-main {
  position: relative;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}
#cart-popup-modal .cart-popup-main > div:empty {
  display: none;
}
/* 免邮未配置时 block 仍曾输出空 section（含换行不算 :empty），会占 flex 行并叠 gap */
#cart-popup-modal .cart-popup-main > section:not(:has(> *)) {
  display: none;
}
/* layout=logic 的 spz-event 无占位需求，保留在 DOM 供脚本绑定，移出 flex 流避免相邻 gap */
#cart-popup-modal .cart-popup-main > spz-event[layout='logic'] {
  position: absolute;
  width: 0;
  height: 0;
  margin: 0;
  padding: 0;
  overflow: hidden;
  -webkit-clip-path: inset(50%);
          clip-path: inset(50%);
  border: 0;
}
#cart-popup-modal .cart-popup-main > *:not(.cart-loading) {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}
#cart-popup-modal .cart-popup-main > spz-cart,
#cart-popup-modal .cart-popup-main > spz-event,
#cart-popup-modal .cart-popup-main > .cart-loading,
#cart-popup-modal .cart-popup-main > .cart-empty {
  flex-shrink: 0;
}
/* loading 时 #cart-popup[loading] ~ * 会隐藏后续兄弟，.cart-loading 为 absolute 不占高，spz-cart 几乎无高，主区会塌成一条；预留高度让 loading 居中可见 */
#cart-popup-modal .cart-popup-main:has(#cart-popup[loading]) {
  min-height: min(280px, 42vh);
}
#cart-popup-modal .cart-popup-summary-sticky-region {
  position: sticky;
  bottom: 0;
  z-index: 101;
  width: 100%;
  box-sizing: border-box;
  background-color: var(--color-background);
  margin-top: 8px;
}
#cart-popup[loading] ~ *,
#cart-popup[data-empty][finish] ~ *,
#cart-popup:not([data-empty])[finish] ~ .cart-empty {
  display: none;
}
#cart-popup[data-empty][finish] ~ .cart-empty {
  display: flex;
}
#cart-popup[loading] ~ .cart-loading {
  display: var(--loading-show);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
#cart-popup:not([loading]) ~ .cart-loading {
  display: none !important;
}
.plugin__bundle__cart__total-price {
  color: var(--color-highlight);
}
@media (min-width: 960px) {
  spz-lightbox#cart-popup-modal {
    left: unset;
    right: var(--page-spacing);
  }
}

/* ---start--- cart_popup_product_list css --- */
#cart-items-render-cart_popup .cart-items {
  gap: 0;
  margin-top: 0;
}
#cart-items-render-cart_popup .cart-items li {
  padding: 0;
}
#cart-items-render-cart_popup .cart-items li:first-child {
  padding-top: 0;
}
#cart-items-render-cart_popup .cart_item_title {
  grid-area: title;
}
#cart-items-render-cart_popup .cart_item_price {
  grid-area: price;
  text-align: left;
}
#cart-items-render-cart_popup .cart_item_qty {
  grid-area: qty;
}
#cart-items-render-cart_popup .cart_item_discount {
  grid-area: discount;
  margin-top: -12px;
}
#cart-items-render-cart_popup .cart_item_info_up,
#cart-items-render-cart_popup .cart_item_info_left,
#cart-items-render-cart_popup .cart_item_info_popup {
  display: grid;
  grid-template-columns: 50% 1fr;
  grid-template-areas: 'title title';
  overflow: visible;
  height: auto;
  min-height: 0;
  max-height: none;
}
#cart-items-render-cart_popup .product-tmpl-label {
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1;
  border-radius: 0 0 6px 6px;
}

#cart-items-render-cart_popup .product-tmpl-label__sold {
  padding: 4px 10px;
  background-color: var(--color-primary-button-background);
  color: var(--color-primary-button-text);
  opacity: 0.6;
}
#cart-items-render-cart_popup .cart_item_info_up {
  width: 100%;
  grid-template-areas: 'title qty price';
  gap: 4.8387%;
}
#cart-items-render-cart_popup .cart_item_info_left {
  grid-template-columns: minmax(100px, 60%) 1fr;
  grid-template-areas: 'title price' 'title qty';
}
#cart-items-render-cart_popup .cart_item_info_popup {
  grid-template-columns: 50% 1fr;
  grid-template-areas: 'title title';
}
#cart-items-render-cart_popup .cart_item_discount {
  margin-top: -16px;
}
/* ---end--- cart_popup_product_list css --- */
