/* ── Checkout previews (scenes used by js/periodic/buy.js) ── */

/* Shared bits: storefront browser, phone, light form fields, switches, stepper, order summary */
.pv-buy-br {
  position: relative; background: #f6faf8; color: #1b2421; border-radius: .75em; overflow: hidden;
  box-shadow: 0 1.6em 3.2em rgba(0, 0, 0, 0.5); flex: none;
}
.pv-buy-bar { display: flex; align-items: center; gap: .4em; padding: .5em .8em; background: #e2eae6; }
.pv-buy-bar > i { width: .6em; height: .6em; border-radius: 50%; background: rgba(27, 36, 33, 0.2); flex: none; }
.pv-buy-url {
  flex: 1; min-width: 0; margin-left: .5em; display: flex; align-items: center; gap: .45em; padding: .28em .8em;
  border-radius: 999px; background: #fff; font-size: .74em; color: #3b4743; white-space: nowrap; overflow: hidden;
}
.pv-buy-lock { width: 1em; height: 1em; color: #16a34a; flex: none; }
.pv-buy-pg { position: relative; padding: .8em .95em .95em; }
.pv-buy-ico { width: 1em; height: 1em; flex: none; }
.pv-buy-paper { background: #f6faf8; color: #1b2421; border-radius: .75em; box-shadow: 0 1.6em 3.2em rgba(0, 0, 0, 0.5); }
.pv-buy-h { display: block; font-size: .86em; font-weight: 700; margin-bottom: .5em; }
.pv-buy-fl { display: block; font-size: .72em; font-weight: 600; color: #3b4743; margin: .45em 0 .2em; }
.pv-buy-in {
  padding: .4em .65em; border-radius: .45em; border: 1px solid rgba(27, 36, 33, 0.16); background: #fff;
  font-size: .78em; color: #1b2421; white-space: nowrap; overflow: hidden;
}
.pv-buy-dd { position: relative; padding-right: 2em; }
.pv-buy-dd::after { content: ""; position: absolute; right: .8em; top: 50%; width: .4em; height: .4em; margin-top: -.3em; border: solid currentColor; border-width: 0 .13em .13em 0; transform: rotate(45deg); opacity: .5; }
.pv-buy-f2 { display: grid; grid-template-columns: 1fr 1fr; gap: .5em; }
.pv-buy-card { display: flex; align-items: center; gap: .55em; }
.pv-buy-card i { width: 1.5em; height: 1em; border-radius: .2em; background: linear-gradient(135deg, #6366f1, #22d3ee); flex: none; }
.pv-buy-card span { margin-left: auto; color: #5b6763; }
.pv-buy-full { display: block; width: 100%; }
.pv-buy-full > .pv-btn { display: block; text-align: center; }
.pv-buy-cta { display: block; text-align: center; margin-top: .7em; }
.pv-buy-lnk { font-size: .74em; font-weight: 600; color: #0e7490; white-space: nowrap; }
.pv-buy-low, .pv-buy-out, .pv-buy-testb {
  display: inline-block; padding: .2em .6em; border-radius: 999px; font-size: .7em; font-weight: 700; font-style: normal; white-space: nowrap;
}
.pv-buy-low { background: #fef3c7; color: #92400e; }
.pv-buy-out { background: #fee2e2; color: #b91c1c; }
.pv-buy-testb { background: #b91c1c; color: #fff; letter-spacing: .06em; }
.pv-buy-bigck { display: grid; place-items: center; width: 2.4em; height: 2.4em; border-radius: 50%; background: color-mix(in srgb, var(--c) 22%, #fff); }
.pv-buy-bigck .pv-check { width: 1.4em; height: 1.4em; color: #0e7490; }
.pv-buy-mailed { display: inline-flex; align-items: center; gap: .45em; font-size: .74em; color: #3b4743; }
.pv-buy-mailed .pv-env { width: 1.5em; color: #0e7490; }

/* Switches (on by default, `pv-buy-swK` turns on at step K) */
.pv-buy-sw { position: relative; display: inline-block; width: 2.2em; height: 1.2em; border-radius: 999px; background: var(--c); flex: none; }
.pv-buy-sw > i { position: absolute; top: .15em; left: 1.15em; width: .9em; height: .9em; border-radius: 50%; background: #fff; }
.pv-buy-swoff { background: rgba(236, 253, 245, 0.16); }
.pv-buy-swoff > i { left: .15em; background: rgba(236, 253, 245, 0.75); }
.pv-buy-sw1 { animation: pvBuySw1 var(--pv-t) infinite; } .pv-buy-sw1 > i { animation: pvBuyKn1 var(--pv-t) infinite; }
.pv-buy-sw2 { animation: pvBuySw2 var(--pv-t) infinite; } .pv-buy-sw2 > i { animation: pvBuyKn2 var(--pv-t) infinite; }
.pv-buy-sw3 { animation: pvBuySw3 var(--pv-t) infinite; } .pv-buy-sw3 > i { animation: pvBuyKn3 var(--pv-t) infinite; }
.pv-buy-sw4 { animation: pvBuySw4 var(--pv-t) infinite; } .pv-buy-sw4 > i { animation: pvBuyKn4 var(--pv-t) infinite; }
@keyframes pvBuySw1 { 0%, 5% { background-color: rgba(236, 253, 245, 0.16); } 8%, 94% { background-color: var(--c); } 97%, 100% { background-color: rgba(236, 253, 245, 0.16); } }
@keyframes pvBuyKn1 { 0%, 5% { transform: translateX(0em); } 8%, 94% { transform: translateX(1em); } 97%, 100% { transform: translateX(0em); } }
@keyframes pvBuySw2 { 0%, 16% { background-color: rgba(236, 253, 245, 0.16); } 19%, 94% { background-color: var(--c); } 97%, 100% { background-color: rgba(236, 253, 245, 0.16); } }
@keyframes pvBuyKn2 { 0%, 16% { transform: translateX(0em); } 19%, 94% { transform: translateX(1em); } 97%, 100% { transform: translateX(0em); } }
@keyframes pvBuySw3 { 0%, 27% { background-color: rgba(236, 253, 245, 0.16); } 30%, 94% { background-color: var(--c); } 97%, 100% { background-color: rgba(236, 253, 245, 0.16); } }
@keyframes pvBuyKn3 { 0%, 27% { transform: translateX(0em); } 30%, 94% { transform: translateX(1em); } 97%, 100% { transform: translateX(0em); } }
@keyframes pvBuySw4 { 0%, 38% { background-color: rgba(236, 253, 245, 0.16); } 41%, 94% { background-color: var(--c); } 97%, 100% { background-color: rgba(236, 253, 245, 0.16); } }
@keyframes pvBuyKn4 { 0%, 38% { transform: translateX(0em); } 41%, 94% { transform: translateX(1em); } 97%, 100% { transform: translateX(0em); } }
.pv-buy-swrow { display: flex; align-items: center; justify-content: space-between; gap: .8em; font-size: .82em; }
.pv-buy-swrow .pv-buy-sw { font-size: 1.1em; }
.pv-buy-dfl { display: block; font-size: .72em; font-weight: 600; color: rgba(236, 253, 245, 0.62); margin: .7em 0 .3em; }
.pv-buy-din {
  padding: .42em .65em; border-radius: .45em; border: 1px solid rgba(236, 253, 245, 0.12); background: rgba(236, 253, 245, 0.03);
  font-size: .78em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}

/* Numbered stepper */
.pv-buy-steps { display: flex; align-items: center; gap: .4em; margin: .1em 0 .8em; font-size: .74em; font-weight: 600; color: #3b4743; }
.pv-buy-steps > span { display: inline-flex; align-items: center; gap: .4em; white-space: nowrap; }
.pv-buy-steps > em { flex: 1; height: 1px; min-width: .6em; background: rgba(27, 36, 33, 0.18); }
.pv-buy-steps i {
  --pv-off-bg: #fff; --pv-off-bd: rgba(27, 36, 33, 0.22); --pv-off-fg: #5b6763; --pv-on-bg: var(--c); --pv-on-fg: #0a0a0a;
  display: grid; place-items: center; width: 1.7em; height: 1.7em; border-radius: 50%; font-style: normal;
  border: 1px solid rgba(27, 36, 33, 0.22); background: #fff; color: #5b6763;
}
.pv-buy-steps i.on, .pv-buy-steps i[class*="pv-hl"] { border-color: var(--c); background: var(--c); color: #0a0a0a; box-shadow: none; }

/* Options, order summary, quantity */
.pv-buy-step { display: flex; flex-direction: column; }
.pv-buy-opt {
  position: relative; display: flex; align-items: center; gap: .55em; padding: .5em .7em; margin-bottom: .4em; border-radius: .5em;
  border: 1px solid rgba(27, 36, 33, 0.14); background: #fff; font-size: .78em;
}
.pv-buy-opt > i { width: .9em; height: .9em; border-radius: 50%; border: 1.5px solid rgba(27, 36, 33, 0.3); flex: none; }
.pv-buy-opt > span { margin-left: auto; color: #5b6763; font-size: .92em; white-space: nowrap; }
.pv-buy-opt > b { white-space: nowrap; }
.pv-buy-sel { border-color: var(--c); background: color-mix(in srgb, var(--c) 10%, #fff); }
.pv-buy-sel > i { border: .3em solid #0e7490; }
.pv-buy-qty { display: flex; align-items: center; justify-content: space-between; margin-top: .2em; font-size: .78em; font-weight: 600; }
.pv-buy-stepper { display: inline-flex; align-items: center; gap: .6em; }
.pv-buy-stepper i { display: grid; place-items: center; width: 1.5em; height: 1.5em; border-radius: .35em; border: 1px solid rgba(27, 36, 33, 0.2); font-style: normal; background: #fff; }
.pv-buy-sum { padding: .75em .8em; border-radius: .55em; background: #fff; border: 1px solid rgba(27, 36, 33, 0.1); }
.pv-buy-li { display: flex; justify-content: space-between; gap: .8em; padding: .3em 0; font-size: .76em; }
.pv-buy-tot { margin-top: .3em; padding-top: .5em; border-top: 1px solid rgba(27, 36, 33, 0.12); font-size: .84em; }
.pv-buy-tot .pv-swap { justify-items: end; }

/* Phone (light purchase site) */
.pv-buy-ph {
  position: relative; height: 92%; aspect-ratio: 10 / 17; padding: 2.1em .85em .9em; flex: none;
  border-radius: 1.9em; border: .35em solid #26302c; background: #f6faf8; color: #1b2421; overflow: hidden;
  display: flex; flex-direction: column; gap: .5em; box-shadow: 0 1.6em 3.2em rgba(0, 0, 0, 0.5);
}
.pv-buy-notch { position: absolute; top: .55em; left: 50%; width: 30%; height: .85em; margin-left: -15%; border-radius: .6em; background: #26302c; }
.pv-buy-phhd { display: flex; align-items: center; justify-content: space-between; gap: .5em; padding-bottom: .5em; border-bottom: 1px solid rgba(27, 36, 33, 0.1); }
.pv-buy-phhd b { font-size: .9em; }
.pv-buy-ln2 { height: .5em; border-radius: .25em; background: rgba(27, 36, 33, 0.1); }

/* Branded storefront */
.pv-buy-sf { gap: 2em; }
.pv-buy-sfbr { width: 58%; --pv-buy-brand: #f97316; }
.pv-buy-sfbr .pv-buy-pg { padding-top: 0; }
.pv-buy-nav { display: flex; align-items: center; margin: 0 -.95em .8em; padding: .55em .95em; background: #1b2421; color: #fff; }
.pv-buy-brand { display: inline-flex; align-items: center; gap: .55em; font-size: .78em; letter-spacing: .14em; }
.pv-buy-brand i { width: 1.6em; height: 1.6em; border-radius: .4em; background: var(--pv-buy-brand); box-shadow: inset 0 0 0 .35em color-mix(in srgb, var(--pv-buy-brand) 55%, #1b2421); }
.pv-buy-navr { margin-left: auto; display: inline-flex; align-items: center; gap: 1em; font-size: .74em; color: rgba(255, 255, 255, 0.8); }
.pv-buy-sfhead { margin-bottom: .6em; }
.pv-buy-sfhead b { display: inline-block; font-size: 1.2em; padding-bottom: .2em; border-bottom: .18em solid var(--pv-buy-brand); }
.pv-buy-search { display: flex; gap: .5em; margin-bottom: .6em; }
.pv-buy-search span { flex: 1; padding: .4em .7em; border-radius: .45em; border: 1px solid rgba(27, 36, 33, 0.16); background: #fff; font-size: .74em; color: #8a9692; }
.pv-buy-search .pv-buy-ddl { flex: 0 0 auto; color: #1b2421; }
.pv-buy-tbl { border-radius: .5em; overflow: hidden; border: 1px solid rgba(27, 36, 33, 0.1); background: #fff; }
.pv-buy-tr { display: grid; grid-template-columns: 1.1fr 1.3fr 1fr; gap: .6em; padding: .45em .75em; font-size: .76em; border-top: 1px solid rgba(27, 36, 33, 0.07); white-space: nowrap; }
.pv-buy-tbl > div:nth-child(2) .pv-buy-tr { border-top: 0; }
.pv-buy-th { border-top: 0; background: var(--pv-buy-brand); color: #fff; font-weight: 700; font-size: .72em; letter-spacing: .04em; }
.pv-buy-tr span { color: #3b4743; overflow: hidden; text-overflow: ellipsis; }
.pv-buy-th span { color: #fff; }
.pv-buy-foot { display: flex; justify-content: center; gap: 1.4em; margin: .8em -.95em -.95em; padding: .6em; background: #e8efec; font-size: .7em; color: #5b6763; }
.pv-buy-panel { width: 24%; display: flex; flex-direction: column; gap: .5em; padding: 1em; border-radius: .8em; background: #121a17; border: 1px solid rgba(236, 253, 245, 0.1); box-shadow: 0 1.6em 3.2em rgba(0, 0, 0, 0.5); }
.pv-buy-panel .pv-lbl { margin-bottom: .2em; }
.pv-buy-set {
  display: flex; align-items: center; justify-content: space-between; gap: .5em; min-height: 2.6em; padding: .45em .7em; border-radius: .5em; font-size: .78em;
  border: 1px solid var(--pv-off-bd); background: var(--pv-off-bg); color: var(--pv-off-fg);
}
.pv-buy-set b { font-weight: 600; }
.pv-buy-set[class*="pv-tog"] { border-color: var(--c); background: var(--pv-on-bg); color: var(--pv-on-fg); box-shadow: 0 0 1em color-mix(in srgb, var(--c) 45%, transparent); }
.pv-buy-logo { width: 1.5em; height: 1.5em; border-radius: .35em; background: #f97316; box-shadow: inset 0 0 0 .32em #9a3412; flex: none; }
.pv-buy-sws { display: inline-flex; gap: .25em; }
.pv-buy-sws i { width: 1em; height: 1em; border-radius: .25em; background: #f97316; }
.pv-buy-sws i:nth-child(2) { background: #1b2421; box-shadow: inset 0 0 0 1px rgba(236, 253, 245, 0.3); }
.pv-buy-sws i:nth-child(3) { background: #fde68a; }
.pv-buy-panel .pv-tag { align-self: flex-end; }

/* Event calendar */
.pv-buy-cabr { width: 86%; }
.pv-buy-catop { display: flex; align-items: center; gap: .6em; margin-bottom: .8em; }
.pv-buy-srch { flex: 1; color: #8a9692; }
.pv-buy-cagrid { display: grid; grid-template-columns: 38% 1fr; gap: 1.1em; align-items: start; }
.pv-buy-cal { padding: .7em; border-radius: .55em; background: #fff; border: 1px solid rgba(27, 36, 33, 0.1); }
.pv-buy-qs { display: flex; align-items: center; gap: .35em; font-size: .72em; margin-bottom: .55em; }
.pv-buy-qs > span { color: #5b6763; font-weight: 600; margin-right: .2em; white-space: nowrap; }
.pv-buy-qs em { font-style: normal; }
.pv-buy-qs > em:not(.pv-buy-mon), .pv-buy-mon span { display: inline-block; padding: .2em .6em; border-radius: .4em; border: 1px solid rgba(27, 36, 33, 0.15); }
.pv-buy-mon span { --pv-off-bg: #fff; --pv-off-bd: rgba(27, 36, 33, 0.15); --pv-off-fg: #1b2421; --pv-on-bg: var(--c); --pv-on-fg: #0a0a0a; background: var(--c); border-color: var(--c); color: #0a0a0a; font-weight: 700; }
.pv-buy-calhd { display: flex; align-items: center; justify-content: space-between; font-size: .8em; margin-bottom: .35em; }
.pv-buy-calhd i { font-style: normal; color: #5b6763; padding: 0 .4em; }
.pv-buy-days { display: grid; grid-template-columns: repeat(7, 1fr); gap: .18em; text-align: center; }
.pv-buy-dow { font-size: .7em; font-weight: 700; color: #8a9692; }
.pv-buy-day { position: relative; display: grid; place-items: center; height: 1.6em; font-size: .7em; color: #3b4743; border-radius: .35em; }
.pv-buy-day:first-of-type { grid-column-start: 1; }
.pv-buy-ev { font-weight: 700; color: #0e7490; }
.pv-buy-ev::after { content: ""; position: absolute; bottom: .1em; left: 50%; width: .3em; height: .3em; margin-left: -.15em; border-radius: 50%; background: var(--c); }
.pv-buy-pick span { --pv-off-bg: transparent; --pv-off-bd: transparent; --pv-off-fg: #0e7490; --pv-on-bg: var(--c); --pv-on-fg: #0a0a0a;
  display: grid; place-items: center; width: 100%; height: 100%; border-radius: .35em; border: 1px solid var(--c); background: var(--c); color: #0a0a0a; }
.pv-buy-pick::after { display: none; }
.pv-buy-showing { display: block; margin-top: .5em; font-size: .7em; color: #5b6763; }
.pv-buy-list { min-width: 0; }
.pv-buy-lhd { display: flex; align-items: center; gap: .8em; margin-bottom: .5em; font-size: .86em; }
.pv-buy-filt { display: inline-flex; align-items: center; gap: .5em; margin-left: auto; font-size: .82em; color: #5b6763; white-space: nowrap; }
.pv-buy-filt em { font-style: normal; padding: .15em .55em; border-radius: 999px; background: color-mix(in srgb, var(--c) 18%, #fff); color: #0e7490; font-weight: 600; }
.pv-buy-filt u { color: #0e7490; font-weight: 600; }
.pv-buy-lsw { display: grid; width: 100%; }
.pv-buy-rows { display: flex; flex-direction: column; gap: .4em; }
.pv-buy-erow {
  display: grid; grid-template-columns: 1fr auto; align-items: center; column-gap: .6em; padding: .5em .75em; border-radius: .5em;
  background: #fff; border: 1px solid rgba(27, 36, 33, 0.1);
}
.pv-buy-erow b { font-size: .8em; }
.pv-buy-erow span { grid-column: 1; font-size: .7em; color: #5b6763; }
.pv-buy-erow em { grid-column: 2; grid-row: 1 / span 2; }
.pv-buy-viewall { margin-top: .3em; }

/* Guided checkout */
.pv-buy-gcbr { width: 84%; }
.pv-buy-gchd { display: flex; align-items: center; gap: 1em; margin-bottom: .6em; }
.pv-buy-gchd b { font-size: .95em; }
.pv-buy-back { font-size: .72em; color: #5b6763; }
.pv-buy-gcgrid { display: grid; grid-template-columns: 1fr 34%; gap: 1.1em; align-items: start; }
.pv-buy-gcmain { display: grid; width: 100%; }
.pv-buy-gcmain > * { width: 100%; }
.pv-buy-paybtn { display: block; margin-top: .8em; }
.pv-buy-paybtn .pv-btn { display: block; text-align: center; }
.pv-buy-ph0 { color: transparent; }
.pv-buy-done { align-items: center; text-align: center; gap: .45em; padding-top: .4em; }
.pv-buy-done > b { font-size: .95em; }
.pv-buy-cid { font-size: .76em; color: #5b6763; }
.pv-buy-cid b { margin-left: .3em; padding: .15em .5em; border-radius: .35em; background: #e8efec; color: #1b2421; letter-spacing: .06em; }
.pv-buy-sumimg { height: 3.4em; margin-bottom: .45em; border-radius: .4em; background: linear-gradient(135deg, color-mix(in srgb, var(--c) 70%, #0b1220), #312e81); }

/* FAQs & More Info */
.pv-buy-fq { gap: 3em; }
.pv-buy-fqwin { width: 34%; }
.pv-buy-fqrows { display: flex; flex-direction: column; gap: .35em; }
.pv-buy-fqrow {
  position: relative; display: flex; align-items: center; gap: .6em; height: 2.2em; padding: 0 .7em 0 1.4em; border-radius: .5em;
  background: #18221e; border: 1px solid rgba(236, 253, 245, 0.08); font-size: .8em;
}
.pv-buy-fqrow b { margin-right: auto; font-weight: 600; }
.pv-buy-fqoff b { color: rgba(236, 253, 245, 0.45); }
.pv-buy-grip { position: absolute; left: .5em; top: 50%; display: grid; grid-template-columns: repeat(2, .2em); gap: .15em; margin-top: -.35em; opacity: .5; }
.pv-buy-grip i { width: .2em; height: .2em; border-radius: 50%; background: currentColor; }
.pv-buy-fqup { z-index: 1; border-color: var(--c); animation: pvBuyFqUp var(--pv-t) infinite; }
.pv-buy-fqdn { animation: pvBuyFqDn var(--pv-t) infinite; }
@keyframes pvBuyFqUp {
  0%, 5% { transform: translateY(10.75em); box-shadow: none; border-color: rgba(236, 253, 245, 0.08); }
  8% { transform: translateY(10.75em) scale(1.03); box-shadow: 0 .6em 1.4em rgba(0, 0, 0, 0.5); border-color: var(--c); }
  19% { transform: scale(1.03); box-shadow: 0 .6em 1.4em rgba(0, 0, 0, 0.5); }
  23%, 100% { transform: none; box-shadow: none; border-color: var(--c); }
}
@keyframes pvBuyFqDn { 0%, 8% { transform: translateY(-2.69em); } 19%, 100% { transform: none; } }
.pv-buy-hint { display: block; margin-top: .7em; font-size: .72em; color: rgba(236, 253, 245, 0.5); }
.pv-buy-fqph { height: 94%; }
.pv-buy-mi { display: inline-block; padding: .3em .7em; border-radius: .45em; background: var(--c); color: #0a0a0a; font-size: .72em; font-weight: 700; white-space: nowrap; }
.pv-buy-phsteps { display: flex; gap: .3em; }
.pv-buy-phsteps i { flex: 1; height: .3em; border-radius: .2em; background: rgba(27, 36, 33, 0.12); }
.pv-buy-phsteps .on { background: var(--c); }
.pv-buy-sheet {
  --from: translateY(60%); position: absolute; left: 0; right: 0; bottom: 0; top: 5.2em; padding: .8em .8em; border-radius: 1em 1em 0 0;
  background: #fff; box-shadow: 0 -.6em 1.6em rgba(27, 36, 33, 0.18); display: flex; flex-direction: column; gap: .45em;
}
.pv-buy-sheethd { display: flex; justify-content: space-between; align-items: center; font-size: .9em; }
.pv-buy-sheethd span { color: #8a9692; }
.pv-buy-ftabs { display: flex; flex-wrap: wrap; gap: .3em; }
.pv-buy-ftabs span { padding: .25em .55em; border-radius: 999px; font-size: .72em; font-weight: 600; background: #e8efec; color: #3b4743; white-space: nowrap; }
.pv-buy-ftabs .on { background: var(--c); color: #0a0a0a; }
.pv-buy-faq { display: flex; flex-direction: column; gap: .3em; padding: .5em .6em; border-radius: .5em; border: 1px solid rgba(27, 36, 33, 0.1); }
.pv-buy-faq b { position: relative; padding-right: 1em; font-size: .78em; }
.pv-buy-faq b::after { content: "+"; position: absolute; right: 0; top: 0; color: #8a9692; }
.pv-buy-open b::after { content: "\2212"; }
.pv-buy-faq span { font-size: .74em; line-height: 1.4; color: #3b4743; }

/* Checkout terms */
.pv-buy-ta { gap: 2.2em; }
.pv-buy-tawin { width: 38%; }
.pv-buy-editor { padding: .7em .8em; border-radius: .5em; background: rgba(236, 253, 245, 0.03); border: 1px solid rgba(236, 253, 245, 0.08); }
.pv-buy-editor p { font-size: .76em; line-height: 1.5; color: rgba(236, 253, 245, 0.78); margin: 0 0 .6em; }
.pv-buy-editor p:last-child { margin-bottom: 0; }
.pv-buy-editor em {
  font-style: normal; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .92em; padding: .05em .3em; border-radius: .3em; border: 1px solid var(--c);
  background: var(--pv-on-bg); color: var(--pv-on-fg); white-space: nowrap;
}
.pv-buy-tacard { width: 40%; padding: 1em 1.1em; }
.pv-buy-ack { display: block; font-size: .74em; color: #3b4743; margin-bottom: .4em; }
.pv-buy-tacard ul { margin: 0 0 .7em; padding-left: 1.1em; }
.pv-buy-tacard li { font-size: .74em; line-height: 1.45; margin-bottom: .25em; color: #3b4743; }
.pv-buy-tacard li b { color: #0e7490; }
.pv-buy-agree { display: flex; align-items: center; gap: .55em; padding: .55em .65em; border-radius: .5em; background: #fff; border: 1px solid rgba(27, 36, 33, 0.12); font-size: .76em; font-weight: 600; }
.pv-buy-cb { display: grid; place-items: center; width: 1.3em; height: 1.3em; border-radius: .3em; border: 1.5px solid #0e7490; flex: none; background: #fff; }
.pv-buy-cb .pv-check { width: 1em; height: 1em; color: #0e7490; }
.pv-buy-logged { display: block; margin-top: .5em; font-size: .7em; color: #5b6763; }
.pv-buy-rec { display: flex; flex-wrap: wrap; gap: .4em; margin-top: .7em; }
.pv-buy-rec span { display: inline-flex; align-items: center; gap: .3em; padding: .3em .6em; border-radius: .4em; background: #1b2421; color: #ecfdf5; font-size: .7em; font-weight: 600; white-space: nowrap; }

/* Free & comped */
.pv-buy-fr { gap: 2.2em; }
.pv-buy-frcard { width: 36%; padding: 1em 1.1em; }
.pv-buy-promo { display: flex; gap: .45em; margin: .4em 0 .2em; }
.pv-buy-promo .pv-buy-in { flex: 1; font-weight: 600; letter-spacing: .06em; }
.pv-buy-apply { display: inline-grid; place-items: center; padding: 0 .9em; border-radius: .45em; background: #1b2421; color: #fff; font-size: .74em; font-weight: 600; }
.pv-buy-disc span:last-child { color: #0e7490; font-weight: 600; }
.pv-buy-totv { justify-items: end; }
.pv-buy-comp { padding: .05em .55em; border-radius: .35em; background: color-mix(in srgb, var(--c) 25%, #fff); color: #0e7490; letter-spacing: .06em; }
.pv-buy-frpay { display: grid; width: 100%; margin: .5em 0 .7em; }
.pv-buy-frpay > * { width: 100%; }
.pv-buy-nopay { display: flex; align-items: center; gap: .45em; align-self: center; padding: .5em .65em; border-radius: .45em; background: color-mix(in srgb, var(--c) 12%, #fff); font-size: .74em; font-weight: 600; color: #0e7490; }
.pv-buy-nopay .pv-check { color: #0e7490; }
.pv-buy-frbtn { display: grid; width: 100%; }
.pv-buy-frside { width: 28%; display: flex; flex-direction: column; gap: 1em; }
.pv-buy-tix { display: flex; flex-direction: column; align-items: center; gap: .45em; padding: 1em; text-align: center; }
.pv-buy-tix > b { font-size: .92em; }
.pv-buy-tixrow { display: flex; gap: .6em; }
.pv-buy-tixrow .pv-qr { width: 3.6em; height: 3.6em; color: #111; padding: .3em; background: #fff; border-radius: .35em; border: 1px solid rgba(27, 36, 33, 0.12); }
.pv-buy-block { display: flex; flex-direction: column; gap: .3em; box-shadow: 0 1.2em 2.4em rgba(0, 0, 0, 0.45); }
.pv-buy-blkhd { display: flex; align-items: center; justify-content: space-between; gap: .6em; font-size: .82em; }
.pv-buy-block > span { font-size: .7em; line-height: 1.4; color: rgba(236, 253, 245, 0.55); }

/* Sold-out handling */
.pv-buy-ss { gap: 2.2em; }
.pv-buy-sswin { width: 34%; }
.pv-buy-sswin .pv-lbl { margin-bottom: .45em; }
.pv-buy-stat { display: grid; grid-template-columns: 1fr 1fr; gap: .4em .5em; margin-bottom: .9em; }
.pv-buy-stat > div { white-space: nowrap; display: flex; align-items: center; justify-content: space-between; gap: .5em; padding: .35em .55em; border-radius: .45em; background: rgba(236, 253, 245, 0.04); font-size: .76em; }
.pv-buy-loc { display: grid; grid-template-columns: 1fr auto auto; align-items: center; gap: .55em; padding: .4em .1em; border-top: 1px solid rgba(236, 253, 245, 0.07); font-size: .76em; }
.pv-buy-loc b { font-weight: 600; white-space: nowrap; }
.pv-buy-loc span { font-size: .92em; color: rgba(236, 253, 245, 0.5); }
.pv-buy-ssbr { width: 47%; }
.pv-buy-sshd { display: flex; align-items: center; gap: .7em; margin-bottom: .7em; }
.pv-buy-sshd b { font-size: 1em; }
.pv-buy-opt > em { margin-left: auto; font-size: .9em; }
.pv-buy-dis { background: #f1f4f3; color: #8a9692; }
.pv-buy-ss .pv-buy-dis { animation: pvBuyDis var(--pv-t) infinite; }
@keyframes pvBuyDis { 0%, 16% { background-color: #fff; color: #1b2421; } 19%, 92% { background-color: #f1f4f3; color: #8a9692; } 97%, 100% { background-color: #fff; color: #1b2421; } }
.pv-buy-chose { border-color: var(--c); }
.pv-buy-chose > i { border: .3em solid #0e7490; }
.pv-buy-ring { position: absolute; inset: -1px; border-radius: inherit; border: 2px solid var(--c); box-shadow: 0 0 .9em color-mix(in srgb, var(--c) 45%, transparent); }
.pv-buy-ssend { display: grid; width: 100%; margin-top: .5em; }
.pv-buy-ssend > * { width: 100%; align-self: start; }
.pv-buy-chk { display: flex; align-items: center; justify-content: center; gap: .5em; padding: .45em; border-radius: .5em; background: #e8efec; font-size: .78em; font-weight: 600; color: #3b4743; }
.pv-buy-chk i { width: .9em; height: .9em; border-radius: 50%; border: .15em solid rgba(27, 36, 33, 0.2); border-top-color: #0e7490; animation: pvBuySpin .8s linear infinite; }
@keyframes pvBuySpin { to { transform: rotate(360deg); } }
.pv-buy-soldmsg { display: flex; flex-direction: column; gap: .4em; padding: .6em .75em; border-radius: .5em; background: #fef2f2; border: 1px solid #fecaca; }
.pv-buy-soldmsg b { font-size: .76em; line-height: 1.4; color: #991b1b; }
.pv-buy-nocharge { display: inline-flex; align-items: center; gap: .3em; font-size: .7em; font-weight: 700; color: #3b4743; }
.pv-buy-nocharge .pv-check { color: #16a34a; }

/* Event banners */
.pv-buy-bn { gap: 2.2em; }
.pv-buy-bnwin { width: 32%; }
.pv-buy-bnwin .pv-body > .pv-buy-swrow:first-child { margin-bottom: .2em; }
.pv-buy-bnwin .pv-body > .pv-buy-swrow:last-child { margin-top: .8em; }
.pv-buy-styles { display: flex; gap: .3em; font-size: .72em; }
.pv-buy-styles span { flex: 1; text-align: center; padding: .35em .2em; border-radius: .4em; background: rgba(236, 253, 245, 0.05); color: rgba(236, 253, 245, 0.6); }
.pv-buy-styles .on { background: color-mix(in srgb, var(--c) 20%, transparent); color: var(--c); font-weight: 600; box-shadow: inset 0 0 0 1px var(--c); }
.pv-buy-ph1 { color: rgba(236, 253, 245, 0.75); }
.pv-buy-bnbr { width: 50%; }
.pv-buy-banner {
  --from: translateY(-.8em); display: flex; align-items: center; gap: .6em; margin: -.8em -.95em .8em; padding: .55em .95em;
  background: linear-gradient(90deg, var(--c), color-mix(in srgb, var(--c) 55%, #6366f1)); color: #0a0a0a; font-size: .76em;
}
.pv-buy-banner i { width: 2.4em; height: 1.7em; border-radius: .3em; background: linear-gradient(135deg, #fde68a, #f97316); flex: none; }
.pv-buy-banner u { font-weight: 700; white-space: nowrap; }
.pv-buy-banner em { margin-left: auto; font-style: normal; font-size: 1.2em; opacity: .7; }
.pv-buy-bnmain { display: grid; width: 100%; min-height: 6.6em; }
.pv-buy-bnmain > * { width: 100%; }
.pv-buy-bnmain .pv-buy-in { margin-bottom: .4em; }
.pv-buy-bnmain .pv-btn { text-align: center; }
.pv-buy-stay { display: inline-flex; align-items: center; gap: .35em; margin-top: .5em; font-size: .74em; font-weight: 700; color: #0e7490; }
.pv-buy-stay .pv-check { color: #0e7490; }

/* Help & support */
.pv-buy-sb { gap: 2.2em; }
.pv-buy-sbbr { width: 50%; }
.pv-buy-pgt { display: block; font-size: 1.1em; }
.pv-buy-pgs { display: block; font-size: .72em; color: #5b6763; margin-bottom: .3em; }
.pv-buy-sbmain { display: grid; width: 100%; }
.pv-buy-sbmain > * { width: 100%; }
.pv-buy-sbform { position: relative; display: flex; flex-direction: column; }
.pv-buy-sbform .pv-buy-dd { display: grid; }
.pv-buy-sbform .pv-buy-dd > * { grid-area: 1 / 1; }
.pv-buy-phx { color: #8a9692; }
.pv-buy-menu {
  position: absolute; top: 3.4em; left: 0; right: 30%; z-index: 2; display: flex; flex-direction: column; padding: .3em; border-radius: .5em;
  background: #fff; box-shadow: 0 .8em 1.8em rgba(27, 36, 33, 0.25); border: 1px solid rgba(27, 36, 33, 0.1);
}
.pv-buy-menu span { padding: .35em .6em; border-radius: .35em; font-size: .74em; }
.pv-buy-menu .on { background: color-mix(in srgb, var(--c) 18%, #fff); color: #0e7490; font-weight: 600; }
.pv-buy-msg { white-space: normal; }
.pv-buy-sbform .pv-btn { align-self: flex-start; margin-top: .7em; }
.pv-buy-sbdone { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .45em; text-align: center; }
.pv-buy-sbdone b { font-size: 1em; }
.pv-buy-sbdone > span:last-child { font-size: .74em; color: #5b6763; }
.pv-buy-crisp { position: absolute; right: .9em; bottom: .9em; display: grid; place-items: center; width: 2.3em; height: 2.3em; border-radius: 50%; background: #2563eb; color: #fff; box-shadow: 0 .4em 1em rgba(27, 36, 33, 0.3); }
.pv-buy-crisp .pv-buy-ico { width: 1.2em; height: 1.2em; }
.pv-buy-route { width: 28%; display: flex; flex-direction: column; gap: .5em; }
.pv-buy-rt {
  display: flex; flex-direction: column; gap: .15em; padding: .55em .8em; border-radius: .55em;
  --pv-off-bg: #18221e; --pv-off-bd: rgba(236, 253, 245, 0.08);
  background: #18221e; border: 1px solid rgba(236, 253, 245, 0.08);
}
.pv-buy-rt b { font-size: .8em; }
.pv-buy-rt span { font-size: .72em; color: rgba(236, 253, 245, 0.55); }
.pv-buy-rt.pv-hl5 { border-color: var(--c); background: var(--pv-on-bg); color: var(--pv-on-fg); box-shadow: 0 0 1em color-mix(in srgb, var(--c) 45%, transparent); }
.pv-buy-route .pv-hl5 span { color: inherit; }
.pv-buy-routed { display: inline-flex; align-items: center; gap: .45em; font-size: .74em; font-weight: 600; color: var(--c); }
.pv-buy-routed .pv-env { width: 1.5em; }
.pv-buy-crispc { display: flex; align-items: center; justify-content: space-between; gap: .6em; margin-top: .4em; padding: .55em .8em; border-radius: .55em; border: 1px dashed rgba(236, 253, 245, 0.18); font-size: .8em; }

/* Embeddable checkout */
.pv-buy-eb { gap: 2em; }
.pv-buy-ebwin { width: 45%; }
.pv-buy-ebwin .pv-body { padding: .9em 1em 1em; }
.pv-buy-ebtog { display: grid; grid-template-columns: 1fr 1fr; gap: .35em .9em; margin-bottom: .7em; }
.pv-buy-ebtog > div { display: flex; align-items: center; justify-content: space-between; gap: .5em; padding: .3em .5em; border-radius: .45em; background: rgba(236, 253, 245, 0.04); font-size: .74em; white-space: nowrap; }
.pv-buy-code {
  margin: 0; padding: .6em .75em; border-radius: .5em; background: #0b100e; border: 1px solid rgba(236, 253, 245, 0.08);
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .7em; line-height: 1.5; color: rgba(236, 253, 245, 0.75); white-space: pre; overflow: hidden;
}
.pv-buy-code s { text-decoration: none; color: #67e8f9; }
.pv-buy-tg { color: #f472b6; }
.pv-buy-code > span:not(.pv-buy-tg) { display: inline; }
.pv-buy-ebbr { width: 41%; }
.pv-buy-ebbr .pv-buy-pg { height: 20.5em; padding-top: 0; overflow: hidden; }
.pv-buy-host { display: flex; align-items: center; gap: .9em; margin: 0 -.95em .7em; padding: .55em .95em; background: #312e81; color: #fff; font-size: .72em; }
.pv-buy-host i { width: 1.5em; height: 1.5em; border-radius: 50%; background: #fbbf24; }
.pv-buy-host b { letter-spacing: .12em; margin-right: auto; }
.pv-buy-host span { opacity: .7; }
.pv-buy-host .on { opacity: 1; border-bottom: 2px solid #fbbf24; }
.pv-buy-hosth { display: block; font-size: 1em; margin-bottom: .6em; color: #312e81; }
.pv-buy-frame {
  position: relative; padding: .7em; border-radius: .55em; border: 2px dashed var(--c); background: #fff;
  height: 13.6em; overflow: hidden; animation: pvBuyGrow var(--pv-t) infinite;
}
@keyframes pvBuyGrow { 0%, 52% { height: 6.2em; } 56%, 100% { height: 13.6em; } }
.pv-buy-frin b { display: block; font-size: .86em; margin-bottom: .5em; }
.pv-buy-frin .pv-buy-steps { margin-bottom: .6em; }
.pv-buy-ok { position: absolute; top: .5em; right: .6em; display: inline-flex; align-items: center; gap: .3em; padding: .2em .5em; border-radius: .4em; background: #dcfce7; color: #166534; font-size: .7em; font-weight: 700; }
.pv-buy-ok .pv-check { color: #16a34a; width: 1em; height: 1em; }
.pv-buy-rsz { position: absolute; right: .6em; bottom: .5em; padding: .2em .5em; border-radius: .4em; background: var(--c); color: #0a0a0a; font-size: .7em; font-weight: 700; }
.pv-buy-hostfoot { height: 2em; margin-top: .7em; border-radius: .4em; background: #e2e1f3; }

/* Test mode */
.pv-buy-tmgrid { width: 82%; display: grid; grid-template-columns: 30% 3em 1fr; align-items: center; row-gap: 1.6em; column-gap: .8em; }
.pv-buy-tmset { display: flex; flex-direction: column; gap: .4em; padding: .9em 1em; box-shadow: 0 1.2em 2.4em rgba(0, 0, 0, 0.45); }
.pv-buy-tmset > b { font-size: .9em; }
.pv-buy-tmset .pv-buy-swrow { margin-top: .3em; padding-top: .6em; border-top: 1px solid rgba(236, 253, 245, 0.08); }
.pv-buy-arr { position: relative; height: .2em; background: color-mix(in srgb, var(--c) 60%, transparent); --from: scaleX(0); transform-origin: left; }
.pv-buy-arr::after { content: ""; position: absolute; right: -.1em; top: -.4em; border: .5em solid transparent; border-left-color: color-mix(in srgb, var(--c) 60%, transparent); border-right: 0; }
.pv-buy-tmpg, .pv-buy-tmpay { padding: .8em 1em; }
.pv-buy-tmurl { display: flex; align-items: center; gap: .4em; padding: .3em .7em; border-radius: 999px; background: #e2eae6; font-size: .7em; color: #3b4743; white-space: nowrap; overflow: hidden; }
.pv-buy-tmt { display: flex; align-items: center; gap: .7em; margin: .65em 0 .5em; }
.pv-buy-tmt b { font-size: 1.05em; }
.pv-buy-hide { display: inline-flex; align-items: center; gap: .5em; font-size: .72em; font-weight: 600; color: #5b6763; }
.pv-buy-hide s { padding: .1em .45em; border-radius: .3em; background: #e8efec; color: #8a9692; }
.pv-buy-tmbanner { display: flex; flex-direction: column; gap: .2em; padding: .5em .7em; border-radius: .5em; background: #fef3c7; border: 1px solid #fcd34d; }
.pv-buy-tmbanner b { font-size: .8em; color: #92400e; }
.pv-buy-tmbanner span { font-size: .7em; line-height: 1.4; color: #78350f; }
.pv-buy-tmrow { display: flex; gap: .5em; margin-top: .55em; }
.pv-buy-tmrow .pv-buy-in { flex: 1; }
.pv-buy-kept { display: inline-flex; align-items: center; gap: .35em; margin-top: .55em; font-size: .72em; font-weight: 700; color: #0e7490; }
.pv-buy-kept .pv-check { color: #0e7490; }

/* Fraud blocklist */
.pv-buy-bl { gap: 3em; }
.pv-buy-blwin { width: 38%; }
.pv-buy-blwin .pv-seg { margin-bottom: .5em; }
.pv-buy-addrow { display: flex; gap: .5em; align-items: center; }
.pv-buy-addrow .pv-buy-din { flex: 1; }
.pv-buy-addrow .pv-btn { font-size: .74em; }
.pv-buy-type { display: inline-block; overflow: hidden; white-space: nowrap; vertical-align: bottom; animation: pvBuyType var(--pv-t) infinite; }
@keyframes pvBuyType { 0%, 2% { max-width: 0; } 14%, 100% { max-width: 12em; } }
.pv-buy-reason { margin-top: .4em; color: rgba(236, 253, 245, 0.6); }
.pv-buy-cnt { margin: .8em 0 .4em; }
.pv-buy-blist { display: flex; flex-direction: column; gap: .35em; }
.pv-buy-brow { display: flex; align-items: center; gap: .6em; padding: .4em .6em; border-radius: .45em; background: #18221e; border: 1px solid rgba(236, 253, 245, 0.08); font-size: .76em; }
.pv-buy-brow em { font-style: normal; font-size: .92em; padding: .1em .45em; border-radius: .3em; background: rgba(248, 113, 113, 0.15); color: #fca5a5; }
.pv-buy-brow b { font-weight: 600; }
.pv-buy-bnew .pv-buy-brow { border-color: color-mix(in srgb, var(--c) 50%, transparent); }
.pv-buy-blsw { display: grid; flex: 1; }
.pv-buy-blsw > * { width: 100%; }
.pv-buy-blform { display: flex; flex-direction: column; }
.pv-buy-blocked { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .5em; text-align: center; padding: 0 .3em; }
.pv-buy-shield { width: 3em; height: 3em; color: #dc2626; }
.pv-buy-blocked b { font-size: 1em; }
.pv-buy-blocked span { font-size: .72em; line-height: 1.45; color: #3b4743; }
.pv-buy-blocked u { color: #0e7490; font-weight: 600; }
.pv-buy-nopf { align-self: center; padding: .3em .7em; border-radius: 999px; background: #1b2421; color: #ecfdf5; font-size: .7em; font-weight: 600; }

/* Marketplace listing */
.pv-buy-mkcol { width: 84%; display: flex; flex-direction: column; gap: 1.3em; }
.pv-buy-mkset { position: relative; display: flex; align-items: center; gap: 1.4em; padding: .9em 1.1em; box-shadow: 0 1.2em 2.4em rgba(0, 0, 0, 0.45); }
.pv-buy-mkset > div { flex: 1; display: flex; flex-direction: column; gap: .2em; }
.pv-buy-mkset b { font-size: .9em; }
.pv-buy-mkset > div span { font-size: .72em; line-height: 1.4; color: rgba(236, 253, 245, 0.55); }
.pv-buy-mkset > .pv-buy-sw { font-size: 1.2em; }
.pv-buy-toast {
  position: absolute; right: 1em; top: -1.1em; display: inline-flex; align-items: center; gap: .35em; padding: .35em .7em; border-radius: .45em;
  background: #ecfdf5; color: #065f46; font-size: .72em; font-weight: 600; box-shadow: 0 .4em 1em rgba(0, 0, 0, 0.35);
}
.pv-buy-toast .pv-check { color: #059669; }
.pv-buy-mkrow { display: grid; grid-template-columns: 1.55fr 1fr; gap: 1.3em; }
.pv-buy-mkrow .pv-buy-br { box-shadow: 0 1.2em 2.4em rgba(0, 0, 0, 0.45); }
.pv-buy-mkgrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: .5em; }
.pv-buy-mkc { display: flex; flex-direction: column; gap: .15em; padding: .4em; border-radius: .5em; background: #fff; border: 1px solid rgba(27, 36, 33, 0.1); }
.pv-buy-mkc i { height: 2.6em; border-radius: .35em; background: linear-gradient(135deg, #cbd5e1, #94a3b8); margin-bottom: .2em; }
.pv-buy-mkc b { font-size: .74em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pv-buy-mkc span { font-size: .7em; color: #5b6763; }
.pv-buy-oth { opacity: .75; }
.pv-buy-mine { border-color: var(--c); box-shadow: 0 0 0 1px var(--c), 0 .4em 1em color-mix(in srgb, var(--c) 30%, transparent); }
.pv-buy-mine i { background: linear-gradient(135deg, #f97316, #7c2d12); }
.pv-buy-mkown { display: flex; flex-direction: column; gap: .4em; }
.pv-buy-ownb { align-self: flex-start; padding: .2em .6em; border-radius: 999px; background: color-mix(in srgb, var(--c) 20%, #fff); color: #0e7490; font-size: .7em; font-weight: 700; }
.pv-buy-zero { font-size: .72em; font-weight: 600; color: #5b6763; }

/* Switch knobs slide with transform (compositor) rather than left; while
   motion is allowed they sit at the "off" left and translate 1em to "on". */
@media (prefers-reduced-motion: no-preference) { .pv-buy-sw1 > i, .pv-buy-sw2 > i, .pv-buy-sw3 > i, .pv-buy-sw4 > i { left: 0.15em; } }
