/* Flick Pay — customer facing
   Bangla: Hind Siliguri + Noto Sans Bengali. Numbers/latin: Inter.
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Hind+Siliguri:wght@400;500;600;700&family=Noto+Sans+Bengali:wght@400;500;600;700&family=Inter:wght@400;500;600;700&display=swap');

body.woocommerce-checkout,
body.woocommerce-checkout .woocommerce,
body.woocommerce-order-received,
.fp-pay,.fp-verify,.fp-modes,.fp-zones,.fp-teaser,.woocommerce-checkout .woocommerce-info,
.woocommerce-checkout .woocommerce-error,.woocommerce-checkout .woocommerce-message,
.woocommerce-checkout .payment_box,.woocommerce-checkout #payment,
.woocommerce-checkout .woocommerce-NoticeGroup{
  --fp-font:'Hind Siliguri','Noto Sans Bengali','Inter',system-ui,-apple-system,sans-serif;
  font-family:var(--fp-font)!important;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale
}

.fp-pay,.fp-verify{
  --fp-accent:#E11D2E; --fp-radius:16px; --fp-brand:var(--fp-accent);
  --fp-ink:#14161a; --fp-mut:#6b7280; --fp-line:#ecedf0; --fp-soft:#fafafb;
  --fp-shadow:0 1px 2px rgba(16,18,22,.04),0 8px 24px rgba(16,18,22,.06);
  font-family:'Hind Siliguri','Noto Sans Bengali','Inter',system-ui,-apple-system,sans-serif;
  color:var(--fp-ink); -webkit-font-smoothing:antialiased;
}
.fp-pay *,.fp-verify *{box-sizing:border-box}
.fp-pay{margin-top:12px;line-height:1.6}

/* Stuck Woo BlockUI must never permanently gray out checkout */
.woocommerce-checkout .blockUI,
.woocommerce-checkout .blockUI.blockOverlay,
.woocommerce-checkout .blockOverlay,
body.woocommerce-checkout .blockUI{
  display:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important
}
body.woocommerce-checkout .woocommerce,
body.woocommerce-checkout #order_review,
body.woocommerce-checkout #payment,
body.woocommerce-checkout .woocommerce-checkout-payment{
  opacity:1!important;pointer-events:auto!important;filter:none!important
}
.fpsms-rescue{display:none!important}
.fpsms-pay-wrap{margin:10px 0 14px}
.fpsms-pay-card{
  border:1.5px solid #e5e7eb;border-radius:14px;padding:14px;background:#fff;
  box-shadow:0 1px 2px rgba(16,18,22,.04)
}
.fpsms-pay-card-h{display:flex;align-items:center;gap:10px;margin:0 0 10px}
/* Legacy black pill — restyle as normal label so "BKASH / NAGAD" never shows as a badge. */
.fpsms-pay-badge,
.fpsms-gw-label,
.woocommerce-checkout li.payment_method_fpsms_pay > label{
  display:flex!important;align-items:center;gap:10px;width:100%;padding:12px 14px!important;
  border:1.5px solid #e5e7eb!important;border-radius:12px!important;background:#fff!important;
  color:#111827!important;font:700 14px/1.3 'Hind Siliguri','Noto Sans Bengali','Inter',system-ui,sans-serif!important;
  text-transform:none!important;letter-spacing:0!important;box-sizing:border-box!important
}
.fpsms-gw-ico{
  flex:0 0 auto;width:28px;height:28px;border-radius:8px;display:grid;place-items:center;
  background:#111827;color:#fff
}
.fpsms-gw-ico svg{display:block;width:16px;height:16px}
.fpsms-gw-txt{min-width:0;line-height:1.25}
.fpsms-method-on > label.fpsms-gw-label,
li.payment_method_fpsms_pay > label{
  border-color:#111827!important
}
.woocommerce-checkout li.payment_method_fpsms_pay .payment_box,
.woocommerce-checkout .payment_box.payment_method_fpsms_pay{
  display:block!important;visibility:visible!important;opacity:1!important;
  background:transparent!important;padding:10px 0 0!important;margin:0!important;border:0!important;
  box-shadow:none!important
}
#place_order,.woocommerce-checkout #place_order{
  font-family:'Hind Siliguri','Noto Sans Bengali','Inter',system-ui,sans-serif!important;font-weight:700
}

