/* ============================================================
 * pay.css — UMUMIY to'lov oynasi (barcha sahifalar uchun).
 *   To'lov jarayoni 4 bosqich: Tasdiq → Yuborilmoqda → Buyurtma → Ochildi.
 *   Dizayn hamma joyda AYNI bir xil (obuna, kategoriya, video, kitob).
 *   pay.js DOM'ni o'zi joylaydi.
 *
 *   Ranglar to'lov konteynerida (.preq-scrim) e'lon qilinadi — global
 *   :root'ga tegilmaydi, sahifa ranglariga ta'sir qilmaydi.
 * ============================================================ */

.preq-scrim{
  --ink:#16233F;--slate:#56617A;--line:#E6E2D9;--paper:#F4F1EB;--card:#FFF;
  --violet:#6B4CA0;--violet-soft:#EFEAF7;--gold:#E0A93B;
  --azure:#2F6DB0;--azure-soft:#E8F0F8;--ok:#1E7A57;--ok-soft:#E7F4EE;
  position:fixed;inset:0;z-index:1200;background:rgba(12,18,30,.6);
  display:none;align-items:center;justify-content:center;padding:22px;
  font-family:'Inter',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  -webkit-overflow-scrolling:touch;overflow:auto;
}
.preq-scrim.on{display:flex}

/* ---- Karta asosi ---- */
.preq{background:var(--card);color:var(--ink);border-radius:24px;width:100%;max-width:400px;
  box-shadow:0 30px 70px rgba(0,0,0,.42);overflow:hidden;margin:auto}
