/* === Onda 1 v4 — fixes UI checkout (28/04/2026) === */

/* Bug #13/#21 — alert-danger vazio */
.alert-danger:empty,
.checkout-error-feedback:empty,
.gateway-errors:empty,
#existingLoginMessage:empty,
.field-error-msg:empty {
    display: none !important;
}

/* Bug #15 — progressbar inativa */
.password-strength-meter .progress[value="0"],
.password-strength-meter .progress:not([value]),
#passwordStrength[value="0"] {
    visibility: hidden;
}
.password-strength-meter .progress {
    background-color: #e5e7eb;
    height: 6px;
    border-radius: 3px;
}

/* === Bug #16 — cadeado separado do texto === */
body .zh-checkout-card .checkout-security-msg,
body .checkout-security-msg,
.zh-checkout-card .checkout-security-msg {
    padding: 14px 16px 14px 44px !important;
    position: relative !important;
    line-height: 1.5 !important;
}
body .zh-checkout-card .checkout-security-msg i,
body .checkout-security-msg i,
.zh-checkout-card .checkout-security-msg i {
    position: absolute !important;
    left: 16px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    font-size: 16px !important;
    line-height: 1 !important;
    margin: 0 !important;
    float: none !important;
}
body .checkout-security-msg .clearfix {
    display: none !important;
}

/* === Bug #24 — grid 3 colunas EXATAS === */
body #paymentGatewaysContainer .text-center,
#paymentGatewaysContainer > .text-center {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 12px !important;
    text-align: center !important;
}
@media (max-width: 991px) {
    body #paymentGatewaysContainer .text-center {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}
@media (max-width: 600px) {
    body #paymentGatewaysContainer .text-center {
        grid-template-columns: 1fr !important;
    }
}

/* === Layout VERTICAL dos cards: radio top-left, logo no meio, titulo+desc embaixo === */
body #paymentGatewaysContainer label.radio-inline.zh-payment-option {
    margin: 0 !important;
    width: 100% !important;
    min-height: 150px !important;
    padding: 32px 12px 14px 12px !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 6px !important;
    position: relative !important;
    border: 2px solid #e5e7eb !important;
    border-radius: 10px !important;
    background: #fff !important;
    cursor: pointer !important;
    transition: all .2s !important;
    text-align: center !important;
}
body #paymentGatewaysContainer label.radio-inline.zh-payment-option:hover {
    border-color: #93c5fd !important;
    background: #f8fafc !important;
}
body #paymentGatewaysContainer label.radio-inline.zh-payment-option:has(input:checked) {
    border-color: #2563eb !important;
    background: #eff6ff !important;
}
body #paymentGatewaysContainer label.radio-inline.zh-payment-option input[type="radio"] {
    position: absolute !important;
    top: 12px !important;
    left: 12px !important;
    margin: 0 !important;
    z-index: 2 !important;
}
body #paymentGatewaysContainer .zh-payment-option__body {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 4px !important;
    width: 100% !important;
    margin-top: 4px !important;
}
body #paymentGatewaysContainer .zh-payment-option__logo {
    max-height: 28px !important;
    max-width: 130px !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
    margin-bottom: 4px !important;
}
body #paymentGatewaysContainer .zh-payment-option__logo--asaas {
    max-height: 22px !important;
    max-width: 100px !important;
}
body #paymentGatewaysContainer .zh-payment-option__title {
    font-weight: 600 !important;
    font-size: 13px !important;
    color: #1f2937 !important;
    line-height: 1.3 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    max-width: 100% !important;
}
body #paymentGatewaysContainer .zh-payment-option__desc {
    font-size: 11px !important;
    color: #6b7280 !important;
    line-height: 1.3 !important;
}

/* === Modal Gerar Senha === */
#modalGeneratePassword .modal-header.bg-primary,
#modalGeneratePassword .modal-header {
    background-color: #2563eb !important;
    color: #fff !important;
}
#modalGeneratePassword .modal-header .modal-title {
    color: #fff !important;
    font-weight: 600;
}
#modalGeneratePassword .modal-header .close {
    color: #fff !important;
    opacity: 0.85;
    text-shadow: none;
}
.w-hidden {
    display: none !important;
}
