﻿/* StagePilot - Address Contacts (Visitenkarten) */

.sp-contact-grid .sp-contact-card {
    cursor: pointer;
    border-left: 4px solid var(--bs-primary);
    transition: transform .08s ease, box-shadow .08s ease, border-color .08s ease;
}

    .sp-contact-grid .sp-contact-card:hover {
        transform: translateY(-1px);
        box-shadow: 0 .5rem 1.25rem rgba(0,0,0,.10);
        border-left-color: rgba(var(--bs-primary-rgb), 0.85);
    }

.sp-contact-avatar {
    width: 44px;
    height: 44px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    letter-spacing: .04em;
    background: rgba(var(--bs-primary-rgb), 0.15);
    color: var(--bs-primary);
    flex: 0 0 auto;
}

.sp-contact-subtitle {
    min-height: 1.1rem;
}

.sp-contact-meta {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
}

.sp-contact-kv {
    display: grid;
    gap: .25rem;
}

    .sp-contact-kv .rowline {
        display: flex;
        gap: .4rem;
        align-items: center;
        min-height: 1.2rem;
    }

    .sp-contact-kv a {
        text-decoration: none;
    }

        .sp-contact-kv a:hover {
            text-decoration: underline;
        }

.sp-icon-btn {
    width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: .6rem;
}

.sp-icon {
    width: 18px;
    height: 18px;
    display: inline-block;
    vertical-align: text-bottom;
}

.sp-muted {
    color: var(--bs-secondary-color);
}
