.cbp-wrap{direction:rtl;max-width:700px;margin:22px auto;padding:0 12px;font-family:inherit;color:#35263d}.cbp-card{background:#fff;border:1px solid #eee5f1;border-radius:22px;box-shadow:0 12px 35px rgba(57,31,67,.08);overflow:hidden}.cbp-head{text-align:center;padding:24px 18px 20px;background:linear-gradient(180deg,#faf7fc,#fff);border-bottom:1px solid #eee5f1}.cbp-head-title{font-size:25px;font-weight:800;color:#4c245d}.cbp-head-sub{margin-top:7px;font-size:13px;color:#806c88}.cbp-section{padding:20px 22px;border-bottom:1px solid #f0ebf2}.cbp-section-title{display:flex;align-items:center;gap:10px;margin-bottom:15px}.cbp-section-title>span{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#f0e7f5;color:#642f79;font-weight:800;font-size:13px}.cbp-section-title h3{margin:0;font-size:17px;color:#402348}.cbp-section-title small{display:block;margin-top:3px;color:#8a7b90;font-size:11px;font-weight:400}.cbp-label,.cbp-wrap label{font-size:13px;font-weight:700;color:#59465f}.cbp-wrap label{display:flex;flex-direction:column;gap:6px}.cbp-wrap em{font-style:normal;color:#b32d58}.cbp-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.cbp-grid-3{grid-template-columns:1fr 1fr 1.25fr}.cbp-wrap input{width:100%;box-sizing:border-box;border:1px solid #ddd2e2;border-radius:10px;background:#fff;color:#3e2e44;padding:10px 11px;font-size:14px;min-height:42px;outline:none;transition:.15s}.cbp-wrap input:focus{border-color:#8b5aa0;box-shadow:0 0 0 3px rgba(107,47,134,.08)}.cbp-calendar{border:1px solid #eee5f1;border-radius:15px;padding:12px;background:#fcfbfd}.cbp-cal-top{display:flex;align-items:center;justify-content:space-between;color:#4c245d;font-weight:800;font-size:15px;margin-bottom:8px}.cbp-cal-nav{border:0;background:#f3edf6;color:#5d2b70;width:30px;height:30px;border-radius:8px;cursor:pointer;font-size:22px;line-height:1}.cbp-cal-week,.cbp-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.cbp-cal-week span{text-align:center;font-size:10px;color:#8b7a91;padding:4px}.cbp-day{height:34px;border:0;border-radius:8px;background:#fff;color:#8d8390;font-size:12px;cursor:pointer}.cbp-day.available{color:#4b2b58;border:1px solid #e1d4e6;font-weight:700}.cbp-day.available:hover{background:#f3eaf6}.cbp-day.selected{background:#672e7e!important;color:#fff!important;border-color:#672e7e!important}.cbp-day.disabled{opacity:.25;cursor:not-allowed}.cbp-day.empty{visibility:hidden}.cbp-cal-note{font-size:10px;color:#918593;margin-top:8px;display:flex;align-items:center;gap:5px}.cbp-cal-note i{display:inline-block;width:7px;height:7px;background:#6d2f85;border-radius:50%}.cbp-time-area{margin-top:15px}.cbp-times{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:7px}.cbp-time-btn{border:1px solid #ded2e2;background:#fff;color:#4b3452;border-radius:9px;min-height:38px;font-size:13px;cursor:pointer}.cbp-time-btn:hover,.cbp-time-btn.selected{background:#6b2f86;color:#fff;border-color:#6b2f86}.cbp-empty{grid-column:1/-1;text-align:center;padding:12px;border-radius:9px;background:#faf7fb;color:#978a9b;font-size:12px}.cbp-empty.error{color:#a33}.cbp-payment-box{background:#fbf8fc;border:1px solid #eee2f2;border-radius:15px;padding:16px}.cbp-fee-label,.cbp-card-label{font-size:11px;color:#8a7b90}.cbp-fee-row{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:3px 0 12px}.cbp-fee-row strong{font-size:22px;color:#5d2b70}.cbp-fee-row span{font-size:11px;color:#76677d;white-space:nowrap}.cbp-cardnum{direction:ltr;text-align:center;letter-spacing:1.6px;font-size:18px;font-weight:800;color:#3e2947;background:#f1e8f5;border-radius:10px;padding:11px 8px;margin:5px 0 7px}.cbp-card-holder{font-size:12px;color:#7b6d81}.cbp-card-holder strong{color:#4a3154}.cbp-upload-wrap{display:flex;flex-direction:column;gap:6px}.cbp-upload{border:1px dashed #bca9c4;border-radius:10px;min-height:42px;display:flex!important;flex-direction:row!important;align-items:center;justify-content:center;gap:6px;background:#fcfafd;cursor:pointer;padding:0 9px;position:relative}.cbp-upload input{position:absolute;opacity:0;inset:0;cursor:pointer}.cbp-upload-button{font-size:12px;font-weight:700;color:#663075}.cbp-upload small{font-size:9px;color:#9a8c9f}.cbp-rules{padding:15px 22px;display:flex;align-items:center;justify-content:space-between;gap:12px}.cbp-rules label{display:flex;flex-direction:row;align-items:center;gap:7px;font-size:11px;font-weight:500}.cbp-rules label input{width:15px;min-height:15px;margin:0}.cbp-rules button{border:0;background:none;color:#69317e;text-decoration:underline;font-size:11px;cursor:pointer;white-space:nowrap}.cbp-submit{width:calc(100% - 44px);margin:0 22px 22px;border:0;border-radius:11px;background:#6b2f86;color:#fff;min-height:48px;padding:12px 16px;font-size:15px;font-weight:800;cursor:pointer;transition:.15s}.cbp-submit:hover{background:#57246f}.cbp-submit:disabled{opacity:.7;cursor:wait}.cbp-msg{color:#a32c4f;font-size:12px;text-align:center;padding:0 22px 10px;min-height:0}.cbp-modal{display:none;position:fixed;inset:0;background:rgba(29,18,34,.58);z-index:999999;align-items:center;justify-content:center;padding:18px}.cbp-modal.show{display:flex}.cbp-modal-box{width:min(560px,100%);max-height:82vh;overflow:auto;background:#fff;border-radius:18px;padding:24px;position:relative;box-shadow:0 20px 60px rgba(0,0,0,.2)}.cbp-close{position:absolute;left:10px;top:8px;width:34px;height:34px;border:0;background:#f3edf6;color:#5d2b70;border-radius:9px;font-size:24px;cursor:pointer}.cbp-modal-box h3{margin:0 0 15px;color:#4c245d;font-size:19px}.cbp-rules-content{font-size:13px;line-height:2;color:#57465d}.cbp-rules-content p{margin:0 0 8px}.cbp-success{direction:rtl;text-align:center;max-width:600px;margin:35px auto;padding:35px 22px;background:#fff;border:1px solid #eee5f1;border-radius:22px;box-shadow:0 12px 35px rgba(57,31,67,.08)}.cbp-success-icon{width:60px;height:60px;border-radius:50%;background:#6b2f86;color:#fff;font-size:34px;line-height:60px;margin:0 auto 14px}.cbp-success h2{font-size:21px;color:#43204f;margin:0 0 18px}.cbp-success-time{display:grid;grid-template-columns:auto 1fr;gap:7px 15px;max-width:270px;margin:0 auto 20px;text-align:right;font-size:13px}.cbp-success-time span{color:#8b7d91}.cbp-success-time strong{color:#5e2d70}.cbp-success p{line-height:2;font-size:13px}.cbp-support a{color:#5d2b70;font-weight:800;text-decoration:none}.cbp-modal-open{overflow:hidden}
@media(max-width:600px){.cbp-wrap{max-width:none;margin:10px auto;padding:0 8px}.cbp-card{border-radius:16px}.cbp-head{padding:18px 12px 16px}.cbp-head-title{font-size:21px}.cbp-section{padding:16px 13px}.cbp-section-title{margin-bottom:12px}.cbp-section-title h3{font-size:15px}.cbp-section-title small{font-size:10px}.cbp-grid,.cbp-grid-3{grid-template-columns:1fr 1fr;gap:9px}.cbp-grid-3 .cbp-upload-wrap{grid-column:1/-1}.cbp-wrap input{min-height:39px;padding:8px 9px;font-size:13px}.cbp-times{grid-template-columns:repeat(3,1fr);gap:6px}.cbp-time-btn{min-height:36px;font-size:12px}.cbp-cardnum{font-size:16px;letter-spacing:1px}.cbp-fee-row{align-items:flex-end}.cbp-fee-row strong{font-size:19px}.cbp-fee-row span{font-size:10px}.cbp-rules{padding:13px}.cbp-rules label span{line-height:1.6}.cbp-submit{width:calc(100% - 26px);margin:0 13px 14px;min-height:45px;font-size:14px}.cbp-modal{padding:10px}.cbp-modal-box{padding:21px 16px;border-radius:15px}.cbp-success{margin:20px 8px;padding:28px 16px}.cbp-success h2{font-size:18px}}
@media(max-width:380px){.cbp-grid,.cbp-grid-3{grid-template-columns:1fr}.cbp-grid-3 .cbp-upload-wrap{grid-column:auto}.cbp-times{grid-template-columns:repeat(2,1fr)}.cbp-fee-row{flex-direction:column;gap:2px}.cbp-cardnum{font-size:14px}}
\n/* v5 visual refinements */
.cbp-wrap{max-width:610px}
.cbp-head{text-align:center}
.cbp-day{position:relative}
.cbp-day.available{background:#eef9f1;border-color:#bfe4c8;color:#28733a}
.cbp-day.available:hover{background:#dff3e5;border-color:#9ed2aa}
.cbp-day.disabled{opacity:1;background:#faf9fb;color:#b0a8b2;border-color:#eee9f0;cursor:not-allowed}
.cbp-day.disabled::after{content:'×';position:absolute;inset:0;display:grid;place-items:center;color:#b9b1bb;font-size:18px;font-weight:500}
.cbp-cal-legend{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin-top:10px;color:#817486;font-size:10px}
.cbp-cal-legend span{display:inline-flex;align-items:center;gap:5px}
.cbp-cal-legend i{display:inline-grid;place-items:center;width:10px;height:10px;border-radius:3px;font-style:normal}
.cbp-cal-legend .is-free{background:#42a85b}
.cbp-cal-legend .is-off{background:#eee9ef;color:#aaa2ad;font-size:11px}
.cbp-fee-row{justify-content:flex-start;align-items:baseline;gap:10px}
.cbp-fee-row span{font-size:11px;color:#77697d}
.cbp-success-box{text-align:center;padding:30px 24px 24px}
.cbp-success-box h3{margin:0 0 16px;color:#43204f;font-size:20px}
.cbp-success-box .cbp-success-icon{width:58px;height:58px;border-radius:50%;background:#6b2f86;color:#fff;font-size:32px;line-height:58px;margin:0 auto 13px}
.cbp-success-box .cbp-success-time{display:grid;grid-template-columns:auto 1fr;gap:8px 16px;max-width:290px;margin:0 auto 18px;text-align:right;font-size:13px}
.cbp-success-box .cbp-success-time span{color:#8b7d91}
.cbp-success-box .cbp-success-time strong{color:#5e2d70}
.cbp-success-box p{font-size:13px;line-height:2;color:#5d4b64}
.cbp-success-ok{border:0;background:#6b2f86;color:#fff;border-radius:10px;padding:10px 25px;font-weight:800;cursor:pointer;margin-top:5px}
@media(max-width:600px){.cbp-wrap{max-width:100%;padding:0 7px}.cbp-head-title{font-size:20px}.cbp-head-sub{font-size:12px}.cbp-section{padding:14px 12px}.cbp-wrap input{min-height:38px;font-size:12.5px}.cbp-day{height:32px}.cbp-cal-legend{font-size:9px;gap:8px}.cbp-success-box{padding:28px 17px 20px}.cbp-success-box h3{font-size:18px}}

/* v6 typography + RTL alignment refinements */
.cbp-wrap,
.cbp-wrap input,
.cbp-wrap button,
.cbp-wrap label,
.cbp-wrap h1,
.cbp-wrap h2,
.cbp-wrap h3,
.cbp-wrap small,
.cbp-wrap span,
.cbp-wrap div{
  font-family:"Vazirmatn","IRANSans","IRANSansX",Tahoma,Arial,sans-serif;
}
.cbp-head-title,
.cbp-head-sub,
.cbp-section-title,
.cbp-section-title h3,
.cbp-section-title small,
.cbp-label,
.cbp-wrap label,
.cbp-fee-label,
.cbp-card-label,
.cbp-card-holder,
.cbp-upload-button,
.cbp-upload small,
.cbp-rules,
.cbp-rules label,
.cbp-rules button,
.cbp-msg{
  text-align:right;
}
.cbp-section-title{
  direction:rtl;
  justify-content:flex-start;
}
.cbp-section-title > div{
  flex:1;
  min-width:0;
  text-align:right;
}
.cbp-section-title h3{
  font-size:18px;
  font-weight:800;
  line-height:1.5;
  margin:0;
}
.cbp-section-title small{
  line-height:1.7;
}
.cbp-section-title > span{
  flex:0 0 32px;
  width:32px;
  height:32px;
  background:#d94b63;
  color:#fff;
  border:2px solid #d94b63;
  box-shadow:0 3px 8px rgba(217,75,99,.18);
  font-size:14px;
  font-weight:900;
  line-height:1;
}
.cbp-label,
.cbp-wrap label{
  align-items:stretch;
}
.cbp-wrap input{
  text-align:right;
}
.cbp-cardnum{
  text-align:center;
}
.cbp-cal-top{
  text-align:right;
}
.cbp-fee-row{
  direction:rtl;
}
.cbp-fee-row strong,
.cbp-fee-row span{
  text-align:right;
}
.cbp-upload-button,
.cbp-upload small{
  text-align:right;
}
@media(max-width:600px){
  .cbp-section-title h3{font-size:15px}
  .cbp-section-title small{font-size:9.5px}
  .cbp-section-title > span{flex-basis:29px;width:29px;height:29px;font-size:12px}
}

/* v7 mobile calendar overflow fix */
.cbp-calendar,
.cbp-cal-week,
.cbp-cal-grid{
  width:100%;
  max-width:100%;
  min-width:0;
  box-sizing:border-box;
}
.cbp-cal-week,
.cbp-cal-grid{
  grid-template-columns:repeat(7,minmax(0,1fr));
}
.cbp-cal-week span,
.cbp-day{
  min-width:0;
  max-width:100%;
  box-sizing:border-box;
}
.cbp-day{
  width:100%;
  padding:0;
  overflow:hidden;
}
@media(max-width:600px){
  .cbp-calendar{padding:9px;overflow:hidden}
  .cbp-cal-week,.cbp-cal-grid{gap:2px}
  .cbp-cal-week span{padding:3px 0;font-size:9px}
  .cbp-day{height:30px;font-size:11px;border-radius:7px}
  .cbp-day.disabled::after{font-size:16px}
}
@media(max-width:360px){
  .cbp-calendar{padding:7px}
  .cbp-cal-week,.cbp-cal-grid{gap:1px}
  .cbp-cal-week span{font-size:8px}
  .cbp-day{height:28px;font-size:10px;border-radius:6px}
  .cbp-day.disabled::after{font-size:15px}
}

/* v9 premium bank card UI */
.cbp-payment-box{background:#fbf8fc;border:1px solid #eee2f2;border-radius:18px;padding:16px}
.cbp-bank-card{position:relative;overflow:hidden;margin:12px 0 10px;border-radius:18px;padding:17px 17px 14px;color:#fff;background:linear-gradient(135deg,#4a185f 0%,#742b8b 52%,#a43d77 100%);box-shadow:0 12px 25px rgba(83,34,104,.22);min-height:142px;box-sizing:border-box}
.cbp-bank-card:before,.cbp-bank-card:after{content:"";position:absolute;border-radius:50%;pointer-events:none}.cbp-bank-card:before{width:180px;height:180px;right:-80px;top:-110px;background:rgba(255,255,255,.08)}.cbp-bank-card:after{width:130px;height:130px;left:-70px;bottom:-80px;background:rgba(255,255,255,.07)}
.cbp-bank-card-top,.cbp-bank-card-bottom{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between}.cbp-bank-chip{width:34px;height:25px;border-radius:7px;background:linear-gradient(135deg,#e8d6a1,#fff0bf);box-shadow:inset 0 0 0 1px rgba(90,50,30,.15)}.cbp-bank-name{font-size:12px;font-weight:800;opacity:.95}.cbp-bank-card-number{position:relative;z-index:1;direction:ltr;text-align:center;margin:22px 0 17px;font-size:19px;letter-spacing:2px;font-weight:800;text-shadow:0 2px 5px rgba(0,0,0,.18);white-space:nowrap}.cbp-bank-card-bottom{font-size:9px}.cbp-bank-card-bottom span{display:block;opacity:.7;margin-bottom:2px}.cbp-bank-card-bottom strong{font-size:11px;font-weight:700}.cbp-bank-mark{font-size:10px;letter-spacing:2px;opacity:.7;font-weight:800}.cbp-copy-card{width:100%;border:1px solid #d8c5df;background:#fff;color:#612a75;border-radius:10px;min-height:38px;font-size:12px;font-weight:800;cursor:pointer;transition:.15s}.cbp-copy-card:hover{background:#f6eff8}.cbp-copy-card span{margin-right:4px}.cbp-copy-msg{min-height:16px;text-align:center;color:#3a8a4d;font-size:10px;margin-top:4px}.cbp-card-label{margin-top:8px}
@media(max-width:600px){.cbp-bank-card{min-height:130px;padding:14px 14px 12px;border-radius:16px}.cbp-bank-card-number{font-size:16px;letter-spacing:1.4px;margin:19px 0 15px}.cbp-bank-chip{width:30px;height:22px}.cbp-bank-name{font-size:11px}.cbp-bank-card-bottom strong{font-size:10px}.cbp-copy-card{min-height:36px;font-size:11px}}
@media(max-width:360px){.cbp-bank-card-number{font-size:14px;letter-spacing:1px}.cbp-bank-card{padding:12px;min-height:122px}}
