/* Pure Prizes – Product Cards v1.0.2 (sold % on the bar badge, labels row removed; phone spacing from 1.0.1). Matches /workspace/product-cards/pp-cards-mock.css (desktop + phone). */
.pp-card{--pp-o:#F68E2F;--pp-plum:#262432;--pp-night:#121118;
  position:relative;display:flex;flex-direction:column;box-sizing:border-box;width:100%;
  margin:14px 0 0;padding:0 0 12px;background:#1b1a24;color:#fffffe;
  font-family:var(--pp-hfont,"Saira Semi Condensed","Arial Narrow",Arial,sans-serif);font-size:16px;line-height:1.2;text-align:left;
  border:1.5px solid var(--pp-o);border-radius:14px;
  box-shadow:0 0 0 1px rgba(246,142,47,.18),0 0 16px rgba(246,142,47,.45),inset 0 0 12px rgba(246,142,47,.12);
  container-type:inline-size;container-name:ppcard}
.pp-card *,.pp-card *:before,.pp-card *:after{box-sizing:border-box}
/* Impreza grid item: give the tab/glow room and drop the old builder card chrome when a pp-card is inside */
.w-grid-item-h:has(.pp-card){background:none!important;box-shadow:none!important;border:0!important;overflow:visible!important;padding:0 4px 10px!important}
.w-grid-item-h:has(.pp-card) > .w-html{height:100%;margin:0!important;padding:0!important}
.owl-carousel .owl-item .pp-card img{width:100%}
/* tab */
.pp-card .pp-tab{position:absolute;top:0;left:50%;transform:translate(-50%,-55%);z-index:3;display:flex;align-items:center;gap:4px;white-space:nowrap;
  background:var(--pp-night);border:2px solid var(--pp-o);border-radius:9px;padding:3px 12px 2px;margin:0;
  font-weight:600;font-size:13px;letter-spacing:.04em;line-height:1.3;color:#fffffe;text-transform:uppercase;box-shadow:0 2px 6px rgba(0,0,0,.5)}
.pp-card .pp-tab .pp-bolt{width:13px;height:13px}
/* image */
.pp-card .pp-img{display:block;aspect-ratio:1/1;overflow:hidden;border-radius:12px 12px 0 0;border-bottom:2px solid #e1b220;line-height:0;background:#121118}
.pp-card .pp-img img{width:100%!important;height:100%!important;object-fit:cover;display:block;max-width:none;border-radius:0}
.pp-card .pp-bolt{width:16px;height:16px;fill:var(--pp-o);flex:none}
/* pill: the slot always keeps its height so bars line up with or without a pill */
.pp-card .pp-pill-slot{display:flex;align-items:center;justify-content:center;height:28px;margin-top:-15px;position:relative;z-index:2;flex:none}
.pp-card .pp-pill{display:flex;align-items:center;gap:4px;background:var(--pp-night);border:1.5px solid var(--pp-o);border-radius:10px;padding:4px 12px 3px;
  font-family:system-ui,"Segoe UI",Arial,sans-serif;font-weight:600;font-size:13px;line-height:1.2;color:#fffffe;white-space:nowrap;box-shadow:0 2px 8px rgba(0,0,0,.6)}
.pp-card .pp-pill[hidden]{display:none!important}
.pp-card .pp-pill b{color:var(--pp-o);font-weight:700}
/* progress */
.pp-card .pp-prog{padding:19px 14px 20px}
.pp-card .pp-track{position:relative;height:10px;border-radius:99px;background:#34333f}
.pp-card .pp-fill{height:100%;max-width:100%;border-radius:99px;background:linear-gradient(90deg,#b85c10,var(--pp-o) 60%,#ffb35e);transition:width .6s ease}
/* sold % badge: sits at the fill %, clamped so it never pokes past either end of the track (--hw = half its width) */
.pp-card .pp-thumb{--hw:24px;position:absolute;top:50%;left:clamp(var(--hw),calc(var(--pp-pct,0) * 1%),calc(100% - var(--hw)));
  width:calc(var(--hw) * 2);height:24px;transform:translate(-50%,-50%);border-radius:99px;
  background:radial-gradient(circle at 40% 30%,#ffc07a,var(--pp-o) 60%,#c96a17);border:2px solid var(--pp-night);
  box-shadow:0 0 0 1.5px var(--pp-o),0 2px 6px rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;
  font-family:system-ui,"Segoe UI",Arial,sans-serif;font-weight:800;font-size:13px;line-height:1;letter-spacing:0;color:var(--pp-night);
  font-variant-numeric:tabular-nums;white-space:nowrap;text-shadow:0 1px 0 rgba(255,255,255,.25);transition:left .6s ease}
.pp-card .pp-thumb svg{display:none}
.pp-card .pp-labels{display:none!important}
/* button: site-wide orange CTA (dark inner ring like Repeat Order) */
.pp-card a.pp-btn{position:relative;display:block;margin:auto 10px 0;padding:9px 6px 7px;text-align:center;text-decoration:none!important;
  background:var(--pp-o);color:#fff!important;border:0;border-radius:12px;
  font-family:inherit;font-weight:600;font-size:22px;letter-spacing:.03em;line-height:1.2;text-transform:none;white-space:nowrap;
  text-shadow:0 1px 0 rgba(0,0,0,.25);box-shadow:0 3px 0 #a9560f;transition:filter .15s,transform .15s}
.pp-card a.pp-btn:before{content:"";position:absolute;inset:0;border:4px solid var(--pp-plum);border-radius:inherit;pointer-events:none}
.pp-card a.pp-btn:hover{filter:brightness(1.07);transform:translateY(-1px)}
.pp-card .pp-nocase{text-transform:none}
.pp-card--closed .pp-img img{filter:grayscale(.6) brightness(.8)}
/* compact card (phone 2-up, narrow carousel slots) */
@container ppcard (max-width:229px){
  .pp-card .pp-tab{font-size:10.5px;padding:2px 7px 1px;border-width:1.5px;border-radius:7px}
  .pp-card .pp-tab .pp-bolt{width:10px;height:10px}
  .pp-card .pp-img{border-radius:10px 10px 0 0}
  .pp-card .pp-pill-slot{height:24px;margin-top:-12px}
  .pp-card .pp-pill{font-size:10.5px;padding:3px 8px 2px;gap:2px}
  .pp-card .pp-pill .pp-bolt{width:12px;height:12px}
  .pp-card .pp-prog{padding:16px 8px 15px}
  .pp-card .pp-track{height:8px}
  .pp-card .pp-thumb{--hw:18px;height:19px;font-size:10.5px;border-width:1.5px}
  .pp-card a.pp-btn{font-size:15px;margin:auto 7px 0;padding:7px 4px 5px;border-radius:10px}
  .pp-card a.pp-btn:before{border-width:3px}
}
@container ppcard (max-width:150px){
  .pp-card .pp-thumb{--hw:16px;font-size:9.5px}
  .pp-card a.pp-btn{font-size:13px}
  .pp-card .pp-tab{font-size:9.5px;padding:2px 5px 1px}
}
@media (max-width:600px){.pp-card{padding-bottom:8px;border-radius:12px}}
/* v1.0.1: phones. Cards are 2-across (~160-200px), so trim spacing, not type size */
@media (max-width:699px){
  .w-grid-item-h:has(.pp-card){padding:0 3px 8px!important}
  .pp-card{margin-top:12px}
}
@container ppcard (max-width:229px){
  .pp-card .pp-tab{padding:2px 6px 1px}
  .pp-card .pp-pill-slot{height:22px;margin-top:-11px}
  .pp-card .pp-pill{padding:3px 7px 2px}
  .pp-card .pp-prog{padding:13px 6px 14px}
  .pp-card a.pp-btn{margin:auto 5px 0;padding:6px 3px 4px}
}
@media (max-width:600px){.pp-card{padding-bottom:6px}}
