/* ──────────────────────────────────────
   Payment Method Cards (Step 2)
   ────────────────────────────────────── */

/* Wrapper & holder */
#payment-methods-wrapper { margin-top: .5rem; }
.payment-options-holder { display: flex; flex-direction: column; gap: 0; }

/* Individual option */
.payment-option {
    border: 2px solid #dee2e6;
    border-radius: .5rem;
    padding: 14px 16px;
    margin-bottom: 10px;
    cursor: pointer;
    transition: border-color .2s, box-shadow .2s;
    display: flex;
    align-items: flex-start;
    gap: 12px;
    position: relative;
    background: #fff;
}
.payment-option:hover {
    border-color: var(--navy);
}
.payment-option.active {
    border-color: var(--navy);
    box-shadow: 0 0 0 3px rgba(26,36,86,.15);
}
.payment-option:focus-visible {
    outline: none !important;
    box-shadow: 0 0 0 3px #fff, 0 0 0 5px var(--navy);
    border-color: var(--navy);
}
.payment-option.pm-locked {
    opacity: .6;
    cursor: not-allowed;
}

/* Radio icon column */
.payment-option .icon {
    display: flex;
    align-items: center;
    padding-top: 2px;
    flex-shrink: 0;
}
.payment-option .icon input[type="radio"] {
    width: 20px;
    height: 20px;
    accent-color: var(--navy);
    cursor: pointer;
    margin: 0;
}
.payment-option.pm-locked .icon input[type="radio"] {
    cursor: not-allowed;
}

/* Text content column */
.payment-option .text {
    flex: 1;
    min-width: 0;
}
.payment-option .text .label {
    font-weight: 600;
    color: var(--navy);
    margin-bottom: .25rem;
    display: flex;
    align-items: center;
    gap: 8px;
}
.payment-option .text .label .logo {
    height: 24px;
    width: auto;
    flex-shrink: 0;
}
.payment-option .text h5 {
    font-weight: 700;
    color: var(--navy);
    margin-bottom: .5rem;
}

/* Charges & Taxes row */
.country_taxes_holder {
    display: flex;
    align-items: baseline;
    gap: 8px;
    font-size: .875rem;
    margin-bottom: .25rem;
}
.country_taxes_holder .left {
    flex-shrink: 0;
}
.country_taxes_holder .right {
    display: flex;
    align-items: baseline;
    gap: 4px;
}

/* Recommended badge */
.payment-option .star {
    display: inline-block;
    font-size: .8rem;
    color: var(--brand);
    font-weight: 600;
    margin-top: .35rem;
}

/* Exchange rate detail */
.pm-fx-detail {
    font-size: .8rem;
    color: #6c757d;
    margin-top: .25rem;
}

/* Notification boxes */
.notification_box {
    background: #fef3cd;
    border: 1px solid #e8a838;
    border-radius: .375rem;
    padding: 12px 16px;
    font-size: .875rem;
    color: #6d5302;
    margin-top: .75rem;
    line-height: 1.5;
}
.notification_box.doc_required_message {
    background: #fef3cd;
    border-color: #e8a838;
}

/* Lock reason */
.pm-lock-reason {
    font-size: .85rem;
    color: #dc3545;
    margin-top: .5rem;
}

/* Modal helper */
.fs-7 { font-size: .8rem !important; color: #555; }
#documents-info-modal { cursor: default; }
