/* Branded confirmation dialog (replaces window.confirm). Colours come from the store's brand colour (--primary / --acct-navy). */
.cfm-backdrop { position: fixed; inset: 0; z-index: 2147483000; display: flex; align-items: center; justify-content: center; padding: 16px; background: rgba(17,12,24,.55); backdrop-filter: blur(2px); opacity: 0; transition: opacity .18s; }
.cfm-backdrop.is-open { opacity: 1; }
.cfm-dialog { width: 100%; max-width: 400px; background: #fff; border-radius: 18px; padding: 28px 26px 22px; text-align: center; box-shadow: 0 24px 60px rgba(0,0,0,.3); transform: translateY(14px) scale(.96); transition: transform .2s cubic-bezier(.2,.9,.3,1.2); font-family: "Inter","Poppins",-apple-system,sans-serif; color: #111827; }
.cfm-backdrop.is-open .cfm-dialog { transform: none; }
.cfm-icon { width: 60px; height: 60px; margin: 0 auto 14px; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: #FDE8E8; color: #DC2626; }
.cfm-icon svg { width: 28px; height: 28px; }
.cfm-dialog--brand .cfm-icon { background: color-mix(in oklch, var(--primary, #4f006b) 14%, #fff); color: var(--primary, #4f006b); }
.cfm-title { margin: 0 0 6px; font-size: 20px; font-weight: 800; letter-spacing: -.01em; color: #111827; }
.cfm-msg { margin: 0 0 22px; font-size: 14.5px; line-height: 1.5; color: #4b5563; }
.cfm-actions { display: flex; gap: 12px; }
.cfm-btn { flex: 1; height: 46px; border-radius: 10px; font: 700 14.5px/1 "Inter","Poppins",sans-serif; text-transform: none; letter-spacing: 0; cursor: pointer; border: 1.5px solid; box-shadow: none; background-image: none; }
.cfm-btn--cancel { background: #fff; border-color: color-mix(in oklch, var(--primary, #4f006b) 35%, #fff); color: var(--primary, #4f006b); }
.cfm-btn--ok { background: #DC2626; border-color: #DC2626; color: #fff; }
.cfm-dialog--brand .cfm-btn--ok { background: var(--primary, #4f006b); border-color: var(--primary, #4f006b); }
.cfm-btn:focus-visible { outline: 3px solid color-mix(in oklch, var(--primary, #4f006b) 35%, transparent); outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) { .cfm-backdrop, .cfm-dialog { transition: none; } }
/* beat the theme's global h2 / button typography */
.cfm-backdrop .cfm-title { font-family: "Inter","Poppins",-apple-system,sans-serif !important; font-size: 20px; font-weight: 800; text-transform: none !important; letter-spacing: -.01em !important; line-height: 1.25; }
.cfm-backdrop .cfm-btn { font-family: "Inter","Poppins",-apple-system,sans-serif !important; text-transform: none !important; letter-spacing: 0 !important; font-size: 14.5px !important; font-weight: 700 !important; }
.cfm-backdrop .cfm-msg { font-family: "Inter","Poppins",-apple-system,sans-serif; text-transform: none; letter-spacing: 0; }

.cfm-backdrop .cfm-choice { display: block; text-align: left; margin: -8px 0 18px; }
.cfm-backdrop .cfm-choice span { display: block; margin-bottom: 6px; font-size: 12.5px; font-weight: 600; color: #374151; }
.cfm-backdrop .cfm-select { width: 100%; height: 44px; padding: 0 12px; border: 1.5px solid color-mix(in oklch, var(--primary, #4f006b) 25%, #fff); border-radius: 10px; background: #fff; font: 500 14px "Inter","Poppins",sans-serif; color: #111827; }
.cfm-backdrop .cfm-select:focus { outline: none; border-color: var(--primary, #4f006b); box-shadow: 0 0 0 3px color-mix(in oklch, var(--primary, #4f006b) 16%, transparent); }
