/* Pure Prizes - Competition Page v1.0.6. Approved mock: /workspace/comp-page-mock/mock.html. All rules scoped to body.pp-cp / .pp-cp-panel.
   1.0.1: no panel chrome; width matches the instant-win grid (.pp-iw-grid: max-width 1000px); 1.0.5 centres both in the 1140px Impreza content area. Override with --pp-cp-max. */
/* old top section is replaced (it stays in the DOM: the form inside is moved, not rebuilt) */
body.pp-cp div.product > .woocommerce-product-gallery,
body.pp-cp div.product > .summary{display:none!important}

.pp-cp-panel{--o:#F68E2F;--o-hi:#ffb35e;--o-lo:#b85c10;--plum:#2a2a36;--night:#121118;--line:#3a3946;--txt:#fffffe;--mute:#a9a8b6;
  clear:both;float:none;width:100%;max-width:var(--pp-cp-max,1000px);box-sizing:border-box;margin:0 auto 30px;
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:start;
  background:none;border:0;border-radius:0;padding:0;box-shadow:none;color:var(--txt);
  font-family:var(--pp-hfont,"Saira Semi Condensed","Saira","Arial Narrow",Arial,sans-serif);font-size:16px;line-height:1.3;text-align:left}
.pp-cp-panel *,.pp-cp-panel *:before,.pp-cp-panel *:after{box-sizing:border-box}
.pp-cp-panel [hidden]{display:none!important}
.pp-cp-panel p{margin:0;padding:0}
/* image */
.pp-cp-panel .pp-cp__media{min-width:0;position:sticky;top:90px}
.pp-cp-panel .pp-cp__img{position:relative;border-radius:14px;overflow:hidden;border:1.5px solid var(--o);box-shadow:0 0 18px rgba(246,142,47,.35);line-height:0;aspect-ratio:1/1;background:var(--night)}
.pp-cp-panel .pp-cp__img img{width:100%!important;height:100%!important;max-width:none;object-fit:cover;display:block;border-radius:0;margin:0}
.pp-cp-panel.pp-cp--closed .pp-cp__img img{filter:grayscale(.6) brightness(.8)}
.pp-cp-panel .pp-cp__tag{position:absolute;left:12px;top:12px;line-height:1.3;background:var(--night);border:2px solid var(--o);border-radius:9px;padding:3px 11px 2px;font-weight:600;font-size:13px;letter-spacing:.04em;text-transform:uppercase;display:flex;gap:5px;align-items:center;color:var(--txt)}
.pp-cp-panel .pp-cp__bolt,.pp-cp-panel .pp-cp__tb{width:14px;height:14px;fill:var(--o);flex:none}
/* right column */
.pp-cp-panel .pp-cp__info{display:flex;flex-direction:column;min-width:0}
.pp-cp-panel .pp-cp__toprow{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.pp-cp-panel a.pp-cp__back{color:var(--o)!important;font-weight:600;font-size:15px;text-decoration:none!important;display:inline-flex;align-items:center;gap:6px;line-height:1.4}
.pp-cp-panel a.pp-cp__back:hover{text-decoration:underline!important}
.pp-cp-panel .pp-cp__price{flex:none;border:1.5px solid var(--o);border-radius:10px;padding:4px 12px 3px;font-weight:800;font-size:19px;color:var(--o);background:rgba(246,142,47,.08);line-height:1.2;white-space:nowrap}
.pp-cp-panel .pp-cp__price .pp-cp__was{color:var(--mute);font-weight:600;font-size:.74em;text-decoration:line-through;text-decoration-thickness:1.5px;text-decoration-color:rgba(169,168,182,.9);margin-right:2px}
.pp-cp-panel .pp-cp__sale{position:absolute;left:12px;top:12px;z-index:2;line-height:1;background:var(--o);color:#121118;font-weight:800;font-size:13px;letter-spacing:.09em;padding:6px 12px 5px;border-radius:99px;box-shadow:0 2px 10px rgba(0,0,0,.4);text-transform:uppercase;pointer-events:none}
.pp-cp-panel .screen-reader-text{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);white-space:nowrap;border:0}
/* 1.0.5: one centre axis. The instant-win grid (child theme, max-width 1000px, left-aligned) is centred in the content area; the top section above uses the same width + centre. Position only, cards untouched. */
body.pp-cp div.product .pp-iw-grid{margin-left:auto!important;margin-right:auto!important}
/* 1.0.4: theme/Woo "Sale!" flash replaced by .pp-cp__sale (also unhooked in PHP); comp page only */
body.pp-cp div.product > span.onsale,body.pp-cp div.product > .onsale{display:none!important}
.pp-cp-panel .pp-cp__price small{font-size:11px;font-weight:600;color:var(--mute);margin-left:3px}
.pp-cp-panel h1.pp-cp__title{font-family:inherit;font-weight:800;font-size:34px;line-height:1.1;margin:6px 0 0;padding:0;letter-spacing:-.01em;color:var(--txt);text-transform:none}
.pp-cp-panel .pp-cp__owned{display:flex;align-items:center;gap:10px;margin:12px 0 0;background:rgba(246,142,47,.10);border:1.5px solid var(--o);border-radius:10px;padding:8px 12px;font-size:14.5px;line-height:1.3}
.pp-cp-panel .pp-cp__tick{width:20px;height:20px;border-radius:50%;background:var(--o);display:grid;place-items:center;flex:none}
.pp-cp-panel .pp-cp__owned b{color:var(--o)}
/* progress (matches pp-cards badge) */
.pp-cp-panel .pp-cp__prog{margin:14px 0 30px;display:flex;align-items:center;gap:14px}
.pp-cp-panel .pp-cp__prog.is-nosold{margin-bottom:6px}   /* 1.0.6: product set to hide tickets sold / total (no sold line) */
.pp-cp-panel .pp-cp__barw{position:relative;flex:1;min-width:0}
.pp-cp-panel .pp-cp__sold{position:absolute;right:0;top:calc(100% + 12px);font-family:inherit;font-weight:600;font-size:13px;line-height:1;letter-spacing:.03em;color:var(--mute);white-space:nowrap}
.pp-cp-panel .pp-cp__sold b{font-weight:700;color:#d9d9e0}
.pp-cp-panel .pp-cp__track{position:relative;height:10px;border-radius:99px;background:#34333f;flex:1;min-width:0}
.pp-cp-panel .pp-cp__fill{height:100%;max-width:100%;border-radius:99px;background:linear-gradient(90deg,var(--o-lo),var(--o) 60%,var(--o-hi));transition:width .6s ease}
.pp-cp-panel .pp-cp__thumb{--hw:26px;position:absolute;top:50%;left:clamp(var(--hw),calc(var(--pp-pct,0) * 1%),calc(100% - var(--hw)));width:calc(var(--hw) * 2);height:26px;transform:translate(-50%,-50%);border-radius:99px;
  background:radial-gradient(circle at 40% 30%,#ffc07a,var(--o) 60%,#c96a17);border:2px solid var(--night);box-shadow:0 0 0 1.5px var(--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:13.5px;line-height:1;color:var(--night);font-variant-numeric:tabular-nums;white-space:nowrap;text-shadow:0 1px 0 rgba(255,255,255,.25);transition:left .6s ease}
.pp-cp-panel .pp-cp__pill{flex:none;display:flex;align-items:center;gap:5px;background:var(--night);border:1.5px solid var(--o);border-radius:10px;padding:4px 11px 3px;font-weight:600;font-size:13px;line-height:1.2;white-space:nowrap}
.pp-cp-panel .pp-cp__pill b{color:var(--o)}
/* countdown */
.pp-cp-panel .pp-cp__cd{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:14px}
.pp-cp-panel .pp-cp__cd div{background:var(--plum);border:1px solid var(--line);border-radius:12px;text-align:center;padding:10px 4px 8px;box-shadow:inset 0 -3px 0 rgba(0,0,0,.25)}
.pp-cp-panel .pp-cp__cd b{display:block;font-weight:800;font-size:30px;line-height:1;font-variant-numeric:tabular-nums;color:var(--txt)}
.pp-cp-panel .pp-cp__cd span{display:block;font-size:11.5px;font-weight:600;letter-spacing:.12em;color:var(--mute);margin-top:5px;line-height:1.2}
.pp-cp-panel .pp-cp__ends{font-size:13px;color:var(--mute);text-align:center;margin-top:8px}
.pp-cp-panel .pp-cp__ends b{color:#fff;font-weight:600}
.pp-cp-panel .pp-cp__closed,.pp-cp-panel .pp-cp__ended{margin-top:14px;background:var(--plum);border:1.5px solid var(--o);border-radius:12px;text-align:center;padding:12px 10px}
.pp-cp-panel .pp-cp__closed b,.pp-cp-panel .pp-cp__ended b{display:block;font-weight:800;font-size:24px;letter-spacing:.06em;color:var(--o)}
.pp-cp-panel .pp-cp__closed span,.pp-cp-panel .pp-cp__ended span{display:block;font-size:13px;color:var(--mute);margin-top:3px}
.pp-cp-panel .pp-cp__winners:not(:empty){margin-top:12px;background:var(--plum);border:1px solid var(--line);border-radius:12px;padding:10px 14px;text-align:center}
.pp-cp-panel .pp-cp__winners h3{font-family:inherit;font-size:18px;margin:0 0 4px;color:var(--txt)}
.pp-cp-panel .pp-cp__winners .ticket-number{color:var(--o);font-weight:600}
/* slider */
.pp-cp-panel .pp-cp__slider{margin-top:16px;background:var(--night);border:1.5px solid var(--o);border-radius:14px;box-shadow:0 0 0 1px rgba(246,142,47,.18),0 0 18px rgba(246,142,47,.45),inset 0 0 14px rgba(246,142,47,.12);padding:34px 14px 16px;display:flex;align-items:center;gap:12px}
.pp-cp-panel button.pp-cp__step{width:34px;height:34px;min-width:0;margin:0;padding:0;border-radius:10px;background:var(--plum);border:1px solid var(--line);color:#fff;font-family:inherit;font-size:22px;font-weight:700;line-height:1;display:grid;place-items:center;flex:none;cursor:pointer;box-shadow:none;text-transform:none}
.pp-cp-panel button.pp-cp__step:hover{border-color:var(--o)}
.pp-cp-panel button.pp-cp__step{touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}
.pp-cp-panel button.pp-cp__step.is-held{border-color:var(--o);background:rgba(246,142,47,.18)}
.pp-cp-panel .pp-cp__rail{position:relative;flex:1;height:8px;border-radius:99px;background:#e9e8ef}
.pp-cp-panel .pp-cp__on{position:absolute;left:0;top:0;bottom:0;border-radius:99px;background:linear-gradient(90deg,var(--o-lo),var(--o))}
.pp-cp-panel .pp-cp__knob{position:absolute;top:50%;width:22px;height:22px;border-radius:50%;background:var(--o);border:3px solid #fff;transform:translate(-50%,-50%);box-shadow:0 0 10px rgba(246,142,47,.8);pointer-events:none}
.pp-cp-panel .pp-cp__bub{position:absolute;bottom:20px;transform:translateX(-50%);background:var(--o);color:#fff;font-weight:800;font-size:14px;line-height:1.3;padding:2px 9px;border-radius:7px;white-space:nowrap;pointer-events:none}
.pp-cp-panel .pp-cp__bub:after{content:"";position:absolute;left:50%;bottom:-5px;margin-left:-5px;border:5px solid transparent;border-bottom:0;border-top-color:var(--o)}
.pp-cp-panel input.pp-cp__rng{position:absolute;left:0;right:0;top:-12px;bottom:-12px;width:100%;height:auto;margin:0;padding:0;opacity:0;cursor:pointer;-webkit-appearance:none;appearance:none;background:none;border:0}
.pp-cp-panel input.pp-cp__rng:focus-visible + .pp-cp__knob{outline:3px solid #fff;outline-offset:2px}
.pp-cp-panel .pp-cp__sum{display:flex;justify-content:space-between;gap:8px;font-size:13.5px;color:var(--mute);margin:8px 4px 0;flex-wrap:wrap}
.pp-cp-panel .pp-cp__sum b{color:#fff}
/* bundles */
.pp-cp-panel .pp-cp__sel{text-align:center;font-weight:700;font-size:13px;letter-spacing:.14em;color:var(--mute);margin:18px 0 10px}
.pp-cp-panel .pp-cp__bund{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.pp-cp-panel button.pp-cp__b{position:relative;margin:0;min-width:0;background:var(--plum);border:1.5px solid var(--line);border-radius:12px;padding:11px 4px 9px;text-align:center;line-height:1.1;transition:.15s;color:#fff;font-family:inherit;cursor:pointer;box-shadow:none;text-transform:none;height:auto}
.pp-cp-panel button.pp-cp__b b{display:block;font-size:24px;font-weight:800}
.pp-cp-panel button.pp-cp__b span{display:block;font-size:13px;color:var(--mute);margin-top:3px;font-weight:500}
.pp-cp-panel button.pp-cp__b i.pp-cp__off{position:absolute;top:-8px;right:-4px;font-style:normal;font-size:10.5px;font-weight:800;line-height:1;background:var(--o);color:#121118;border-radius:6px;padding:3px 5px 2px;white-space:nowrap}
.pp-cp-panel button.pp-cp__b:hover{border-color:rgba(246,142,47,.6)}
.pp-cp-panel button.pp-cp__b.is-on{border-color:var(--o);background:rgba(246,142,47,.10);box-shadow:0 0 14px rgba(246,142,47,.35)}
.pp-cp-panel button.pp-cp__b.is-on b{color:var(--o)}
.pp-cp-panel button.pp-cp__b.is-on span{color:#ffd2a8}
.pp-cp-panel button.pp-cp__b:disabled{opacity:.35;cursor:not-allowed}
/* CTA */
.pp-cp-panel button.pp-cp__cta{display:block;margin:16px 0 0;width:100%;border:0;background:var(--o);color:#fff;font-family:inherit;font-weight:800;font-size:19px;line-height:1.25;padding:15px 10px 14px;border-radius:12px;box-shadow:0 6px 18px rgba(246,142,47,.35);letter-spacing:.01em;text-transform:none;cursor:pointer}
.pp-cp-panel button.pp-cp__cta:hover{background:#ff9a3d}
.pp-cp-panel button.pp-cp__cta:disabled{opacity:.55;cursor:not-allowed}
.pp-cp-panel .pp-cp__trust{display:flex;justify-content:center;gap:16px;font-size:11.5px;color:var(--mute);letter-spacing:.08em;font-weight:600;margin-top:10px;flex-wrap:wrap}
.pp-cp-panel .pp-cp__trust span{display:flex;align-items:center;gap:5px}
.pp-cp-panel .pp-cp__trust svg{width:12px;height:12px;fill:var(--mute)}
.pp-cp-panel .pp-cp__trust .pp-cp__tb{fill:var(--mute)}
/* route toggle + postal */
.pp-cp-panel .pp-cp__route{display:flex;margin:14px auto 0;background:var(--night);border:1px solid var(--line);border-radius:99px;padding:4px;width:max-content;max-width:100%}
.pp-cp-panel .pp-cp__route button{margin:0;padding:8px 22px 7px;border:0;border-radius:99px;background:none;font-family:inherit;font-weight:700;font-size:13px;line-height:1.2;letter-spacing:.06em;color:var(--mute);cursor:pointer;box-shadow:none;text-transform:none;min-width:0}
.pp-cp-panel .pp-cp__route button.is-on{background:var(--o);color:#fff}
.pp-cp-panel .pp-cp__postal{margin-top:16px;background:var(--plum);border:1px solid var(--line);border-radius:12px;padding:14px 16px;font-size:14px;line-height:1.45;color:#e6e5ee;max-height:520px;overflow:auto}
.pp-cp-panel .pp-cp__postal ol,.pp-cp-panel .pp-cp__postal ul{margin:0 0 0 1.2em;padding:0}
.pp-cp-panel .pp-cp__postal li{margin:0 0 6px}
.pp-cp-panel .pp-cp__postal a{color:var(--o)}
.pp-cp-panel.is-free .pp-cp__online{display:none}
/* the real form, moved into the panel */
.pp-cp-panel .pp-cp__slot #form-container{margin:0;padding:0;width:auto;float:none}
.pp-cp-panel .pp-cp__slot form.cart{margin:0;padding:0}
.pp-cp-panel .pp-cp__slot .w-65,.pp-cp-panel .pp-cp__slot .w-35{width:100%!important;max-width:100%!important;flex:0 0 100%!important}
.pp-cp-panel.pp-cp--enh .pp-cp__slot form.cart .w-65,
.pp-cp-panel.pp-cp--enh .pp-cp__slot form.cart .gfni-slider,
.pp-cp-panel.pp-cp--enh .pp-cp__slot form.cart .range__buttons,
.pp-cp-panel.pp-cp--enh .pp-cp__slot form.cart .single_add_to_cart_button,
.pp-cp-panel.pp-cp--enh .pp-cp__slot form.cart .free-entry,
.pp-cp-panel.pp-cp--enh .pp-cp__slot .awdr-bulk-customizable-table:empty{display:none!important}
.pp-cp-panel.pp-cp--enh .pp-cp__slot form.cart .flex.pt-4,.pp-cp-panel.pp-cp--enh .pp-cp__slot form.cart .form-padding{padding:0!important;margin:0!important}
.pp-cp-panel .pp-cp__slot:has(form.cart) ~ .pp-cp__cta{margin-top:16px}
/* free-entry spend gate: its padlock card replaces the controls */
body.pp-feg-locked .pp-cp-panel .pp-cp__ctrl,body.pp-feg-locked .pp-cp-panel .pp-cp__cta,body.pp-feg-locked .pp-cp-panel .pp-cp__trust{display:none!important}
.pp-cp-panel .pp-cp__slot .pp-feg-lock{margin:16px 0 0}
/* phone */
@media (max-width:760px){
  .pp-cp-panel{grid-template-columns:1fr;gap:16px;padding:0;margin-bottom:20px}
  .pp-cp-panel .pp-cp__media{position:static}
  .pp-cp-panel h1.pp-cp__title{font-size:26px}
  .pp-cp-panel .pp-cp__owned{font-size:13.5px;padding:7px 10px}
  .pp-cp-panel .pp-cp__prog{gap:10px;margin-bottom:26px}
  .pp-cp-panel .pp-cp__sold{font-size:12px;top:calc(100% + 11px)}
  .pp-cp-panel .pp-cp__pill{font-size:12px;padding:3px 9px 2px}
  .pp-cp-panel .pp-cp__sale{left:10px;top:10px;font-size:12px;padding:5px 10px 4px}
  .pp-cp-panel .pp-cp__thumb{--hw:22px;height:22px;font-size:12px}
  .pp-cp-panel .pp-cp__cd{gap:7px}
  .pp-cp-panel .pp-cp__cd b{font-size:25px}
  .pp-cp-panel .pp-cp__cd span{font-size:10px;letter-spacing:.08em}
  .pp-cp-panel .pp-cp__slider{padding:32px 10px 14px;gap:9px}
  .pp-cp-panel .pp-cp__sum{font-size:12.5px}
  .pp-cp-panel .pp-cp__bund{gap:7px}
  .pp-cp-panel button.pp-cp__b{padding:10px 2px 8px}
  .pp-cp-panel button.pp-cp__b b{font-size:20px}
  .pp-cp-panel button.pp-cp__b span{font-size:12px}
  .pp-cp-panel button.pp-cp__cta{font-size:17px;padding:14px 8px 13px}
  .pp-cp-panel .pp-cp__trust{font-size:10.5px;gap:10px}
  .pp-cp-panel .pp-cp__route button{padding:8px 16px 7px}
}
@media (max-width:359px){
  .pp-cp-panel h1.pp-cp__title{font-size:23px}
  .pp-cp-panel .pp-cp__cd b{font-size:21px}
  .pp-cp-panel button.pp-cp__b b{font-size:17px}
  .pp-cp-panel button.pp-cp__b span{font-size:11px}
}
.pp-cp-panel h3.pp-cp__ptitle{font-family:inherit;font-size:17px;font-weight:700;color:var(--o);margin:0 0 8px;padding:0;text-transform:none;letter-spacing:.02em}
.pp-cp-panel .pp-cp__postal p{margin:0 0 8px}
.pp-cp-panel .pp-cp__postal p:last-child{margin-bottom:0}
.pp-cp-panel .pp-cp__maxed{margin:16px 0 0;background:rgba(246,142,47,.10);border:1.5px solid var(--o);border-radius:10px;padding:9px 12px;font-size:14px;text-align:center}
