.payment-container {
    max-width: 1120px;
}

.payment-hero {
    color: #fff;
    background: linear-gradient(120deg, #00274c 0%, #0b4a75 100%);
    border-bottom: 5px solid #ffcb05;
}

.payment-hero h1,
.payment-hero p {
    color: inherit;
}

.payment-kicker {
    color: #ffcb05 !important;
    letter-spacing: .08em;
}

.payment-card {
    border: 0;
    border-top: 4px solid #ffcb05;
}

.payment-card .form-label,
.payment-card legend {
    font-weight: 600;
    color: #00274c;
}

.accordion-button:not(.collapsed) {
    color: #00274c;
    background-color: #f2f6fa;
}

.accordion-button:focus,
.form-control:focus,
.form-check-input:focus,
.btn:focus {
    border-color: #2f65a7;
    box-shadow: 0 0 0 .25rem rgba(47, 101, 167, .3);
}

.payment-instruction-tabs .nav-item {
    min-width: 0;
}

.payment-instruction-tabs .nav-link {
    width: 100%;
    height: 100%;
    padding: .85rem .6rem;
    color: #00274c;
    background: #eef1f4;
    border-top: 4px solid transparent;
    font-weight: 700;
}

.payment-instruction-tabs .nav-link:hover {
    color: #00274c;
    background: #e3e7eb;
}

.payment-instruction-tabs .nav-link.active {
    color: #00274c;
    background: #fff;
    border-top-color: #ffcb05;
}

.payment-instruction-tabs .nav-link:focus-visible {
    outline: 3px solid #2f65a7;
    outline-offset: -3px;
}

.payment-instruction-content {
    padding: 1.25rem;
    background: #fff;
    border: 1px solid #dee2e6;
    border-top: 0;
    border-radius: 0 0 .375rem .375rem;
}

.payment-steps li {
    margin-bottom: .75rem;
    padding-left: .25rem;
}

.payment-progress {
    counter-reset: payment-step;
    gap: .4rem;
}

.payment-progress li {
    color: #5f6670;
    border-bottom: 4px solid #d6d6d6;
    padding: .5rem .25rem;
    font-size: .9rem;
}

.payment-progress li.active,
.payment-progress li.complete {
    color: #00274c;
    border-color: #2f65a7;
    font-weight: 600;
}

.payment-progress li.active {
    border-color: #ffcb05;
}

.payment-summary dt,
.payment-summary dd {
    padding-top: .5rem;
    padding-bottom: .5rem;
    border-bottom: 1px solid #e5e5e5;
}

@media (max-width: 575.98px) {
    .payment-progress li {
        font-size: .75rem;
    }
}
