/*!
 * BD Popup Checkout — Frontend styles (v1.8.0)
 * Design tokens, mobile-first, accessible, dark mode ready.
 */

/* ============ Design tokens ============ */
.bdpc-modal{
  --bdpc-bg:#ffffff;
  --bdpc-surface:#f8fafc;
  --bdpc-surface-2:#ffffff;
  --bdpc-fg:#0f172a;
  --bdpc-fg-muted:#64748b;
  --bdpc-fg-soft:#94a3b8;
  --bdpc-border:#e5e7eb;
  --bdpc-border-strong:#cbd5e1;
  --bdpc-brand:#ef4444;
  --bdpc-brand-2:#dc2626;
  --bdpc-brand-soft:#fef2f2;
  --bdpc-accent:#0f172a;
  --bdpc-success:#059669;
  --bdpc-success-soft:#ecfdf5;
  --bdpc-danger:#b91c1c;
  --bdpc-warn:#b45309;
  --bdpc-warn-soft:#fffbeb;
  --bdpc-radius:14px;
  --bdpc-radius-sm:10px;
  --bdpc-radius-xs:8px;
  --bdpc-shadow-lg:0 30px 80px -20px rgba(15,23,42,.45), 0 0 0 1px rgba(15,23,42,.05);
  --bdpc-shadow-sm:0 1px 2px rgba(15,23,42,.06);
  --bdpc-ring:0 0 0 4px rgba(239,68,68,.18);
  --bdpc-focus:0 0 0 3px rgba(59,130,246,.45);
  --bdpc-t:200ms cubic-bezier(.2,.7,.3,1);
}

/* ============ Base ============ */
.bdpc-modal,
.bdpc-modal *{box-sizing:border-box}
.bdpc-modal{
  position:fixed;inset:0;z-index:99999;
  display:flex;align-items:center;justify-content:center;
  padding:16px;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Hind Siliguri","Noto Sans Bengali",system-ui,sans-serif;
  color:var(--bdpc-fg);
  -webkit-font-smoothing:antialiased;
}
.bdpc-overlay{
  position:absolute;inset:0;
  background:rgba(15,23,42,.55);
  backdrop-filter:saturate(140%) blur(8px);
  -webkit-backdrop-filter:saturate(140%) blur(8px);
  animation:bdpcFade .25s ease-out both;
}
.bdpc-dialog{
  position:relative;
  background:var(--bdpc-bg);
  width:min(1000px,100%);
  max-height:min(94dvh,900px);
  display:flex;flex-direction:column;
  border-radius:var(--bdpc-radius);
  box-shadow:var(--bdpc-shadow-lg);
  overflow:hidden;
  animation:bdpcIn .35s cubic-bezier(.16,1,.3,1) both;
}
@keyframes bdpcIn{from{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:none}}
@keyframes bdpcFade{from{opacity:0}to{opacity:1}}
@media (prefers-reduced-motion:reduce){
  .bdpc-dialog,.bdpc-overlay,.bdpc-bump{animation:none!important}
  .bdpc-place:hover{transform:none!important}
}

