/* Bitcoin Pay — design pro, 3 templates (classic/dark/invoice). Hérite des polices du thème (font-family: inherit). */
.btcpay-box, .btcpay-packages {
  font-family: inherit; color: inherit;
}

/* ===== Template Classic (clair) ===== */
.btcpay-tpl-classic {
  --btc-card: #ffffff;
  --btc-border: #e8eaed;
  --btc-text: #111827;
  --btc-muted: #6b7280;
  --btc-input-bg: #fafbfc;
  --btc-input-border: #d7dae0;
  --btc-input-text: #1d2327;
  --btc-field: #f6f7f9;
  --btc-field-border: #e2e4e9;
  --btc-pill: #eef0f3;
  --btc-pill-act-bg: #1d2327;
  --btc-pill-act-text: #ffffff;
  --btc-pill-done-bg: #dcefe3;
  --btc-pill-done-text: #146c2e;
  --btc-amtbox-bg: #fff7ed;
  --btc-amtlabel: #9a6a1f;
  --btc-copy-bg: #1d2327;
  --btc-copy-text: #ffffff;
  --btc-back-text: #374151;
  --btc-timer: #b3261e;
  --btc-err-bg: #fdeceb;
  --btc-err-text: #b3261e;
  --btc-err-border: #f5c6c2;
  --btc-success-bg: #e9f7ef;
  --btc-success-border: #b7e2c5;
  --btc-success-text: #146c2e;
  --btc-success-sub: #1c7a3d;
  --btc-shadow: 0 4px 24px rgba(20,30,50,.08);
}

