/* YPB COA — kept intentionally minimal so client themes win. */
.ypb-coa-button-wrap {
    margin: 1rem 0;
}

.ypb-coa-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.625rem 1rem;
    font-size: 0.875rem;
    font-weight: 500;
    line-height: 1.2;
    cursor: pointer;
    border: 1px solid currentColor;
    background: transparent;
    color: inherit;
    border-radius: 0.375rem;
    text-decoration: none;
}

.ypb-coa-button:hover:not(:disabled) {
    background: rgba(0, 0, 0, 0.04);
}

.ypb-coa-button:disabled,
.ypb-coa-button.is-loading {
    opacity: 0.6;
    cursor: progress;
}

.ypb-coa-button__spinner {
    display: none;
    width: 1em;
    height: 1em;
    border-radius: 50%;
    border: 2px solid currentColor;
    border-right-color: transparent;
    animation: ypb-coa-spin 0.7s linear infinite;
}

.ypb-coa-button.is-loading .ypb-coa-button__spinner {
    display: inline-block;
}

.ypb-coa-button__status {
    margin: 0.5rem 0 0;
    font-size: 0.8125rem;
    color: #b00020;
    min-height: 1.2em;
}

@keyframes ypb-coa-spin {
    to {
        transform: rotate(360deg);
    }
}
