/* PTP full-page checkout --------------------------------------------------- */
.ptp-payment-sheet{
  --checkout-accent:#2EB58A;
  --checkout-ink:#14252a;
  --checkout-muted:#6f7f83;
  --checkout-line:#dfe7e4;
  --checkout-bg:#f5f7f5;
  position:fixed;
  inset:0;
  z-index:100050;
  overflow-y:auto;
  overscroll-behavior:contain;
  background:var(--checkout-bg);
  color:var(--checkout-ink);
  font-family:"Vazirmatn","Vazir",Tahoma,sans-serif;
  direction:rtl;
}
.ptp-payment-sheet__backdrop{display:none!important}
.ptp-payment-sheet__dialog{
  position:relative;
  width:100%;
  min-height:100dvh;
  max-height:none;
  overflow:visible;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.ptp-payment-sheet__topbar{
  position:sticky;
  top:0;
  z-index:8;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  min-height:76px;
  padding:12px clamp(20px,4vw,64px);
  border-bottom:1px solid rgba(20,37,42,.09);
  background:rgba(245,247,245,.94);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
}
.ptp-payment-sheet__brand{display:flex;justify-content:center;align-items:center}
.ptp-payment-sheet__brand img{display:block;width:128px;height:54px;object-fit:contain}
.ptp-payment-sheet__safe{justify-self:start;display:flex;align-items:center;gap:8px;color:#5f7074;font-size:13px;font-weight:700}
.ptp-payment-sheet__safe::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--checkout-accent);box-shadow:0 0 0 5px rgba(46,181,138,.10)}
.ptp-payment-sheet__x{
  position:static;
  justify-self:end;
  display:inline-flex;
  align-items:center;
  gap:8px;
  width:auto;
  height:42px;
  padding:0 14px;
  border:1px solid #d9e2df;
  border-radius:12px;
  background:#fff;
  color:#31464b;
  font:800 13px/1 inherit;
  cursor:pointer;
}
.ptp-payment-sheet__x::after{content:"بازگشت"}
.ptp-payment-sheet__x:hover{border-color:#bccbc6;background:#fbfcfb}
.ptp-payment-sheet__layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(300px,390px);
  gap:clamp(28px,4vw,58px);
  width:min(1180px,calc(100% - 40px));
  margin:0 auto;
  padding:clamp(34px,5vw,68px) 0 70px;
}
.ptp-payment-sheet__main{min-width:0}
.ptp-payment-sheet__kicker{display:block;margin-bottom:8px;color:#23856c;font-size:12px;font-weight:900;letter-spacing:.16em}
.ptp-payment-sheet h2{margin:0;color:#13272c;font-size:clamp(28px,3vw,38px);line-height:1.45;font-weight:900;letter-spacing:-.025em}
.ptp-payment-sheet__dialog>p{display:none}
.ptp-payment-sheet__description{margin:10px 0 0;color:#6a797d;font-size:15px;line-height:2}
.ptp-payment-sheet__section-title{display:flex;align-items:end;justify-content:space-between;gap:18px;margin:34px 0 14px}
.ptp-payment-sheet__section-title strong{font-size:16px;color:#263b40}
.ptp-payment-sheet__section-title small{font-size:12px;color:#849195}
.ptp-payment-sheet__accounts{margin-top:30px}
.ptp-payment-sheet__accounts>header{display:flex;align-items:end;justify-content:space-between;gap:14px;margin-bottom:13px}
.ptp-payment-sheet__accounts>header strong{color:#263a3f;font-size:16px}
.ptp-payment-sheet__accounts>header small{color:#819095;font-size:12px;line-height:1.8}
.ptp-payment-account-option{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:5px 16px;
  margin-top:10px;
  min-height:106px;
  padding:18px 54px 18px 76px;
  border:1px solid var(--checkout-line);
  border-radius:18px;
  background:#fff;
  cursor:pointer;
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease,background .18s ease;
}
.ptp-payment-account-option:hover{transform:translateY(-1px);border-color:#b9d8cd;box-shadow:0 10px 28px rgba(27,62,54,.06)}
.ptp-payment-account-option.is-selected{border-color:#63c4a4;background:#f6fcf9;box-shadow:0 0 0 3px rgba(46,181,138,.09)}
.ptp-payment-account-option input{position:absolute;top:50%;right:20px;width:20px;height:20px;transform:translateY(-50%);accent-color:var(--checkout-accent)}
.ptp-payment-account-option__bank{color:#6c7c80;font-size:12px;font-weight:800}
.ptp-payment-account-option strong{grid-column:1/-1;color:#142b31;font-size:19px;letter-spacing:.08em;text-align:right;line-height:1.5}
.ptp-payment-account-option small{color:#52656a;font-size:12px;line-height:1.7}
.ptp-payment-account-option em{color:#819095;font-size:11px;font-style:normal;line-height:1.7}
.ptp-payment-account-option button{position:absolute;left:16px;top:50%;height:36px;padding:0 12px;transform:translateY(-50%);border:1px solid #d7e3df;border-radius:10px;background:#fff;color:#27785f;font:800 11px/1 inherit;cursor:pointer}
.ptp-payment-sheet__empty{padding:32px 20px;border:1px dashed #cfddd8;border-radius:18px;background:#fff;color:#748489;font-size:14px;line-height:2;text-align:center}
.ptp-payment-sheet__summary{align-self:start;position:sticky;top:110px;padding:24px;border:1px solid #dfe7e4;border-radius:22px;background:#fff;box-shadow:0 16px 44px rgba(25,55,49,.06)}
.ptp-payment-sheet__summary-kicker{display:block;color:#879398;font-size:12px;font-weight:800}
.ptp-payment-sheet__summary h3{margin:8px 0 22px;color:#20353a;font-size:18px;line-height:1.8}
.ptp-payment-sheet__summary-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:13px 0;border-top:1px solid #edf1ef;color:#6b7a7e;font-size:13px}
.ptp-payment-sheet__summary-row strong{color:#23383d;font-size:14px}
.ptp-payment-sheet__amount{display:block;margin:8px 0 0;padding:20px 0 6px;border:0;border-top:1px solid #dfe7e4;border-radius:0;background:transparent}
.ptp-payment-sheet__amount span{display:block;margin-bottom:5px;color:#748388;font-size:12px}
.ptp-payment-sheet__amount strong{display:block;color:#16795d;font-size:25px;line-height:1.5}
.ptp-payment-sheet__summary-note{margin:18px 0 0;padding:13px 14px;border-radius:12px;background:#f2f8f5;color:#61736e;font-size:11px;line-height:1.9}
.ptp-payment-sheet__actions{display:grid;grid-template-columns:1fr;gap:10px;margin-top:20px;padding:0;border:0}
.ptp-payment-sheet__actions button{height:50px;padding:0 18px;border:1px solid #d9e3df;border-radius:13px;background:#fff;color:#516368;font:800 13px/1 inherit;cursor:pointer}
.ptp-payment-sheet__actions button.is-primary{order:-1;border-color:var(--checkout-accent);background:var(--checkout-accent);color:#fff;box-shadow:0 10px 24px rgba(46,181,138,.20)}
.ptp-payment-sheet__actions button.is-primary:hover{filter:brightness(.96)}
.ptp-payment-sheet__actions button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}
body.ptp-checkout-open,html:has(.ptp-payment-sheet){overflow:hidden!important}

@media(max-width:850px){
  .ptp-payment-sheet__topbar{grid-template-columns:auto 1fr auto;min-height:66px;padding:10px 16px}
  .ptp-payment-sheet__brand{justify-content:center}.ptp-payment-sheet__brand img{width:105px;height:44px}
  .ptp-payment-sheet__safe{font-size:0;gap:0}.ptp-payment-sheet__safe::before{width:8px;height:8px}
  .ptp-payment-sheet__x{height:40px;padding:0 11px;font-size:12px}.ptp-payment-sheet__x::after{content:"بازگشت"}
  .ptp-payment-sheet__layout{grid-template-columns:1fr;width:min(100% - 28px,720px);gap:24px;padding:30px 0 50px}
  .ptp-payment-sheet__summary{position:static;order:-1;padding:20px;border-radius:18px}
  .ptp-payment-sheet__summary h3{margin-bottom:14px;font-size:16px}
  .ptp-payment-sheet__amount strong{font-size:22px}
  .ptp-payment-sheet h2{font-size:27px}
  .ptp-payment-sheet__description{font-size:14px}
}
@media(max-width:560px){
  .ptp-payment-sheet__layout{width:min(100% - 22px,520px);padding-top:22px}
  .ptp-payment-sheet__topbar{min-height:60px}.ptp-payment-sheet__brand img{width:92px;height:38px}
  .ptp-payment-sheet__x{border:0;background:transparent;padding:0;font-size:12px}.ptp-payment-sheet__x::after{content:"بازگشت"}
  .ptp-payment-sheet__safe{display:none}
  .ptp-payment-sheet h2{font-size:24px}
  .ptp-payment-sheet__accounts{margin-top:24px}.ptp-payment-sheet__accounts>header{align-items:flex-start;flex-direction:column}.ptp-payment-sheet__accounts>header strong{font-size:15px}.ptp-payment-sheet__accounts>header small{font-size:11px}
  .ptp-payment-account-option{min-height:112px;padding:17px 48px 17px 58px;border-radius:16px}.ptp-payment-account-option input{right:16px}.ptp-payment-account-option button{left:11px;padding:0 9px}.ptp-payment-account-option strong{font-size:16px;letter-spacing:.06em}.ptp-payment-account-option small,.ptp-payment-account-option__bank{font-size:11px}
  .ptp-payment-sheet__summary{padding:17px}.ptp-payment-sheet__actions button{height:48px}
}
