/* ==========================================================================
   VPNDQ — pricing.css
   Page-scoped styles for price.html: plans, top-up packs, comparison,
   payment methods, refund band. All values come from :root tokens.
   ========================================================================== */

/* ---------- pagehero ----------------------------------------------------- */
.hero--page{padding:44px 0 40px}
.hero--page .hero__in{text-align:center}
.hero--page .h1{margin-top:14px;font-size:clamp(34px,5vw,58px)}
.hero--page .sub{margin-inline:auto}

.pgsp{position:absolute;color:var(--gold);pointer-events:none;opacity:.9}
.pgsp svg{width:100%;height:100%}
.pgsp--a{left:6%;top:18%;width:15px;height:15px}
.pgsp--b{right:8%;top:24%;width:10px;height:10px}
.pgsp--c{left:11%;bottom:16%;width:8px;height:8px}
.pgsp--d{right:12%;bottom:22%;width:6px;height:6px;border-radius:50%;background:var(--gold);opacity:.55}

/* ---------- cycle switch row -------------------------------------------- */
.cycle-row{display:flex;justify-content:center;margin-bottom:26px}
.cycle-row .seg{margin-bottom:0}

/* ---------- plan cards -------------------------------------------------- */
#plan-area .plan-card__price{margin-top:10px}
#plan-area .plan-card__price span{display:inline-block}

/* ---------- included list ----------------------------------------------- */
.inc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 20px}
.inc-item{
  display:flex;align-items:flex-start;gap:10px;min-width:0;
  padding:13px 16px;border-radius:var(--r-md);
  background:var(--panel);border:1px solid var(--line);
  box-shadow:0 8px 20px -16px var(--accent-18);
  font-size:14.5px;line-height:1.6;color:var(--ink);
}
.inc-item svg{width:16px;height:16px;flex:none;color:var(--ok);margin-top:3px}
.inc-item span{min-width:0}

/* ---------- comparison table -------------------------------------------- */
.compare-table{min-width:820px}
.compare-table td:first-child,.compare-table th:first-child{
  position:sticky;left:0;z-index:1;
  background:var(--panel-2);font-weight:700;white-space:nowrap;
}
.compare-table thead th:first-child{background:var(--panel-2)}
.compare-table tbody tr:hover td:first-child{background:var(--panel-2)}
.compare-table td{font-size:13.5px}

/* ---------- payment methods --------------------------------------------- */
.pay-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.pay-card{
  display:flex;flex;flex-direction:column;gap:10px;min-width:0;
  padding:24px 22px;background:var(--panel);border:1px solid var(--line);
  border-radius:var(--r-lg);box-shadow:var(--shadow-card);
}
.pay-card__ico{
  width:46px;height:46px;border-radius:15px;flex:none;
  display:grid;place-items:center;
  background:linear-gradient(150deg,var(--accent) 0%,var(--accent-dark) 100%);
  color:var(--white);box-shadow:inset 0 1px 0 var(--chrome-hi);
}
.pay-card__ico svg{width:24px;height:24px}
.pay-card__name{font-size:17px;font-weight:800;color:var(--ink)}
.pay-card__text{font-size:14px;line-height:1.75;color:var(--muted)}

/* ---------- purchase flow ----------------------------------------------- */
.flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:26px}
.flow__step{
  position:relative;min-width:0;padding:20px 18px;
  background:var(--panel-3);border:1px solid var(--line);border-radius:var(--r-lg);
}
.flow__num{
  display:inline-flex;align-items:center;justify-content:center;
  width:28px;height:28px;border-radius:50%;flex:none;
  background:var(--accent);color:var(--white);
  font-family:var(--font-mono);font-size:13px;font-weight:700;
}
.flow__title{margin-top:10px;font-size:15.5px;font-weight:800;color:var(--ink)}
.flow__text{margin-top:6px;font-size:13.5px;line-height:1.7;color:var(--muted)}

/* ---------- refund band ------------------------------------------------- */
.refund-band{
  padding:30px 28px;border-radius:var(--r-xl);
  background:linear-gradient(140deg,var(--accent) 0%,var(--accent-dark) 100%);
  color:var(--chrome-text);
  box-shadow:0 28px 54px -26px var(--accent-18),inset 0 1px 0 var(--chrome-hi);
}
.refund-band__head{display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.refund-band__tag{
  display:inline-flex;align-items:center;gap:7px;height:26px;padding:0 12px;
  border-radius:var(--r-pill);background:var(--gold-16);color:var(--gold);
  font-size:12.5px;font-weight:800;letter-spacing:.02em;white-space:nowrap;max-width:100%;
}
.refund-band__title{
  font-family:var(--font-display);font-size:clamp(21px,2.6vw,27px);
  font-weight:900;letter-spacing:-.02em;color:var(--white);line-height:1.3;
}
.refund-band__text{margin-top:14px;font-size:14.5px;line-height:1.8;color:var(--chrome-text);max-width:70ch}
.refund-band__list{margin-top:18px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.refund-band__item{
  padding:11px 14px;border-radius:var(--r-md);
  background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.16);
  font-size:13px;line-height:1.6;min-width:0;
}

/* ---------- responsive -------------------------------------------------- */
@media (max-width:1024px){
  .pay-grid{grid-template-columns:minmax(0,1fr)}
  .flow{grid-template-columns:repeat(2,minmax(0,1fr))}
  .refund-band__list{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:768px){
  .hero--page{padding:32px 0 30px}
  .pgsp{display:none}
  .inc-grid{grid-template-columns:minmax(0,1fr)}
  .compare-table{min-width:720px}
}
@media (max-width:640px){
  .flow{grid-template-columns:minmax(0,1fr)}
  .refund-band{padding:22px 18px}
  .compare-table{min-width:640px}
}