/* BD Payment Verify — Checkout Styles v3.0.0 */

/* ── Payment instructions ─────────────────────────────────────── */
.bdpv-instructions {
    background: #f8f9fa;
    border-left: 4px solid #0073aa;
    padding: 10px 14px;
    margin: 8px 0 14px;
    font-size: 13px;
    line-height: 1.7;
    border-radius: 0 4px 4px 0;
}
.bdpv-error { color: #dc3545; font-weight: bold; }

/* ── Input + badge wrapper ────────────────────────────────────── */
.bdpv-field-row .bdpv-input-wrap {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
}
.bdpv-field-row .bdpv-input-wrap input {
    flex: 1;
    min-width: 0;
}

/* ── Status badge ─────────────────────────────────────────────── */
.bdpv-badge {
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
    font-size: 12px;
    font-weight: 600;
    padding: 3px 10px;
    border-radius: 20px;
    min-width: 80px;
    justify-content: center;
    transition: background 0.25s, color 0.25s;
    flex-shrink: 0;
}

/* idle — invisible */
.bdpv-badge--idle {
    background: transparent;
    color: transparent;
    padding: 3px 0;
    min-width: 0;
}

/* checking / spinning */
.bdpv-badge--checking {
    background: #e8f0fe;
    color: #1a73e8;
    animation: bdpv-pulse 1s infinite;
}
@keyframes bdpv-pulse {
    0%, 100% { opacity: 1; }
    50%       { opacity: 0.55; }
}

/* ok — green */
.bdpv-badge--ok {
    background: #d4edda;
    color: #155724;
}

/* warn — amber */
.bdpv-badge--warn {
    background: #fff3cd;
    color: #856404;
}

/* error — red */
.bdpv-badge--error {
    background: #f8d7da;
    color: #721c24;
}

/* ── Hint text beneath field ──────────────────────────────────── */
.bdpv-hint {
    display: block;
    font-size: 11.5px;
    color: #888;
    margin-top: 3px;
    min-height: 16px;
}

/* ── Place Order button states ────────────────────────────────── */
#place_order[disabled],
.cartflows-checkout-place-order[disabled],
[name="woocommerce_checkout_place_order"][disabled] {
    opacity: 0.55 !important;
    cursor: not-allowed !important;
    pointer-events: all !important;   /* keep cursor visible on disabled */
}

/* ── Amount verification row ──────────────────────────────────── */
.bdpv-amount-row {
    margin: 4px 0 14px;
    padding: 12px 14px;
    background: #f8f9fa;
    border-radius: 6px;
    border: 1px solid #e2e6ea;
}

.bdpv-amount-label {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 8px;
    font-weight: 600;
    font-size: 13px;
    color: #333;
}

.bdpv-amount-label-text {
    flex: 1;
}

/* Comparison table inside the amount row */
.bdpv-amount-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}
.bdpv-amount-table th,
.bdpv-amount-table td {
    padding: 5px 10px;
    border: 1px solid #dee2e6;
    text-align: left;
}
.bdpv-amount-table th {
    background: #f1f3f5;
    width: 120px;
    font-weight: 600;
}

/* State-specific row tinting */
.bdpv-amt-match  td { background: #d4edda; color: #155724; font-weight: 600; }
.bdpv-amt-mismatch td { background: #f8d7da; color: #721c24; font-weight: 600; }
.bdpv-amt-unknown  td { background: #fff3cd; color: #856404; }
