.wps-wrap{ margin: 10px 0 12px; max-width: var(--wps-max-width); width:100%; }
.wps-subtitle{
  font-size: 12px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--wps-muted);
  margin-bottom: 10px;
}
.wps-cards{ display:flex; flex-direction:column; gap: var(--wps-gap); }

.wps-card{
  position: relative;
  border: var(--wps-card-border-w) solid var(--wps-card-border);
  border-radius: var(--wps-card-radius);
  background: var(--wps-card-bg);
  padding: var(--wps-card-pad);
  box-shadow: var(--wps-card-shadow);
  cursor: pointer;
  transition: border-color .08s ease, box-shadow .08s ease;
  overflow: visible;
}
.wps-card input{ display:none; }
.wps-card.is-selected{ border-color: var(--wps-accent); box-shadow: 0 12px 26px rgba(0,0,0,.06); }

.wps-card-inner{ display:flex; justify-content:space-between; gap:12px; align-items:stretch; }
.wps-label{ font-weight:900; color: var(--wps-text); font-size: var(--wps-label-size); line-height:1.1; }
.wps-mini{ color: var(--wps-muted); font-size:14px; margin-top:6px; }
.wps-right{ text-align:right; margin-left:12px; display:flex; flex-direction:column; align-items:flex-end; justify-content:flex-end; }
.wps-price{ font-weight:900; color: var(--wps-text); font-size: var(--wps-price-size); line-height:1.1; }
.wps-regular{ color: var(--wps-muted); font-size:14px; text-decoration: line-through; margin-top:6px; }
.wps-save{ margin-top:10px; font-size:14px; color: var(--wps-accent); font-weight:900; }

/* Flying badge: no reserved space */
.wps-badge{
  position: absolute;
  top: calc(10px + var(--wps-badge-offset-y));
  /* Default position (top-right) if position class is missing */
  right: calc(10px + var(--wps-badge-offset-x));
  left: auto;
  font-size: var(--wps-badge-font);
  font-weight:900;
  padding: var(--wps-badge-pad-y) var(--wps-badge-pad-x);
  border-radius: var(--wps-badge-radius);
  white-space:nowrap;
  z-index: 3;
}
.wps-wrap.wps-badge-right .wps-badge{ right: calc(10px + var(--wps-badge-offset-x)); left: auto; }
.wps-wrap.wps-badge-left .wps-badge{ left: calc(10px + var(--wps-badge-offset-x)); right: auto; }

.wps-badge--1{ background: var(--wps-accent); color:#fff; box-shadow: 0 10px 18px rgba(0,0,0,.10); }
.wps-badge--2{ background: #fff; color: var(--wps-accent); border: 2px solid var(--wps-accent); }
.wps-badge--3{ background: var(--wps-accent); color:#fff; border-radius:10px; padding-right: calc(var(--wps-badge-pad-x) + 4px); }
.wps-badge--3:after{
  content:"";
  position:absolute;
  right:-10px; top:50%;
  transform: translateY(-50%);
  width:0; height:0;
  border-left: 10px solid var(--wps-accent);
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
}
.wps-badge--4{ background: color-mix(in srgb, var(--wps-accent) 15%, #fff); color: var(--wps-accent); border: 1px solid color-mix(in srgb, var(--wps-accent) 35%, #fff); }
.wps-badge--5{ background: var(--wps-accent); color:#fff; border-radius: 10px 10px 10px 0; }

/* Empty cart button under totals */
.wps-empty-cart-wrap{ margin-top: 10px; }
.wps-empty-cart-button{
  width: 100%;
  text-align: center;
  display: inline-block;
  background: var(--wps-empty-bg);
  color: var(--wps-empty-color);
  border: var(--wps-empty-border-w) solid var(--wps-empty-border-color);
  border-radius: var(--wps-empty-radius);
  padding: var(--wps-empty-pad-y) var(--wps-empty-pad-x);
  font-size: var(--wps-empty-font-size);
  line-height: 1.2;
  cursor: pointer;
}
.wps-empty-cart-button:hover{ opacity: .95; }
