@charset "UTF-8";
/**
 * Canonical Engine-owned Header Cart dropdown.
 * Account-style shared header primitives provide placement/open state.
 * Cart-specific DNA owns content, item cards and commerce actions.
 */
body.stm-engine-storefront .stm-engine-header-action__icon--cart{
  -webkit-mask-image:url("../icons/cart.svg");
  mask-image:url("../icons/cart.svg");
}
body.stm-engine-storefront .stm-cart__toggle{min-width:auto;padding-inline:var(--stm-space-3)}
body.stm-engine-storefront .stm-cart__icon svg{display:none}
body.stm-engine-storefront .stm-cart__total{
  max-width:110px;
  overflow:hidden;
  color:inherit;
  font-size:var(--stm-header-panel-meta-font-size);
  font-weight:var(--stm-weight-bold);
  text-overflow:ellipsis;
  white-space:nowrap;
}

body.stm-engine-storefront .stm-cart.is-open::after{
  content:"";
  position:absolute;
  z-index:calc(var(--stm-header-panel-z) - 1);
  top:100%;
  right:0;
  width:var(--stm-header-cart-panel-width,320px);
  height:var(--stm-header-panel-offset);
  background:transparent;
  pointer-events:auto;
}
body.stm-engine-storefront .stm-cart__panel{
  width:var(--stm-header-cart-panel-width,320px);
  max-height:none;
  overflow:visible;
  border-color:var(--stm-header-cart-panel-border,var(--stm-commerce-border));
  border-radius:var(--stm-header-cart-panel-radius,14px);
  background:var(--stm-header-cart-panel-bg,var(--stm-commerce-surface));
  box-shadow:var(--stm-commerce-widget-shadow,none);
  filter:var(--stm-commerce-widget-filter,none);
}
body.stm-engine-storefront .stm-cart__panel::after{
  right:22px;
  border-color:var(--stm-header-cart-panel-border,var(--stm-commerce-border));
  background:var(--stm-header-cart-header-bg,var(--stm-commerce-primary-soft));
}
body.stm-engine-storefront .stm-cart__head{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:var(--stm-space-2);
  padding:var(--stm-header-cart-header-padding,14px);
  border-top:1px solid var(--stm-commerce-raised-edge-highlight);
  border-bottom:1px solid var(--stm-commerce-raised-edge-line);
  border-radius:calc(var(--stm-header-cart-panel-radius,14px) - 1px) calc(var(--stm-header-cart-panel-radius,14px) - 1px) 0 0;
  background:var(--stm-commerce-raised-heading-bg);
  color:var(--stm-commerce-raised-heading-text);
  box-shadow:none;
}
body.stm-engine-storefront .stm-cart__head-icon{
  display:grid;
  width:36px;
  height:36px;
  place-items:center;
  border:var(--stm-border-default);
  border-radius:var(--stm-radius-pill);
  background:var(--stm-commerce-surface);
  color:var(--stm-commerce-primary);
}
body.stm-engine-storefront .stm-cart__head-icon .stm-engine-header-action__icon{width:18px;height:18px}
body.stm-engine-storefront .stm-cart__head-main{display:grid;min-width:0;gap:var(--stm-header-panel-compact-gap)}
body.stm-engine-storefront .stm-cart__title{
  overflow:hidden;
  color:var(--stm-header-cart-title-color,var(--stm-commerce-heading));
  font-size:var(--stm-font-size-ui);
  font-weight:var(--stm-weight-bold);
  text-overflow:ellipsis;
  white-space:nowrap;
}
body.stm-engine-storefront .stm-cart__count{
  color:var(--stm-header-cart-meta-color,var(--stm-commerce-muted));
  font-size:var(--stm-header-panel-meta-font-size);
}
body.stm-engine-storefront .stm-cart__clear-link{
  align-self:center;
  min-height:30px;
  padding:0 9px;
  border:1px solid transparent;
  border-radius:var(--stm-radius-pill);
  background:transparent;
  color:var(--stm-header-cart-remove-color,var(--stm-commerce-danger));
  font-size:11px;
  font-weight:var(--stm-weight-semibold);
  cursor:pointer;
  transition:border-color var(--stm-transition-fast),background-color var(--stm-transition-fast),color var(--stm-transition-fast);
}
body.stm-engine-storefront .stm-cart__clear-link:hover{
  border-color:var(--stm-commerce-danger);
  background:var(--stm-commerce-danger-soft);
}
body.stm-engine-storefront .stm-cart__clear-link:disabled{cursor:default;opacity:var(--stm-disabled-opacity)}
body.stm-engine-storefront .stm-cart__body{
  padding:var(--stm-header-cart-body-padding,12px);
  background:var(--stm-header-cart-panel-bg,var(--stm-commerce-surface));
}
body.stm-engine-storefront .stm-cart__list{
  display:grid;
  max-height:var(--stm-header-cart-list-height,264px);
  gap:var(--stm-header-cart-item-gap,8px);
  margin:0;
  padding:0 3px 0 0;
  overflow-x:hidden;
  overflow-y:hidden;
  overscroll-behavior:contain;
  scrollbar-width:thin;
  list-style:none;
}
body.stm-engine-storefront .stm-cart__list.is-scrollable{
  overflow-y:auto;
  scrollbar-gutter:stable;
}
body.stm-engine-storefront .stm-cart__empty{
  display:grid;
  min-height:150px;
  place-items:center;
  align-content:center;
  gap:7px;
  color:var(--stm-header-cart-meta-color,var(--stm-commerce-muted));
  font-size:var(--stm-header-panel-body-font-size);
  text-align:center;
}
body.stm-engine-storefront .stm-cart__empty-icon{
  display:grid;
  width:42px;
  height:42px;
  place-items:center;
  border:var(--stm-border-default);
  border-radius:var(--stm-radius-pill);
  background:var(--stm-commerce-surface-soft);
  color:var(--stm-commerce-muted);
}
body.stm-engine-storefront .stm-cart__empty-icon .stm-engine-header-action__icon{width:22px;height:22px}
body.stm-engine-storefront .stm-cart__empty strong{color:var(--stm-header-cart-title-color,var(--stm-commerce-heading));font-size:var(--stm-font-size-ui)}
body.stm-engine-storefront .stm-cart__empty a{color:var(--stm-commerce-primary);font-size:var(--stm-header-panel-title-font-size);font-weight:var(--stm-weight-semibold);text-decoration:none}
body.stm-engine-storefront .stm-cart__empty a:hover{text-decoration:underline}
body.stm-engine-storefront .stm-cart__item{
  display:grid;
  grid-template-columns:var(--stm-header-cart-item-media,54px) minmax(0,1fr) var(--stm-header-panel-control-size);
  align-items:center;
  gap:var(--stm-header-cart-item-gap,8px);
  padding:var(--stm-header-cart-item-padding,7px);
  border:1px solid var(--stm-header-cart-item-border,var(--stm-commerce-border));
  border-radius:var(--stm-header-cart-item-radius,10px);
  background:var(--stm-header-cart-item-bg,var(--stm-commerce-raised-control-bg));
  transition:border-color var(--stm-transition-fast),background-color var(--stm-transition-fast);
}
body.stm-engine-storefront .stm-cart__item:hover,
body.stm-engine-storefront .stm-cart__item:focus-within{
  border-color:var(--stm-commerce-raised-edge-line);
  background:var(--stm-header-cart-item-hover-bg,var(--stm-commerce-raised-hover-bg));
}
body.stm-engine-storefront .stm-cart__thumb{
  display:block;
  width:var(--stm-header-cart-item-media,54px);
  height:var(--stm-header-cart-item-media,54px);
  overflow:hidden;
  border:var(--stm-border-default);
  border-radius:var(--stm-radius-md);
  background:var(--stm-commerce-surface-soft);
}
body.stm-engine-storefront .stm-cart__thumb img{display:block;width:100%;height:100%;object-fit:contain}
body.stm-engine-storefront .stm-cart__meta{display:grid;min-width:0;gap:5px}
body.stm-engine-storefront .stm-cart__name{
  display:-webkit-box;
  overflow:hidden;
  color:var(--stm-header-cart-title-color,var(--stm-color-product-link));
  font-size:var(--stm-header-panel-title-font-size);
  font-weight:var(--stm-weight-semibold);
  line-height:var(--stm-line-ui);
  text-decoration:none;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:var(--stm-header-cart-title-lines,2);
}
body.stm-engine-storefront .stm-cart__name:hover{color:var(--stm-color-product-link-hover);text-decoration:underline}
body.stm-engine-storefront .stm-cart__line{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:6px;
  color:var(--stm-header-cart-meta-color,var(--stm-commerce-muted));
  font-size:var(--stm-header-panel-meta-font-size);
}
body.stm-engine-storefront .stm-cart__qty{white-space:nowrap}
body.stm-engine-storefront .stm-cart__lineTotal{color:var(--stm-header-cart-price-color,var(--stm-commerce-heading));font-weight:var(--stm-weight-bold);white-space:nowrap}
body.stm-engine-storefront .stm-cart__remove{
  display:grid;
  width:var(--stm-header-panel-control-size);
  height:var(--stm-header-panel-control-size);
  place-items:center;
  padding:0;
  border:1px solid transparent;
  border-radius:var(--stm-radius-pill);
  background:transparent;
  color:var(--stm-header-cart-remove-color,var(--stm-commerce-danger));
  font-size:18px;
  line-height:1;
  cursor:pointer;
  transition:border-color var(--stm-transition-fast),background-color var(--stm-transition-fast),transform var(--stm-transition-fast);
}
body.stm-engine-storefront .stm-cart__remove:hover{border-color:var(--stm-commerce-danger);background:var(--stm-commerce-danger-soft)}
body.stm-engine-storefront .stm-cart__remove:active{transform:scale(.94)}
body.stm-engine-storefront .stm-cart__foot{
  padding:var(--stm-header-cart-footer-padding,14px);
  border-top:var(--stm-divider-default);
  border-radius:0 0 calc(var(--stm-header-cart-panel-radius,14px) - 1px) calc(var(--stm-header-cart-panel-radius,14px) - 1px);
  background:var(--stm-header-cart-footer-bg,var(--stm-commerce-surface));
}
body.stm-engine-storefront .stm-cart__subtotal{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--stm-space-3);
  margin-bottom:var(--stm-space-2);
  color:var(--stm-header-cart-meta-color,var(--stm-commerce-muted));
  font-size:var(--stm-header-panel-body-font-size);
}
body.stm-engine-storefront .stm-cart__subtotal strong{color:var(--stm-header-cart-price-color,var(--stm-commerce-heading));font-size:var(--stm-font-size-ui)}
body.stm-engine-storefront .stm-cart.is-empty .stm-cart__subtotal,
body.stm-engine-storefront .stm-cart.is-empty .stm-cart__trust{display:none}
body.stm-engine-storefront .stm-cart__trust{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-height:30px;
  margin-bottom:var(--stm-space-2);
  padding:5px 9px;
  border-radius:var(--stm-radius-md);
  background:var(--stm-header-cart-trust-bg,var(--stm-commerce-primary-soft));
  color:var(--stm-header-cart-trust-text,var(--stm-commerce-heading));
  font-size:var(--stm-header-panel-meta-font-size);
  font-weight:var(--stm-weight-semibold);
}
body.stm-engine-storefront .stm-cart__trust-icon{
  display:block;
  width:16px;
  height:16px;
  background:currentColor;
  -webkit-mask:url("../icons/payment-1.svg") center/contain no-repeat;
  mask:url("../icons/payment-1.svg") center/contain no-repeat;
}
body.stm-engine-storefront .stm-cart__actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--stm-space-2)}
body.stm-engine-storefront .stm-cart__btn{
  min-height:var(--stm-header-cart-button-height,38px);
  border-radius:var(--stm-header-cart-button-radius,999px);
  font-weight:var(--stm-weight-bold);
}
body.stm-engine-storefront .stm-cart__btn--secondary{
  border-color:var(--stm-header-cart-panel-border,var(--stm-commerce-border));
  background:var(--stm-header-cart-secondary-bg,var(--stm-commerce-surface));
  color:var(--stm-header-cart-secondary-text,var(--stm-commerce-heading));
}
body.stm-engine-storefront .stm-cart__btn--secondary:hover{
  border-color:var(--stm-header-cart-secondary-hover-bg,var(--stm-commerce-primary));
  background:var(--stm-header-cart-secondary-hover-bg,var(--stm-commerce-primary-soft));
  color:var(--stm-header-cart-secondary-text,var(--stm-commerce-heading));
}
body.stm-engine-storefront .stm-cart__btn--primary{
  border-color:var(--stm-header-cart-primary-bg,var(--stm-commerce-primary));
  background:var(--stm-header-cart-primary-bg,var(--stm-commerce-primary));
  color:var(--stm-header-cart-primary-text,var(--stm-color-on-primary));
}
body.stm-engine-storefront .stm-cart__btn--primary:hover{
  border-color:var(--stm-header-cart-primary-hover-bg,var(--stm-commerce-primary-deep));
  background:var(--stm-header-cart-primary-hover-bg,var(--stm-commerce-primary-deep));
  color:var(--stm-header-cart-primary-text,var(--stm-color-on-primary));
}
html[data-stm-layout="tablet"] body.stm-engine-storefront .stm-cart.is-open::after,
html[data-stm-layout="mobile"] body.stm-engine-storefront .stm-cart.is-open::after{
  width:min(var(--stm-header-cart-panel-width,320px),calc(100vw - (2 * var(--stm-content-gutter-mobile))));
}
html[data-stm-layout="tablet"] body.stm-engine-storefront .stm-cart__panel,
html[data-stm-layout="mobile"] body.stm-engine-storefront .stm-cart__panel{
  width:min(var(--stm-header-cart-panel-width,320px),calc(100vw - (2 * var(--stm-content-gutter-mobile))));
  max-width:calc(100vw - (2 * var(--stm-content-gutter-mobile)));
  border-radius:var(--stm-header-cart-panel-radius,14px);
}
html[data-stm-layout="mobile"] body.stm-engine-storefront .stm-cart__toggle{min-width:var(--stm-header-action-size-mobile);padding:0}
html[data-stm-layout="mobile"] body.stm-engine-storefront .stm-cart__total{display:none}
html[data-stm-layout="mobile"] body.stm-engine-storefront .stm-cart__head,
html[data-stm-layout="mobile"] body.stm-engine-storefront .stm-cart__body,
html[data-stm-layout="mobile"] body.stm-engine-storefront .stm-cart__foot{padding:10px}
html[data-stm-layout="mobile"] body.stm-engine-storefront .stm-cart__list{max-height:min(var(--stm-header-cart-list-height,264px),42vh)}
