.vps-pay-main{max-width:680px;margin:0 auto;padding:28px 18px 60px}
.vps-pay-head{padding:12px 18px}.vps-pay-head a{color:inherit;text-decoration:none;font-weight:bold}
.vps-pay h1{font-size:1.6rem;margin:10px 0 18px}
.vps-pay-card{border:1px solid rgba(127,140,160,.35);border-radius:12px;padding:22px}
.vps-pay-warn{background:rgba(201,162,39,.12)}.vps-pay-ok{background:rgba(30,107,70,.12)}
.vps-pay-desc{font-size:.92em;opacity:.85}
.vps-pay-sum{width:100%;border-collapse:collapse;margin:14px 0 20px}
.vps-pay-sum td{padding:8px 6px;border-bottom:1px solid rgba(127,140,160,.25)}
.vps-pay-sum td:last-child{text-align:right}
.vps-pay-total td{font-weight:bold;font-size:1.08em}
#qty{width:90px;padding:7px;font:inherit;text-align:right;border:1px solid rgba(127,140,160,.5);border-radius:6px;background:transparent;color:inherit}
.vps-pay-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.vps-pay-grid label{display:flex;flex-direction:column;font-size:.85em;font-weight:bold;gap:4px}
.vps-pay-grid input,.vps-pay-grid textarea{padding:9px 11px;font:inherit;border:1px solid rgba(127,140,160,.5);border-radius:6px;background:transparent;color:inherit}
.vps-pay-wide{grid-column:1/-1}
@media(max-width:560px){.vps-pay-grid{grid-template-columns:1fr}}
.vps-pay-note{font-size:.82em;opacity:.85;margin:16px 0}
.vps-pay-btn{width:100%;padding:14px;font:inherit;font-weight:bold;font-size:1.05em;border:0;border-radius:8px;background:#0b3d6b;color:#fff;cursor:pointer}
.vps-pay-btn:hover{background:#0a4f8a}.vps-pay-btn:disabled{opacity:.6;cursor:wait}
.vps-pay-msg{margin-top:12px;font-size:.9em;min-height:1.2em}.vps-pay-msg.bad{color:#c0392b;font-weight:bold}
.vps-pay-foot{font-size:.78em;opacity:.7;margin-top:26px;text-align:center}
/* vps-ux1 */
.vps-pay-pinrow{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 0;max-width:460px}
.vps-pay-pinrow input{flex:1 1 180px;min-width:0;padding:10px 13px;font:inherit;border:1px solid rgba(127,140,160,.5);border-radius:6px;background:transparent;color:inherit}
.vps-pay-btn2{padding:10px 18px;font:inherit;font-weight:bold;border:0;border-radius:6px;background:#c9a227;color:#12202e;cursor:pointer}
.vps-pay-pinout:empty{display:none}
.vps-pay-pinout{margin:12px 0 0;padding:11px 14px;border-radius:8px;font-size:.9em;max-width:560px;border:1px solid rgba(127,140,160,.45)}
.vps-pay-pinout.ok{background:rgba(30,107,70,.12)}
.vps-pay-pinout.bad{background:rgba(192,57,43,.12);font-weight:bold}
.vps-pay-step2{margin-top:22px;padding-top:6px}
.vps-pay-trust{margin-top:18px;font-size:.9em}
.vps-pay-trust h3{margin-top:0}
.vps-pay h3{margin:22px 0 4px;font-size:1.05em}

/* vps-pay-trust-aug30 */
.vps-pay-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 18px;flex-wrap:wrap}
.vps-pay-brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:inherit}
.vps-pay-brand img{display:block;width:36px;height:36px}
.vps-pay-brandtxt{display:flex;flex-direction:column;line-height:1.15}
.vps-pay-brandtxt b{font-size:1.02rem;letter-spacing:1.5px;color:#FFBF00}
.vps-pay-brandtxt i{font-style:normal;font-size:.7rem;letter-spacing:.4px;color:rgba(248,250,252,.86)}
.vps-pay-brand,.vps-pay-brand *{color:rgba(248,250,252,.86)}
.vps-pay-brandtxt b,.vps-pay-brand b{color:#FFBF00}

.vps-pay-secure{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;font-weight:600;
  padding:5px 11px;border-radius:999px;background:rgba(74,222,128,.15);color:#6ee7a8}
.vps-pay-secure *{color:#6ee7a8}
.vps-pay-foot{margin-top:30px;padding-top:16px;border-top:1px solid rgba(127,140,160,.25);
  font-size:.78rem;line-height:1.7;opacity:.85;text-align:center}
.vps-pay-foot b{opacity:1}
@media (max-width:560px){.vps-pay-head{gap:8px}.vps-pay-brandtxt b{font-size:.92rem}}

/* ---------------------------------------------------------------------------
   Moved here from an inline <style> block in cart.php on 5 September 2026.
   The checkout's security policy is style-src 'self' with no 'unsafe-inline',
   so that block was being refused by the browser - including the [hidden]
   rule below, without which a hidden button still showed. Same rules, same
   order, now served from a same-origin stylesheet so the policy allows them.
   --------------------------------------------------------------------------- */
.vps-cart-t{width:100%;border-collapse:collapse;margin:6px 0 18px}
.vps-cart-t th{text-align:left;font-size:.78em;text-transform:uppercase;letter-spacing:.04em;opacity:.7;padding:6px 6px;border-bottom:1px solid rgba(127,140,160,.35)}
.vps-cart-t td{padding:11px 6px;border-bottom:1px solid rgba(127,140,160,.22);vertical-align:top}
.vps-cart-t td:last-child,.vps-cart-t th:last-child{text-align:right;white-space:nowrap}
.vps-cart-t .q input{width:64px;padding:6px;font:inherit;text-align:right;border:1px solid rgba(127,140,160,.5);border-radius:6px;background:transparent;color:inherit}
.vps-cart-sku{font-weight:bold}
.vps-cart-sub{font-size:.85em;opacity:.75;display:block;margin-top:2px}
.vps-cart-rm{background:none;border:0;color:inherit;opacity:.6;cursor:pointer;font:inherit;font-size:.82em;text-decoration:underline;padding:0;margin-top:6px;display:inline-block}
.vps-cart-rm:hover{opacity:1}
.vps-cart-rp{font-size:.9em;opacity:.85;font-style:italic}
.vps-cart-empty{text-align:center;padding:26px 6px}
.vps-cart-sec{margin:26px 0 0}
.vps-pay .vps-pay-card h2{font-size:1.12em;margin:0 0 2px;line-height:1.3}
.vps-cart-hint{font-size:.86em;opacity:.8;margin:0 0 10px}
.vps-pay-btn.alt{background:#c9a227;color:#12202e}
.vps-pay-btn.alt:hover{background:#dcb433}
.vps-cart-btns{display:flex;flex-direction:column;gap:10px}
/* site-wide style.min.css carries "button,.btn{display:inline-block}", which
   outranks the browser's [hidden] rule - without this a hidden button still shows. */
[hidden]{display:none!important}
/* replaces style="position:absolute;left:-9999px" on the spam-trap field,
   which the policy also refused, leaving it visible in the middle of the form */
.vps-hp{position:absolute;left:-9999px}
/* replaces style="margin-top:0" on two headings */
.vps-mt0{margin-top:0}
/* replaces style="text-transform:uppercase" on the GSTIN field (pay.php) */
.vps-uc{text-transform:uppercase}