/* ===== Template Dark (style démo v1.2.3) ===== */
.btcpay-tpl-dark {
  --btc-card: #171717;
  --btc-border: #262626;
  --btc-text: #e5e5e5;
  --btc-muted: #a3a3a3;
  --btc-input-bg: #0a0a0a;
  --btc-input-border: #404040;
  --btc-input-text: #e5e5e5;
  --btc-field: #111111;
  --btc-field-border: #404040;
  --btc-pill: #262626;
  --btc-pill-act-bg: var(--btc-accent, #f7931a);
  --btc-pill-act-text: #111827;
  --btc-pill-done-bg: #0f2a1a;
  --btc-pill-done-text: #7ddba0;
  --btc-amtbox-bg: #111111;
  --btc-amtlabel: var(--btc-accent, #f5b04c);
  --btc-copy-bg: #f7931a;
  --btc-copy-text: #111827;
  --btc-back-text: #e5e5e5;
  --btc-timer: #f87171;
  --btc-err-bg: #3a1414;
  --btc-err-text: #f87171;
  --btc-err-border: #5c1f1f;
  --btc-success-bg: #0f2a1a;
  --btc-success-border: #1d4d2e;
  --btc-success-text: #7ddba0;
  --btc-success-sub: #7ddba0;
  --btc-shadow: 0 8px 32px rgba(0,0,0,.45);
}
.btcpay-tpl-dark .btcpay-barfill { box-shadow: 0 0 12px rgba(0,0,0,.5); }
.btcpay-tpl-dark .btcpay-link { color: #7db8f0; }
.btcpay-tpl-dark .btcpay-btn.sec { color: #7db8f0; border-color: #7db8f0; }
.btcpay-tpl-dark .btcpay-btn.sec:hover { background: #111111; }
.btcpay-tpl-dark .btcpay-btn { color: #0a0a0a; }
.btcpay-tpl-dark .btcpay-btn:hover { color: #0a0a0a; }
.btcpay-tpl-dark .btcpay-copy { color: #0a0a0a; }

/* ===== Template Invoice ===== */
.btcpay-tpl-invoice {
  --btc-card: #ffffff;
  --btc-border: #e8eaed;
  --btc-text: #111827;
  --btc-muted: #6b7280;
  --btc-input-bg: #ffffff;
  --btc-input-border: #d7dae0;
  --btc-input-text: #111827;
  --btc-field: #f8f9fb;
  --btc-field-border: #e8eaed;
  --btc-pill: #f3f4f6;
  --btc-pill-act-bg: #111827;
  --btc-pill-act-text: #ffffff;
  --btc-pill-done-bg: #e9f7ef;
  --btc-pill-done-text: #146c2e;
  --btc-amtbox-bg: #f8f9fb;
  --btc-amtlabel: #6b7280;
  --btc-copy-bg: #ffffff;
  --btc-copy-text: #111827;
  --btc-back-text: #374151;
  --btc-timer: #b3261e;
  --btc-err-bg: #fdeceb;
  --btc-err-text: #b3261e;
  --btc-err-border: #f5c6c2;
  --btc-success-bg: #ffffff;
  --btc-success-border: #e8eaed;
  --btc-success-text: #111827;
  --btc-success-sub: #6b7280;
  --btc-shadow: 0 2px 12px rgba(20,30,50,.06);
}
.btcpay-tpl-invoice .btcpay-card { border-radius: 8px; padding: 32px; }
.btcpay-tpl-invoice .btcpay-btn { box-shadow: none; border-radius: 8px; margin-top: 14px; }
.btcpay-tpl-invoice .btcpay-btn:hover { transform: none; }
.btcpay-tpl-invoice .btcpay-qr { width: 150px; height: 150px; }
.btcpay-tpl-invoice .btcpay-copy { border: 1px solid #d7dae0; }
.btcpay-tpl-invoice .btcpay-copy:hover { background: #f3f4f6; filter: none; }
.btcpay-tpl-invoice .btcpay-bar { background: #eef0f3; }
.btcpay-tpl-invoice .btcpay-barfill { background: #111827; }
.btcpay-inv-head { display: flex; justify-content: space-between; font-size: 11px; letter-spacing: 2px; color: #6b7280; font-weight: 700; margin-bottom: 16px; }
.btcpay-inv-amt { font-size: 40px; font-weight: 800; letter-spacing: -1px; margin: 0; text-align: center; color: #111827; }
.btcpay-inv-amt small { display: block; font-size: 14px; font-weight: 600; color: #6b7280; letter-spacing: 0; margin-top: 4px; font-family: ui-monospace, monospace; }
.btcpay-inv-hr { border: none; border-top: 1px solid #eef0f3; margin: 20px 0; }
.btcpay-inv-item { display: flex; justify-content: space-between; align-items: baseline; padding: 8px 0; font-size: 14px; color: #374151; }
.btcpay-inv-item .v { font-weight: 700; color: #111827; }
.btcpay-inv-label { display: block; text-align: left; font-size: 12px; font-weight: 700; letter-spacing: .6px; text-transform: uppercase; color: #6b7280; margin: 14px 0 6px; }
.btcpay-inv-code { display: block; text-align: center; font-size: 26px; letter-spacing: 10px; max-width: 280px; margin: 12px auto; font-weight: 700; }
.btcpay-inv-due { font-size: 13px; color: #6b7280; margin: 12px 0; text-align: center; }
.btcpay-inv-note { font-size: 12px; color: #9aa0a6; margin: 12px 0 0; text-align: center; }
.btcpay-inv-stamp { display: inline-block; border: 2px solid #16a34a; color: #16a34a; font-weight: 800; font-size: 13px; letter-spacing: 3px; padding: 6px 18px; border-radius: 6px; transform: rotate(-4deg); margin: 0 auto 12px; }
.btcpay-tpl-invoice .btcpay-codebox, .btcpay-tpl-invoice .btcpay-manbox { background: #f8f9fb; border-color: #e8eaed; }
.btcpay-tpl-invoice .btcpay-back:hover { background: #f9fafb; }

/* ===== Template Minimal (ultra épuré) ===== */
.btcpay-tpl-minimal {
  --btc-card: #ffffff;
  --btc-border: #eeeeee;
  --btc-text: #1a1a1a;
  --btc-muted: #999999;
  --btc-input-bg: transparent;
  --btc-input-border: #dddddd;
  --btc-input-text: #1a1a1a;
  --btc-field: #fafafa;
  --btc-field-border: #eeeeee;
  --btc-pill: #f5f5f5;
  --btc-pill-act-bg: #1a1a1a;
  --btc-pill-act-text: #ffffff;
  --btc-pill-done-bg: #e9f7ef;
  --btc-pill-done-text: #146c2e;
  --btc-amtbox-bg: transparent;
  --btc-amtlabel: #999999;
  --btc-copy-bg: transparent;
  --btc-copy-text: #1a1a1a;
  --btc-back-text: #999999;
  --btc-timer: #b3261e;
  --btc-err-bg: transparent;
  --btc-err-text: #b3261e;
  --btc-err-border: #b3261e;
  --btc-success-bg: transparent;
  --btc-success-border: #eeeeee;
  --btc-success-text: #1a1a1a;
  --btc-success-sub: #999999;
  --btc-shadow: none;
}
.btcpay-tpl-minimal .btcpay-card { border-radius: 6px; padding: 40px 36px; }
.btcpay-tpl-minimal .btcpay-price { font-weight: 300; letter-spacing: -1px; }
.btcpay-tpl-minimal .btcpay-name { font-weight: 500; letter-spacing: 2px; font-size: 12px; }
.btcpay-tpl-minimal .btcpay-desc { font-weight: 300; }
.btcpay-tpl-minimal .btcpay-sname { font-weight: 400; font-size: 18px; }
.btcpay-tpl-minimal .btcpay-btn { border-radius: 6px; font-weight: 500; box-shadow: none; letter-spacing: .3px; }
.btcpay-tpl-minimal .btcpay-btn:hover { transform: none; }
.btcpay-tpl-minimal .btcpay-back { background: transparent; border: none; }
.btcpay-tpl-minimal .btcpay-label { font-weight: 500; letter-spacing: .5px; font-size: 12px; }
.btcpay-tpl-minimal .btcpay-input { border: none; border-bottom: 1.5px solid var(--btc-input-border); border-radius: 0; padding: 10px 2px; }
.btcpay-tpl-minimal .btcpay-input:focus { box-shadow: none; border-bottom-color: var(--btc-accent, #059669); }
.btcpay-tpl-minimal .btcpay-qty { border: none; gap: 4px; }
.btcpay-tpl-minimal .btcpay-qbtn { width: 36px; min-height: 36px; border: 1px solid var(--btc-border); border-radius: 50%; background: transparent; font-weight: 300; }
.btcpay-tpl-minimal .btcpay-qnum { font-weight: 400; }
.btcpay-tpl-minimal .btcpay-grp { border: none; border-top: 1px solid var(--btc-border); border-radius: 0; background: transparent; padding: 20px 0; }
.btcpay-tpl-minimal .btcpay-grp-title { font-weight: 500; letter-spacing: 1.5px; font-size: 11px; color: var(--btc-muted); }
.btcpay-tpl-minimal .btcpay-err { border: none; border-left: 2px solid var(--btc-err-border); border-radius: 0; padding: 4px 12px; }
.btcpay-tpl-minimal .btcpay-amtbox { border: none; border-bottom: 1px solid var(--btc-border); border-radius: 0; }
.btcpay-tpl-minimal .btcpay-amount { font-weight: 300; }
.btcpay-tpl-minimal .btcpay-addr { border: none; border-bottom: 1px solid var(--btc-border); border-radius: 0; background: transparent; }
.btcpay-tpl-minimal .btcpay-copy { text-decoration: underline; text-underline-offset: 3px; }
.btcpay-tpl-minimal .btcpay-copy:hover { filter: none; background: transparent !important; }
.btcpay-tpl-minimal .btcpay-qr { border-radius: 6px; }
.btcpay-tpl-minimal .btcpay-check { background: transparent; border: 1.5px solid var(--btc-text); color: var(--btc-text); font-weight: 300; width: 48px; height: 48px; line-height: 48px; font-size: 22px; }
.btcpay-tpl-minimal .btcpay-pack { border-radius: 6px; }

/* ===== Template Premium (noir riche, doré) ===== */
.btcpay-tpl-premium {
  --btc-card: #141416;
  --btc-border: #2a261e;
  --btc-text: #ece7dd;
  --btc-muted: #8a8578;
  --btc-input-bg: #0c0c0e;
  --btc-input-border: #3a352a;
  --btc-input-text: #ece7dd;
  --btc-field: #101013;
  --btc-field-border: #2a261e;
  --btc-pill: #1e1c17;
  --btc-pill-act-bg: #c9a227;
  --btc-pill-act-text: #0c0c0e;
  --btc-pill-done-bg: #2a2417;
  --btc-pill-done-text: #d4af37;
  --btc-amtbox-bg: #101013;
  --btc-amtlabel: #8a8578;
  --btc-copy-bg: transparent;
  --btc-copy-text: #c9a227;
  --btc-back-text: #8a8578;
  --btc-timer: #e08080;
  --btc-err-bg: #2a1215;
  --btc-err-text: #e08080;
  --btc-err-border: #5c1f1f;
  --btc-success-bg: #101013;
  --btc-success-border: #2a261e;
  --btc-success-text: #ece7dd;
  --btc-success-sub: #8a8578;
  --btc-shadow: 0 12px 48px rgba(0,0,0,.5);
}
.btcpay-tpl-premium .btcpay-card { border-radius: 14px; padding: 36px 32px; border-color: var(--btc-accent); }
.btcpay-tpl-premium .btcpay-name { color: var(--btc-accent); letter-spacing: 3px; font-size: 12px; font-weight: 400; font-family: Georgia, 'Times New Roman', serif; }
.btcpay-tpl-premium .btcpay-price { font-family: Georgia, 'Times New Roman', serif; font-weight: 400; font-size: 48px; }
.btcpay-tpl-premium .btcpay-desc { font-style: italic; font-family: Georgia, 'Times New Roman', serif; }
.btcpay-tpl-premium .btcpay-sname { font-family: Georgia, 'Times New Roman', serif; font-weight: 400; font-size: 20px; }
.btcpay-tpl-premium .btcpay-btn { background: linear-gradient(180deg, var(--btc-accent), var(--btc-accent)); filter: brightness(1.08); color: #0c0c0e; letter-spacing: 1.5px; text-transform: uppercase; font-size: 13px; padding: 16px 20px; }
.btcpay-tpl-premium .btcpay-btn:hover { filter: brightness(1.18); }
.btcpay-tpl-premium .btcpay-dot.done, .btcpay-tpl-premium .btcpay-dot.cur { color: #0c0c0e; }
.btcpay-tpl-premium .btcpay-slabel { letter-spacing: 1px; text-transform: uppercase; }
.btcpay-tpl-premium .btcpay-slabel.cur { color: var(--btc-accent); }
.btcpay-tpl-premium .btcpay-grp-title { color: var(--btc-accent); letter-spacing: 2px; font-family: Georgia, 'Times New Roman', serif; font-weight: 400; }
.btcpay-tpl-premium .btcpay-amtbox { border-color: var(--btc-accent); }
.btcpay-tpl-premium .btcpay-amount { color: var(--btc-accent); filter: brightness(1.1); font-family: Georgia, 'Times New Roman', serif; font-weight: 400; }
.btcpay-tpl-premium .btcpay-copy { border: 1px solid var(--btc-accent); color: var(--btc-accent); }
.btcpay-tpl-premium .btcpay-copy:hover { background: transparent !important; filter: brightness(1.2); }
.btcpay-tpl-premium .btcpay-check { background: var(--btc-accent); color: #0c0c0e; }
.btcpay-tpl-premium .btcpay-qbtn { color: var(--btc-accent); }
.btcpay-tpl-premium .btcpay-pack { border-radius: 14px; border-color: var(--btc-accent); }

/* ===== Template Rounded (doux, pill) ===== */
.btcpay-tpl-rounded {
  --btc-card: #ffffff;
  --btc-border: #ece9f7;
  --btc-text: #2d2a3a;
  --btc-muted: #8b83ad;
  --btc-input-bg: #fbfaff;
  --btc-input-border: #e2ddf5;
  --btc-input-text: #2d2a3a;
  --btc-field: #fbfaff;
  --btc-field-border: #ece9f7;
  --btc-pill: #f0edfb;
  --btc-pill-act-bg: #2d2a3a;
  --btc-pill-act-text: #ffffff;
  --btc-pill-done-bg: #e9f7ef;
  --btc-pill-done-text: #146c2e;
  --btc-amtbox-bg: #fbfaff;
  --btc-amtlabel: #8b83ad;
  --btc-copy-bg: #2d2a3a;
  --btc-copy-text: #ffffff;
  --btc-back-text: #6d658f;
  --btc-timer: #b3261e;
  --btc-err-bg: #fdeceb;
  --btc-err-text: #b3261e;
  --btc-err-border: #f5c6c2;
  --btc-success-bg: #f0fdf4;
  --btc-success-border: #d3f0dd;
  --btc-success-text: #146c2e;
  --btc-success-sub: #1c7a3d;
  --btc-shadow: 0 12px 40px rgba(120,100,200,.10);
}
.btcpay-tpl-rounded .btcpay-card { border-radius: 28px; padding: 32px 28px; }
.btcpay-tpl-rounded .btcpay-btn { border-radius: 999px; padding: 16px 24px; }
.btcpay-tpl-rounded .btcpay-btn:hover { transform: translateY(-2px); }
.btcpay-tpl-rounded .btcpay-back { border-radius: 999px; background: var(--btc-field); }
.btcpay-tpl-rounded .btcpay-input { border-radius: 16px; padding: 13px 18px; }
.btcpay-tpl-rounded .btcpay-qty { border-radius: 999px; }
.btcpay-tpl-rounded .btcpay-qbtn { background: transparent; }
.btcpay-tpl-rounded .btcpay-grp { border-radius: 20px; padding: 18px; }
.btcpay-tpl-rounded .btcpay-err { border-radius: 16px; }
.btcpay-tpl-rounded .btcpay-amtbox { border-radius: 20px; }
.btcpay-tpl-rounded .btcpay-qr { border-radius: 24px; }
.btcpay-tpl-rounded .btcpay-addr { border-radius: 16px; }
.btcpay-tpl-rounded .btcpay-copy { border-radius: 999px; }
.btcpay-tpl-rounded .btcpay-success { border-radius: 24px; }
.btcpay-tpl-rounded .btcpay-pack { border-radius: 28px; }
.btcpay-tpl-rounded .btcpay-dot { width: 30px; height: 30px; background: var(--btc-field); }

/* ===== Codes promo v1.3.0 ===== */
.btcpay-promo-toggle { display: inline-block; color: var(--btc-accent, #059669); font-size: 12px; cursor: pointer; margin: 8px 0 0; text-decoration: underline; text-underline-offset: 3px; }
.btcpay-promo-toggle:hover { filter: brightness(1.15); }
.btcpay-promo-toggle:focus { outline: 2px solid var(--btc-accent, #059669); outline-offset: 2px; }
.btcpay-promo-row { display: flex; gap: 8px; margin: 10px 0 4px; }
.btcpay-promo-row .btcpay-input { margin-bottom: 0; text-transform: uppercase; }
.btcpay-promo-apply { flex-shrink: 0; border: 1px solid var(--btc-input-border) !important; border-radius: 10px; background: var(--btc-field) !important; color: var(--btc-text) !important; font-size: 13px; font-weight: 700; font-family: inherit; padding: 10px 18px; cursor: pointer; }
.btcpay-promo-apply:hover { background: var(--btc-field) !important; color: var(--btc-text) !important; filter: brightness(1.08); }
.btcpay-promo-ok { display: flex; align-items: center; justify-content: space-between; background: var(--btc-success-bg); border: 1px solid var(--btc-success-border); border-radius: 10px; padding: 8px 12px; margin: 10px 0 4px; font-size: 13px; color: var(--btc-success-text); }
.btcpay-promo-ok button { background: none; border: none; color: var(--btc-success-text); cursor: pointer; font-size: 15px; padding: 2px 6px; font-family: inherit; }
.btcpay-promo-err { color: var(--btc-err-text); font-size: 12px; margin: 6px 0 0; }
.btcpay-total-row { display: flex; justify-content: space-between; font-size: 13px; color: var(--btc-muted); margin: 4px 0; }
.btcpay-total-row.disc { color: var(--btc-success-text); }
.btcpay-total-row.grand { font-size: 16px; color: var(--btc-text); font-weight: 700; border-top: 1px solid var(--btc-border); padding-top: 8px; margin-top: 8px; }
.btcpay-price-strike { text-decoration: line-through; opacity: .5; font-weight: 400; margin-right: 8px; font-size: .65em; }

/* ===== Mode test v1.3.0 ===== */
.btcpay-test-banner { background: #f59e0b; color: #0a0a0a; font-size: 12px; font-weight: 800; letter-spacing: 1px; text-align: center; padding: 8px 12px; border-radius: 8px; margin-bottom: 16px; text-transform: uppercase; }

/* L'attribut hidden doit toujours gagner sur les display CSS */
.btcpay-box [hidden], .btcpay-modal [hidden] { display: none !important; }

/* ===== Structure partagée ===== */
.btcpay-box { max-width: 560px; margin: 1.5em auto; }
.btcpay-card { background: var(--btc-card); border: 1px solid var(--btc-border); border-radius: 16px; padding: 28px; box-shadow: var(--btc-shadow); color: var(--btc-text); }
.btcpay-center { text-align: center; }
.btcpay-name { font-size: 14px; font-weight: 600; letter-spacing: .4px; text-transform: uppercase; color: var(--btc-muted); margin: 0 0 6px; }
.btcpay-price { font-size: 42px; font-weight: 800; margin: 4px 0 6px; letter-spacing: -.5px; color: var(--btc-text); }
.btcpay-desc { font-size: 13px; color: var(--btc-muted); margin: 8px 0 18px; line-height: 1.5; }
.btcpay-sname { font-size: 16px; font-weight: 700; margin: 0 0 14px; color: var(--btc-text); }
.btcpay-btn { display: block; width: 100%; border: none; border-radius: 10px; color: #fff; font-size: 16px; font-weight: 700; padding: 14px 20px; cursor: pointer; font-family: inherit; background: var(--btc-accent, #059669); box-shadow: 0 2px 8px rgba(0,0,0,.18); transition: transform .12s, filter .12s; }
.btcpay-btn:hover { background: var(--btc-accent, #059669) !important; filter: brightness(1.08); transform: translateY(-1px); }
.btcpay-btn:disabled { opacity: .6; cursor: wait; transform: none; }
.btcpay-btn.sec { background: var(--btc-card); color: #1d6fb8; border: 1.5px solid #1d6fb8; box-shadow: none; margin-top: 12px; }
.btcpay-btn.sec:hover { background: #f0f7ff; transform: none; }
.btcpay-back { display: block; width: 100%; box-sizing: border-box; margin: 12px 0 0; background: var(--btc-card); color: var(--btc-back-text); border: 1.5px solid var(--btc-input-border); font-size: 14px; font-weight: 600; padding: 12px 20px; border-radius: 10px; cursor: pointer; font-family: inherit; }
.btcpay-back:hover { background: var(--btc-field) !important; color: var(--btc-back-text); }
.btcpay-label { display: block; text-align: left; font-size: 13px; font-weight: 600; margin: 12px 0 5px; color: var(--btc-muted); }
.btcpay-input { width: 100%; box-sizing: border-box; padding: 12px 14px; font-size: 14px; font-family: inherit; border: 1.5px solid var(--btc-input-border); border-radius: 10px; background: var(--btc-input-bg); color: var(--btc-input-text); margin-bottom: 4px; transition: border-color .15s, box-shadow .15s; }
.btcpay-input:focus { outline: none; border-color: var(--btc-accent, #059669); box-shadow: 0 0 0 3px rgba(0,0,0,.08); }
.btcpay-tpl-invoice .btcpay-input { border-radius: 8px; }
.btcpay-tpl-invoice .btcpay-input:focus { border-color: #111827; box-shadow: 0 0 0 3px rgba(17,24,39,.08); }
.btcpay-code { display: block; text-align: center; font-size: 26px; letter-spacing: 10px; max-width: 280px; margin: 12px auto; font-weight: 700; }

/* Étape paiement */
.btcpay-steps3 { display: flex; gap: 8px; justify-content: center; margin-bottom: 18px; flex-wrap: wrap; }
.btcpay-step3 { font-size: 12px; background: var(--btc-field); border: 1px solid var(--btc-border); border-radius: 10px; padding: 8px 12px; color: var(--btc-muted); }
.btcpay-step3 b { color: var(--btc-accent, #f7931a); }
.btcpay-amtbox { background: var(--btc-amtbox-bg); border: 1.5px solid var(--btc-accent, #f7931a); border-radius: 12px; padding: 14px 16px; margin-bottom: 16px; display: flex; align-items: center; justify-content: space-between; gap: 10px; text-align: left; }
.btcpay-tpl-invoice .btcpay-amtbox { border-color: var(--btc-border); }
.btcpay-amtlabel { font-size: 11px; font-weight: 600; color: var(--btc-amtlabel); text-transform: uppercase; letter-spacing: .4px; }
.btcpay-amount { font-size: 24px; font-weight: 800; font-family: ui-monospace, monospace; letter-spacing: -.5px; color: #f59e0b; margin: 0; }
.btcpay-qr { display: block; margin: 4px auto 12px; width: 220px; height: 220px; background: #fff; padding: 10px; border-radius: 12px; border: 1px solid #e8eaed; box-shadow: 0 2px 10px rgba(0,0,0,.06); }
.btcpay-addrrow { display: flex; gap: 8px; align-items: stretch; margin: 12px 0; }
.btcpay-addr { flex: 1; font-family: ui-monospace, monospace; font-size: 12px; word-break: break-all; background: var(--btc-field); border: 1px solid var(--btc-field-border); border-radius: 10px; padding: 10px 12px; text-align: left; color: var(--btc-muted); }
.btcpay-tpl-invoice .btcpay-addrrow { align-items: center; }
.btcpay-copy { flex-shrink: 0; border: none; border-radius: 10px; background: var(--btc-copy-bg); color: var(--btc-copy-text); font-size: 13px; font-weight: 600; padding: 10px 18px; cursor: pointer; font-family: inherit; }
.btcpay-copy:hover { background: var(--btc-copy-bg) !important; filter: brightness(1.08); }
.btcpay-barwrap { margin: 16px 0 6px; }
.btcpay-bar { height: 8px; background: var(--btc-pill); border-radius: 6px; overflow: hidden; }
.btcpay-barfill { height: 100%; width: 100%; background: var(--btc-accent, #f7931a); border-radius: 6px; transition: width 1s linear; }
.btcpay-timer { font-size: 13px; font-weight: 700; color: var(--btc-timer); margin-top: 6px; }
.btcpay-status { display: flex; align-items: center; justify-content: center; gap: 8px; margin-top: 14px; font-size: 13px; color: var(--btc-muted); }
.btcpay-dot { width: 10px; height: 10px; border-radius: 50%; background: var(--btc-accent, #f7931a); animation: btcpay-pulse 1.4s infinite; }
@keyframes btcpay-pulse { 0%, 100% { opacity: 1; } 50% { opacity: .25; } }

.btcpay-err { color: var(--btc-err-text); font-size: 13px; margin-top: 12px; background: var(--btc-err-bg); border: 1px solid var(--btc-err-border); border-radius: 8px; padding: 8px 12px; }
.btcpay-success { background: var(--btc-success-bg); border: 1px solid var(--btc-success-border); border-radius: 12px; padding: 22px 16px; color: var(--btc-success-text); font-size: 14px; }
.btcpay-tpl-invoice .btcpay-success { border: none; padding: 0; background: transparent; }
.btcpay-check { width: 56px; height: 56px; border-radius: 50%; background: #16a34a; color: #fff; font-size: 30px; line-height: 56px; margin: 0 auto 10px; }
.btcpay-tpl-invoice .btcpay-check { display: none; }
.btcpay-done-title { font-size: 19px; margin: 0 0 4px; }
.btcpay-done-sub { font-size: 13px; margin: 0 0 6px; color: var(--btc-success-sub); }
.btcpay-codebox { background: var(--btc-card); border: 1px solid var(--btc-input-border); border-radius: 10px; padding: 14px; font-size: 14px; color: var(--btc-text); word-break: break-all; margin-top: 10px; white-space: pre-wrap; text-align: left; }
.btcpay-manbox { background: var(--btc-card); border: 1px solid var(--btc-success-border); border-radius: 10px; padding: 16px; margin-top: 12px; color: var(--btc-text); text-align: left; font-size: 13.5px; line-height: 1.6; }
.btcpay-manbox p { margin: 0 0 10px; }
.btcpay-manbox p:last-child { margin-bottom: 0; }
.btcpay-out { font-size: 18px; font-weight: 700; color: var(--btc-timer); }

/* Indicateur d'étapes v1.2.0 (style Payload) */
.btcpay-steps { display: flex; align-items: center; justify-content: center; margin-bottom: 20px; }
.btcpay-step-i { display: flex; align-items: center; gap: 6px; white-space: nowrap; }
.btcpay-dot { width: 26px; height: 26px; border-radius: 50%; border: 2px solid var(--btc-input-border); color: var(--btc-muted); font-size: 12px; font-weight: 700; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; background: transparent; animation: none; }
.btcpay-dot.done { background: var(--btc-accent, #059669); border-color: var(--btc-accent, #059669); color: #fff; }
.btcpay-dot.cur { background: var(--btc-accent, #059669); border-color: var(--btc-accent, #059669); color: #fff; }
.btcpay-slabel { font-size: 11px; color: var(--btc-muted); }
.btcpay-slabel.cur { color: var(--btc-text); font-weight: 700; }
.btcpay-sline { flex: 1; height: 1px; background: var(--btc-border); margin: 0 8px; min-width: 8px; max-width: 36px; }
.btcpay-sline.done { background: var(--btc-accent, #059669); }
.btcpay-link { font-size: 13px; color: #1d6fb8; cursor: pointer; }

/* Grille de packages */
.btcpay-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px; margin: 1.5em 0; font-family: inherit; }
.btcpay-pack { background: var(--btc-card); border: 1px solid var(--btc-border); border-radius: 16px; padding: 24px; text-align: center; box-shadow: var(--btc-shadow); display: flex; flex-direction: column; color: var(--btc-text); }
.btcpay-tpl-invoice .btcpay-pack { border-radius: 8px; }
.btcpay-pack .pname { font-size: 14px; font-weight: 600; text-transform: uppercase; letter-spacing: .4px; color: var(--btc-muted); margin: 0 0 6px; }
.btcpay-pack .pprice { font-size: 34px; font-weight: 800; margin: 4px 0; color: var(--btc-text); }
.btcpay-pack .pdesc { font-size: 13px; color: var(--btc-muted); margin: 0 0 18px; flex: 1; line-height: 1.5; }

/* Popup modale */
.btcpay-overlay { position: fixed; inset: 0; background: rgba(15,20,30,.62); z-index: 99990; display: flex; align-items: center; justify-content: center; padding: 16px; box-sizing: border-box; animation: btcpay-fade .18s ease-out; }
.btcpay-overlay[hidden] { display: none; }
.btcpay-modal-wrap { width: 100%; max-width: 580px; max-height: 92vh; position: relative; display: flex; flex-direction: column; animation: btcpay-pop .2s ease-out; }
.btcpay-modal { background: transparent; overflow-y: auto; position: relative; min-height: 0; scrollbar-width: none; -ms-overflow-style: none; }
.btcpay-modal::-webkit-scrollbar { display: none; }
.btcpay-modal .btcpay-box { margin: 0; max-width: none; }
/* v1.2.4 : bouton fermer supprimé (clic extérieur + Échap pour fermer) */
.btcpay-modal [data-act="paid"] {
  position: sticky;
  bottom: 0;
  z-index: 3;
}
@keyframes btcpay-fade { from { opacity: 0; } }
@keyframes btcpay-pop { from { opacity: 0; transform: translateY(12px) scale(.98); } }

@media (max-width: 768px) {
  .btcpay-price { font-size: 32px; }
  .btcpay-card { padding: 20px; }
  .btcpay-tpl-invoice .btcpay-card { padding: 24px 20px; }
  .btcpay-addrrow { flex-direction: column; }
  .btcpay-tpl-invoice .btcpay-addrrow { flex-direction: row; }
  .btcpay-copy { padding: 10px; }
  .btcpay-amtbox { flex-direction: column; align-items: stretch; text-align: center; padding: 10px 12px; margin-bottom: 12px; }
  .btcpay-overlay { padding: 10px; align-items: center; }
  .btcpay-modal-wrap { max-height: 94vh; }
  /* Paiement compact sur mobile/tablette */
  .btcpay-qr { width: 150px; height: 150px; }
  .btcpay-steps3 { gap: 6px; margin-bottom: 12px; }
  .btcpay-step3 { font-size: 11px; padding: 6px 10px; }
  .btcpay-modal [data-act="paid"] { box-shadow: 0 -6px 16px rgba(0,0,0,.18); }
}

/* ===== v1.2.0 — Nouveaux composants (style Payload) ===== */
/* Confiance + note sous la buy box */
.btcpay-trust { list-style: none; margin: 14px 0 0; padding: 0; font-size: 13px; color: var(--btc-muted); text-align: center; }
.btcpay-trust li { margin: 3px 0; }
.btcpay-trust li::before { content: "✓ "; color: var(--btc-accent, #059669); font-weight: 700; }
.btcpay-note { font-size: 12px; color: var(--btc-muted); margin: 12px 0 0; text-align: center; }

/* Sélecteur de quantité */
.btcpay-qty { display: flex; align-items: stretch; justify-content: center; margin: 12px auto; border: 1.5px solid var(--btc-input-border); border-radius: 12px; width: max-content; overflow: hidden; }
.btcpay-qbtn { width: 46px; min-height: 44px; border: none; background: var(--btc-field); color: var(--btc-text); font-size: 20px; font-weight: 700; cursor: pointer; font-family: inherit; }
.btcpay-qbtn:hover:not(:disabled), .btcpay-qbtn:active:not(:disabled) { background: var(--btc-pill) !important; color: var(--btc-text); }
.btcpay-qbtn:disabled { opacity: .3; cursor: default; }
.btcpay-qnum { min-width: 46px; display: flex; align-items: center; justify-content: center; font-size: 18px; font-weight: 700; color: var(--btc-text); }

/* Groupes de champs (répétés par unité) */
.btcpay-grp { border: 1.5px solid var(--btc-input-border); border-radius: 12px; padding: 14px; margin: 12px 0; background: var(--btc-field); }
.btcpay-grp-title { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .6px; color: var(--btc-accent, #059669); margin: 0 0 8px; text-align: left; }

/* Case à cocher */
.btcpay-check-label { display: flex !important; align-items: center; gap: 8px; text-transform: none !important; letter-spacing: 0 !important; cursor: pointer; }
.btcpay-check { width: 18px; height: 18px; accent-color: #059669; flex-shrink: 0; }

/* Attente paiement — ambre pulsant */
.btcpay-status .btcpay-wait { color: #f59e0b; animation: btcpay-pulse 1.6s infinite; }

/* ===== v1.2.2 — Champs sombres forcés (thème dark) ===== */
/* v1.7.2 : scopé au box lui-même — ne fuit plus depuis un ancêtre (overlay en cache). */
.btcpay-box.btcpay-tpl-dark .btcpay-input { background: #0a0a0a !important; color: #e5e5e5 !important; }
.btcpay-box.btcpay-tpl-dark .btcpay-input::placeholder { color: #525252; }

/* ===== v1.2.1 — Champs invalides ===== */
.btcpay-input.btcpay-invalid { border-color: #b3261e !important; background: #fef2f2; }
.btcpay-box.btcpay-tpl-dark .btcpay-input.btcpay-invalid { background: #3a1414; }
.btcpay-invalid-label { color: #b3261e !important; }
.btcpay-box.btcpay-tpl-dark .btcpay-invalid-label { color: #f87171 !important; }

/* ===== v1.5.0 — Order bump ===== */
.btcpay-bump{border:1.5px dashed var(--btc-accent,#a3e635);border-radius:12px;padding:12px 14px;margin:12px 0;text-align:left}
.btcpay-bump-check{display:flex;gap:10px;align-items:flex-start;cursor:pointer;font-size:14px;line-height:1.45}
.btcpay-bump-toggle{margin-top:3px;accent-color:var(--btc-accent,#a3e635);width:18px;height:18px;flex:none;cursor:pointer}
.btcpay-bump-price{white-space:nowrap;font-weight:700}
.btcpay-bump-price s{color:#9ca3af;font-weight:400;margin-left:4px}
.btcpay-bump-qty{display:flex;align-items:center;gap:10px;margin-top:10px}
.btcpay-bqbtn{width:30px;height:30px;border-radius:8px;border:1px solid #3f3f46;background:#27272a;color:#fff;font-size:16px;cursor:pointer;line-height:1}
.btcpay-bqnum{font-weight:700;min-width:20px;text-align:center}
.btcpay-bump-added{margin-top:8px;font-size:13px;font-weight:600;color:var(--btc-accent,#a3e635)}

/* ===== v1.5.2 — offres bump empilées ===== */
.btcpay-bump + .btcpay-bump{margin-top:10px}

/* ===== v1.7.1 — boutons secondaires (+/-, copier, retour) en outline couleur d'accent ===== */
.btcpay-box .btcpay-qbtn,
.btcpay-box .btcpay-copy,
.btcpay-box .btcpay-back {
  background: transparent;
  border: 1.5px solid var(--btc-accent, #059669);
  color: var(--btc-accent, #059669);
}
.btcpay-box .btcpay-qbtn:hover,
.btcpay-box .btcpay-copy:hover,
.btcpay-box .btcpay-back:hover {
  background: var(--btc-accent, #059669) !important;
  border-color: var(--btc-accent, #059669);
  color: #fff;
  filter: none;
}
