Увеличивает ли padding ширину блока?
Если ширина фиксирована, она меняться не будет. Блок внутри будет подстраиваться под родителя.
Если внутреннему блоку жестко задать ширину превышающую ширину родительского - он будет вываливаться, но ширина родительского блока все равно останется 300px,
Если задать box-sizing: border-box, то не увеличится и не вылезет за родителя (по умолчанию box-sizing: content-box). box-sizing нужно задавать элементу, который внутри (свойство не наследуется)