
/* ── Attach-to-plan button (vendor list + detail) ────────────────────────── */
.vendor-card-wrap {
    position: relative;
}

.btn-attach-vendor {
    position: absolute;
    top: 8px;
    left: 8px;
    z-index: 100;
    width: 2rem;
    height: 2rem;
    border-radius: 50%;
    border: none;
    background: #28a745;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.85rem;
    cursor: pointer;
    box-shadow: 0 2px 6px rgba(40,167,69,0.35);
    transition: background 0.15s, color 0.15s;
}

.btn-attach-vendor:hover {
    background: #218838;
    color: #fff;
}

.btn-attach-vendor.attached {
    background: #155724;
    color: #fff;
}

.btn-attach-vendor.attached:hover {
    background: #155724;
}

/* Tooltip */
.btn-attach-vendor::after {
    content: attr(data-tooltip);
    position: absolute;
    top: calc(100% + 6px);
    left: 50%;
    transform: translateX(-50%);
    background: rgba(0,0,0,0.75);
    color: #fff;
    font-size: 0.7rem;
    white-space: nowrap;
    padding: 3px 8px;
    border-radius: 4px;
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.15s;
    z-index: 200;
}

.btn-attach-vendor:hover::after {
    opacity: 1;
}

.vendor-hero-placeholder {
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    display: flex;
    align-items: center;
    justify-content: center;
}

.vendor-hero-placeholder-text {
    font-size: 3rem;
    font-weight: 800;
    color: white;
    text-shadow: 0 4px 8px rgba(0,0,0,0.2);
    text-align: center;
    padding: 2rem;
}