.seat {
    width: 108px;
    height: 58px;
    background-color: var(--color-seat-bg);
    position: absolute;
    cursor: move;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    border-radius: 5px;
    border: 1px solid #ccc;
    touch-action: none;
    font-size: small;
    transform-origin: center center;
    user-select: none;
    z-index: 2;
}

.seat-name {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    pointer-events: none;
    align-items: center;
    display: flex;
    flex-direction: column;
    text-align: center;
    font-size: 12px;
}

.seat-firstname {
    font-size: large;
    pointer-events: none;
}

.seat-lastname {
    font-size: small;
    pointer-events: none;
}


.seat-firstname,
.seat-lastname {
    pointer-events: none;
}

.del {
    position : absolute;
    right : 4px;
    cursor : pointer;
    font-weight : bold;
    color : rgba(255, 0, 0, 0.3);
}

.del:hover {
    color : rgba(255, 0, 0, 1)
}

.seat-nr {
    position : absolute;
    left: 50%;
    transform: translate(-50%, 0);
    cursor : move;
    font-size: xx-small;
    visibility: hidden;
}

.add {
    position : absolute;
    left : 4px;
    cursor : pointer;
    font-weight : bold;
    color : rgba(34, 155, 0, 0.3);
}

.add:hover {
    color : rgb(34, 155, 0, 1)
}

.rot {
    position : absolute;
    cursor : pointer;
    font-weight : bold;
    color : rgba(80, 80, 80, 0.3);
}

.rot:hover {
    color : rgb(80, 80, 80, 1)
}

.rot.left {
    left : 4px;
}

.rot.right {
    right : 4px;
}

.seat-tools {
    position: absolute;
    width: 100%;
    cursor: pointer;
    visibility: hidden;
}

.seat-tools.top {
    top: 2px;
    font-size: x-small;
}

.seat-tools.bottom {
    bottom: 2px;
    display: flex;
    align-items: flex-end;
    font-size: small;
}

.connector {
    visibility: hidden;
    position: absolute;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: rgba(0,0,0,0.6);
    transform: translate(-50%, -50%);
    pointer-events: auto;
    cursor: pointer;
    left: 50%; 
    top: 50%;
    opacity: 0; 
    transition: opacity 120ms;
}

.show-seat-connectors .connector {
    visibility: visible;
}

.seat:hover .connector { 
    opacity: 1; 
}

.seat:hover .seat-tools {
    visibility: visible;
}

@media (hover: none) and (pointer: coarse) {
    .seat .connector { 
        opacity: 1; 
        padding: 1rem; 
    }
    .seat .seat-tools {
        visibility: visible;
    }
    .del {
        color : rgba(255, 0, 0, 0.7);
    }
    .add {
        color : rgba(34, 155, 0, 0.7);
    }
    .rot {
        color : rgba(80, 80, 80, 0.7);
    }    
}