/* ============ Top bar ============ */
.bdpc-topbar{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:14px 18px;
  background:linear-gradient(135deg,#0f172a,#1e293b);
  color:#fff;flex-shrink:0;
  position:relative;
}
.bdpc-brand{display:flex;align-items:center;gap:12px;min-width:0}
.bdpc-badge{
  width:38px;height:38px;border-radius:10px;
  background:linear-gradient(135deg,var(--bdpc-brand),var(--bdpc-brand-2));
  display:grid;place-items:center;color:#fff;flex-shrink:0;
  box-shadow:0 6px 14px -6px rgba(239,68,68,.7);
}
.bdpc-title{margin:0;font-size:16px;font-weight:700;color:#fff;letter-spacing:-.01em;line-height:1.2}
.bdpc-sub-title{margin:2px 0 0;font-size:12px;color:rgba(255,255,255,.7);line-height:1.3}
.bdpc-close{
  background:rgba(255,255,255,.14) !important;color:#fff !important;
  border:1px solid rgba(255,255,255,.22) !important;
  width:38px !important;height:38px !important;border-radius:50% !important;
  cursor:pointer;display:grid !important;place-items:center !important;flex-shrink:0;
  padding:0 !important;
  transition:background var(--bdpc-t), transform var(--bdpc-t), border-color var(--bdpc-t);
  box-shadow:0 2px 6px rgba(0,0,0,.15);
}
.bdpc-close svg{width:20px !important;height:20px !important;display:block !important;stroke:#fff !important;fill:none !important;opacity:1 !important;visibility:visible !important}
.bdpc-close:hover{background:rgba(255,255,255,.28) !important;border-color:rgba(255,255,255,.4) !important}
.bdpc-close:active{background:rgba(255,255,255,.34) !important}
.bdpc-close:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(255,255,255,.55)}

/* ============ Layout ============ */
.bdpc-body{
  display:grid;grid-template-columns:1.35fr 1fr;
  gap:0;overflow:auto;flex:1;min-height:0;
}
.bdpc-left{padding:22px}
.bdpc-right{padding:22px;background:var(--bdpc-surface);border-left:1px solid var(--bdpc-border)}
@media(max-width:820px){
  .bdpc-modal{padding:0}
  .bdpc-dialog{max-height:100dvh;height:100dvh;width:100%;border-radius:0}
  .bdpc-body{grid-template-columns:1fr}
  .bdpc-right{border-left:0;border-top:1px solid var(--bdpc-border);order:-1;padding:16px}
  .bdpc-left{padding:16px 16px 22px}
}

/* ============ Form ============ */
.bdpc-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:520px){.bdpc-grid{grid-template-columns:1fr}}
.bdpc-full{grid-column:1/-1}
.bdpc-group label{
  display:block;font-size:12.5px;font-weight:600;
  color:#334155;margin-bottom:6px;letter-spacing:.01em;
}
.bdpc-field input,
.bdpc-field select,
.bdpc-field textarea{
  width:100%;min-height:44px;padding:10px 12px;
  border:1.5px solid var(--bdpc-border);
  border-radius:var(--bdpc-radius-sm);
  font-size:14px;background:#fff;color:var(--bdpc-fg);
  transition:border-color var(--bdpc-t),box-shadow var(--bdpc-t),background var(--bdpc-t);
  -webkit-appearance:none;appearance:none;
  font-family:inherit;
}
.bdpc-field input::placeholder,
.bdpc-field textarea::placeholder{color:#94a3b8}
.bdpc-field input:hover,
.bdpc-field select:hover,
.bdpc-field textarea:hover{border-color:var(--bdpc-border-strong)}
.bdpc-field input:focus-visible,
.bdpc-field select:focus-visible,
.bdpc-field textarea:focus-visible{
  outline:none;border-color:var(--bdpc-brand);
  box-shadow:var(--bdpc-ring);
}
.bdpc-field input[aria-invalid="true"]{border-color:var(--bdpc-danger);box-shadow:0 0 0 3px rgba(185,28,28,.15)}

/* Select with custom caret (matches Shipping Address reference) */
.bdpc-field-select{position:relative;display:flex;align-items:center}
.bdpc-field-select select{padding-right:36px;cursor:pointer;color:#64748b;font-weight:500}
.bdpc-field-select select:required:valid{color:var(--bdpc-fg)}
.bdpc-field-select .bdpc-select-caret{
  position:absolute;right:14px;top:50%;transform:translateY(-50%);
  color:#94a3b8;pointer-events:none;transition:color .15s ease;
}
.bdpc-field-select:hover .bdpc-select-caret{color:#475569}
.bdpc-optional{color:#94a3b8;font-weight:500}

/* ============ Radio cards (delivery + payment) ============ */
.bdpc-area-group,.bdpc-pay{border:0;padding:0;margin:18px 0 0;min-width:0}
.bdpc-area-group legend,.bdpc-pay legend{
  font-size:12.5px;font-weight:700;color:#334155;
  padding:0;margin-bottom:8px;letter-spacing:.02em;text-transform:uppercase;
}
.bdpc-radio-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media(max-width:420px){.bdpc-radio-grid{grid-template-columns:1fr}}

.bdpc-area-opt,.bdpc-pay-opt{position:relative}
.bdpc-area-opt input,.bdpc-pay-opt input{
  position:absolute;opacity:0;pointer-events:none;
}
/* keyboard focus ring on the visible card */
.bdpc-area-opt input:focus-visible + .bdpc-area-card,
.bdpc-pay-opt input:focus-visible ~ .bdpc-pay-mark{box-shadow:var(--bdpc-focus)}

.bdpc-area-card{
  display:flex;justify-content:space-between;align-items:center;gap:10px;
  padding:14px;border:1.5px solid var(--bdpc-border);
  border-radius:var(--bdpc-radius-sm);cursor:pointer;
  transition:all var(--bdpc-t);background:#fff;
  min-height:56px;
}
.bdpc-area-card:hover{border-color:var(--bdpc-border-strong);background:#fafbfc}
.bdpc-area-opt input:checked + .bdpc-area-card{
  border-color:var(--bdpc-brand);background:var(--bdpc-brand-soft);
  box-shadow:0 0 0 3px rgba(239,68,68,.1);
}
.bdpc-area-name{font-weight:600;font-size:13.5px}
.bdpc-area-price{font-weight:700;color:var(--bdpc-brand);font-variant-numeric:tabular-nums}

.bdpc-pay-opt{
  display:flex;align-items:flex-start;gap:12px;
  padding:14px;border:1.5px solid var(--bdpc-border);
  border-radius:var(--bdpc-radius-sm);cursor:pointer;
  margin-bottom:8px;background:#fff;
  transition:all var(--bdpc-t);min-height:56px;
}
.bdpc-pay-opt:hover{border-color:var(--bdpc-border-strong);background:#fafbfc}
.bdpc-pay-mark{
  width:20px;height:20px;border-radius:50%;
  border:2px solid var(--bdpc-border-strong);
  flex-shrink:0;margin-top:1px;position:relative;
  transition:all var(--bdpc-t);background:#fff;
}
.bdpc-pay-opt input:checked ~ .bdpc-pay-mark{border-color:var(--bdpc-brand)}
.bdpc-pay-opt input:checked ~ .bdpc-pay-mark::after{
  content:"";position:absolute;inset:3px;border-radius:50%;
  background:var(--bdpc-brand);
  animation:bdpcPop .2s ease-out both;
}
@keyframes bdpcPop{from{transform:scale(0)}to{transform:scale(1)}}
.bdpc-pay-opt.is-selected,
.bdpc-pay-opt:has(input:checked){border-color:var(--bdpc-brand);background:var(--bdpc-brand-soft)}
.bdpc-pay-body{min-width:0}
.bdpc-pay-name{display:block;font-weight:600;font-size:13.5px;line-height:1.3}
.bdpc-pay-desc{display:block;font-size:12px;color:var(--bdpc-fg-muted);margin-top:3px;line-height:1.4}

.bdpc-pay-panel{
  display:none;padding:14px;margin:-4px 0 10px;
  background:#fff8f6;border:1px dashed #fca5a5;
  border-radius:var(--bdpc-radius-sm);
  animation:bdpcSlide .25s ease-out both;
}
@keyframes bdpcSlide{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.bdpc-pay-panel.active{display:block}
.bdpc-pay-info{font-size:13px;line-height:1.7;margin-bottom:10px;color:#334155}
.bdpc-pay-info .bdpc-num{
  font-weight:700;color:var(--bdpc-brand);font-size:15px;
  letter-spacing:.5px;font-variant-numeric:tabular-nums;
  user-select:all;
}

/* ============ Trust + scarcity ============ */
.bdpc-trust{display:flex;flex-wrap:wrap;gap:6px;margin:14px 0 4px}
.bdpc-trust-badge{
  background:#f1f5f9;color:#0f172a;
  padding:6px 12px;border-radius:999px;
  font-size:12px;font-weight:600;
  border:1px solid var(--bdpc-border);
}
.bdpc-scarcity{
  background:var(--bdpc-brand-soft);color:#991b1b;
  padding:10px 14px;border-radius:var(--bdpc-radius-sm);
  font-weight:600;font-size:13px;text-align:center;
  margin:12px 0;border:1px dashed #fca5a5;
  display:flex;align-items:center;justify-content:center;gap:8px;
}
.bdpc-scarcity::before{content:"⚡";}

/* ============ Privacy + submit ============ */
.bdpc-privacy{
  font-size:11.5px;color:var(--bdpc-fg-soft);
  margin:16px 0 12px;text-align:center;line-height:1.5;
}
.bdpc-place{
  width:100%;min-height:54px;padding:14px 20px;
  background:linear-gradient(135deg,var(--bdpc-brand),var(--bdpc-brand-2));
  color:#fff;border:0;border-radius:12px;
  font-size:15px;font-weight:700;letter-spacing:.02em;
  cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;
  transition:transform var(--bdpc-t),box-shadow var(--bdpc-t),filter var(--bdpc-t);
  box-shadow:0 6px 20px -6px rgba(239,68,68,.55);
  font-family:inherit;
}
.bdpc-place:hover{transform:translateY(-1px);box-shadow:0 10px 24px -6px rgba(239,68,68,.65)}
.bdpc-place:active{transform:translateY(0)}
.bdpc-place:focus-visible{outline:none;box-shadow:0 0 0 3px #fff,0 0 0 6px var(--bdpc-brand)}
.bdpc-place:disabled{opacity:.7;cursor:wait;filter:saturate(.7)}
.bdpc-place-arrow{transition:transform var(--bdpc-t)}
.bdpc-place:hover .bdpc-place-arrow{transform:translateX(3px)}

.bdpc-msg{
  margin-top:12px;padding:11px 14px;border-radius:var(--bdpc-radius-sm);
  font-size:13px;display:none;line-height:1.5;
}
.bdpc-msg.err{display:block;background:var(--bdpc-brand-soft);color:var(--bdpc-danger);border:1px solid #fecaca}
.bdpc-msg.ok{display:block;background:var(--bdpc-success-soft);color:#15803d;border:1px solid #bbf7d0}

/* ============ Order summary ============ */
.bdpc-summary-head h3{
  margin:0 0 14px;font-size:14px;font-weight:700;
  text-transform:uppercase;letter-spacing:.05em;color:#334155;
}
.bdpc-row{
  display:grid;
  grid-template-columns:48px minmax(0,1fr) auto auto auto;
  gap:12px;align-items:center;
  padding:10px 12px;background:#fff;border:1px solid var(--bdpc-border);
  border-radius:14px;box-shadow:0 1px 2px rgba(15,23,42,.04);
  transition:border-color var(--bdpc-t), box-shadow var(--bdpc-t);
}
.bdpc-row:hover{border-color:#dbe1ea;box-shadow:0 2px 8px rgba(15,23,42,.06)}
.bdpc-pimg{
  width:48px;height:48px;object-fit:cover;
  border-radius:10px;background:#f1f5f9;
  border:1px solid #eef1f5;
}
.bdpc-ptitle{
  font-size:14px;font-weight:600;line-height:1.35;color:#0f172a;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;
  overflow:hidden;min-width:0;
}
.bdpc-qty{
  display:inline-flex;align-items:center;
  border:1px solid var(--bdpc-border);border-radius:8px;
  overflow:hidden;background:#fff;height:30px;
}
.bdpc-qty button{
  width:26px;height:28px;border:0;background:#fff;
  cursor:pointer;font-weight:700;font-size:14px;color:#0f172a;line-height:1;
  padding:0;transition:background var(--bdpc-t);
}
.bdpc-qty button:hover{background:#f1f5f9}
.bdpc-qty button:active{background:#e2e8f0}
.bdpc-qty button:focus-visible{outline:2px solid #0f172a;outline-offset:-2px}
.bdpc-qty-input{
  width:30px;height:28px;border:0;text-align:center;
  font-weight:700;font-size:13px;background:#fff;color:#0f172a;
  border-left:1px solid var(--bdpc-border);
  border-right:1px solid var(--bdpc-border);
  font-variant-numeric:tabular-nums;padding:0;
}
.bdpc-price{
  font-weight:800;font-size:15px;color:var(--bdpc-brand);
  font-variant-numeric:tabular-nums;white-space:nowrap;
}
.bdpc-del{
  width:30px !important;height:30px !important;border:1.5px solid var(--bdpc-brand) !important;
  color:var(--bdpc-brand) !important;background:#fff !important;border-radius:50% !important;
  cursor:pointer;transition:all var(--bdpc-t);
  display:grid !important;place-items:center !important;padding:0 !important;flex-shrink:0;
  box-shadow:0 1px 3px rgba(239,68,68,.15);
}
.bdpc-del svg{width:14px !important;height:14px !important;display:block !important;stroke:var(--bdpc-brand) !important;fill:none !important;opacity:1 !important;visibility:visible !important}
.bdpc-del:hover{background:var(--bdpc-brand) !important;border-color:var(--bdpc-brand) !important;box-shadow:0 4px 10px -2px rgba(239,68,68,.4)}
.bdpc-del:hover svg{stroke:#fff !important}
.bdpc-del:active{background:var(--bdpc-brand-2,#dc2626) !important}
.bdpc-del:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(239,68,68,.35)}
@media (max-width:520px){
  .bdpc-row{grid-template-columns:40px minmax(0,1fr) auto;gap:10px;padding:10px;row-gap:8px}
  .bdpc-pimg{width:40px;height:40px;border-radius:8px}
  .bdpc-ptitle{font-size:13px;-webkit-line-clamp:1}
  .bdpc-qty{grid-column:1 / 3;grid-row:2;justify-self:start}
  .bdpc-price{grid-column:2;grid-row:2;justify-self:end}
  .bdpc-del{grid-column:3;grid-row:1;justify-self:end}
}

/* ============ Variations ============ */
.bdpc-variations{display:grid;gap:8px}
.bdpc-var-group{display:flex;flex-direction:column;gap:4px}
.bdpc-var-group label{font-size:12px;font-weight:600;color:#334155}
.bdpc-var-group select{
  min-height:38px;padding:0 10px;
  border:1.5px solid var(--bdpc-border);border-radius:8px;
  font-size:13px;background:#fff;
}

/* ============ Order bump ============ */
.bdpc-bump{
  margin-top:14px;background:var(--bdpc-warn-soft);
  border:2px dashed #f59e0b;border-radius:var(--bdpc-radius-sm);
  padding:14px;animation:bdpcPulse 2s ease-in-out infinite;
}
@keyframes bdpcPulse{
  0%,100%{box-shadow:0 0 0 0 rgba(245,158,11,.35)}
  50%{box-shadow:0 0 0 6px rgba(245,158,11,0)}
}
.bdpc-bump-inner{display:flex;align-items:flex-start;gap:12px;cursor:pointer}
.bdpc-bump-inner input{margin-top:3px;width:18px;height:18px;accent-color:var(--bdpc-warn)}
.bdpc-bump-headline{font-weight:700;font-size:13px;color:#92400e;margin-bottom:8px;line-height:1.35}
.bdpc-bump-row{display:flex;gap:10px;align-items:center}
.bdpc-bump-img{width:48px;height:48px;object-fit:cover;border-radius:8px}
.bdpc-bump-name{font-size:13px;font-weight:600}
.bdpc-bump-price{font-size:12.5px;color:var(--bdpc-warn);font-weight:700}

/* ============ Coupon / gift voucher (v1.9.9 reference redesign) ============ */
.bdpc-sr-only{
  position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;
  overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;
}
.bdpc-coupon-wrap{
  margin-top:14px;
  background:transparent;
  border:0;
  border-radius:0;
  overflow:visible;
}
/* Compact gray title bar */
.bdpc-coupon-toggle{
  width:100%;
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:11px 14px;
  background:#f1f3f6;border:1px solid #e5e7eb;border-radius:8px;
  cursor:pointer;font-family:inherit;text-align:left;color:#334155;
  transition:background .15s ease,border-color .15s ease;
}
.bdpc-coupon-toggle:hover{background:#eaecef;border-color:#d5d9df}
.bdpc-coupon-toggle:focus-visible{outline:2px solid #0f172a;outline-offset:2px}
.bdpc-coupon-lead{display:flex;align-items:center;gap:9px;min-width:0;flex:1}
.bdpc-coupon-icon{
  flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;
  width:22px;height:22px;color:#0f172a;
}
.bdpc-coupon-title{
  color:#0f172a;font-size:13px;font-weight:600;line-height:1.35;letter-spacing:.005em;
  min-width:0;
}
.bdpc-coupon-title-sub{color:#475569;font-weight:500}
.bdpc-caret{color:#334155;transition:transform .25s ease;flex:0 0 auto}
.bdpc-coupon-toggle[aria-expanded="false"] .bdpc-caret{transform:rotate(180deg)}

/* Expandable body */
.bdpc-coupon-body{
  display:grid;grid-template-rows:0fr;
  transition:grid-template-rows .26s ease;
}
.bdpc-coupon-wrap.is-open .bdpc-coupon-body{grid-template-rows:1fr}
.bdpc-coupon-body > .bdpc-coupon-inner{overflow:hidden;min-height:0}
.bdpc-coupon-inner{padding:0}
.bdpc-coupon-wrap.is-open .bdpc-coupon-inner{padding-top:12px}

.bdpc-coupon-label{
  display:inline-flex;align-items:center;gap:6px;
  font-size:12.5px;font-weight:600;color:#0f172a;margin-bottom:8px;
}
.bdpc-coupon-label-icon{display:inline-flex;color:#f97316}

.bdpc-coupon-row{display:flex;align-items:stretch;gap:10px}
#bdpc-coupon-input{
  flex:1;width:100%;height:44px;min-width:0;
  padding:0 14px;
  border:1.5px solid #e5e7eb;border-radius:8px;
  background:#fff;color:#0f172a;
  font-size:13.5px;font-family:inherit;font-weight:500;letter-spacing:.02em;
  transition:border-color .15s ease, box-shadow .15s ease;
}
#bdpc-coupon-input::placeholder{color:#94a3b8;font-weight:400;letter-spacing:0;opacity:1}
#bdpc-coupon-input:hover{border-color:#cbd5e1}
#bdpc-coupon-input:focus-visible{outline:none;border-color:#0f172a;box-shadow:0 0 0 3px rgba(15,23,42,.10)}

#bdpc-coupon-btn{
  flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:7px;
  min-height:44px;padding:0 22px;
  background:#0f172a;color:#fff;border:1px solid #0f172a;
  border-radius:8px;font-weight:600;cursor:pointer;font-size:13.5px;
  font-family:inherit;letter-spacing:.01em;white-space:nowrap;
  transition:background .15s ease,border-color .15s ease,transform .12s ease,box-shadow .15s ease;
}
#bdpc-coupon-btn svg{opacity:.95}
#bdpc-coupon-btn:hover{background:#1e293b;border-color:#1e293b;box-shadow:0 4px 12px rgba(15,23,42,.18)}
#bdpc-coupon-btn:active{transform:translateY(1px)}
#bdpc-coupon-btn:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(15,23,42,.22)}
#bdpc-coupon-btn:disabled{opacity:.55;cursor:not-allowed}

.bdpc-coupon-hint{margin-top:8px;font-size:11.5px;color:#64748b;line-height:1.45}
.bdpc-coupon-msg{margin-top:6px;font-size:12px;font-weight:500;min-height:16px;line-height:1.35}
.bdpc-coupon-msg.err{color:var(--bdpc-danger)}
.bdpc-coupon-msg.ok{color:#15803d;display:flex;align-items:center;gap:6px}
.bdpc-coupon-msg.ok::before{content:"✓";display:inline-flex;width:16px;height:16px;align-items:center;justify-content:center;background:#dcfce7;color:#15803d;border-radius:50%;font-size:10px;font-weight:700}

@media (max-width:480px){
  .bdpc-coupon-toggle{padding:11px 12px;gap:8px}
  .bdpc-coupon-title{font-size:12.5px}
  .bdpc-coupon-title-sub{display:block;font-size:11.5px;font-weight:400;color:#64748b;margin-top:1px}
  .bdpc-coupon-row{flex-direction:column;gap:8px}
  #bdpc-coupon-input,#bdpc-coupon-btn{width:100%;height:46px;min-height:46px}
}




/* ============ Totals ============ */
.bdpc-tot{
  margin:16px 0 0;padding:16px;background:#fff;
  border:1px solid var(--bdpc-border);
  border-radius:var(--bdpc-radius-sm);
}
.bdpc-tot div{
  display:flex;justify-content:space-between;align-items:baseline;
  padding:6px 0;font-size:13.5px;
}
.bdpc-tot dt{color:var(--bdpc-fg-muted);margin:0}
.bdpc-tot dd{margin:0;color:#0f172a;font-weight:600;font-variant-numeric:tabular-nums}
.bdpc-qty-disc,.bdpc-disc{color:var(--bdpc-success)!important}
.bdpc-gt{
  padding-top:12px;border-top:1px dashed var(--bdpc-border);
  margin-top:4px;
}
.bdpc-gt dt{color:#0f172a!important;font-weight:700!important;font-size:14px}
.bdpc-gt dd{
  color:var(--bdpc-brand)!important;font-weight:800!important;
  font-size:20px!important;letter-spacing:-.01em;
}

/* ============ Buy Now button (loop / single) ============ */
.bdpc-buy-now{
  background:linear-gradient(135deg,var(--bdpc-brand),var(--bdpc-brand-2))!important;
  color:#fff!important;border:0!important;
  font-weight:600!important;border-radius:8px!important;
  transition:transform var(--bdpc-t),box-shadow var(--bdpc-t)!important;
}
.bdpc-buy-now:hover{
  transform:translateY(-1px);
  box-shadow:0 8px 20px -6px rgba(239,68,68,.55)!important;
  color:#fff!important;
}
.bdpc-loop-btn{
  display:block;margin:8px 10px 10px;padding:10px 14px;
  font-size:12.5px;text-align:center;text-decoration:none;
  border-radius:8px;
}

/* ============ Countdown + dark toggle ============ */
.bdpc-countdown{
  display:flex;align-items:center;justify-content:center;gap:10px;
  background:linear-gradient(90deg,#fee2e2,#fef3c7);
  color:#991b1b;padding:10px 16px;
  font-weight:700;font-size:13.5px;
  border-bottom:1px solid #fca5a5;
}
.bdpc-countdown-clock{
  background:#7f1d1d;color:#fff;padding:4px 10px;
  border-radius:6px;font-variant-numeric:tabular-nums;
  letter-spacing:1px;
}
.bdpc-dark-toggle{
  position:absolute;top:14px;right:60px;
  background:rgba(255,255,255,.12);border:0;color:#fff;
  width:32px;height:32px;border-radius:10px;
  font-size:16px;cursor:pointer;line-height:1;
  padding:0;z-index:5;display:grid;place-items:center;
  transition:background var(--bdpc-t);
}
.bdpc-dark-toggle:hover{background:rgba(255,255,255,.22)}

/* ============ Dark mode ============ */
.bdpc-modal.bdpc-dark{
  --bdpc-bg:#0f172a;
  --bdpc-surface:#111827;
  --bdpc-fg:#e2e8f0;
  --bdpc-fg-muted:#94a3b8;
  --bdpc-border:#1e293b;
  --bdpc-border-strong:#334155;
  --bdpc-brand-soft:#3b0d0d;
  --bdpc-success-soft:#052e1c;
}
.bdpc-modal.bdpc-dark .bdpc-dialog{background:var(--bdpc-bg);color:var(--bdpc-fg)}
.bdpc-modal.bdpc-dark .bdpc-title,
.bdpc-modal.bdpc-dark label,
.bdpc-modal.bdpc-dark .bdpc-ptitle,
.bdpc-modal.bdpc-dark .bdpc-gt dt{color:#f1f5f9!important}
.bdpc-modal.bdpc-dark .bdpc-field input,
.bdpc-modal.bdpc-dark .bdpc-field select,
.bdpc-modal.bdpc-dark .bdpc-field textarea,
.bdpc-modal.bdpc-dark .bdpc-coupon-row input,
.bdpc-modal.bdpc-dark .bdpc-qty,
.bdpc-modal.bdpc-dark .bdpc-qty button,
.bdpc-modal.bdpc-dark .bdpc-qty-input{background:#1e293b;color:#f1f5f9;border-color:#334155}
.bdpc-modal.bdpc-dark .bdpc-trust-badge,
.bdpc-modal.bdpc-dark .bdpc-area-card,
.bdpc-modal.bdpc-dark .bdpc-pay-opt,
.bdpc-modal.bdpc-dark .bdpc-row,
.bdpc-modal.bdpc-dark .bdpc-tot,
.bdpc-modal.bdpc-dark .bdpc-coupon{background:#1e293b;color:#e2e8f0;border-color:#334155}
.bdpc-modal.bdpc-dark .bdpc-tot dd{color:#f1f5f9}

/* ============ WhatsApp float ============ */
.bdpc-wa{
  position:fixed;bottom:20px;right:20px;
  width:56px;height:56px;border-radius:50%;
  background:#25d366;color:#fff;
  display:grid;place-items:center;
  box-shadow:0 8px 24px rgba(37,211,102,.4);
  z-index:99998;text-decoration:none;
  transition:transform var(--bdpc-t),box-shadow var(--bdpc-t);
}
.bdpc-wa:hover{transform:scale(1.08);box-shadow:0 10px 28px rgba(37,211,102,.55)}
.bdpc-wa:focus-visible{outline:none;box-shadow:0 0 0 3px #fff,0 0 0 6px #25d366}
.bdpc-wa svg{width:30px;height:30px;fill:#fff}

/* ============ Social proof toast ============ */
.bdpc-sp-toast{
  position:fixed;bottom:20px;left:20px;
  background:#fff;border-radius:12px;
  box-shadow:0 10px 30px rgba(0,0,0,.15);
  padding:12px 16px;display:flex;align-items:center;gap:10px;
  max-width:320px;z-index:99997;
  transform:translateX(-120%);
  transition:transform .4s cubic-bezier(.16,1,.3,1);
  border-left:4px solid #10b981;
}
.bdpc-sp-toast.show{transform:translateX(0)}
.bdpc-sp-icon{
  width:36px;height:36px;background:#d1fae5;border-radius:50%;
  display:grid;place-items:center;font-size:18px;flex:none;
}
.bdpc-sp-body{font-size:13px;line-height:1.4;color:#0f172a}
.bdpc-sp-body strong{color:#065f46}
.bdpc-sp-time{color:#94a3b8;font-size:11px;display:block;margin-top:2px}

/* ============ Misc ============ */
.grecaptcha-badge{visibility:hidden}

/* Scrollbar polish */
.bdpc-body{scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent}
.bdpc-body::-webkit-scrollbar{width:8px;height:8px}
.bdpc-body::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:8px}
.bdpc-body::-webkit-scrollbar-thumb:hover{background:#94a3b8}

/* ============ Admin-controlled design overrides (v1.9) ============ */
.bdpc-modal{
  --bdpc-bg:var(--bdpc-var-bg,#ffffff);
  --bdpc-fg:var(--bdpc-var-fg,#0f172a);
  --bdpc-brand:var(--bdpc-var-brand,#ef4444);
  --bdpc-brand-2:var(--bdpc-var-brand-2,#dc2626);
  --bdpc-radius:var(--bdpc-var-radius,14px);
  --bdpc-radius-sm:var(--bdpc-var-field-radius,10px);
}
.bdpc-dialog{width:min(var(--bdpc-var-width,1000px),100%)}
.bdpc-header{background:var(--bdpc-var-header-bg,linear-gradient(135deg,#0f172a,#1e293b));color:var(--bdpc-var-header-fg,#fff)}
.bdpc-place-order,.bdpc-btn-primary{
  background:var(--bdpc-var-btn-bg,#ef4444)!important;
  color:var(--bdpc-var-btn-fg,#fff)!important;
  border-radius:var(--bdpc-var-btn-radius,12px)!important;
  border:var(--bdpc-var-btn-border,0 solid transparent)!important;
}
.bdpc-btn-styled,a.bdpc-buy-now,button.bdpc-buy-now{
  background:var(--bdpc-var-buy-bg,#ef4444)!important;
  color:var(--bdpc-var-buy-fg,#fff)!important;
  border-radius:var(--bdpc-var-buy-radius,10px)!important;
  border:var(--bdpc-var-buy-border,0 solid transparent)!important;
  padding:var(--bdpc-var-buy-pad,12px) 18px!important;
  font-weight:600;line-height:1;display:inline-flex;align-items:center;gap:6px;text-decoration:none;
  transition:transform .15s ease, filter .15s ease;
}
.bdpc-btn-styled:hover,a.bdpc-buy-now:hover,button.bdpc-buy-now:hover{filter:brightness(1.05);transform:translateY(-1px)}

/* Templates */
.bdpc-modal.tpl-compact .bdpc-dialog{width:min(560px,100%)}
.bdpc-modal.tpl-split .bdpc-body{display:grid;grid-template-columns:1.1fr 1fr;gap:0}
@media (max-width:820px){.bdpc-modal.tpl-split .bdpc-body{grid-template-columns:1fr}}

/* Upsell popup */
.bdpc-upsell-modal{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;padding:16px}
.bdpc-upsell-modal .ov{position:absolute;inset:0;background:rgba(15,23,42,.6);backdrop-filter:blur(6px)}
.bdpc-upsell-card{position:relative;background:#fff;border-radius:var(--bdpc-var-radius,16px);max-width:440px;width:100%;padding:22px;text-align:center;box-shadow:0 30px 80px -20px rgba(0,0,0,.4);animation:bdpcPop .3s ease-out}
.bdpc-upsell-card h3{margin:0 0 8px;color:var(--bdpc-var-brand,#ef4444);font-size:20px}
.bdpc-upsell-card img{max-width:180px;border-radius:12px;margin:10px auto;display:block}
.bdpc-upsell-card .price{font-size:22px;font-weight:700;margin:8px 0}
.bdpc-upsell-card .old{text-decoration:line-through;color:#94a3b8;font-size:14px;margin-right:6px}
.bdpc-upsell-actions{display:flex;gap:10px;margin-top:14px}
.bdpc-upsell-actions button{flex:1;padding:12px;border-radius:10px;border:0;font-weight:600;cursor:pointer;font-size:14px}
.bdpc-upsell-yes{background:var(--bdpc-var-brand,#ef4444);color:#fff}
.bdpc-upsell-no{background:#f1f5f9;color:#334155}
@keyframes bdpcPop{from{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}

/* Premium SVG icon spacing */
.bdpc-i{vertical-align:-3px;margin-right:2px}

/* ============ v1.9.1 additions — Shipping section, phone prefix, copy button ============ */
.bdpc-section-head{
  display:flex;align-items:center;gap:10px;
  margin:6px 0 12px;
}
.bdpc-section-bar{
  width:4px;height:20px;border-radius:3px;
  background:linear-gradient(180deg,#f97316,#ea580c);
  box-shadow:0 0 0 3px rgba(249,115,22,.14);
}
.bdpc-section-title{
  font-size:15px;font-weight:700;color:var(--bdpc-fg);
  margin:0;letter-spacing:.2px;
}
.bdpc-grid.bdpc-grid-2{
  display:grid;grid-template-columns:1fr 1fr;gap:12px;
}
.bdpc-grid.bdpc-grid-2 .bdpc-full{grid-column:1 / -1}
@media (max-width:520px){
  .bdpc-grid.bdpc-grid-2{grid-template-columns:1fr}
}

/* Phone with +88 prefix */
.bdpc-field-phone{position:relative;display:flex;align-items:stretch}
.bdpc-field-phone .bdpc-phone-prefix{
  display:inline-flex;align-items:center;gap:6px;
  padding:0 12px;
  background:var(--bdpc-surface);
  border:1px solid var(--bdpc-border);
  border-right:0;
  border-radius:var(--bdpc-radius-sm) 0 0 var(--bdpc-radius-sm);
  color:var(--bdpc-fg);font-weight:600;font-size:14px;
  white-space:nowrap;
}
.bdpc-field-phone .bdpc-flag{font-size:16px;line-height:1}
.bdpc-field-phone input{
  flex:1;min-width:0;
  border-radius:0 var(--bdpc-radius-sm) var(--bdpc-radius-sm) 0 !important;
}

/* Copy button */
.bdpc-pay-line{display:flex;align-items:center;flex-wrap:wrap;gap:8px;line-height:1.7}
.bdpc-pay-hint{color:var(--bdpc-fg-muted);font-size:13px;margin-top:6px}
.bdpc-num{
  font-weight:700;letter-spacing:.3px;color:var(--bdpc-fg);
  background:var(--bdpc-brand-soft);
  padding:2px 8px;border-radius:6px;
}
.bdpc-copy-btn{
  display:inline-flex;align-items:center;gap:6px;
  padding:4px 10px;
  background:#fff;color:var(--bdpc-fg);
  border:1px solid var(--bdpc-border-strong);
  border-radius:999px;font-size:12px;font-weight:600;
  cursor:pointer;transition:all var(--bdpc-t);
}
.bdpc-copy-btn:hover{background:var(--bdpc-surface);border-color:var(--bdpc-brand)}
.bdpc-copy-btn:focus-visible{outline:none;box-shadow:var(--bdpc-focus)}
.bdpc-copy-btn.is-copied{
  background:var(--bdpc-success-soft);
  border-color:var(--bdpc-success);
  color:var(--bdpc-success);
}
.bdpc-copy-btn svg{flex-shrink:0}

/* Online payment link button */
.bdpc-pay-link{
  display:inline-flex;align-items:center;gap:6px;
  padding:8px 14px;background:var(--bdpc-accent);color:#fff;
  border-radius:var(--bdpc-radius-sm);text-decoration:none;
  font-weight:600;font-size:13px;
}
.bdpc-pay-link:hover{opacity:.9}

/* (v1.9.3 collapsible coupon rules removed — replaced by v1.9.4 .bdpc-coupon-wrap above) */

/* ============ Summary card & Payment Plan ============ */
.bdpc-summary-card{
  background:#fff;border:1px solid #e5e7eb;border-radius:12px;
  padding:14px 16px;margin-top:10px;
}
.bdpc-summary-card > div{display:flex;justify-content:space-between;padding:6px 0;font-size:13.5px;color:#475569}
.bdpc-summary-card > div dt{font-weight:500}
.bdpc-summary-card > div dd{margin:0;font-weight:600;color:#0f172a}
.bdpc-summary-card > div.bdpc-gt{border-top:1px solid #e5e7eb;margin-top:6px;padding-top:12px;font-size:15px}
.bdpc-summary-card > div.bdpc-gt dt,.bdpc-summary-card > div.bdpc-gt dd{font-weight:700;color:#0f172a}

.bdpc-plan{
  margin-top:12px;background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden;
}
.bdpc-plan-title{
  margin:0;padding:12px 16px;font-size:12.5px;font-weight:700;
  text-transform:uppercase;letter-spacing:.04em;color:#334155;
  background:#f8fafc;border-bottom:1px solid #e5e7eb;
}
.bdpc-plan-list{padding:8px 4px}
.bdpc-plan-item{
  display:flex;align-items:center;gap:12px;padding:10px 14px;cursor:pointer;
  border-radius:8px;transition:background .15s ease;
}
.bdpc-plan-item:hover{background:#fff7ed}
.bdpc-plan-item input{position:absolute;opacity:0;pointer-events:none}
.bdpc-plan-radio{
  width:18px;height:18px;border:2px solid #fb923c;border-radius:50%;
  flex:0 0 18px;position:relative;transition:all .15s ease;
}
.bdpc-plan-item input:checked + .bdpc-plan-radio{border-color:#ea580c}
.bdpc-plan-item input:checked + .bdpc-plan-radio::after{
  content:"";position:absolute;inset:3px;background:#ea580c;border-radius:50%;
}
.bdpc-plan-item input:focus-visible + .bdpc-plan-radio{box-shadow:0 0 0 3px rgba(234,88,12,.25)}
.bdpc-plan-text{font-size:13.5px;color:#334155;line-height:1.4}
.bdpc-plan-item input:checked ~ .bdpc-plan-text{color:#0f172a;font-weight:600}

.bdpc-modal.bdpc-dark .bdpc-coupon-toggle{color:#e2e8f0}
.bdpc-modal.bdpc-dark .bdpc-coupon-toggle:hover{background:#0f172a}
.bdpc-modal.bdpc-dark .bdpc-summary-card,
.bdpc-modal.bdpc-dark .bdpc-plan{background:#1e293b;border-color:#334155}
.bdpc-modal.bdpc-dark .bdpc-summary-card > div dd,
.bdpc-modal.bdpc-dark .bdpc-plan-title,
.bdpc-modal.bdpc-dark .bdpc-plan-text{color:#e2e8f0}
.bdpc-modal.bdpc-dark .bdpc-plan-title{background:#0f172a;border-color:#334155}