/* ---------- Checkout teaser (before hosted redirect) ---------- */
.fp-teaser{
  --fp-accent:#E11D2E;margin:4px 0 0;padding:12px 14px;border:1px solid #eceef2;border-radius:14px;
  background:#fff;box-shadow:none;font-family:'Hind Siliguri','Inter',system-ui,sans-serif
}
.fp-teaser-head{display:flex;align-items:flex-start;gap:10px;margin:0 0 10px}
.fp-teaser-mark{
  flex:0 0 auto;width:36px;height:36px;border-radius:10px;display:grid;place-items:center;
  background:color-mix(in srgb,var(--fp-accent,#E11D2E) 12%,#fff);color:var(--fp-accent,#E11D2E)
}
.fp-teaser-mark svg,.fp-teaser-ico{display:block;width:18px;height:18px}
.fp-teaser-brands{display:flex;align-items:center}
.fp-teaser-brand{
  width:32px;height:32px;border-radius:9px;background:#fff;border:1px solid #e5e7eb;
  display:grid;place-items:center;margin-left:-6px;overflow:hidden
}
.fp-teaser-brand:first-child{margin-left:0}
.fp-teaser-brand img{width:70%;height:70%;object-fit:contain}
.fp-teaser-head-txt{min-width:0;flex:1}
.fp-teaser-head-txt b{display:block;font-size:14px;font-weight:700;line-height:1.3;color:#111827;margin:0}
.fp-teaser-head-txt span{display:block;margin-top:2px;font-size:12px;color:#6b7280;line-height:1.4;font-weight:500}
.fp-teaser-sum{
  border:1px solid #eceef2;border-radius:12px;overflow:hidden;background:#fafafa;margin:0 0 12px
}
.fp-teaser-sum-row{
  display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;
  border-bottom:1px solid #eceef2;font-size:13.5px;font-weight:700;color:#111827
}
.fp-teaser-sum-row:last-child{border-bottom:0}
.fp-teaser-sum-row span{min-width:0}
.fp-teaser-sum-row b{font-family:'Inter',sans-serif;font-size:14.5px;font-weight:700;color:var(--fp-accent,#E11D2E);white-space:nowrap}

/* Compact steps — kill theme borders that made each step look like a broken card */
.fp-teaser-steps,
.woocommerce-checkout .fp-teaser-steps,
.payment_box .fp-teaser-steps,
#payment .fp-teaser-steps{
  list-style:none!important;margin:0!important;padding:0!important;
  display:flex!important;flex-direction:column!important;gap:8px!important;
  border:0!important;background:transparent!important
}
.fp-teaser-steps li,
.woocommerce-checkout .fp-teaser-steps li,
.payment_box .fp-teaser-steps li,
#payment .fp-teaser-steps li{
  display:flex!important;flex-direction:row!important;align-items:flex-start!important;gap:10px!important;
  margin:0!important;padding:0!important;border:0!important;border-radius:0!important;
  background:transparent!important;box-shadow:none!important;list-style:none!important;
  width:100%!important;max-width:100%!important
}
.fp-teaser-steps li:before,
.fp-teaser-steps li:after{content:none!important;display:none!important}
.fp-teaser-steps li > span{
  flex:0 0 22px!important;width:22px!important;height:22px!important;min-width:22px!important;
  border-radius:50%!important;
  background:color-mix(in srgb,var(--fp-accent,#E11D2E) 12%,#fff)!important;
  color:var(--fp-accent,#E11D2E)!important;display:grid!important;place-items:center!important;
  font-size:11px!important;font-weight:800!important;font-family:'Inter',system-ui,sans-serif!important;margin-top:1px!important;
  border:0!important;padding:0!important;box-shadow:none!important;line-height:1!important
}
.fp-teaser-steps li > div,
.woocommerce-checkout .fp-teaser-steps li > div,
.payment_box .fp-teaser-steps li > div{
  min-width:0!important;flex:1 1 auto!important;display:block!important;
  border:0!important;padding:0!important;margin:0!important;
  background:transparent!important;box-shadow:none!important;border-radius:0!important
}
.fp-teaser-steps b,
.fp-teaser-steps i,
.woocommerce-checkout .fp-teaser-steps b,
.woocommerce-checkout .fp-teaser-steps i{
  display:block!important;float:none!important;width:auto!important;max-width:100%!important;
  border:0!important;padding:0!important;background:transparent!important;box-shadow:none!important
}
.fp-teaser-steps b{font-size:13px!important;font-weight:700!important;line-height:1.35!important;color:#111827!important;margin:0!important}
.fp-teaser-steps i{font-style:normal!important;font-size:12px!important;color:#6b7280!important;margin-top:2px!important;line-height:1.4!important;font-weight:500!important}

/* Hide old COD note + trust chips under Payment options */
.fp-teaser-trust,
.fp-cod-note,
#fp-cod-note{display:none!important}

/* Never show COD as a Woo payment radio — it lives in Payment options only */
body.woocommerce-checkout li.payment_method_fpsms_cod,
body.woocommerce-checkout li.payment_method_cod,
body.woocommerce-checkout .payment_method_fpsms_cod,
body.woocommerce-checkout .payment_method_cod,
#payment li.payment_method_fpsms_cod,
#payment li.payment_method_cod{
  display:none!important;visibility:hidden!important;height:0!important;overflow:hidden!important;margin:0!important;padding:0!important;border:0!important
}

body.fpsms-cod-checkout #payment .wc_payment_methods,
body.fpsms-cod-checkout #payment .payment_box,
body.fpsms-cod-checkout .fpsms-cod-mode .wc_payment_methods,
body.fpsms-cod-checkout .fpsms-cod-mode .payment_box,
body.fpsms-cod-checkout .fp-teaser,
body.fpsms-cod-checkout #payment > .woocommerce-info,
body.fpsms-cod-checkout .woocommerce-checkout-payment .payment_methods{
  display:none!important
}
.fp-cod-modal{position:fixed;inset:0;z-index:100000;display:none;align-items:center;justify-content:center;padding:20px}
.fp-cod-modal.on{display:flex}
.fp-cod-modal[hidden]{display:none!important}
.fp-cod-modal-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.45)}
.fp-cod-modal-card{
  position:relative;z-index:1;width:100%;max-width:420px;background:#fff;border-radius:16px;
  padding:22px 20px 18px;box-shadow:0 20px 50px rgba(15,23,42,.25);
  font-family:'Hind Siliguri','Inter',system-ui,sans-serif
}
.fp-cod-modal-card h3{margin:0 0 8px;font-size:18px;font-weight:700;color:#111827;line-height:1.3}
.fp-cod-modal-body{margin:0 0 16px;font-size:13.5px;line-height:1.5;color:#4b5563}
.fp-cod-modal-go{
  display:block;width:100%;border:0;border-radius:12px;padding:12px 16px;
  background:var(--fp-accent,#E11D2E);color:#fff;font-weight:700;font-size:15px;cursor:pointer
}
body.fp-cod-modal-open{overflow:hidden}

.fpsms-gw-desc{display:none!important}
.fp-teaser-card{
  border:1px solid var(--fp-line,#ecedf0);border-radius:14px;padding:14px 16px;
  background:linear-gradient(180deg,color-mix(in srgb,var(--fp-accent,#E11D2E) 7%,#fff),#fff)
}
.fp-teaser-k{display:block;font-size:12px;color:#667085;font-weight:600;margin-bottom:4px}
.fp-teaser-v{display:block;font-family:Inter,sans-serif;font-size:22px;font-weight:700;color:var(--fp-accent,#E11D2E);line-height:1.2}
.fp-teaser-later{display:block;margin-top:4px;font-size:12.5px;color:#667085;font-weight:600}
.fp-teaser-s{margin:8px 0 0;font-size:13px;color:#475467;line-height:1.45}

@media (max-width:480px){
  .fp-teaser{padding:12px}
}

/* ---------- Payment countdown ---------- */
.fp-timer{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  margin:0 0 14px;padding:12px 14px;border-radius:12px;
  background:#fff;border:1px solid var(--fp-line);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.6)
}
.fp-timer-k{font-size:13px;color:var(--fp-mut);font-weight:600}
.fp-timer-v{font-family:Inter,ui-monospace,monospace;font-size:20px;font-weight:700;color:var(--fp-accent);letter-spacing:.04em}
.fp-timer.is-low .fp-timer-v{color:#b42318}
.fp-slip{display:flex;flex-direction:column;gap:6px;margin:12px 0 4px;font-size:13px;color:var(--fp-mut)}
.fp-slip input[type=file]{font-size:12.5px}

/* ---------- Pipra / Uddokta-style hosted shell ---------- */
.fp-hosted{
  background:#fff;border:1px solid var(--fp-line);border-radius:calc(var(--fp-radius) + 4px);
  box-shadow:var(--fp-shadow);padding:18px 16px 16px;max-width:560px
}
.fp-host-brand{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.fp-host-logo{width:48px;height:48px;border-radius:50%;object-fit:contain;background:#fff;border:1px solid var(--fp-line);padding:6px;box-sizing:border-box}
.fp-host-name{display:block;font-size:17px;font-weight:700;line-height:1.2}
.fp-host-sub{display:block;font-size:12.5px;color:var(--fp-mut);margin-top:2px}
.fp-host-amount{
  text-align:center;padding:18px 14px;margin-bottom:14px;border-radius:var(--fp-radius);
  background:linear-gradient(180deg,color-mix(in srgb,var(--fp-accent) 8%,#fff),#fff);
  border:1px solid color-mix(in srgb,var(--fp-accent) 22%,var(--fp-line))
}
.fp-host-amount-k{display:block;font-size:13px;color:var(--fp-mut);margin-bottom:4px}
.fp-host-amount-v{display:block;font-family:'Inter',sans-serif;font-size:34px;font-weight:700;color:var(--fp-accent);line-height:1.1}
.fp-host-amount-later{display:block;margin-top:8px;font-size:12.5px;color:var(--fp-mut)}
.fp-host-amount-later b{color:var(--fp-ink);font-family:'Inter',sans-serif}
.fp-host-groups{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 12px}
.fp-host-group{
  flex:1 1 auto;min-width:110px;border:1px solid var(--fp-line);background:#fff;border-radius:12px;
  padding:10px 12px;font-weight:700;font-size:13px;cursor:pointer;color:#475467;font-family:inherit
}
.fp-host-group.on{background:var(--fp-accent);border-color:var(--fp-accent);color:#fff}
.fp-host-gateways{display:grid;grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:10px;margin-bottom:12px}
.fp-host-gw{
  position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;margin:0;cursor:pointer;
  background:#fff;border:1.5px solid var(--fp-line);border-radius:14px;padding:14px 10px 12px;
  transition:border-color .15s,box-shadow .15s,transform .15s;text-align:center
}
.fp-host-gw:hover{transform:translateY(-1px);border-color:#d0d5dd}
.fp-host-gw.on{border-color:var(--fp-brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--fp-brand) 14%,transparent)}
.fp-host-gw input{position:absolute;opacity:0;pointer-events:none}
.fp-host-gw-logo{
  width:52px;height:52px;border-radius:14px;background:#f8fafc;border:1px solid var(--fp-line);
  display:flex;align-items:center;justify-content:center;overflow:hidden
}
.fp-host-gw-logo img{max-width:70%;max-height:70%;object-fit:contain}
.fp-host-gw-logo em{font-style:normal;font-weight:800;font-size:14px;color:var(--fp-brand);font-family:'Inter',sans-serif}
.fp-host-gw-meta{display:flex;flex-direction:column;gap:2px;min-width:0;width:100%}
.fp-host-gw-meta b{font-size:13px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fp-host-gw-meta i{font-style:normal;font-size:10px;color:var(--fp-mut);text-transform:uppercase;letter-spacing:.04em;font-family:'Inter',sans-serif}

/* ---------- heading ---------- */
.fp-head{display:flex;align-items:center;gap:9px;margin-bottom:13px}
.fp-head-bar{width:4px;height:18px;background:var(--fp-accent);border-radius:3px;flex:0 0 auto}
.fp-head-txt{font-weight:700;font-size:16.5px;flex:1 1 auto;min-width:0}
.fp-chip{flex:0 0 auto;font-size:10.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;
  background:#eef0f2;color:#4b5158;padding:4px 11px;border-radius:99px;font-family:'Inter',sans-serif}
.fp-chip-adv{background:var(--fp-accent);color:#fff}

/* ---------- amount summary (rows never overlap) ---------- */
.fp-sum{border:1px solid var(--fp-line);border-radius:var(--fp-radius);background:#fff;
  box-shadow:var(--fp-shadow);overflow:hidden;margin-bottom:12px}
.fp-sum-hero{display:flex;align-items:baseline;justify-content:space-between;gap:14px;
  padding:15px 17px;background:linear-gradient(180deg,#fff,var(--fp-soft))}
.fp-sum-k{font-size:13px;color:var(--fp-mut);flex:1 1 auto;min-width:0}
.fp-sum-v{font-family:'Inter',sans-serif;font-size:27px;font-weight:700;color:var(--fp-accent);
  line-height:1.1;white-space:nowrap;flex:0 0 auto}
.fp-sum-row{display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:11px 17px;border-top:1px solid var(--fp-line);font-size:13.5px}
.fp-sum-row span{color:var(--fp-mut);flex:1 1 auto;min-width:0}
.fp-sum-row b{font-family:'Inter',sans-serif;white-space:nowrap;flex:0 0 auto;font-weight:600}
.fp-sum-total{background:var(--fp-soft)}
.fp-sum-total b{color:var(--fp-ink)}

/* ---------- exact-amount warning ---------- */
.fp-warn{display:flex;gap:11px;align-items:flex-start;background:#fff8f8;
  border:1px solid #f7d5d8;border-left:4px solid var(--fp-accent);
  border-radius:calc(var(--fp-radius) - 3px);padding:12px 14px;margin-bottom:14px}
.fp-warn-ico{color:var(--fp-accent);flex:0 0 auto;margin-top:1px}
.fp-warn-txt{display:flex;flex-direction:column;gap:2px;min-width:0}
.fp-warn-txt b{font-size:14px;font-weight:700}
.fp-warn-txt span{font-size:12.5px;color:#7a5155;line-height:1.55}

/* ---------- channel tabs ---------- */
.fp-tabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin-bottom:12px}
.fp-tab{position:relative;display:flex;align-items:center;gap:10px;margin:0;cursor:pointer;
  background:#fff;border:1.5px solid var(--fp-line);border-radius:var(--fp-radius);
  padding:11px 13px;transition:border-color .18s,box-shadow .18s,transform .18s}
.fp-tab:hover{transform:translateY(-1px);border-color:#d9dce1}
.fp-tab input{position:absolute;opacity:0;pointer-events:none}
.fp-tab img{height:24px;width:auto;max-width:62px;object-fit:contain;flex:0 0 auto}
.fp-tab-t{display:flex;flex-direction:column;line-height:1.2;min-width:0;flex:1 1 auto}
.fp-tab-t b{font-size:14px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fp-tab-t i{font-style:normal;font-size:10px;color:var(--fp-mut);text-transform:uppercase;
  letter-spacing:.05em;font-family:'Inter',sans-serif}
/* removed: legacy dot sizing */
/* removed: legacy dot sizing */
.fp-tab.on{border-color:var(--fp-brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--fp-brand) 12%,transparent)}
/* removed: legacy tick */
/* removed: legacy tick */

/* ---------- channel panel ---------- */
.fp-panel{display:none;border:1px solid var(--fp-line);border-radius:var(--fp-radius);
  padding:14px;background:var(--fp-soft);margin-bottom:13px}
.fp-panel.on{display:block;animation:fp-fade .24s ease}
@keyframes fp-fade{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}

.fp-numbox{display:flex;align-items:center;gap:11px;flex-wrap:wrap;background:#fff;
  border:1.5px dashed var(--fp-brand);border-radius:calc(var(--fp-radius) - 4px);padding:11px 13px}
.fp-qrwrap{display:flex;flex-direction:column;align-items:center;gap:8px;margin:14px 0 4px;padding:14px;border:1px dashed var(--fp-line);border-radius:12px;background:#fafbfc}
.fp-qr{width:148px;height:148px}
.fp-qr svg{width:100%;height:100%;display:block}
.fp-qr-cap{font-size:12px;color:var(--fp-mut,#667085);font-weight:600}
.fp-num-k{width:100%;font-size:10px;text-transform:uppercase;letter-spacing:.07em;
  color:var(--fp-mut);font-family:'Inter',sans-serif}
.fp-num-v{font-family:'Inter',ui-monospace,monospace;font-size:21px;font-weight:700;
  letter-spacing:.05em;flex:1 1 auto;min-width:0;word-break:break-all}
.fp-copy{flex:0 0 auto;background:var(--fp-ink);color:#fff;border:0;border-radius:8px;
  padding:7px 16px;font-size:12.5px;cursor:pointer;font-family:inherit;transition:background .18s}
.fp-copy:hover{background:var(--fp-brand)}
.fp-copy.done{background:#16833c}

.fp-steps{margin:12px 0 0;padding:0;list-style:none;counter-reset:fp}
.fp-steps li{counter-increment:fp;position:relative;padding-left:28px;font-size:13px;
  margin-bottom:6px;color:#3d434b}
.fp-steps li:last-child{margin-bottom:0}
.fp-steps li:before{content:counter(fp);position:absolute;left:0;top:0;width:20px;height:20px;
  border-radius:50%;background:var(--fp-brand);color:#fff;font-size:11px;font-weight:700;
  display:flex;align-items:center;justify-content:center;font-family:'Inter',sans-serif}

/* ---------- inputs ---------- */
.fp-fields{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.fp-field{display:flex;flex-direction:column;gap:5px;margin:0}
.fp-field span{font-size:12px;font-weight:600;color:#3d434b}
.fp-field input{width:100%;padding:12px 13px;border:1px solid #d8dbe0;
  border-radius:calc(var(--fp-radius) - 5px);font-size:15px;font-family:'Inter',sans-serif;
  background:#fff;transition:border-color .18s,box-shadow .18s}
.fp-field input:focus{outline:0;border-color:var(--fp-accent);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--fp-accent) 13%,transparent)}
.fp-trx{text-transform:uppercase;letter-spacing:.05em}

.fp-foot{display:flex;align-items:center;gap:7px;margin-top:12px;font-size:11.5px;color:var(--fp-mut)}
.fp-foot svg{color:#16833c;flex:0 0 auto}
.fp-empty{color:#8a8f96;font-style:italic}

/* ---------- template variants ---------- */
.fp-t-minimal .fp-steps,.fp-t-minimal .fp-head{display:none}
.fp-t-minimal .fp-sum{box-shadow:none;border-radius:0;border-width:0 0 1px}
.fp-t-minimal .fp-sum-hero{background:none;padding-left:0;padding-right:0}
.fp-t-minimal .fp-sum-row{padding-left:0;padding-right:0;background:none}
.fp-t-minimal .fp-panel{background:none;border:0;padding:0}
.fp-t-minimal .fp-tab{border-width:1px}

.fp-t-stacked .fp-tabs{grid-template-columns:1fr}
.fp-t-stacked .fp-tab{border-left-width:5px}
.fp-t-stacked .fp-panel{border-left:4px solid var(--fp-brand)}
.fp-t-stacked .fp-fields{grid-template-columns:1fr}

.fp-t-ticket .fp-sum{border-style:dashed;border-width:2px;border-color:var(--fp-accent);box-shadow:none}
.fp-t-ticket .fp-panel{background:#fff;border-style:dashed}
.fp-t-ticket .fp-numbox{border-style:solid;background:var(--fp-soft)}

@media(max-width:520px){
  .fp-fields{grid-template-columns:1fr}
  .fp-tabs{grid-template-columns:1fr}
  .fp-sum-v{font-size:23px}
}

/* ============================================================
   order-received verification card
   ============================================================ */
.fp-verify{position:relative;background:#fff;border:1px solid var(--fp-line);
  border-radius:22px;box-shadow:var(--fp-shadow);padding:0 0 6px;margin:0 0 26px;overflow:hidden}
.fp-confetti{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:3}

.fp-v-top{display:flex;align-items:center;gap:9px;padding:14px 20px;border-bottom:1px solid var(--fp-line);
  background:linear-gradient(180deg,#fff,var(--fp-soft))}
.fp-v-logo{height:20px;width:auto}
.fp-v-brand{font-family:'Inter',sans-serif;font-weight:700;font-size:13px;letter-spacing:.06em;
  text-transform:uppercase;color:var(--fp-ink)}

.fp-v-stage{padding:26px 20px 6px;text-align:center}
.fp-v-mark{position:relative;width:78px;height:78px;margin:0 auto 14px}
.fp-v-ring{position:absolute;inset:0;border-radius:50%;border:3px solid #eceef1;
  border-top-color:var(--fp-accent);animation:fp-spin .9s linear infinite}
.fp-v-tick{position:absolute;inset:0;width:78px;height:78px;opacity:0;transform:scale(.7);
  transition:opacity .3s ease,transform .45s cubic-bezier(.2,1.5,.4,1)}
.fp-v-tick-c{stroke:#16833c;stroke-width:3;stroke-dasharray:151;stroke-dashoffset:151}
.fp-v-tick-p{stroke:#16833c;stroke-width:4.5;stroke-linecap:round;stroke-linejoin:round;
  stroke-dasharray:48;stroke-dashoffset:48}
@keyframes fp-spin{to{transform:rotate(360deg)}}

.fp-v-stage[data-stage="done"] .fp-v-ring{opacity:0;animation:none}
.fp-v-stage[data-stage="done"] .fp-v-tick{opacity:1;transform:scale(1)}
.fp-v-stage[data-stage="done"] .fp-v-tick-c{animation:fp-draw .5s ease forwards}
.fp-v-stage[data-stage="done"] .fp-v-tick-p{animation:fp-draw2 .35s .35s ease forwards}
@keyframes fp-draw{to{stroke-dashoffset:0}}
@keyframes fp-draw2{to{stroke-dashoffset:0}}

.fp-v-title{margin:0;font-size:20px;font-weight:700}
.fp-v-sub{margin:7px 0 0;font-size:13.5px;color:var(--fp-mut);line-height:1.65}
.fp-verify.is-done .fp-v-title{color:#16833c}

.fp-v-track{display:flex;justify-content:center;gap:0;margin:20px 0 0;padding:0;list-style:none;
  flex-wrap:wrap;counter-reset:none}
.fp-v-track li{display:flex;align-items:center;gap:6px;font-size:11px;color:#a3a8af;
  padding:0 10px;font-family:'Inter',sans-serif;letter-spacing:.01em}
.fp-v-track li span{width:8px;height:8px;border-radius:50%;background:#dfe2e6;transition:background .3s,transform .3s}
.fp-v-track li.on{color:var(--fp-ink);font-weight:600}
.fp-v-track li.on span{background:var(--fp-accent);transform:scale(1.35)}
.fp-v-track li.past span{background:#16833c}
.fp-verify.is-done .fp-v-track li{color:#16833c}
.fp-verify.is-done .fp-v-track li span{background:#16833c}

.fp-v-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;
  background:var(--fp-line);border-top:1px solid var(--fp-line);margin-top:20px}
.fp-v-fact{background:#fff;padding:12px 16px;display:flex;flex-direction:column;gap:3px;min-width:0}
.fp-v-fact span{font-size:11px;color:var(--fp-mut);text-transform:uppercase;letter-spacing:.04em;
  font-family:'Inter',sans-serif}
.fp-v-fact b{font-size:15px;font-weight:600;word-break:break-word}
.fp-v-fact code{font-family:'Inter',ui-monospace,monospace;font-size:13px;background:var(--fp-soft);
  padding:1px 6px;border-radius:5px}
.fp-v-fact-due b{color:var(--fp-accent)}
.fp-v-ctas{display:flex;gap:10px;padding:14px 16px 4px;flex-wrap:wrap}
.fp-v-cta{
  flex:1;min-width:140px;height:46px;border-radius:999px;font:inherit;font-weight:700;font-size:13.5px;
  display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;cursor:pointer;border:0;padding:0 12px
}
.fp-v-cta--primary{background:#111827;color:#fff}
.fp-v-cta--ghost{
  background:#fff;color:var(--fp-accent,#E11D2E);border:1.5px solid var(--fp-accent,#E11D2E)
}
.fp-v-cta--ghost:hover{background:color-mix(in srgb,var(--fp-accent,#E11D2E) 10%,#fff)}
.fp-ty-neon .fp-v-cta--primary{background:#111827}
.fp-ty-pipra .fp-v-cta--primary{background:#16a34a}
@media(max-width:520px){
  .fp-v-ctas{flex-direction:column;padding:12px 12px 4px}
  .fp-v-cta{width:100%;min-width:0;flex:1 1 auto}
}

.fp-v-form{padding:16px 20px 4px;border-top:1px solid var(--fp-line)}
.fp-v-form.is-hero.is-pulse{animation:fp-pulse 1.2s ease 2}
@keyframes fp-pulse{0%,100%{box-shadow:0 0 0 0 rgba(225,29,46,0)}50%{box-shadow:0 0 0 4px rgba(225,29,46,.18)}}
.fp-v-formk{margin:0 0 6px;font-size:14px;font-weight:700;color:var(--fp-ink)}
.fp-v-form-tip{margin:0 0 10px;font-size:12.5px;color:var(--fp-mut);line-height:1.5}
.fp-v-form-tip b{color:var(--fp-ink)}
.fp-v-inputs{display:flex;gap:8px;flex-wrap:wrap}
.fp-v-inputs input{flex:1 1 150px;min-width:0;padding:11px 12px;border:1px solid #d8dbe0;
  border-radius:11px;font-size:14.5px;font-family:'Inter',sans-serif}
.fp-v-trx{text-transform:uppercase}
.fp-v-go{flex:0 0 auto;background:var(--fp-accent);color:#fff;border:0;border-radius:11px;
  padding:11px 24px;font-size:14.5px;font-weight:700;cursor:pointer;font-family:inherit}
.fp-v-go[disabled]{opacity:.55;cursor:not-allowed}
.fp-v-more{margin:10px 0 0;font-size:12.5px;color:var(--fp-mut)}
.fp-v-more summary{cursor:pointer;user-select:none;font-weight:600;color:var(--fp-ink)}
.fp-v-more input{width:100%;margin-top:8px;padding:10px 12px;border:1px solid #d8dbe0;
  border-radius:11px;font-size:14px;font-family:'Inter',sans-serif}
.fp-v-msg{width:100%;font-size:13px;margin-top:8px;min-height:1px}
.fp-v-msg.ok{color:#16833c}
.fp-v-msg.err{color:var(--fp-accent)}
.fp-v-msg.wait{color:#8a6d11}

/* ---------- support ---------- */
.fp-help{border-top:1px solid var(--fp-line);margin-top:14px}
.fp-help-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;
  background:none;border:0;padding:14px 20px;font-family:inherit;font-size:13.5px;font-weight:600;
  color:var(--fp-ink);cursor:pointer}
.fp-help-toggle svg{transition:transform .22s;color:var(--fp-mut)}
.fp-help-toggle[aria-expanded="true"] svg{transform:rotate(180deg)}
.fp-help-body{padding:0 20px 18px;animation:fp-fade .22s ease}

.fp-wa{display:flex;align-items:center;gap:12px;text-decoration:none;background:#f2fbf5;
  border:1px solid #cfe9d8;border-radius:14px;padding:13px 15px;color:#14161a;margin-bottom:14px}
.fp-wa svg{color:#16833c;flex:0 0 auto}
.fp-wa span{display:flex;flex-direction:column;line-height:1.35;min-width:0}
.fp-wa b{font-size:14px}
.fp-wa i{font-style:normal;font-size:12.5px;color:#4b7a5b;font-family:'Inter',sans-serif}

.fp-help-k{margin:0 0 9px;font-size:12.5px;color:var(--fp-mut)}
.fp-ticket{display:flex;flex-direction:column;gap:8px}
.fp-ticket select,.fp-ticket input,.fp-ticket textarea{width:100%;padding:10px 12px;
  border:1px solid #d8dbe0;border-radius:11px;font-size:14px;font-family:inherit;background:#fff}
.fp-ticket textarea{resize:vertical}
.fp-t-send{background:var(--fp-ink);color:#fff;border:0;border-radius:11px;padding:11px 20px;
  font-size:14px;font-weight:600;cursor:pointer;font-family:inherit}
.fp-t-send[disabled]{opacity:.55}
.fp-t-msgout{font-size:13px}
.fp-t-msgout.ok{color:#16833c}
.fp-t-msgout.err{color:var(--fp-accent)}

.fp-v-badge{margin-left:auto;font-size:10.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;
  font-family:'Inter',sans-serif;padding:4px 10px;border-radius:99px;background:#eef0f2;color:#4b5158}
.fp-verify.is-done .fp-v-badge{background:#e8f6ec;color:#16833c}

/* ---------- thank-you account strip (this page only) ---------- */
.fp-account-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;
  margin:0 0 14px;padding:12px 16px;background:#fff;border:1px solid var(--fp-line,#ecedf0);
  border-radius:14px;box-shadow:0 1px 2px rgba(16,18,22,.04);font-family:'Hind Siliguri','Inter',system-ui,sans-serif}
.fp-account-who{display:flex;align-items:center;gap:8px;font-size:13.5px;color:#5b616b;min-width:0;flex:1 1 200px}
.fp-account-who b{color:#14161a;font-weight:700}
.fp-account-dot{width:8px;height:8px;border-radius:50%;background:#16833c;flex:0 0 auto}
.fp-account-actions{display:flex;gap:8px;flex-wrap:wrap}
.fp-acc-btn{display:inline-flex;align-items:center;justify-content:center;padding:8px 14px;border-radius:10px;
  font-size:13px;font-weight:700;text-decoration:none;line-height:1.2;font-family:inherit}
.fp-acc-btn--fill{background:var(--fp-accent,#E11D2E);color:#fff}
.fp-acc-btn--fill:hover{color:#fff;filter:brightness(.96)}
.fp-acc-btn--line{background:#fff;color:#14161a;border:1px solid #d8dbe0}
.fp-acc-btn--line:hover{color:#14161a;border-color:#b8bcc3}

/* ---------- thank-you order details ---------- */
.fp-order-card{background:#fff;border:1px solid var(--fp-line,#ecedf0);border-radius:22px;
  box-shadow:0 1px 2px rgba(16,18,22,.04),0 8px 24px rgba(16,18,22,.06);
  margin:0 0 26px;overflow:hidden;font-family:'Hind Siliguri','Inter',system-ui,sans-serif;color:#14161a}
.fp-order-card-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;
  padding:16px 20px;border-bottom:1px solid #ecedf0;background:linear-gradient(180deg,#fff,#fafafb)}
.fp-order-card-head h3{margin:0;font-size:17px;font-weight:700}
.fp-order-card-head span{font-size:12.5px;color:#6b7280;font-family:'Inter',sans-serif}
.fp-order-items{list-style:none;margin:0;padding:0}
.fp-order-items li{display:flex;align-items:center;gap:12px;padding:12px 20px;border-bottom:1px solid #f0f1f3}
.fp-order-items img{width:48px;height:48px;object-fit:cover;border-radius:10px;background:#f3f4f6;flex:0 0 auto}
.fp-oi-meta{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}
.fp-oi-meta strong{font-size:14px;font-weight:600;line-height:1.35}
.fp-oi-meta span{font-size:12.5px;color:#6b7280}
.fp-order-items b{font-family:'Inter',sans-serif;font-size:14px;white-space:nowrap;flex:0 0 auto}
.fp-order-totals{padding:10px 20px 14px;background:#fafafb}
.fp-order-totals > div{display:flex;justify-content:space-between;gap:12px;padding:6px 0;font-size:13.5px}
.fp-order-totals span{color:#6b7280}
.fp-order-totals b{font-family:'Inter',sans-serif;font-weight:600}
.fp-order-totals .is-total{border-top:1px solid #ecedf0;margin-top:4px;padding-top:10px;font-size:15px}
.fp-order-totals .is-total span,.fp-order-totals .is-total b{color:#14161a;font-weight:700}
.fp-order-addr{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#ecedf0;border-top:1px solid #ecedf0}
.fp-order-addr > div{background:#fff;padding:14px 20px}
.fp-order-addr strong{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.04em;
  color:#6b7280;margin-bottom:6px;font-family:'Inter',sans-serif}
.fp-order-addr p{margin:0;font-size:13.5px;line-height:1.55}
.fp-order-addr .fp-muted{color:#6b7280;font-size:12.5px;margin-top:4px}
@media(max-width:520px){
  .fp-v-go{width:100%}
  .fp-v-track li{padding:0 7px;font-size:10px}
  .fp-v-title{font-size:18px}
  .fp-order-addr{grid-template-columns:1fr}
  .fp-account-bar{align-items:flex-start}
  .fp-account-actions{width:100%}
  .fp-acc-btn{flex:1 1 auto}
}

/* ============================================================
   checkout payment-options block (owned by Flick Pay)
   ============================================================ */
.fp-modes{--fp-accent:#E11D2E;font-family:'Hind Siliguri','Noto Sans Bengali','Inter',system-ui,sans-serif;
  border:1px solid #ecedf0;border-radius:16px;padding:14px;background:#fff;margin:0 0 12px;
  box-shadow:0 1px 2px rgba(16,18,22,.04),0 8px 24px rgba(16,18,22,.06)}
.fp-modes-h{font-weight:700;font-size:16px;margin:0;display:flex;align-items:center;gap:9px}
.fp-modes-h:before{content:"";width:4px;height:17px;background:var(--fp-accent);border-radius:3px}

.fp-mode{display:flex;align-items:flex-start;gap:11px;margin:0;padding:12px 14px;
  border:1.5px solid #ecedf0;border-radius:13px;cursor:pointer;background:#fff;
  transition:border-color .18s,box-shadow .18s}
.fp-mode input{margin:3px 0 0;flex:0 0 auto;accent-color:var(--fp-accent)}
.fp-mode-b{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1 1 auto}
.fp-mode-b b{font-size:14.5px;font-weight:700;line-height:1.35}
.fp-mode-b i{font-style:normal;font-size:12.5px;color:#6b7280;line-height:1.45}
.fp-mode-amt{flex:0 0 auto;font-family:'Inter',sans-serif;font-weight:700;font-size:15px;
  white-space:nowrap;color:#14161a}
.fp-mode.on{border-color:var(--fp-accent);background:#fffafa;
  box-shadow:0 0 0 3px rgba(225,29,46,.10)}
.fp-mode.on .fp-mode-amt{color:var(--fp-accent)}

.fp-mode-locked{display:flex;flex-direction:column;gap:5px;background:#fffafa;
  border:1.5px solid #f7d5d8;border-left:4px solid var(--fp-accent);
  border-radius:13px;padding:13px 15px}
.fp-mode-locked b{font-size:14.5px}
.fp-mode-locked span{font-size:13px;color:#5b616b;line-height:1.65}
.fp-mode-locked strong{color:var(--fp-accent)}

.fp-row-now th,.fp-row-later th{font-weight:600}
.fp-row-later th,.fp-row-later td{color:#E11D2E;font-weight:700}

/*
 * Elementor checkout paints #order_review as a grid with 24px/40px gaps and
 * stretches the sidebar to the billing column. #fp-modes inherits that grid,
 * so the two radios sit at opposite ends of a ~380px well. Keep this block
 * content-sized. Do not touch form.checkout — that shoved the page in RTL.
 */
body.woocommerce-checkout #fp-modes.fp-modes,
body.woocommerce-checkout .e-checkout__order-review #fp-modes,
body.woocommerce-checkout .fp-modes{
  display:flex!important;
  flex-direction:column!important;
  flex-grow:0!important;
  flex-shrink:0!important;
  flex-basis:auto!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  justify-content:flex-start!important;
  align-content:flex-start!important;
  align-items:stretch!important;
  gap:8px!important;
  grid-template-columns:none!important;
  grid-template-rows:none!important;
  grid-auto-rows:auto!important;
  grid-row-gap:8px!important;
  grid-column-gap:0!important;
  padding:14px!important;
}
body.woocommerce-checkout #fp-modes > *,
body.woocommerce-checkout .fp-modes > *{
  flex:0 0 auto!important;
  height:auto!important;
  min-height:0!important;
  margin:0!important;
  grid-column:1 / -1!important;
  max-width:100%!important;
}
body.woocommerce-checkout #fp-modes .fp-mode,
body.woocommerce-checkout .fp-modes .fp-mode{
  display:flex!important;
  flex-wrap:nowrap!important;
  align-items:flex-start!important;
}
body.woocommerce-checkout #fp-modes .fp-mode-amt,
body.woocommerce-checkout .fp-modes .fp-mode-amt{
  width:auto!important;
  padding-left:0!important;
  white-space:nowrap!important;
}

/* ============================================================
   Mobile: stop the panel stacking into a narrow column
   ============================================================ */
@media (max-width: 640px){
  .fp-pay{margin-top:8px}
  .fp-sum-hero{flex-direction:row;align-items:center;padding:13px 14px}
  .fp-sum-k{font-size:12.5px}
  .fp-sum-v{font-size:22px}
  .fp-sum-row{padding:10px 14px;font-size:12.5px;align-items:flex-start}
  .fp-sum-row span{padding-right:8px;line-height:1.45}
  .fp-warn{padding:11px 12px}
  .fp-warn-txt b{font-size:13.5px}
  .fp-warn-txt span{font-size:12px}

  /* two wallets side by side, never stacked */
  .fp-tabs{grid-template-columns:1fr 1fr;gap:8px}
  .fp-tab{flex-direction:column;align-items:center;text-align:center;gap:7px;padding:12px 8px}
  .fp-tab img{height:26px;max-width:74px}
  .fp-tab-t{align-items:center}
/* removed: legacy dot override */

  .fp-num-v{font-size:19px}
  .fp-numbox{gap:8px}
  .fp-copy{padding:7px 14px}
  .fp-fields{grid-template-columns:1fr;gap:9px}

  /* verification card */
  .fp-v-stage{padding:22px 16px 4px}
  .fp-v-mark{width:66px;height:66px}
  .fp-v-tick{width:66px;height:66px}
  .fp-v-facts{grid-template-columns:1fr 1fr}
  .fp-v-fact{padding:11px 13px}
  .fp-v-fact b{font-size:14px}
  .fp-v-track{gap:2px}
  .fp-v-track li{padding:0 5px;font-size:9.5px}
  .fp-v-inputs input{flex:1 1 100%}
  .fp-v-go{width:100%}
  .fp-help-toggle,.fp-help-body{padding-left:16px;padding-right:16px}

  /* payment options */
  .fp-mode{padding:12px}
  .fp-mode-b b{font-size:13.5px}
  .fp-mode-b i{font-size:12px}
  .fp-mode-amt{width:auto;padding-left:0;font-size:14px}
}

@media (max-width: 380px){
  .fp-tabs{grid-template-columns:1fr}
  .fp-tab{flex-direction:row;text-align:left}
  .fp-tab-t{align-items:flex-start}
/* removed: legacy dot override */
  .fp-v-facts{grid-template-columns:1fr}
  .fp-sum-v{font-size:20px}
}

/* Legacy rows from Flick Pay 4.0.2. The hook that produced them is gone, but
   this keeps them hidden on any install still serving a cached template. */
tr.fp-row-now, tr.fp-row-later { display: none !important; }

/* ============================================================
   delivery zone cards — minimal, brand accent
   ============================================================ */
.woocommerce-shipping-totals ul#shipping_method{display:none!important}
.woocommerce-shipping-totals th{display:none}

/* Billing is copied to shipping. Hide the duplicate address form; keep the
   delivery-zone cards in the order review. */
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout #ship-to-different-address{
  display:none!important
}
tr.fp-zone-row td,
tr.fp-modes-row td{padding:0!important;border:0!important}

.fp-zones{--fp-accent:#E11D2E;font-family:'Hind Siliguri','Noto Sans Bengali','Inter',system-ui,sans-serif;
  padding:16px 0 4px}
.fp-zones-h{font-size:14.5px;font-weight:700;color:#14161a;margin-bottom:11px;
  display:flex;align-items:center;gap:8px}
.fp-zones-h:before{content:"";width:3px;height:15px;background:var(--fp-accent);border-radius:2px}

.fp-zone-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.fp-zone{position:relative;display:flex;flex-direction:column;gap:5px;margin:0;
  background:#fff;border:1.5px solid #ecedf0;border-radius:14px;padding:14px;
  cursor:pointer;transition:border-color .18s,box-shadow .18s}
.fp-zone:hover{border-color:#d9dce1}
.fp-zone input{position:absolute;opacity:0;pointer-events:none}
.fp-zone-cost{align-self:flex-start;font-family:'Inter',sans-serif;font-weight:700;
  font-size:13px;color:#fff;background:var(--fp-accent);border-radius:99px;padding:4px 12px}
.fp-zone-name{font-size:14px;font-weight:700;color:#14161a;line-height:1.4}
.fp-zone-note{font-size:12px;color:#6b7280;line-height:1.5}
.fp-zone-tick{position:absolute;top:12px;right:12px;width:20px;height:20px;border-radius:50%;
  border:2px solid #d3d7dd;transition:.18s}
.fp-zone.on{border-color:var(--fp-accent);background:#fffafa;
  box-shadow:0 0 0 3px rgba(225,29,46,.10)}
.fp-zone.on .fp-zone-tick{border-color:var(--fp-accent);background:var(--fp-accent)}
.fp-zone.on .fp-zone-tick:after{content:"";position:absolute;left:5px;top:1px;width:5px;height:10px;
  border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
@media(max-width:520px){.fp-zone-grid{grid-template-columns:1fr}}

/* ============================================================
   Responsive hardening.
   Themes and Elementor commonly set `img{width:100%;height:auto}`, which
   overrode the wallet logo sizing and blew it up to the full card width.
   These rules are deliberately !important so the logo cannot be restyled
   by whatever theme is active.
   ============================================================ */
.fp-pay .fp-tab img{
  height:24px!important;
  width:auto!important;
  max-width:78px!important;
  min-width:0!important;
  object-fit:contain!important;
  border-radius:0!important;
  display:block!important;
  margin:0!important;
  padding:0!important;
  box-shadow:none!important;
  background:none!important;
  aspect-ratio:auto!important;
}

/* Wallet cards: two-up wherever there is room, never a full-width block. */
@media (max-width:640px){
  .fp-pay .fp-tabs{grid-template-columns:1fr 1fr!important;gap:8px}
  .fp-pay .fp-tab{
    flex-direction:row!important;
    align-items:center!important;
    text-align:left!important;
    gap:8px;
    padding:10px 10px;
    min-height:56px;
  }
  .fp-pay .fp-tab img{height:22px!important;max-width:58px!important}
  .fp-pay .fp-tab-t{align-items:flex-start!important;min-width:0}
  .fp-pay .fp-tab-t b{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
  .fp-pay .fp-tab-t i{font-size:9px}
  /* (removed: position:static broke the checkmark's containing block) */

  /* amount rows: label wraps, figure never does */
  .fp-pay .fp-sum-row{align-items:flex-start;gap:10px}
  .fp-pay .fp-sum-row span{flex:1 1 auto;min-width:0;line-height:1.45;font-size:12px}
  .fp-pay .fp-sum-row b{flex:0 0 auto;white-space:nowrap;font-size:13px}
  .fp-pay .fp-sum-hero{gap:10px}
  .fp-pay .fp-sum-k{flex:1 1 auto;min-width:0;font-size:12px}
  .fp-pay .fp-sum-v{flex:0 0 auto;white-space:nowrap}

  .fp-pay .fp-num-v{font-size:18px;letter-spacing:.03em}
  .fp-pay .fp-numbox{padding:10px}
  .fp-pay .fp-steps li{font-size:12.5px;padding-left:26px}
}

/* Very narrow phones: keep two-up, just shrink. Stacking wasted the width. */
@media (max-width:400px){
  .fp-pay .fp-tabs{grid-template-columns:1fr 1fr!important;gap:7px}
  .fp-pay .fp-tab{padding:9px 8px;gap:6px}
  .fp-pay .fp-tab img{height:19px!important;max-width:46px!important}
  .fp-pay .fp-tab-t b{font-size:12px}
/* removed: legacy dot override */
  .fp-pay .fp-sum-v{font-size:20px}
  .fp-pay .fp-warn-txt b{font-size:13px}
  .fp-pay .fp-warn-txt span{font-size:11.5px}
}

/* Zone cards: same protection against theme image/box overrides. */
@media (max-width:640px){
  .fp-zones .fp-zone-grid{grid-template-columns:1fr 1fr!important;gap:8px}
  .fp-zones .fp-zone{padding:11px}
  .fp-zones .fp-zone-cost{font-size:12px;padding:3px 10px}
  .fp-zones .fp-zone-name{font-size:12.5px}
  .fp-zones .fp-zone-note{font-size:11px}
  .fp-zones .fp-zone-tick{width:17px;height:17px;top:9px;right:9px}
}
@media (max-width:400px){
  .fp-zones .fp-zone-grid{grid-template-columns:1fr!important}
}

/* Verification card on the order page */
@media (max-width:640px){
  .fp-verify .fp-v-logo{height:18px!important;width:auto!important}
  .fp-verify .fp-v-facts{grid-template-columns:1fr 1fr!important}
  .fp-verify .fp-v-fact b{font-size:13.5px;word-break:break-word}
}

/* ============================================================
   FIX: the selected wallet card rendered a full-size coloured ellipse.
   A mobile override set .fp-tab-dot to position:static, which removed the
   containing block for its ::after. The checkmark, being absolutely
   positioned with inset:2px, then sized itself against the whole card.
   The dot must always establish its own positioning context.
   ============================================================ */
/* (superseded by the corner badge below) */



/* Wallet cards: two-up from 420px upward, at every container width. */
.fp-pay .fp-tabs{grid-template-columns:1fr 1fr}
@media (max-width:419px){
  .fp-pay .fp-tabs{grid-template-columns:1fr}
}

/* ============================================================
   Selection indicator, rebuilt.
   The 16px dot was too small to read at any size and became invisible once
   the card shrank. Replaced with a corner badge that carries a tick when
   selected — legible on a monitor and on a phone, same shape on both.
   ============================================================ */
.fp-pay .fp-tab{padding-right:38px!important}
/* removed: superseded by the single tick definition at the end */

@media (max-width:640px){
  .fp-pay .fp-tab{padding-right:34px!important}
  .fp-pay .fp-tab-dot{width:20px!important;height:20px!important;
    min-width:20px!important;min-height:20px!important;right:10px!important}
  
}

/* Payment options: amount stays on the title line instead of dropping below. */
.fp-modes .fp-mode{align-items:flex-start;gap:10px;padding-right:14px;flex-wrap:nowrap}
.fp-modes .fp-mode-b{flex:1 1 auto;min-width:0;order:1}
.fp-modes .fp-mode-amt{order:2;flex:0 0 auto;align-self:flex-start;padding-top:1px;width:auto}
@media (max-width:560px){
  .fp-modes .fp-mode{flex-wrap:nowrap}
  .fp-modes .fp-mode-amt{width:auto!important;padding-left:0!important;font-size:14px}
  .fp-modes .fp-mode-b b{font-size:13.5px;line-height:1.35}
  .fp-modes .fp-mode-b i{font-size:11.5px}
}

/* ============================================================
   Additional checkout templates
   ============================================================ */

/* compact — tighter padding, smaller type, for long carts */
.fp-t-compact .fp-sum-hero{padding:11px 13px}
.fp-t-compact .fp-sum-v{font-size:21px}
.fp-t-compact .fp-sum-row{padding:8px 13px;font-size:12.5px}
.fp-t-compact .fp-tab{padding:8px 34px 8px 10px}
.fp-t-compact .fp-tab img{height:19px!important}
.fp-t-compact .fp-panel{padding:10px}
.fp-t-compact .fp-steps li{font-size:12px;margin-bottom:4px}
.fp-t-compact .fp-field input{padding:9px 11px;font-size:14px}
.fp-t-compact .fp-warn{padding:9px 11px}

/* outline — no fills, hairline borders only */
.fp-t-outline .fp-sum{box-shadow:none;background:none}
.fp-t-outline .fp-sum-hero{background:none}
.fp-t-outline .fp-sum-total{background:none}
.fp-t-outline .fp-panel{background:none}
.fp-t-outline .fp-numbox{border-style:solid;border-width:1px;border-color:var(--fp-line)}
.fp-t-outline .fp-warn{background:none;border-color:var(--fp-line);border-left-color:var(--fp-accent)}
.fp-t-outline .fp-tab{border-width:1px}
.fp-t-outline .fp-tab.on{box-shadow:none;background:none}
.fp-t-outline .fp-steps li:before{background:none;color:var(--fp-brand);
  border:1.5px solid var(--fp-brand)}

/* soft — rounder, shadowed, no visible borders */
.fp-t-soft{--fp-radius:20px}
.fp-t-soft .fp-sum,.fp-t-soft .fp-panel,.fp-t-soft .fp-tab{border-color:transparent}
.fp-t-soft .fp-sum,.fp-t-soft .fp-panel{box-shadow:0 2px 6px rgba(16,18,22,.05),0 14px 30px rgba(16,18,22,.07)}
.fp-t-soft .fp-panel{background:#fff}
.fp-t-soft .fp-tab{background:#f7f8f9;box-shadow:none}
.fp-t-soft .fp-tab.on{background:#fff;box-shadow:0 3px 10px rgba(16,18,22,.09)}
.fp-t-soft .fp-field input{background:#f7f8f9;border-color:transparent}
.fp-t-soft .fp-field input:focus{background:#fff}

/* bold — heavier weights, inverted amount panel */
.fp-t-bold .fp-sum-hero{background:var(--fp-ink);border-radius:var(--fp-radius) var(--fp-radius) 0 0}
.fp-t-bold .fp-sum-k{color:rgba(255,255,255,.62)}
.fp-t-bold .fp-sum-v{color:#fff}
.fp-t-bold .fp-head-txt{font-size:18px}
.fp-t-bold .fp-tab.on{border-width:2px}
.fp-t-bold .fp-num-v{font-size:23px}
.fp-t-bold .fp-copy{background:var(--fp-brand)}


/* ============================================================
   Selection tick — single definition.
   An earlier version listed `inset:auto` AFTER top/left. Because inset is the
   shorthand for all four offsets, it reset them and the tick lost its position
   entirely. No shorthand here; the longhands are the only offsets declared.
   ============================================================ */
.fp-pay .fp-tab-dot{
  position:absolute;
  top:50%;
  right:12px;
  transform:translateY(-50%);
  width:22px;
  height:22px;
  min-width:22px;
  min-height:22px;
  border:2px solid #d3d7dd;
  border-radius:50%;
  background:#fff;
  box-sizing:border-box;
  overflow:visible;
  transition:background .16s,border-color .16s;
}
.fp-pay .fp-tab.on .fp-tab-dot{
  border-color:var(--fp-brand);
  background:var(--fp-brand);
}
.fp-pay .fp-tab.on .fp-tab-dot::after{
  content:"";
  display:block;
  position:absolute;
  left:6px;
  top:3px;
  width:5px;
  height:9px;
  border-right:2.5px solid #fff;
  border-bottom:2.5px solid #fff;
  transform:rotate(45deg);
}
@media (max-width:640px){
  .fp-pay .fp-tab-dot{width:20px;height:20px;min-width:20px;min-height:20px;right:10px}
  .fp-pay .fp-tab.on .fp-tab-dot::after{left:5.5px;top:2.5px;width:4.5px;height:8px;
    border-right-width:2px;border-bottom-width:2px}
}

/* ============================================================
   Four more templates
   ============================================================ */

/* wallet — payment logos lead, everything else follows */
.fp-t-wallet .fp-head{order:1}
.fp-t-wallet .fp-tabs{order:2;margin-bottom:14px;gap:12px}
.fp-t-wallet .fp-tab{flex-direction:column;align-items:center;text-align:center;
  padding:18px 12px 16px;gap:10px}
.fp-t-wallet .fp-tab img{height:34px!important;max-width:100px!important}
.fp-t-wallet .fp-tab-t{align-items:center}
.fp-t-wallet .fp-tab-dot{top:10px;right:10px;transform:none}
.fp-t-wallet .fp-sum{order:3}
.fp-t-wallet .fp-warn{order:4}
.fp-t-wallet .fp-panel{order:5}
.fp-t-wallet .fp-fields{order:6}
.fp-t-wallet .fp-foot{order:7}
.fp-t-wallet{display:flex;flex-direction:column}

/* column — one flow, nothing side by side */
.fp-t-column .fp-tabs{grid-template-columns:1fr!important}
.fp-t-column .fp-fields{grid-template-columns:1fr}
.fp-t-column .fp-sum-hero{flex-direction:column;align-items:flex-start;gap:4px}
.fp-t-column .fp-sum-v{font-size:30px}
.fp-t-column .fp-numbox{flex-direction:column;align-items:flex-start}
.fp-t-column .fp-copy{width:100%;padding:10px}

/* steps — numbered sections with a progress rail */
.fp-t-steps .fp-sum,.fp-t-steps .fp-panel{border-left:3px solid var(--fp-accent)}
.fp-t-steps .fp-head-txt:before{content:"১ ";color:var(--fp-accent);font-weight:700}
.fp-t-steps .fp-tabs{position:relative;padding-top:26px}
.fp-t-steps .fp-tabs:before{content:"২ পেমেন্ট মাধ্যম";position:absolute;top:0;left:0;
  font-size:12.5px;font-weight:700;color:var(--fp-accent)}
.fp-t-steps .fp-fields{position:relative;padding-top:26px}
.fp-t-steps .fp-fields:before{content:"৩ Transaction ID";position:absolute;top:0;left:0;
  font-size:12.5px;font-weight:700;color:var(--fp-accent)}

/* dark — light text on near-black, brand red retained */
.fp-t-dark{--fp-ink:#f2f3f5;--fp-mut:#9aa0a8;--fp-line:#2a2d33;--fp-soft:#1b1e23}
.fp-t-dark .fp-sum,.fp-t-dark .fp-panel,.fp-t-dark .fp-tab{background:#16181c;border-color:#2a2d33}
.fp-t-dark .fp-sum-hero{background:linear-gradient(180deg,#1b1e23,#16181c)}
.fp-t-dark .fp-sum-total{background:#1b1e23}
.fp-t-dark .fp-head-txt,.fp-t-dark .fp-tab-t b,.fp-t-dark .fp-num-v,
.fp-t-dark .fp-field span,.fp-t-dark .fp-sum-row b{color:#f2f3f5}
.fp-t-dark .fp-numbox{background:#101216;border-color:var(--fp-brand)}
.fp-t-dark .fp-field input{background:#101216;border-color:#2a2d33;color:#f2f3f5}
.fp-t-dark .fp-field input::placeholder{color:#6b7078}
.fp-t-dark .fp-warn{background:#241417;border-color:#4a2027}
.fp-t-dark .fp-warn-txt span{color:#c99a9f}
.fp-t-dark .fp-steps li{color:#c3c8ce}
.fp-t-dark .fp-copy{background:#2a2d33}
.fp-t-dark .fp-chip{background:#2a2d33;color:#c3c8ce}
.fp-t-dark .fp-tab-dot{background:#101216;border-color:#3a3e45}

/* ---------- pay the balance early ---------- */
.fp-topup{--fp-accent:#E11D2E;font-family:'Hind Siliguri','Inter',system-ui,sans-serif;
  border:1px solid #ecedf0;border-left:4px solid var(--fp-accent);border-radius:14px;
  background:#fff;padding:16px 18px;margin:0 0 20px;
  box-shadow:0 1px 2px rgba(16,18,22,.04),0 8px 24px rgba(16,18,22,.06)}
.fp-topup-h{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.fp-topup-h b{font-size:15px}
.fp-topup-h span{font-family:'Inter',sans-serif;font-weight:700;font-size:19px;
  color:var(--fp-accent);white-space:nowrap}
.fp-topup-sub{margin:5px 0 12px;font-size:12.5px;color:#6b7280;line-height:1.6}
.fp-topup-num{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:#fafafb;
  border:1px dashed var(--fp-accent);border-radius:11px;padding:10px 12px;margin-bottom:12px}
.fp-topup-num span{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#6b7280}
.fp-topup-num b{font-family:'Inter',ui-monospace,monospace;font-size:17px;letter-spacing:.04em;flex:1 1 auto}
.fp-topup-form{display:flex;gap:8px;flex-wrap:wrap}
.fp-topup-trx{flex:1 1 160px;min-width:0;padding:11px 12px;border:1px solid #d8dbe0;
  border-radius:10px;font-size:14.5px;font-family:'Inter',sans-serif;text-transform:uppercase}
.fp-topup-go{flex:0 0 auto;background:var(--fp-accent);color:#fff;border:0;border-radius:10px;
  padding:11px 22px;font-size:14px;font-weight:700;cursor:pointer;font-family:inherit}
.fp-topup-go[disabled]{opacity:.55;cursor:not-allowed}
.fp-topup-msg{font-size:13px;margin-top:8px}
.fp-topup-msg.ok{color:#16833c}
.fp-topup-msg.err{color:var(--fp-accent)}
.fp-topup-msg.wait{color:#8a6d11}
.fp-topup.is-done{border-left-color:#16833c}
@media(max-width:520px){.fp-topup-go{width:100%}}

.fp-preview-stack{display:flex;flex-direction:column;gap:10px}
.fp-preview-stack .fp-zones,
.fp-preview-stack .fp-modes,
.fp-preview-stack .fp-pay{margin:0}

/* Extra templates — applied only when chosen in Setup > Design.
   The default (card) is unchanged. */
.fp-t-studio,.fp-skin-studio .fp-pay,.fp-skin-studio .fp-modes,.fp-skin-studio .fp-zones{
  --fp-radius:12px
}
.fp-t-studio .fp-sum,
.fp-t-studio.fp-modes,
.fp-t-studio.fp-pay .fp-panel{
  box-shadow:none;border-color:#ececec
}
.fp-t-studio .fp-sum-hero{padding:12px 14px;background:#fff}
.fp-t-studio .fp-sum-v{font-size:24px;letter-spacing:-.03em}
.fp-t-studio .fp-tab{border-radius:12px}
.fp-t-studio .fp-warn{border-radius:10px;padding:10px 12px}

/* linen — warm paper */
.fp-t-linen,.fp-skin-linen .fp-pay,.fp-skin-linen .fp-modes,.fp-skin-linen .fp-zones{
  --fp-soft:#f7f3ee;--fp-line:#e7dfd4
}
.fp-t-linen .fp-sum,.fp-t-linen.fp-modes,.fp-t-linen .fp-panel,.fp-t-linen.fp-zones .fp-zone{
  background:#fbf8f4;border-color:#e7dfd4;box-shadow:none
}
.fp-t-linen .fp-tab{background:#fbf8f4}
.fp-t-linen .fp-tab.on,.fp-t-linen .fp-zone.on,.fp-t-linen .fp-mode.on{background:#fff;border-color:var(--fp-accent)}

/* rail — flush, left red bar, no cards */
.fp-t-rail .fp-sum,.fp-t-rail.fp-modes,.fp-t-rail .fp-panel,.fp-t-rail .fp-tab,
.fp-t-rail .fp-zone,.fp-t-rail .fp-mode{
  border:0!important;border-radius:0!important;box-shadow:none!important;
  border-left:3px solid var(--fp-accent)!important;background:transparent
}
.fp-t-rail .fp-sum-hero,.fp-t-rail .fp-warn{background:none;border-radius:0}
.fp-t-rail .fp-tab.on,.fp-t-rail .fp-mode.on,.fp-t-rail .fp-zone.on{background:#fffafa}

/* split — giant pay-now */
.fp-t-split .fp-sum-hero{flex-direction:column;align-items:flex-start;gap:2px;padding:14px 4px 8px;
  background:none;border:0}
.fp-t-split .fp-sum{border:0;box-shadow:none}
.fp-t-split .fp-sum-v{font-size:34px;letter-spacing:-.04em;line-height:1}
.fp-t-split .fp-sum-k{text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-family:'Inter',sans-serif}
.fp-t-split .fp-sum-row{padding:8px 4px}

/* pill — chips */
.fp-t-pill .fp-zone,.fp-t-pill .fp-mode,.fp-t-pill .fp-tab{
  border-radius:999px!important;padding-left:16px!important;padding-right:16px!important
}
.fp-t-pill .fp-zone{align-items:center}
.fp-t-pill .fp-sum,.fp-t-pill .fp-panel,.fp-t-pill.fp-modes{border-radius:22px}

/* ledger — receipt */
.fp-t-ledger .fp-sum,.fp-t-ledger.fp-modes,.fp-t-ledger .fp-panel{
  border-style:dashed;border-radius:0;box-shadow:none;background:#fff
}
.fp-t-ledger .fp-sum-v,.fp-t-ledger .fp-mode-amt,.fp-t-ledger .fp-zone-cost{
  font-family:'Inter',ui-monospace,monospace!important;letter-spacing:.04em
}
.fp-t-ledger .fp-sum-row{border-top-style:dashed}

/* editorial — quiet gallery */
.fp-t-editorial .fp-head-txt,.fp-t-editorial .fp-modes-h,.fp-t-editorial .fp-zones-h{
  font-weight:500;letter-spacing:.02em
}
.fp-t-editorial .fp-sum,.fp-t-editorial.fp-modes,.fp-t-editorial .fp-tab,.fp-t-editorial .fp-zone{
  box-shadow:none;border-color:#eee;border-radius:4px
}
.fp-t-editorial .fp-sum-v{font-weight:500}

/* night */
.fp-t-night,.fp-t-dark{
  --fp-ink:#f2f3f5;--fp-mut:#9aa0a8;--fp-line:#2a2d33;--fp-soft:#1b1e23
}
.fp-t-night .fp-sum,.fp-t-night .fp-panel,.fp-t-night .fp-tab,
.fp-t-night.fp-modes,.fp-t-night .fp-zone,.fp-t-night .fp-mode{
  background:#16181c;border-color:#2a2d33;color:#f2f3f5
}
.fp-t-night .fp-sum-hero{background:#1b1e23}
.fp-t-night .fp-head-txt,.fp-t-night .fp-modes-h,.fp-t-night .fp-zones-h,
.fp-t-night .fp-tab-t b,.fp-t-night .fp-mode-b b,.fp-t-night .fp-zone-name,
.fp-t-night .fp-num-v,.fp-t-night .fp-sum-row b{color:#f2f3f5}
.fp-t-night .fp-field input{background:#101216;border-color:#2a2d33;color:#f2f3f5}
.fp-t-night .fp-warn{background:#241417;border-color:#4a2027}
.fp-t-night .fp-mode.on,.fp-t-night .fp-zone.on,.fp-t-night .fp-tab.on{background:#1d1214;border-color:var(--fp-accent)}

/* বাজার */
.fp-t-bazaar .fp-host-amount{
  background:linear-gradient(135deg,#fff7ed,#fff);border-color:#fdba74
}
.fp-t-bazaar .fp-host-gw{border-radius:10px}
.fp-t-bazaar .fp-warn{background:#fffbeb;border-color:#fcd34d}

/* বাক্স */
.fp-t-baksho .fp-host-amount{
  border-radius:4px;border-width:2px;padding:22px 16px
}
.fp-t-baksho .fp-host-amount-v{font-size:40px}
.fp-t-baksho .fp-host-gw{border-radius:6px}

/* পতাকা */
.fp-t-pataka .fp-host-brand{border-bottom:3px solid var(--fp-accent);padding-bottom:12px;margin-bottom:14px}
.fp-t-pataka .fp-host-amount{
  background:var(--fp-accent);color:#fff;border:0
}
.fp-t-pataka .fp-host-amount-k,.fp-t-pataka .fp-host-amount-later{color:rgba(255,255,255,.85)}
.fp-t-pataka .fp-host-amount-v{color:#fff}
.fp-t-pataka .fp-timer{border-color:color-mix(in srgb,var(--fp-accent) 35%,var(--fp-line))}