.preq .accent{height:5px;background:linear-gradient(90deg,#2F6DB0,#6B4CA0,#E0A93B)}
.preq .accent.ok{background:linear-gradient(90deg,#1f6b4e,#12463a)}
.preq .pbody{padding:22px 22px 20px}

/* ---- Yuqori qator: ikonka + buyurtma raqami ---- */
.preq .ptop{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px;min-height:48px}
.preq .pic{width:48px;height:48px;border-radius:14px;background:var(--azure-soft);color:var(--azure);display:grid;place-items:center;flex:0 0 auto}
.preq .pic.ok{background:var(--ok-soft);color:var(--ok)}
.preq .pno{font-family:'IBM Plex Mono',monospace;font-size:12px;font-weight:700;color:var(--slate);
  background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:6px 12px}

/* ---- Sarlavha / teg ---- */
.preq .pwhat{font-family:'Spectral',serif;font-size:21px;font-weight:600;color:var(--ink);margin:0 0 4px;line-height:1.22}
.preq .ptag{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;color:var(--violet);
  background:var(--violet-soft);border-radius:999px;padding:3px 10px;margin:0 0 15px}

/* ---- Xulosa qatorlari (Muddat / Jami) ---- */
.preq .psum{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:2px 16px;margin-bottom:14px}
.preq .prow{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--line);gap:12px}
.preq .prow:last-child{border-bottom:0}
.preq .prow .k{font-size:13px;color:var(--slate)}
.preq .prow .v{font-family:'IBM Plex Mono',monospace;font-size:14px;font-weight:600;color:var(--ink);white-space:nowrap;text-align:right}
.preq .prow.tot .k{font-size:14px;font-weight:700;color:var(--ink)}
.preq .prow.tot .v{font-size:21px;font-weight:700;color:var(--ok)}

/* ---- Tasdiqlash tugmasi ---- */
.preq .pcta{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;border:0;border-radius:13px;
  padding:14px;font-weight:700;font-size:14px;font-family:inherit;cursor:pointer;color:#fff;
  background:linear-gradient(135deg,#1f6b4e,#12463a);box-shadow:0 6px 18px rgba(30,107,78,.3);margin-bottom:8px}
.preq .pcta:disabled{opacity:.9;cursor:default}
.preq .pclose{width:100%;background:none;border:0;color:var(--slate);padding:13px;font-size:13.5px;cursor:pointer;font-family:inherit;margin-top:2px}

/* Kichik spinner (tugma ichida) */
.preq .pw{width:15px;height:15px;border-radius:50%;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;display:inline-block;vertical-align:-2px;animation:pwsp .8s linear infinite}
@keyframes pwsp{to{transform:rotate(360deg)}}

/* ---- 30 Daqiqalik Vaqt Taymeri ---- */
.preq .ptimer-box{display:flex;align-items:center;justify-content:space-between;background:linear-gradient(135deg,#FFF6F6,#FDE8ED);border:1px solid #F8C4D0;border-radius:14px;padding:10px 14px;margin-bottom:14px;transition:.2s}
.preq .ptimer-txt{font-size:12px;font-weight:600;color:#9E2A4B;display:flex;align-items:center;gap:6px}
.preq .ptimer-clock{font-family:'IBM Plex Mono',monospace;font-size:15px;font-weight:800;color:#C2375C;background:#ffffff;padding:3px 9px;border-radius:8px;box-shadow:0 2px 6px rgba(194,55,92,.15)}

/* ---- To'lov usuli tanlash ---- */
.preq .poptlbl{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--slate);margin:14px 2px 10px;text-align:left}
.preq .popt{display:flex;align-items:center;gap:12px;border:1.5px solid var(--line);border-radius:16px;padding:12px 14px;margin-bottom:10px;
  text-decoration:none;color:var(--ink);font-size:14px;background:var(--card);width:100%;cursor:pointer;text-align:left;
  font-family:inherit;transition:.18s;box-shadow:0 2px 8px rgba(22,35,63,.04)}
.preq .popt:hover{border-color:var(--azure);box-shadow:0 6px 18px rgba(47,109,176,.15);transform:translateY(-2px)}
.preq .popt:active{transform:translateY(0)}
.preq .popt .pi{width:40px;height:40px;flex:0 0 auto;border-radius:12px;display:grid;place-items:center}
.preq .popt .popt-logo{display:flex;align-items:center;justify-content:center;flex:0 0 auto;padding:5px 9px;background:#F0FAF9;border-radius:12px;border:1px solid #d0f2f0}
.preq .popt.payme-opt{border-color:#bcece9;background:linear-gradient(135deg,#FFFFFF,#F4FBFB);position:relative}
.preq .popt.payme-opt:hover,.preq .popt.payme-opt.active{border-color:#14C7C1;border-width:2px;background:linear-gradient(135deg,#FFFFFF,#EFFBFB);box-shadow:0 8px 24px rgba(20,199,193,.28);transform:translateY(-1px)}
.preq .popt .popt-badge{position:absolute;top:-10px;right:14px;background:linear-gradient(120deg,#14C7C1,#0EB1AA);color:#fff;font-size:10px;font-weight:800;padding:2px 9px;border-radius:999px;box-shadow:0 2px 6px rgba(20,199,193,.35);letter-spacing:.02em}
.preq .popt.admin-opt{border-color:#cbe0f5;background:linear-gradient(135deg,#FFFFFF,#F3F8FC)}
.preq .popt.admin-opt:hover{border-color:#2F6DB0;box-shadow:0 6px 20px rgba(47,109,176,.22)}
.preq .popt .admin-ico{background:linear-gradient(135deg,#2AABEE,#229ED9);color:#fff;box-shadow:0 4px 10px rgba(34,158,217,.32)}
.preq .popt .ptxt{display:flex;flex-direction:column;line-height:1.28;flex:1;min-width:0}
.preq .popt .ptxt b{font-size:13.5px;color:var(--ink);font-weight:700}
.preq .popt .ptxt small{font-weight:500;font-size:11px;color:var(--slate);margin-top:2px}
.preq .popt .pa{margin-left:auto;color:#b7c0cf;font-size:20px;font-weight:700;transition:.18s}
.preq .popt:hover .pa{color:var(--ink);transform:translateX(2px)}

/* ---- Jonli "kutilmoqda" belgisi (spinner o'rniga) ---- */
.preq .plive{display:flex;align-items:center;gap:10px;text-align:left;background:var(--ok-soft);
  border:1px solid rgba(30,122,87,.22);border-radius:13px;padding:12px 13px;margin:4px 0 14px}
.preq .plive .dot{position:relative;width:10px;height:10px;flex:0 0 auto}
.preq .plive .dot::before{content:'';position:absolute;inset:0;border-radius:50%;background:var(--ok)}
.preq .plive .dot::after{content:'';position:absolute;inset:0;border-radius:50%;background:var(--ok);animation:pping 1.6s ease-out infinite}
.preq .plive p{margin:0;font-size:12px;color:#215c45;line-height:1.5}
.preq .plive p b{color:#12463a}
@keyframes pping{0%{transform:scale(1);opacity:.55}100%{transform:scale(3.1);opacity:0}}

/* ---- Ochildi (muvaffaqiyat) ---- */
.preq .pok{text-align:center;padding:8px 4px 2px}
.preq .pok .check{width:66px;height:66px;margin:6px auto 14px;border-radius:50%;background:var(--ok-soft);color:var(--ok);
  display:grid;place-items:center;animation:ppop .4s cubic-bezier(.2,1.4,.4,1)}
.preq .pok h3{font-family:'Spectral',serif;font-size:21px;margin:0 0 6px;color:var(--ink);font-weight:600}
.preq .pok p{font-size:13px;color:var(--slate);margin:0 0 4px}
.preq .pok p b{color:var(--ink)}
.preq .pok .rel{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;color:var(--azure);margin-top:12px}
.preq .pok .rel .pw{border-color:rgba(47,109,176,.35);border-top-color:var(--azure)}
@keyframes ppop{0%{transform:scale(.5);opacity:0}100%{transform:scale(1);opacity:1}}

@media(prefers-reduced-motion:reduce){
  .preq .pw,.preq .plive .dot::after,.preq .pok .check{animation:none}
}

/* ---- «Nima olasiz» qatori ---- */
.preq .pget{display:flex;gap:11px;align-items:center;background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:11px 13px;margin-bottom:14px}
.preq .pget .gi{width:34px;height:34px;border-radius:10px;background:var(--violet-soft);color:var(--violet);display:grid;place-items:center;flex:0 0 auto}
.preq .pget .gi svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2.2}
.preq .pget .gt{font-size:12.5px;line-height:1.3;min-width:0}
.preq .pget .gt b{display:block;font-size:13px;color:var(--ink)}
.preq .pget .gt span{color:var(--slate)}

/* ---- Narx hero bloki (chegirmali / sodda) ---- */
.preq .phero{position:relative;overflow:hidden;border-radius:18px;padding:15px 17px 14px;margin-bottom:14px;background:linear-gradient(135deg,#FFFAF7,#FBF1F2);border:1px solid #EFDDE1}
.preq .phero::after{content:"";position:absolute;right:-34px;top:-34px;width:120px;height:120px;border-radius:50%;background:radial-gradient(circle,rgba(214,58,106,.09),transparent 70%);pointer-events:none}
.preq .phero .hl{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:#b3708a;margin-bottom:6px}
.preq .phero .prow{display:flex;align-items:baseline;justify-content:flex-start;gap:9px;flex-wrap:wrap;position:relative;z-index:1;border:0;padding:0}
.preq .phero .new{font-family:'IBM Plex Mono',monospace;font-size:25px;font-weight:800;color:#C2375C;line-height:.95;letter-spacing:-.01em}
.preq .phero .cur{font-size:12.5px;font-weight:600;color:#C2375C}
.preq .phero .old{font-family:'IBM Plex Mono',monospace;font-size:14px;color:#a6adba;text-decoration:line-through;font-weight:600}
.preq .phero .off{margin-left:auto;align-self:center;font-size:12px;font-weight:800;color:#fff;background:#D63A6A;padding:4px 10px;border-radius:11px;font-family:'IBM Plex Mono',monospace;box-shadow:0 2px 7px rgba(214,58,106,.28)}
.preq .phero .save{margin-top:9px;display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:700;color:#1E7A57;background:#E9F5EF;border-radius:999px;padding:4px 11px;position:relative;z-index:1}
.preq .phero .save svg{width:13px;height:13px;stroke:#1E7A57;fill:none;stroke-width:2.4}
.preq .phero.plain{background:linear-gradient(135deg,#F1F8F4,#E7F4EE);border-color:#CDE8DA}
.preq .phero.plain .hl{color:#2b6b52}
.preq .phero.plain .new{color:#12463a}
.preq .phero.plain .cur{color:#1E7A57}

/* ===== Belgi (badge) variantlari + chegirmali narx — umumiy ===== */
.uibadge{display:inline-flex;align-items:center;gap:3px;font-size:10px;font-weight:800;letter-spacing:.02em;color:#fff;padding:3px 9px;border-radius:999px;white-space:nowrap;box-shadow:0 2px 6px rgba(0,0,0,.18)}
.uiprice{display:inline-flex;align-items:baseline;gap:6px;flex-wrap:wrap}
.uiprice .uinew{font-weight:800;color:#8a6516}
.uiprice .uicur{font-size:.72em;font-weight:600;color:#8a6516;opacity:.85}
.uiprice.disc .uiold{color:var(--slate,#8891a3);opacity:.7;text-decoration:line-through;font-weight:600;font-size:.86em}
.uiprice.disc .uinew{color:#c0392b}
.uiprice.disc .uicur{color:#c0392b}
.uiprice .uioff{font-size:.7em;font-weight:800;color:#fff;background:#c0392b;padding:1px 6px;border-radius:999px;align-self:center}
/* Kartaning burchagidagi «−45%» chegirma belgisi (barcha bo'limlar uchun umumiy) */
.pay-off{position:absolute;top:0;right:0;z-index:5;background:linear-gradient(135deg,#DC2626,#9B1C1C);color:#fff;font-weight:900;font-size:13px;font-family:'IBM Plex Mono',monospace;letter-spacing:.01em;padding:6px 12px 7px;border-bottom-left-radius:14px;box-shadow:0 3px 9px rgba(219,38,38,.34);line-height:1;pointer-events:none}
.pay-off small{display:block;font-family:'Inter',sans-serif;font-size:7.5px;font-weight:800;letter-spacing:.1em;opacity:.85;text-align:center;text-transform:uppercase;margin-top:2px}
.pay-off.sm{font-size:11px;padding:4px 9px 5px;border-bottom-left-radius:12px}
/* pastki-o'ng burchak varianti (rasmli kartalar uchun — yuqori burchaklar band bo'lsa) */
.pay-off.br{top:auto;bottom:0;right:0;border-bottom-left-radius:0;border-top-left-radius:14px}
.pay-off.br.sm{border-top-left-radius:12px}

/* Cheklangan-son chegirmasi: «🔥 N ta qoldi» belgisi (PayUI.stockChip) */
.pay-stock{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:800;color:#a5471f;background:#FCEBD9;border:1px solid #f3cfa6;border-radius:20px;padding:3px 10px;font-family:'Inter',sans-serif;white-space:nowrap;line-height:1.35}
.pay-stock.crit{color:#fff;background:linear-gradient(120deg,#F97316,#DC2626);border-color:transparent;animation:paystockpulse 1.15s ease-in-out infinite}
@keyframes paystockpulse{0%,100%{box-shadow:0 0 0 0 rgba(220,38,38,.5)}50%{box-shadow:0 0 0 6px rgba(220,38,38,0)}}
/* Ijtimoiy dalil belgisi (PayUI.usersChip) */
.pay-users{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;color:#2b4a6b;background:#EAF1F8;border:1px solid #d3e2f0;border-radius:20px;padding:3px 10px 3px 8px;font-family:'Inter',sans-serif;white-space:nowrap;line-height:1.35}
.pay-users svg{width:13px;height:13px;flex:0 0 auto;opacity:.85}
.pay-users b{font-weight:800;color:#16233F}
.pay-member{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:800;color:#7a4d16;background:linear-gradient(120deg,#ffe08a,#ffbf3f);border-radius:20px;padding:4px 10px;font-family:'Inter',sans-serif;white-space:nowrap;line-height:1.3}
/* Bo'lim (section) blanket chegirmasi yorlig'i (PayUI.sectionTag) */
.pay-section{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:800;color:#D63A6A;background:#FBE9EF;border:1px solid rgba(214,58,106,.28);border-radius:20px;padding:3px 10px;font-family:'Inter',sans-serif;white-space:nowrap;line-height:1.35}

/* ============================================================
 * Promokod maydoni (confirm karta ichida) — pay.js promoFieldHTML()
 * ============================================================ */
.preq .ppromo{border:1px solid var(--line);border-radius:16px;background:var(--paper);padding:13px 14px;margin-bottom:14px}
.preq .pp-lab{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:var(--slate);display:flex;align-items:center;gap:6px;margin-bottom:10px}
.preq .pp-lab svg{width:14px;height:14px;stroke:var(--gold);fill:none;stroke-width:2.1;flex:0 0 auto}
.preq .pp-field{display:flex;gap:8px}
.preq .pp-field input{flex:1;min-width:0;font-family:'IBM Plex Mono',monospace;font-size:14px;letter-spacing:.08em;text-transform:uppercase;padding:11px 13px;border:1.5px solid var(--line);border-radius:12px;background:var(--card);color:var(--ink)}
.preq .pp-field input::placeholder{color:#aeb4c0;letter-spacing:0;text-transform:none;font-family:'Inter',sans-serif}
.preq .pp-field input:focus-visible{outline:2px solid var(--azure);outline-offset:1px;border-color:var(--azure)}
.preq .pp-apply{border:0;border-radius:12px;padding:0 16px;font-family:inherit;font-weight:700;font-size:13.5px;cursor:pointer;background:var(--ink);color:#fff;white-space:nowrap;transition:filter .15s,transform .08s}
.preq .pp-apply:hover{filter:brightness(1.15)} .preq .pp-apply:active{transform:translateY(1px)}
.preq .pp-apply:disabled{opacity:.6;cursor:default}
.preq .pp-apply:focus-visible{outline:2px solid var(--azure);outline-offset:2px}
.preq .pp-msg{display:none;margin-top:9px;font-size:12px;font-weight:600;line-height:1.4}
.preq .pp-msg.show{display:block}
.preq .pp-msg.bad{color:#b3261e}
.preq .pp-applied{display:none;margin-top:10px;align-items:center;justify-content:space-between;gap:8px;background:var(--ok-soft);border:1px solid rgba(30,122,87,.3);border-radius:12px;padding:9px 12px}
.preq .pp-applied.show{display:flex}
.preq .pp-applied .l{display:flex;align-items:center;gap:8px;min-width:0}
.preq .pp-applied .tik{width:20px;height:20px;flex:0 0 auto;border-radius:50%;background:var(--ok);color:#fff;display:grid;place-items:center}
.preq .pp-applied .tik svg{width:12px;height:12px;stroke:#fff;fill:none;stroke-width:3}
.preq .pp-applied .ac{font-family:'IBM Plex Mono',monospace;font-weight:800;color:#12463a;font-size:13px;letter-spacing:.05em}
.preq .pp-applied .ad{font-size:11px;color:#215c45}
.preq .pp-applied .rm{background:none;border:0;color:var(--slate);cursor:pointer;font-size:11.5px;text-decoration:underline;flex:0 0 auto}
