/* Pricing unlock dialog - see assets/js/price-unlock.js */

/* The blur itself is set in the page; this lifts it once the prices arrive.
   !important because the card reveal (troika-anim.js, gsap.from) finishes by
   writing the blurred value it started from back as an inline style. */
.pr-price,.pr-val,.pr-mask{transition:filter .7s ease}
html.prices-unlocked .pr-price,
html.prices-unlocked .pr-val,
html.prices-unlocked .pr-mask{filter:none!important;-webkit-filter:none!important;user-select:auto;-webkit-user-select:auto;pointer-events:auto}

/* Pages without their own blur rule (white-label) mark locked figures with .pu-lock */
/* blur scales with the figure: a fixed 6px left the large card rates legible */
.pu-lock{display:inline-block;filter:blur(max(8px,.28em));-webkit-filter:blur(max(8px,.28em));user-select:none;-webkit-user-select:none;transition:filter .7s ease}
html.prices-unlocked .pu-lock{filter:none!important;-webkit-filter:none!important;user-select:auto;-webkit-user-select:auto}
/* "Unlock pricing" buttons have nothing left to do once the prices are in */
html.prices-unlocked .pu-unlock-cta{display:none!important}

html.pu-open{overflow:hidden}

.pu-backdrop{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;padding:16px;
  background:rgba(6,5,12,.72);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);opacity:0;transition:opacity .2s ease}
.pu-backdrop[hidden]{display:none}
.pu-backdrop.is-visible{opacity:1}

.pu-dialog{position:relative;width:100%;max-width:420px;max-height:calc(100vh - 32px);overflow:auto;
  background:#141220;color:#fff;border:1px solid rgba(139,61,255,.45);border-radius:1.25rem;padding:2rem;
  box-shadow:0 1.5rem 4rem rgba(139,61,255,.25);transform:translateY(12px) scale(.98);transition:transform .2s ease}
.pu-backdrop.is-visible .pu-dialog{transform:none}

.pu-close{position:absolute;top:.75rem;right:.75rem;width:2.25rem;height:2.25rem;border:0;border-radius:50%;
  background:rgba(255,255,255,.06);color:rgba(255,255,255,.75);font-size:1.5rem;line-height:1;cursor:pointer}
.pu-close:hover{background:rgba(255,255,255,.12);color:#fff}

.pu-eyebrow{margin:0 0 .5rem;font-size:.75rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#c9a6ff}
.pu-title{margin:0 0 .5rem;color:#fff;font-size:1.6rem;line-height:1.2}
.pu-sub{margin:0 0 1.5rem;color:rgba(255,255,255,.7);font-size:.95rem;line-height:1.5}
.pu-sub strong{color:#fff;white-space:nowrap}

.pu-field{display:block;margin-bottom:1rem}
.pu-field>span:first-child{display:block;margin-bottom:.4rem;font-size:.85rem;color:rgba(255,255,255,.7)}
.pu-field input,.pu-otp{width:100%;height:3rem;padding:0 1rem;border:1px solid rgba(255,255,255,.14);border-radius:.75rem;
  background:rgba(255,255,255,.04);color:#fff;font-size:1rem;outline:none;transition:border-color .15s ease,box-shadow .15s ease}
.pu-field input:focus,.pu-otp:focus{border-color:#8b3dff;box-shadow:0 0 0 3px rgba(139,61,255,.3)}
.pu-field input::placeholder,.pu-otp::placeholder{color:rgba(255,255,255,.3)}

.pu-phone{display:flex}
.pu-cc{display:flex;align-items:center;padding:0 .9rem;border:1px solid rgba(255,255,255,.14);border-right:0;
  border-radius:.75rem 0 0 .75rem;background:rgba(255,255,255,.08);color:rgba(255,255,255,.8)}
.pu-phone input{border-radius:0 .75rem .75rem 0}

.pu-otp{height:3.5rem;text-align:center;font-size:1.6rem;font-weight:600;letter-spacing:.6em;padding-left:1.6rem;
  font-variant-numeric:lining-nums tabular-nums;font-feature-settings:"lnum","tnum"}

.pu-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}

.pu-error{min-height:1.25rem;margin:.25rem 0 .75rem;color:#ff8a8a;font-size:.875rem}
.pu-error:empty{margin:0 0 .5rem}

.pu-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;height:3.25rem;border:0;border-radius:999px;
  background:#8b3dff;color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:background .15s ease,opacity .15s ease}
.pu-btn:hover{background:#7a2cf0}
.pu-btn:disabled{opacity:.6;cursor:wait}
.pu-btn.is-busy span::after{content:'';display:inline-block;width:1em;height:1em;margin-left:.6em;vertical-align:-.15em;
  border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:pu-spin .7s linear infinite}
@keyframes pu-spin{to{transform:rotate(360deg)}}

.pu-link{padding:0;border:0;background:none;color:#c9a6ff;font:inherit;text-decoration:underline;cursor:pointer}
.pu-link:disabled{color:rgba(255,255,255,.4);text-decoration:none;cursor:default}
.pu-resend{margin:1rem 0 0;text-align:center;font-size:.9rem;color:rgba(255,255,255,.5)}

.pu-done{padding:1.5rem 0;text-align:center}
.pu-check{display:inline-flex;align-items:center;justify-content:center;width:3.5rem;height:3.5rem;margin-bottom:1rem;
  border-radius:50%;background:rgba(139,61,255,.25);color:#c9a6ff}

@media (max-width:480px){.pu-dialog{padding:1.5rem}.pu-title{font-size:1.35rem}}
@media (prefers-reduced-motion:reduce){.pu-backdrop,.pu-dialog,.pr-price,.pr-val,.pr-mask{transition:none}}
