How to get best sellers per headquarters
To get the best selling item per headquarter, you first need to calculate the total sales per product per HQ and then rank them:

WITH TotalSalesByProductAndHq
AS
(
    SELECT h.id AS hq_id, p.product_type, SUM(p.value) AS TotalSales
      FROM Sold_products AS p
      JOIN Employees AS e
        ON e.id = p.employer_id
      JOIN Headquarters AS h
        ON e.headquarters_id = h.id
  GROUP BY h.id, p.product_type
),
RankedSalesByProductAndHq
AS
(
    SELECT hq_id, product_type
         , RANK() OVER(PARTITION BY hq_id ORDER BY TotalSales DESC) AS rnk
      FROM TotalSalesByProductAndHq
)
SELECT h.country
     , h.city
     , h.street
     , r.product_type
  FROM RankedSalesByProductAndHq AS r
  JOIN Headquarters AS h
    ON e.headquarters_id = r.hq_id
 WHERE r.rnk = 1;


Once you are able to do this, you can then bring back in the employee details to obtain the number of products sold in that category per employee:

WITH TotalSalesByProductAndHq
AS
(
    SELECT h.id AS hq_id, p.product_type, SUM(p.value) AS TotalSales
      FROM Sold_products AS p
      JOIN Employees AS e
        ON e.id = p.employer_id
      JOIN Headquarters AS h
        ON e.headquarters_id = h.id
  GROUP BY h.id, p.product_type
),
RankedSalesByProductAndHq
AS
(
    SELECT hq_id, product_type
         , RANK() OVER(PARTITION BY hq_id ORDER BY TotalSales DESC) AS rnk
      FROM TotalSalesByProductAndHq
)
SELECT e.first_name
     , e.last_name
     , h.country
     , h.city
     , h.street
     , r.product_type
     , COUNT(*) AS TotalNumberOfProductsSold
    FROM Sold_products AS p
    JOIN Employees AS e
      ON e.id = p.employer_id
    JOIN Headquarters AS h
      ON e.headquarters_id = h.id
    JOIN r
      ON r.hq_id = h.id
     AND r.product_type = p.product_type
 WHERE r.rnk = 1;


You should check out the documentation for CTE's and the RANK function for more details.