Это так задумано.
Чтобы сделать отступ от границ родителя, родителю нужно дать position: relative. Если это не задано, но по умолчанию position: relative дается body.
Ну для начала откажитесь от float - переделайте на display: inline-block.
Дальше, оберните ваши 3 элемента left, center и right в div, которому запретите переносы строк - white-space: nowrap.
А min-width задайте блокам по вкусу.
1. посмотрите как у вас выглядит сайт для экранов шириной менее 670px.
2. зачем у вас отступы желтого цвета сохраняются для ширины менее 960px?
3. крупная пустая область под карточками товаров при наличии вертикальной прокрутки. wtf?
4. по возможности не следует масштабировать картинки средствами браузера.
1. Статические сайты - это неплохо. Но и не хорошо. Нужно изучать php и сразу делать cms. Чтобы клиент вас не дергал потом по каждому чиху.
2. Отсутствие адаптивности. Для первого раза норм, но сделали и забудьте. Сайт нужно продумывать заранее так, чтобы с адаптивностью не было никаких проблем. Иначе потом, когда он обрастет фишками и плюшкам, вас попросят внедрить адаптивность и вам придется ПЕРЕДЕЛЫВАТЬ АБСОЛЮТНО ВСЕ!!! Это сильнейший удар по мотивации.