.billing-address-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 16px;
}

.billing-address-heading h2 {
    margin: 0;
}

.billing-address-heading label {
    font-weight: 700;
}

.billing-address-heading a {
    color: var(--accent);
}

.billing-address-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.billing-address-card,
.billing-address-selector {
    background: radial-gradient(circle at top left, var(--bg-card-start), var(--bg-card-end));
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-xl);
    box-shadow: var(--shadow-soft);
    padding: 18px;
}

.billing-address-card {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 16px;
    min-width: 0;
}

.billing-address-details {
    display: grid;
    gap: 5px;
    min-width: 0;
    overflow-wrap: anywhere;
}

.billing-address-details span,
.billing-address-details small,
.billing-address-selector small {
    color: var(--text-soft);
}

.billing-address-text {
    white-space: pre-line;
}

.billing-address-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: auto;
}

.billing-address-selector {
    margin-bottom: 20px;
}

.billing-address-selector .billing-address-details {
    margin: 12px 0;
}

.commercial-checkout-form .validation-message,
.commercial-checkout-form .validation-errors {
    margin: 12px 0 0;
    color: var(--danger);
    font-size: 14px;
}

.commercial-checkout-form .invalid {
    outline: 1px solid var(--danger);
}

@media (max-width: 1000px) {
    .billing-address-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .billing-address-list {
        grid-template-columns: minmax(0, 1fr);
    }
}
