Java 11, 83+52=135135 65+26=91 bytes
A
s->{intvar i=sp=s.indexOfsplit("\"+\"")+3,j=s.lastIndexOf"\\("\"\"|\"\\.");return sp[0]+"(\"B"+p[1].substringrepeat(0,i)+"B"+""
B
B
C
".repeat(s.substring(i,j).length())+s+'"'+'.substring(j);'+p[2];}
Try it online herehere (TIO does not have Java 11 yet, so this code relies on a helper method instead of String::repeat()).
Ungolfed:
s -> { // lambda taking and returning a String
var p = s.split("\\(\"|\"\\."); // split input into parts A, B^n, C (where n may be 0) at the "(\"" and "\"."
return p[0] + "(\"B" + // put it back together: A plus the part the split shaved off, plus an extra B ...
p[1].repeat("BBB".length()) + // ... plus B^(n*m)
'"' + '.' + p[2]; // plus C, with the part the split shaved off reattached
}