Mismatch between OverlapBox and Gizmo

I want to use OverlapBox to create a box in front of a vehicle and be able to check collision on demand. I use draw gizmo to be able to see the size and position of the box to confirm that size and position are correct.

This is my code:

public class TestCollision : MonoBehaviour
{
[Header("Collision")]
public Vector3 m_DetectorOffset = Vector3.zero;
public Vector3 m_DetectorSize = Vector3.zero;

private LayerMask m_LayerMask;
private Renderer m_Renderer = null;

void Start()
{
    m_LayerMask = (1 << LayerMask.NameToLayer("Pedestrian")) | (1 << LayerMask.NameToLayer("Vehicle"));

    m_Renderer = GetComponent<Renderer>();
    m_Renderer.material.color = Color.green;
}

private void FixedUpdate()
{
    if (CheckForCollisions())
        m_Renderer.material.color = Color.red;
    else
        m_Renderer.material.color = Color.green;
}

public bool CheckForCollisions()
{
    Vector3 colliderPos = transform.position + m_DetectorOffset;

    Collider[] colliders = Physics.OverlapBox(colliderPos, m_DetectorSize, transform.rotation, m_LayerMask);

    if (colliders.Length == 1)
    {
        // Ignore collision with itself
        if (colliders[0].gameObject == gameObject)
            return false;

        return true;
    }

    if (colliders.Length > 0)
        return true;

    return false;
}

#if UNITY_EDITOR
protected virtual void OnDrawGizmos()
{
    Gizmos.color = Color.red;
    Gizmos.matrix = transform.localToWorldMatrix;
    Gizmos.DrawWireCube(m_DetectorOffset, m_DetectorSize * 2.0f);
}
#endif
}

This script works great if I don’t rotate the “vehicle” - in the picture the blue cube is the object I want to detect, the green/red cube is the vehicle and the red wireframe box is the OverlapBox represented by the gizmo:
alt text

The issue occurs when the “vehicle” rotates - in the following picture I rotate the vehicle 90 degrees in the Y axis, the gizmo represents the box in the correct position, however the OverlapBox logic is ignoring such rotation (even though when the rotation of the object is passed in the function):
alt text

How can I make the OverlapBox to work properly taking rotation into consideration and being able to represent an accurate gizmo.

Many thanks in advance.

this will work, you need to transform the position

public bool CheckForCollisions()
{
    Vector3 colliderPos = transform.TransformPoint(m_DetectorOffset);

    Collider[] colliders = Physics.OverlapBox(colliderPos , m_DetectorSize, transform.rotation);

    if (colliders.Length == 1)
    {
        // Ignore collision with itself
        if (colliders[0].gameObject == gameObject)
            return false;

        return true;
    }

    if (colliders.Length > 0)
        return true;

    return false;
}