/* ============================================================
   Pricing — page-specific decoration.

   The point of this page is that every price is REAL TEXT in the HTML.
   Nothing here may hide a number: no `content:` prices, no width-driven
   figures, nothing that only exists after JS runs. The estimator and
   the billing toggle are progressive enhancement on top of markup that
   already states every band.

   CYAN leads; red marks "Most popular" and primary CTAs; green marks
   the trust ticks and the first-time tournament discount; purple is
   the Immortal tier's own accent and appears nowhere else.

   Keyframes are global, so everything here is `pr`-prefixed.

   NOTE on <p>/<a>/<table>/<input>/<button>: the theme styles bare
   elements at specificity 0,1,1, which beats any single class here
   (0,1,0). Anything landing on one is scoped under `.xs-page`, and the
   tables restate their own borders/background because the theme ships
   its own table skin.
   ============================================================ */

@keyframes prGlow{0%,100%{opacity:.45;transform:scale(1)}50%{opacity:.9;transform:scale(1.06)}}

/* ---------- hero ---------- */
.pr-hero{position:relative;overflow:hidden;color:#fff;text-align:center;
	background:radial-gradient(circle at 50% 22%,#0d1a33,#04070f 64%)}
.pr-hero__fade{position:absolute;inset:0 0 auto 0;height:300px;pointer-events:none;
	background:linear-gradient(180deg,var(--ink-900) 0,var(--ink-900) 130px,transparent 100%)}
.pr-hero__glow{position:absolute;top:-120px;left:50%;transform:translateX(-50%);width:620px;height:440px;
	background:radial-gradient(circle,rgba(0,212,255,.24),transparent 65%);filter:blur(28px);
	animation:prGlow 8s ease-in-out infinite;pointer-events:none}
.pr-hero__inner{position:relative;padding-top:calc(130px + clamp(1rem,3vw,2.5rem))}
.pr-trust{display:flex;flex-wrap:wrap;justify-content:center;gap:1.4rem;margin-top:1.8rem;
	font-size:.92rem;color:rgba(255,255,255,.72)}
.pr-trust__item{display:inline-flex;align-items:center;gap:.45rem}
.pr-trust__item i{color:var(--success)}

/* ---------- how pricing works ---------- */
.pr-reassure{background:linear-gradient(160deg,#0d1a33,#0b1120);border:1px solid rgba(0,212,255,.4);
	border-radius:18px;padding:clamp(1.6rem,3.5vw,2.4rem);display:flex;gap:1.2rem;flex-wrap:wrap}
.pr-reassure__icon{flex:none;width:48px;height:48px;border-radius:12px;background:rgba(0,212,255,.12);
	border:1px solid rgba(0,212,255,.3);display:flex;align-items:center;justify-content:center;
	color:var(--cyan);font-size:1.3rem}
.pr-reassure__body{flex:1;min-width:16rem}
.pr-reassure__line{font-family:var(--font-display);font-size:clamp(1.3rem,2.8vw,1.9rem);
	color:#fff;line-height:1.2;margin-bottom:.7rem}
.xs-page .pr-reassure__text{font-size:1.02rem;line-height:1.65;color:rgba(255,255,255,.78);margin:0}
.xs-page .pr-reassure__text b{color:#fff}

/* ---------- the estimator control bar ---------- */
.pr-controls{background:#0b1120;border:1px solid rgba(255,255,255,.12);border-radius:16px;
	padding:clamp(1.1rem,2.4vw,1.6rem);display:flex;flex-wrap:wrap;gap:1.4rem;align-items:center;
	justify-content:space-between}
.pr-slider{flex:1;min-width:18rem}
.pr-slider__head{display:flex;justify-content:space-between;align-items:baseline;gap:.8rem;
	font-size:.86rem;color:rgba(255,255,255,.7);margin-bottom:.6rem}
.pr-slider__val{font-family:var(--font-display);color:var(--cyan);font-size:1.1rem}
/* the range input is styled from scratch — the theme has no opinion on it */
.xs-page .pr-slider__input{width:100%;-webkit-appearance:none;appearance:none;background:transparent;
	margin:0;padding:0;height:22px;border:0;box-shadow:none}
.xs-page .pr-slider__input::-webkit-slider-runnable-track{height:6px;border-radius:999px;
	background:rgba(255,255,255,.14)}
.xs-page .pr-slider__input::-moz-range-track{height:6px;border-radius:999px;background:rgba(255,255,255,.14)}
.xs-page .pr-slider__input::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;
	width:20px;height:20px;border-radius:50%;background:var(--cyan);border:0;margin-top:-7px;
	box-shadow:0 0 0 4px rgba(0,212,255,.18);cursor:pointer}
.xs-page .pr-slider__input::-moz-range-thumb{width:20px;height:20px;border-radius:50%;
	background:var(--cyan);border:0;box-shadow:0 0 0 4px rgba(0,212,255,.18);cursor:pointer}
.xs-page .pr-slider__input:focus{outline:none}
.xs-page .pr-slider__input:focus::-webkit-slider-thumb{box-shadow:0 0 0 5px rgba(0,212,255,.32)}

/* monthly / annual toggle */
.pr-toggle{display:inline-flex;background:#0d1526;border:1px solid rgba(255,255,255,.12);
	border-radius:999px;padding:.25rem;flex:none}
.xs-page .pr-toggle__btn{background:transparent;border:0;box-shadow:none;border-radius:999px;
	padding:.5rem 1.1rem;cursor:pointer;font-family:var(--font-body);font-size:.88rem;font-weight:700;
	color:rgba(255,255,255,.7);white-space:nowrap;transition:background .15s var(--ease),color .15s var(--ease)}
.xs-page .pr-toggle__btn:hover{background:rgba(255,255,255,.06);color:#fff}
/* active flips to dark text so it stays readable on the cyan fill */
.xs-page .pr-toggle__btn.is-on{background:var(--cyan);color:#04070f}
.xs-page .pr-toggle__btn.is-on:hover{background:var(--cyan);color:#04070f}
.pr-toggle__save{font-weight:400;opacity:.75}

/* ---------- plan cards ---------- */
.pr-plan{background:#0b1120;border:1px solid rgba(255,255,255,.12);border-radius:18px;
	padding:clamp(1.4rem,3vw,2rem);display:flex;flex-direction:column;position:relative}
.pr-plan--pro{background:linear-gradient(160deg,#0a2233,#0b1120);border:2px solid var(--cyan)}
.pr-plan--immortal{background:linear-gradient(160deg,#1a1330,#0b1120);border-color:rgba(185,150,255,.5)}
.pr-plan__badge{position:absolute;top:-.75rem;left:50%;transform:translateX(-50%);
	display:inline-flex;align-items:center;gap:.35rem;border-radius:999px;padding:.3rem .8rem;
	font-size:.64rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
.pr-plan__badge--red{background:var(--red-600);color:#fff}
.pr-plan__badge--purple{background:#8f6bff;color:#fff}
.pr-plan__name{font-family:var(--font-display);font-size:clamp(1.3rem,2.6vw,1.7rem);color:#fff}
.xs-page .pr-plan__sub{font-size:.94rem;line-height:1.5;color:rgba(255,255,255,.66);margin:.3rem 0 1.1rem}
.pr-plan__price{font-family:var(--font-display);font-size:clamp(2.2rem,5vw,3rem);color:#fff;line-height:1}
.pr-plan--pro .pr-plan__price{color:var(--cyan)}
.pr-plan--immortal .pr-plan__price{color:#c9b0ff;font-size:clamp(1.5rem,3vw,2rem)}
.pr-plan__per{font-size:.9rem;color:rgba(255,255,255,.55)}
.pr-plan__band{font-size:.8rem;color:rgba(255,255,255,.5);margin-top:.4rem;min-height:1.2em}
.pr-plan__feats{list-style:none;margin:1.3rem 0;padding:0;display:flex;flex-direction:column;gap:.6rem}
.pr-plan__feats li{display:flex;gap:.6rem;align-items:flex-start;font-size:.93rem;line-height:1.5;
	color:rgba(255,255,255,.8)}
.pr-plan__feats i{color:var(--success);flex:none;margin-top:.2rem;font-size:.8rem}
.pr-plan--immortal .pr-plan__feats i{color:#b996ff}
.pr-plan__plus{font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
	color:rgba(255,255,255,.5);margin-top:.2rem}
.pr-plan__foot{margin-top:auto}
.xs-page .pr-plan__cta{width:100%;justify-content:center}

/* ---------- tables ---------- */
/* The theme ships its own table skin; everything is restated here. */
.pr-tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch;
	border:1px solid rgba(255,255,255,.12);border-radius:16px;background:#0b1120}
.xs-page .pr-table{width:100%;border-collapse:collapse;margin:0;background:transparent;
	font-size:.94rem;min-width:34rem}
.xs-page .pr-table th,
.xs-page .pr-table td{border:0;border-bottom:1px solid rgba(255,255,255,.09);
	padding:.85rem 1.1rem;text-align:left;background:transparent;color:rgba(255,255,255,.82);
	vertical-align:middle}
.xs-page .pr-table thead th{font-family:var(--font-display);font-weight:400;color:#fff;
	font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;background:#0d1526;white-space:nowrap}
.xs-page .pr-table tbody tr:last-child th,
.xs-page .pr-table tbody tr:last-child td{border-bottom:0}
.xs-page .pr-table tbody tr:hover td,
.xs-page .pr-table tbody tr:hover th{background:rgba(0,212,255,.05)}
/* the band the estimator currently points at */
.xs-page .pr-table tbody tr.is-band td,
.xs-page .pr-table tbody tr.is-band th{background:rgba(0,212,255,.1)}
.pr-table__band{font-family:var(--font-display);color:#fff;white-space:nowrap}
.pr-table__belt{font-size:.72rem;color:var(--cyan);display:block}
.pr-table__price{font-family:var(--font-display);color:#fff;white-space:nowrap}
.pr-table__price--pro{color:var(--cyan)}
.pr-table__foot{font-size:.85rem;color:rgba(255,255,255,.5);margin-top:.8rem;text-align:center}
.pr-yes{color:var(--success)}
.pr-no{color:rgba(255,255,255,.28)}

/* ---------- tournaments + team ---------- */
.pr-card{background:#0b1120;border:1px solid rgba(255,255,255,.12);border-radius:18px;
	padding:clamp(1.4rem,3vw,2rem);display:flex;flex-direction:column}
.pr-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem}
.pr-card__tile{width:44px;height:44px;flex:none;border-radius:11px;background:rgba(0,212,255,.12);
	border:1px solid rgba(0,212,255,.3);display:flex;align-items:center;justify-content:center;
	color:var(--cyan);font-size:1.1rem}
.pr-card__name{font-family:var(--font-display);font-size:clamp(1.2rem,2.4vw,1.5rem);color:#fff}
.xs-page .pr-card__sub{font-size:.92rem;color:rgba(255,255,255,.62);margin:.2rem 0 0}
.pr-card__price{font-family:var(--font-display);font-size:clamp(1.8rem,3.6vw,2.4rem);color:#fff;
	line-height:1;margin-top:1rem}
.pr-card__note{font-size:.86rem;color:rgba(255,255,255,.6);margin-top:.35rem}
.pr-firstpill{display:inline-flex;align-items:center;gap:.35rem;background:rgba(58,219,118,.12);
	border:1px solid rgba(58,219,118,.45);border-radius:999px;padding:.3rem .7rem;margin-top:.7rem;
	font-size:.74rem;font-weight:700;color:var(--success)}
/* add-ons sit in their own inset tiles so they read as extras, not plans */
.pr-addons{display:flex;flex-direction:column;gap:.6rem;margin-top:1.2rem}
.pr-addon{background:#0d1526;border:1px solid rgba(255,255,255,.09);border-radius:11px;padding:.8rem 1rem}
.pr-addon__top{display:flex;justify-content:space-between;align-items:baseline;gap:.8rem}
.pr-addon__name{font-weight:700;font-size:.92rem;color:#fff}
.pr-addon__price{font-family:var(--font-display);color:var(--cyan);white-space:nowrap}
.xs-page .pr-addon__note{font-size:.84rem;line-height:1.45;color:rgba(255,255,255,.6);margin:.25rem 0 0}

/* ---------- fees ---------- */
.pr-fee{background:#0b1120;border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:20px}
.pr-fee__tile{width:42px;height:42px;border-radius:11px;background:rgba(0,212,255,.12);
	border:1px solid rgba(0,212,255,.3);display:flex;align-items:center;justify-content:center;
	color:var(--cyan);font-size:1.05rem;margin-bottom:.8rem}
.pr-fee__name{font-family:var(--font-display);font-size:1.1rem;color:#fff;margin-bottom:.35rem}
.xs-page .pr-fee__body{font-size:.92rem;line-height:1.55;color:rgba(255,255,255,.68);margin:0}

/* ---------- the fine print, in plain words ---------- */
.pr-fine{background:#0b1120;border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:22px}
.xs-page .pr-fine__q{font-family:var(--font-display);font-size:1.12rem;color:#fff;line-height:1.25;
	display:flex;align-items:baseline;gap:.6rem;margin-bottom:.55rem}
.pr-fine__i{color:var(--cyan);font-size:.95rem;flex:none;position:relative;top:1px}
.xs-page .pr-fine__a{font-size:.95rem;line-height:1.6;color:rgba(255,255,255,.72);margin:0}

/* ---------- testimonials ---------- */
.pr-quote{background:#0b1120;border:1px solid rgba(255,255,255,.1);border-radius:16px;
	padding:clamp(1.3rem,2.6vw,1.8rem);display:flex;flex-direction:column}
.pr-quote__mark{color:rgba(0,212,255,.5);font-size:1.4rem;margin-bottom:.6rem}
.xs-page .pr-quote__text{font-size:.96rem;line-height:1.65;color:rgba(255,255,255,.82);margin:0 0 1.1rem}
.pr-quote__who{margin-top:auto}
.pr-quote__name{font-family:var(--font-display);color:#fff;font-size:1.05rem}
.pr-quote__role{font-size:.82rem;color:var(--cyan)}

/* ---------- demo band + stamp ---------- */
.pr-demo{position:relative;overflow:hidden;text-align:center;
	background:linear-gradient(150deg,var(--navy-900),#0d1a33)}
.pr-demo__glow{position:absolute;top:-120px;left:50%;transform:translateX(-50%);width:640px;height:420px;
	background:radial-gradient(circle,rgba(0,212,255,.3),transparent 65%);filter:blur(26px);pointer-events:none}
.pr-stamp{font-family:var(--font-display);font-size:clamp(1.3rem,2.6vw,1.8rem);
	text-transform:uppercase;color:#fff;line-height:1.1}

@media (prefers-reduced-motion:reduce){
	.pr-hero__glow{animation:none}
}
