.confirmation-stack {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.ticket-rsvp-actions {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 1rem;
    width: 100%;
    max-width: 28rem;
    margin-inline: auto;
    margin-block: 0 1.5rem;
}

.confirmation-stack > .ticket-rsvp-actions {
    margin-block: 0;
    max-width: none;
}

.ticket-pay-btn {
    position: relative;
    width: 100%;
    letter-spacing: normal;
    word-spacing: normal;
}

.ticket-pay-btn::before,
.ticket-pay-btn::after {
    content: none !important;
    display: none !important;
}

.ticket-pay-btn__label {
    display: inline;
    letter-spacing: normal;
    word-spacing: normal;
    white-space: normal;
}

.ticket-pay-btn--classic {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.5rem;
    padding: 0.5rem 1rem;
    border: 0;
    border-radius: 0.375rem;
    background: var(--tpl-btn-primary, #d97706);
    color: var(--tpl-btn-primary-contrast, #fff);
    font-size: 0.875rem;
    font-weight: 500;
    line-height: 1.25;
    text-align: center;
    cursor: pointer;
}

.ticket-pay-btn--classic:hover:not(:disabled) {
    background: var(--tpl-btn-primary-hover, color-mix(in srgb, var(--tpl-btn-primary, #d97706) 88%, black));
}

.ticket-pay-btn--classic:focus {
    outline: none;
}

.ticket-pay-btn--classic:focus-visible {
    outline: 2px solid var(--tpl-accent, var(--tpl-btn-primary));
    outline-offset: 2px;
}

.ticket-pay-btn:disabled {
    opacity: 0.55;
    cursor: not-allowed;
}
